2008年 5月 16日 金曜日
Messages in cipher reflected in the looking glass
[ Yasuhiro Fujitsuki's Weblog ]
(JA) IPS : pkg command
OpenSolaris 2008.05で入った新しいパッケージ管理システムのIPS、
どんな感じか試してみました。
パッケージ管理用のGUIがあるので、通常ではGUIを利用した方が簡単だと
思いますが、今回はコマンドラインの方を試してみました。
list オプションのデフォルトではインストール済みのパッケージのみを表示します。
$ pkg list NAME (AUTHORITY) VERSION STATE UFIX BRCMbnx 0.5.11-0.86 installed ---- FSWxorg-fonts 0.5.11-0.86 installed ---- NVDAgraphics 0.5.11-0.86 installed ---- SUNW1394 0.5.11-0.86 installed ---- SUNWDTraceToolkit 0.5.11-0.86 installed ---- ...... SUNWzip 2.32-0.86 installed ---- SUNWzlib 1.2.3-0.86 installed ---- SUNWzone 0.5.11-0.86 installed ---- SUNWzsh 4.3.4-0.86 installed ---- entire 0.5.11-0.86 installed ---- slim_cd 0.5.11-0.86 installed ---- slim_install 0.1-0.86 installed ----
名前を指定することも可能ですが、完全名のみにしか対応できないようです。
$ pkg list zsh pkg: no matching packages installed $ pkg list SUNWzsh NAME (AUTHORITY) VERSION STATE UFIX SUNWzsh 4.3.4-0.86 installed ----
パッケージを検索したい場合は search を使います。
詳細情報が見たい場合は info を使います。
$ pkg search zsh
INDEX ACTION VALUE PACKAGE
basename dir usr/share/zsh pkg:/SUNWzsh@4.3.4-0.86
$ pkg info SUNWzsh
Name: SUNWzsh
Summary: Z shell (zsh)
State: Installed
Authority: opensolaris.org (preferred)
Version: 4.3.4
Build Release: 5.11
Branch: 0.86
Packaging Date: Sat Apr 26 18:12:58 2008
Size: 4.0 MB
FMRI: pkg:/SUNWzsh@4.3.4,5.11-0.86:20080426T181258Z
アップデートパッケージが存在するかどうか確認します。
list -u オプションを利用します。
$ pkg list -u pkg: no installed packages have available updates
全くないのか? と思ったのですが、
どうも pkg コマンドは通常ではローカルデータベースの参照しかしないようです。
list -r のように -r オプションを追加することで、
サーバ上にある情報を参照するようです。
また、refresh オプションを利用して、
一度ローカルデータベースの更新を行う方法もあるようです。
$ pkg refresh $ pkg list -u NAME (AUTHORITY) VERSION STATE UFIX entire 0.5.11-0.86 installed u---
アップデートは install コマンドか image-update コマンドで行うようです。
image-update はアップデートパッケージ全てを入れるコマンドですが、
新しいブートイメージを作成し、そちらをアップデートするようです。
そのため、list -u を行っても、再びアップグレード可能パッケージが表示されてしまいます。
また、このコマンドを実行すると Grub に新しいものが追加され、そちらをデフォルトで起動しようとします。
image-update は常に新しいものを作るようで、次々とBEが作られていきます。^-^;
これらのBEは beadm コマンドを利用して管理するようです。
$ pkg image-update PHASE ACTIONS Update Phase 1/1 Install Phase 3/3 A clone of opensolaris exists and has been updated and activated. On next boot the Boot Environment opensolaris-1 will be mounted on '/'. Reboot when ready to switch to this updated BE. $ pkg list -u NAME (AUTHORITY) VERSION STATE UFIX entire 0.5.11-0.86 installed u--- $ beadm list BE Active Active on Mountpoint Space Name reboot Used ---- ------ --------- ---------- ----- opensolaris-1 no no - 311.0K opensolaris-2 no yes - 2.33G opensolaris yes no legacy 11.63M $ beadm destroy opensolaris-1 Are you sure you want to destroy opensolaris-1? This action cannot be undone (y/[n]): y $ beadm destroy opensolaris-2 Are you sure you want to destroy opensolaris-2? This action cannot be undone (y/[n]): y
install を利用すると既存のBEに追加されます。
$ pkg install entire PHASE ACTIONS Update Phase 1/1 Install Phase 3/3 $ pkg list -u pkg: no installed packages have available updates
AUTHORITY(リポジトリ) にはデフォルトで opensolaris.org が登録されています。
そのため、opensolaris.org に登録されているアプリケーションの追加、アップデート等が行えます。
opensolaris.org に公開されていないアプリケーションや独自に作成したAUTHORITYを利用することもできます。ここでは、sunfreeware.com に公開されている AUTHORITY を登録してみます。
$ pkg authority AUTHORITY URL opensolaris.org (preferred) http://pkg.opensolaris.org:80/ $ pkg set-authority -O http://pkg.sunfreeware.com:9000/ sunfreeware.com $ pkg authority AUTHORITY URL opensolaris.org (preferred) http://pkg.opensolaris.org:80/ sunfreeware.com http://pkg.sunfreeware.com:9000/
パッケージ検索には search オプションを利用します。
ここでは xmms をインストールしてみます。
ただ、search オプションはデフォルトではローカルデータベースのみを検索するようで、
何も見つかりません。
search -r を利用することでネットワーク経由で情報を取得します。
sunfreeware.com で提供されているアプリケーションは IPSFW というシンボルが付いています。詳細情報の確認にも info -r というように -r をつけます。
$ pkg search xmms
$ pkg search -r xmms
INDEX ACTION VALUE PACKAGE
basename file opt/sfw/bin/xmms pkg:/IPSFWxmms@0.5.11-5.7
$ pkg info -r IPSFWxmms
Name: IPSFWxmms
Summary: xmms - X MultiMedia System
State: Not installed
Authority: sunfreeware.com
Version: 0.5.11
Build Release: 5.11
Branch: 5.7
Packaging Date: Wed May 7 04:13:32 2008
Size: 5.1 MB
FMRI: pkg://sunfreeware.com/IPSFWxmms@0.5.11,5.11-5.7:20080507T041332Z
インストールには install を利用します。
インストール後に list で確認できます。
今回は依存関係で2つのパッケージがインストールされていますが、
grep を利用して確認してみると IPSFWgtxt が追加されていることがわかります。
$ pkg install IPSFWxmms DOWNLOAD PKGS FILES XFER (MB) Completed 2/2 135/135 6.30/6.30 PHASE ACTIONS Install Phase 307/307 $ pkg list IPSFWxmms NAME (AUTHORITY) VERSION STATE UFIX IPSFWxmms (sunfreeware.com) 0.5.11-5.7 installed ---- $ pkg list | grep IPSFW IPSFWgtxt (sunfreeware.com) 0.5.11-5.7 installed ---- IPSFWxmms (sunfreeware.com) 0.5.11-5.7 installed ----
Posted at 11:23午前 5 16, 2008 by Yasuhiro Fujitsuki in Linux & Solaris |