2009-12-27

カスタムMSS2のパッケージ管理システム(optwareとipkg)

カスタムファームウェアを入れたNAS「Maxtor Shared Storage II」(MSS2)では、optwareというパッケージシステムが使えるようになります。

パッケージ管理コマンドipkgの使い方

パッケージ管理には ipkg というコマンドを使います。/opt/bin に入ってますが、パスは通ってないかも。
引数なしで実行すれば使い方が表示されます。とりあえず次の3つを知っておけば何とかなりそう。
# ipkg update
利用可能なパッケージの一覧をサーバーから取得
# ipkg list
利用可能なパッケージの一覧を表示
# ipkg install <パッケージ名>
指定したパッケージをダウンロードしてインストール

ipkg installでは依存するパッケージも自動的にダウンロードしてくれます。
大体Debianのパッケージ管理システムに似てるので、dpkgとかaptに慣れている方はすんなり使えるかと。

ちなみにどれくらいの数のパッケージがあるかと言うと、
# /opt/bin/ipkg list | wc -l
1423

なんと4桁です。ipkg list | grep *** みたいな使い方が現実的。

ディレクトリ構成

optware関係は /opt 以下に入ってるみたいです。なお、
# mount
/dev/sda6 on /share type ext3 (data=writeback)
none on /var/spool/cron type ramfs (rw)
/share/.optware on /opt type ext3 (rw)
/dev/sda2 on /mnt/__mxo_sda2 type ext3 (rw)
というわけで実体は /share すなわち /dev/sda6 に置かれており、システムの入っている sda1/2 とは別のパーティションです。
そのおかげで、たとえばカスタムファームウェアがバージョンアップした場合、イメージファイルを dd of=/dev/sda1 としても、インストールしたoptwareが消えたりせず安心です。

デーモン系はどうなっているかと言うと、

 起動時に /etc/init.d/rcS が実行される
   ↓
 rcS内で /etc/init.d/rc.optware start が実行される
   ↓
 rc.optware内で /opt/etc/rc.optware が実行される
   ↓
 rc.optware内で /opt/etc/init.d/S??* が実行される

という流れなので、optware関係は /opt 内で完結できる仕組みになっているようです。

パッケージをインストールしてみる

次記事で実際にパッケージをインストールしてみます。

[おまけ] ipkg update の実行結果

# /opt/bin/ipkg update
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/Packages.gz
Inflating http://ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/Packages.gz
Updated list of available packages in /opt/lib/ipkg/lists/armel
Downloading http://ipkg.nslu2-linux.org/feeds/optware/mssii/cross/stable/Packages.gz
Inflating http://ipkg.nslu2-linux.org/feeds/optware/mssii/cross/stable/Packages.gz
Updated list of available packages in /opt/lib/ipkg/lists/mssii
Successfully terminated.

0 件のコメント:

コメントを投稿