OpenBlocks 600 の aptitudeによるパッケージ管理

 OBS600はもともとROM128MBにOSが入っているだけあって,ほとんどのパッケージが削られています。/sbinにはリンクも含めて103個しか入っていません。/usr/sbinも113個です。
 初期のインストールパッケージは以下の様です。

# dpkg -l
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name           Version        Description
+++-==============-==============-============================================
ii  adduser        3.110          add and remove users and groups
ii  apt            0.7.20.2+lenny Advanced front-end for dpkg
ii  apt-utils      0.7.20.2+lenny APT utility programs
ii  aptitude       0.4.11.11-1~le terminal-based package manager
ii  base-files     5lenny8        Debian base system miscellaneous files
ii  base-passwd    3.5.20         Debian base system master password and group
ii  bash           3.2-4          The GNU Bourne Again SHell
ii  bsdmainutils   6.1.10         collection of more utilities from FreeBSD
ii  bsdutils       1:2.13.1.1-1   Basic utilities from 4.4BSD-Lite
ii  coreutils      6.10-6         The GNU core utilities
ii  cpio           2.9-13lenny1   GNU cpio — a program to manage archives of
ii  cron           3.0pl1-105     management of regular background processing
ii  debconf        1.5.24         Debian configuration management system
ii  debconf-i18n   1.5.24         full internationalization support for debcon
ii  debian-archive 2010.08.28~len GnuPG archive keys of the Debian archive
ii  debianutils    2.30           Miscellaneous utilities specific to Debian
ii  dhcp3-client   3.1.1-6+lenny4 DHCP client
ii  dhcp3-common   3.1.1-6+lenny4 common files used by all the dhcp3* packages
ii  diff           2.8.1-12       File comparison utilities
ii  dpkg           1.14.30        Debian package management system
ii  e2fslibs       1.41.3-1       ext2 filesystem libraries
ii  e2fsprogs      1.41.3-1       ext2/ext3/ext4 file system utilities
ii  ed             0.7-3          The classic unix line editor
ii  findutils      4.4.0-2        utilities for finding files–find, xargs
ii  gcc-4.2-base   4.2.4-6        The GNU Compiler Collection (base package)
ii  gcc-4.3-base   4.3.2-1.1      The GNU Compiler Collection (base package)
ii  gnu-fdisk      1.2-1          Linux fdisk replacement based on libparted
ii  gnupg          1.4.9-3+lenny1 GNU privacy guard – a free PGP replacement
ii  gpgv           1.4.9-3+lenny1 GNU privacy guard – signature verification t
ii  grep           2.5.3~dfsg-6   GNU grep, egrep and fgrep
ii  groff-base     1.18.1.1-21    GNU troff text-formatting system (base syste
ii  gzip           1.3.12-6+lenny The GNU compression utility
ii  hostname       2.95           utility to set/show the host name or domain
ii  ifupdown       0.6.8+nmu1     high level tools to configure network interf
ii  info           4.11.dfsg.1-4  Standalone GNU Info documentation browser
ii  initscripts    2.86.ds1-61    Scripts for initializing and shutting down t
ii  iproute        20080725-2     networking and traffic control tools
ii  iptables       1.4.2-6        administration tools for packet filtering an
ii  iputils-ping   3:20071127-1+l Tools to test the reachability of network ho
ii  kernel-image-2 2.6.29-1       Linux kernel image for version 2.6.29 on Ope
ii  libacl1        2.2.47-2       Access control list shared library
ii  libattr1       1:2.4.43-2     Extended attribute shared library
ii  libblkid1      1.41.3-1       block device id library
ii  libbz2-1.0     1.0.5-1+lenny1 high-quality block-sorting file compressor l
ii  libc6          2.7-18lenny6   GNU C Library: Shared libraries
rc  libc6-ppc64    2.7-18lenny4   GNU C Library: 64bit Shared libraries for Po
ii  libcomerr2     1.41.3-1       common error description library
ii  libconsole     1:0.2.3dbs-65. Shared libraries for Linux console and font
ii  libcwidget3    0.5.12-4       high-level terminal interface library for C+
ii  libdb4.6       4.6.21-11      Berkeley v4.6 Database Libraries [runtime]
ii  libdevmapper1. 2:1.02.27-4    The Linux Kernel Device Mapper userspace lib
ii  libedit2       2.11~20080614- BSD editline and history libraries
ii  libept0        0.5.22         High-level library for managing Debian packa
ii  libgcc1        1:4.3.2-1.1    GCC support library
ii  libgcrypt11    1.4.1-1        LGPL Crypto library – runtime library
ii  libgdbm3       1.8.3-3        GNU dbm database routines (runtime version)
ii  libgnutls26&
nbsp;   2.4.2-6+lenny2 the GNU TLS library – runtime library
ii  libgpg-error0  1.4-2          library for common error values and messages
ii  libkeyutils1   1.2-9          Linux Key Management Utilities (library)
ii  libkrb53       1.6.dfsg.4~bet MIT Kerberos runtime libraries
ii  liblocale-gett 1.05-4         Using libc functions for internationalizatio
ii  liblzo2-2      2.03-1         data compression library
ii  libncurses5    5.7+20081213-1 shared libraries for terminal handling
ii  libncursesw5   5.7+20081213-1 shared libraries for terminal handling (wide
ii  libnewt0.52    0.52.2-11.3+le Not Erik’s Windowing Toolkit – text mode win
ii  libpam-modules 1.0.1-5+lenny1 Pluggable Authentication Modules for PAM
ii  libpam-runtime 1.0.1-5+lenny1 Runtime support for the PAM library
ii  libpam0g       1.0.1-5+lenny1 Pluggable Authentication Modules library
ii  libparted1.8-1 1.8.8.git.2008 The GNU Parted disk partitioning shared libr
ii  libpopt0       1.14-4         lib for parsing cmdline parameters
ii  libreadline5   5.2-3.1        GNU readline and history libraries, run-time
ii  libsasl2-2     2.1.22.dfsg1-2 Cyrus SASL – authentication abstraction libr
ii  libselinux1    2.0.65-5       SELinux shared libraries
ii  libsepol1      2.0.30-2       Security Enhanced Linux policy library for c
ii  libsigc++-2.0- 2.0.18-2       type-safe Signal Framework for C++ – runtime
ii  libslang2      2.1.3-3        The S-Lang programming library – runtime ver
ii  libss2         1.41.3-1       command-line interface parsing library
ii  libssl0.9.8    0.9.8g-15+lenn SSL shared libraries
ii  libstdc++6     4.3.2-1.1      The GNU Standard C++ Library v3
ii  libtasn1-3     1.4-1          Manage ASN.1 structures (runtime)
ii  libtext-charwi 0.04-5+b1      get display widths of characters on the term
ii  libtext-iconv- 1.7-1+b1       converts between character sets in Perl
ii  libtext-wrapi1 0.06-6         internationalized substitute of Text::Wrap
ii  libusb-0.1-4   2:0.1.12-13    userspace USB programming library
ii  libuuid1       1.41.3-1       universally unique id library
ii  libvolume-id0  0.125-7+lenny3 libvolume_id shared library
ii  libwrap0       7.6.q-16       Wietse Venema’s TCP wrappers library
ii  libx11-6       2:1.1.5-2      X11 client-side library
ii  libx11-data    2:1.1.5-2      X11 client-side library
ii  libxapian15    1.0.7-4        Search engine library
ii  libxau6        1:1.0.3-3      X11 authorisation library
ii  libxcb-xlib0   1.1-1.2        X C Binding, Xlib/XCB interface library
ii  libxcb1        1.1-1.2        X C Binding
ii  libxdmcp6      1:1.0.2-3      X11 Display Manager Control Protocol library
ii  libxext6       2:1.0.4-2      X11 miscellaneous extension library
ii  libxmuu1       2:1.0.4-1      X11 miscellaneous micro-utility library
ii  login          1:4.1.1-6+lenn system login tools
ii  logrotate      3.7.1-5        Log rotation utility
ii  lsb-base       3.2-20         Linux Standard Base 3.2 init script function
ii  lzma           4.43-14        Compression method of 7z format in 7-Zip pro
ii  makedev        2.3.1-88       creates device files in /dev
ii  man-db         2.5.2-4        on-line manual pager
ii  manpages       3.05-1         Manual pages about using a GNU/Linux system
ii  mawk           1.3.3-11.1     a pattern scanning and text processing langu
ii  mktemp         1.5-9          tool for creating temporary files
ii  module-init-to 3.4-1          tools for managing Linux kernel modules
ii  mount          2.13.1.1-1     Tools for mounting and manipulating filesyst
ii  mtd-utils      20080508-1     Memory Technology Device Utilities
ii  ncurses-base   5.7+20081213-1 basic terminal type definitions
ii  ncurses-bin    5.7+20081213-1 terminal-related programs and man pages
ii  net-tools      1.60-22        The NET-3 networking toolkit
ii  netbase        4.34           Basic TCP/IP networking system
ii  netcat-traditi 1.10-38        TCP/IP swiss army knife
ii  openssh-blackl 0.4.1          list of default blacklisted OpenSSH RSA and
ii  openssh-blackl 0.4.1          list of non-default blacklisted OpenSSH RSA
ii  openssh-client 1:5.1p1-5      secure shell client, an rlogin/rsh/rcp repla
ii  openssh-server 1:5.1p1-5      secure shell server, an rshd replacement
ii  passwd         1:4.1.1-6+lenn change and administer password and group dat
ii  perl-base      5.10.0-19lenny minimal Perl system
ii  procps         1:3.2.7-11     /proc file system utilities
ii  readline-commo 5.2-3.1        GNU readline and history libraries, common f
ii  rsyslog        3.18.6-4       enhanced multi-threaded syslogd
ii 
sed            4.1.5-6        The GNU sed stream editor
ii  sysv-rc        2.86.ds1-61    System-V-like runlevel change mechanism
ii  sysvinit       2.86.ds1-61    System-V-like init utilities
ii  sysvinit-utils 2.86.ds1-61    System-V-like utilities
ii  tar            1.20-1+lenny1  GNU version of the tar archiving utility
ii  tasksel        2.78           Tool for selecting tasks for installation on
ii  tasksel-data   2.78           Official tasks used for installation of Debi
ii  tcpd           7.6.q-16       Wietse Venema’s TCP wrapper utilities
ii  traceroute     2.0.11-2       Traces the route taken by packets over an IP
ii  tzdata         2010o-0lenny1  time zone and daylight-saving time data
ii  udev           0.125-7+lenny3 /dev/ and hotplug management daemon
ii  update-inetd   4.31           inetd configuration file updater
ii  util-linux     2.13.1.1-1     Miscellaneous system utilities
ii  vim-common     1:7.1.314-3+le Vi IMproved – Common files
ii  vim-tiny       1:7.1.314-3+le Vi IMproved – enhanced vi editor – compact v
ii  wget           1.11.4-2+lenny retrieves files from the web
ii  whiptail       0.52.2-11.3+le Displays user-friendly dialog boxes from she
ii  x11-common     1:7.3+20       X Window System (X.Org) infrastructure
ii  xauth          1:1.0.3-2      X authentication utility
ii  zlib1g         1:1.2.3.3.dfsg compression library – runtime

 まずは,なにはともあれ,今インストールされているパッケージのアップデートを行います。debian系のディストリビューションで使われているaptitudeを利用します。
 ログを以下に載せておきます。

続きを読む

OBS600 CFのとりつけと,引越し

 Amazonに注文していたCFが届きました。あっという間です。一眼デジカメに最適なのにすみません(^^;
5238145178_5356494814_z.jpg
 OBS600の蓋はネジ4本だけですぐ外れるので,分解してCFを取り付けます。この段階ではCFは買ってきたままで,特にフォーマットなどはしていません。
5237551161_d9922a95fa_z.jpg
 取り付けが終わったらOBS600にCFを認識させる作業に入ります。
 具体的にはCFにラベルDEBIANというパーティションを作ってext3でフォーマットするだけです。どうやらこうするだけで,マウントまでしてくれるようです。
 RAMだけで運用していたときは,書き換えが発生したらその実態は/.rwというディレクトリの中にある,etcやらhomeやらvarに書きこまれ,/(ルート)からは/etc,/home,/varにリンクが貼られている状態になっているようです。で,CFにしたときは,この/.rwがCFの中(/dev/sda1)に作られます。なので,RAM時代のファイルは手動で転送しました。

 詳しくは以下にコマンドの記録を載せておきます。

続きを読む

OpenBlockS 600 用のCF(コンパクトフラッシュ)

 OpenBlockS 600D はdebianをインストールしていて,かつCFなしでも運用できるのが売りです。ルータやDNSなどの特定目的ならこれでいいのですが,普通のLinuxサーバとして使うには/homeにそれなりの容量がほしいですし,flashcfgでデータをROMに書くという運用も多少面倒です。というわけで,CFを探します。
 実はCFにもピンキリあって,データ用ではなく,OS用として使うにはスピードが速く,書き換え耐性の高いCFを選ぶ必要があります。具体的にはメモリチップにSLCが使われているものを選ぶことになります。安いCFはたいていMLCが使われているので,見極める必要があります。

 面倒なのでAmazonで探しました。TranscendやPhotoFastあたりが買いやすそうです。どちらもこの手のメモリでは実績もあるので問題ないでしょう。

OBS600 最初にやること

 買ってきて,LANケーブルやら電源を繋ぎます。
 電源はスッチなどないので,差し込んだらいきなり起動です。まぁ,可動部品(ファンやHDD)が全く無いので結構平気です。
 LANケーブルはとりあえずeth0に繋ぎました。

 起動したらまず,SSHサーバが起動しているようなので,こちらに入りたいと思います。
 SSHのサーバキーは起動時に自動的に作られるようです。eth0は192.168.253.254/24に設定されているので,クライアントは適当に変えておきました。でもってrootでログインします。

$ ssh root@192.168.253.254

 ログインしたらまず,パスワード,ホスト名,インターフェースの変更をしました。
# passwd
# vi /etc/hostname
# vi /etc/hosts
# vi /etc/network/interfaces
 これらは,すべて/etcの中のファイルですが,CFの運用をまだはじめていないのでRAM上のファイルです。rebootすると消えてしまうので,FlashROMに書き戻す必要があります。

# flashcfg -s

 小文字sで/etcの中を書き戻すようです。大文字Sだと,/.rwの中全てを書き戻します。
 

続きを読む

OpenBlockS 600D 買いました

Plat’Homeが開発,販売しているOpenBlockSの最新版である600Dを買いました。DはdebianのDです。
キャンペーンをやっていて,ストレージのない(FlashROM128MBはある)エディションを39,850円で買うことができました。
前作のOpenBlockS266からはハードのスペックがずいぶんと上がっており,詳しいことは公式ページを見ていただくとして,ざっとこんな感じです。

CPU:AMCC PowerPC 405EX 600MHz
メモリ:1GB (DDR2)
Flash ROM:128MB
インターフェース:CF,1GbpsEthernet*2,Serial,Console,USB2.0*2
重量:265g
消費電力:8W
動作温度:0-55℃

手のひらに乗るかわいいサーバです。
動作温度が55℃まで保証されているのもすごいです。Plat’Homeの人に直接聞いたところ,実際はもっと高い温度でも平気だそうです。

これからいじり倒したいと思います。

ウェザーニュースの顧客クレーム対応

 ウェザーニュース(http://weathernews.com/)社は民間の気象会社で,インターネットや携帯,BS(昔はCSだった)などで目にすることが多く,知っている人も多いと思う。結構昔からのファンで,気象だけにとどまらず様々なコンテンツで「空」の情報を伝えている会社だ。天気予報のページ

 携帯電話でも気軽に天気予報が見れた方がいいなと思い,有料サービスなどには殆ど手を出さないのだが,感謝の気持ちも込めて登録することにした。有料会員には2コースあって,フル版の月額315円と,機能限定版の月額105円。非常にわかりにくいのだが,携帯コンテンツのFAQの欄に違いが書いてある。中身を吟味した結果,限定版でも大丈夫だと思い契約したのだが,あとからわかる,あれもこれもできないという自体に遭遇した。要するにFAQに書いてあることとぜんぜん違うのだ。

 せっかく贔屓にしてきたつもりなのに,あまりにがっかりし,そして腹も立ったので,滅多にやらないのだが苦情のメールを入れてみた。苦情のメールを入れたのが夜,しかし返事が帰ってきたのはなんと1時間以内。自動応答メールかと思ったらきちんと中身を読んで返事している様子が伺える。とりあえず謝罪と今後改善していきますという内容。
 まあ,ありがちな話なので気にもとめなかったのだが,約3週間後,再び有料会員の内容説明のページを訪れたところ,こちらの苦情が見事に改善されたいた。

 企業が不祥事を起こしたとき,その対応の如何によって不祥事以上に評判を落とす場合がある。その逆に企業体質や製品を改善することによって,不祥事以前よりも高評価を得る場合もある。ウェザーニュースの話は大したことない小さな話だが,こういった小さなことの積み重ねの企業努力が,顧客の信頼を勝ち得るのだと思う。顧客のクレームを糧とする会社精神は非常に大事だ。ISO9000でもクレーム管理や顧客とのコミュニケーションとか言っているけど,日本では昔からやってきたことだ。こういう姿勢のの会社はぜひ応援したい。

 ということで,ウェザーニュース,いいですよ。

PDFのファイルサイズ縮小 for GoodReader

 まもなくiPadの発売となりますが,iPhoneやiPod touch などで PDF を読むためのソフトをインストールして,似た様なことができます。私は Good Reader というアプリを使っていて,スキャナーで読み取った本を iPod touch に入れて持ち歩いたりしています。ちょっとした電子書籍のような感じです。
 スキャナーは PFUの Scan Snap という本をスキャンするのに最適なもので(ただし本をバラバラにしてしまいますが),家にある本をスキャンしまくっています。

 とりあえず保存するときはできるだけ解像度を高くして,元の本を捨てても後悔しないように備えています。通常は600dpiで読み込んでいます。しかしこのまま保存すると大層ファイルサイズが大きくなりますし,そもそもiPod touch に入れて持ち歩くのにこんなに高解像度はいりません。というわけでpdfファイルの縮小化です。

 上記のスキャナーにはAdobe Acrobat 9 がついてきてなかなかお買い得なんですが,まずはこれでファイルサイズの縮小を試みます。メニューの「文書」から簡単にファイルサイズを小さくできるんですが,問題になるのが互換性の話。PDFファイルと言っても色々なバージョンが有ります。いろいろ試してみたところ,GoodReaderは Acrobat 4 と Acrobat 5 のファイルを読めるようです。
 同じようなことはMacのプレビューでもできるので,場合によってはこちらの方が便利かもしれません。下のURLが参考になります。
http://desireforwealth.com/diary/201005_scansnap_pdf_trans.shtml

Eye-Fi Explorer X2

 以前(日本で)出たばっかりのEye-Fiを買いましたが,新しくなって機能追加があったりと楽しそうなので,買ってみました。今回は3種類出ています。(公式)



 Connectが一番ベーシックな機能。Explorerが無線LANのMACアドレスを使ってジオタグを付加する機能がついたもの。ProはExplorerの機能に加えてRAWモード対応と無線のアドホックモードに対応しています。

続きを読む

iTunesでAirMacを通して外部スピーカーを鳴らすときのプロトコル

 Appleの無線LANアクセスポイントであるAirMacには,無線以外にもちろん有線LANがありますが,他にUSBや音声出力(ミニステレオか光)があります。音声出力はアンプに繋いだり,アンプ内蔵スピーカーを接続して直接音を鳴らすことができます。何のためにこんな端子がついているかというと,iTunesの出力をPCローカルに接続しているスピーカー以外にAirMacを出力できるように作られています。

 この機能を使うとPCのある部屋とは別の部屋にAirMacを設置してiTunesのなかの曲を流したり,アンプを通して大きな音で鳴らしたりできるようになります。

 この機能はもちろんWindows版のiTunesでも使えますが,Appleのネットワーク機能であるBonjourを使っているので,ファイアウォールなどの設定が必要な場合があります。
 Bonjourではマルチキャストを使ってAppleの製品を探しているようで,具体的には udp/5353 をつかっているようです。このプロトコルはApple独自のようで,Multicast DNS という名前がつけられています。
 ブロードバンドルータなどでインターネットとの間にファイアウォール(NAT)があればPCのファイアウォールはなくてもさほど問題にはならないですが,最近はPCにもパーソナルファイアウォール(WindowsではWindowsファイアウォールという名前)を入れるのが定石なようなので,このポートだけファイアウォールに穴をあけるのがいいかもしれません。