インストールされているパッケージの一覧(ローカルのみ)
pkg list
全パッケージの一覧(リモートも含む)
pkg list -a
レポジトリにある(リモート)ファイル、プログラムが、どのパッケージに入っているのかを探す
pkg search -r ファイル名
次のようにインストール可能
pkg install パッケージ名
依存するパッケージを知りたい場合
pkg install -v パッケージ名
依存するパッケージを知り、実際にはインストールしたくない場合
pkg install -nv パッケージ名
例1
pkg search -r httpd
出てきた一覧を読み、パッケージ名称を調べる。
pkg install -v SUNWapch22
でインストールできる。
注)Apacheは最初からインストールされております。
searchコマンドを利用する(Solaris10のpkgchk -lp)。
pkg search ファイル名
pkg search /usr/sbin/pkgadd
インストール済みのパッケージ情報
pkg info パッケージ名
レポジトリ中のパッケージ情報
pkg info -r パッケージ名
インストール済みのpythonの情報を調べる
pkg info SUNWPython
インストール前にrubyの情報を調べる
pkg info -r SUNWruby18
インストール済みのパッケージ情報
pkg contents パッケージ名
レポジトリ中のパッケージ情報
pkg contents -r パッケージ名
インストール済みのパッケージ情報
pkg contents SUNWzlib
レポジトリ中のパッケージ情報
pkg contents -r SUNWzlib
pkg list -u
あらかじめ、下記のようなスクリプトを作成しておく。
#!/bin/sh pkg refresh --full pkg list -u 2>&1 | grep -v 'no installed packages have available updates'
これを、crontab -eで登録する。
0 4 * * * [ -x /usr/local/sbin/check_update_pkg ] && /usr/local/sbin/check_update_pkg
インストールと同じく、pkg installを利用する。
pkg install -v パッケージ名
pkg install -v SUNWapch22
環境全体のアップデートする場合は、下記のように行う。
pkg install -v entire
インストールする内容がどれだけあるのかを調べたい場合、
pkg install -nv entire
さまざまなレポジトリを追加することで、OpenSolarisのアプリケーションを簡単に追加することが出来る。 ただし、それぞれのレポジトリを運営ポリシーを調べておかないと、意図せずトラブルになることがあるので注意が必要である。
それ以外にも他のレポジトリがある。
opensolarisのレポジトリには何かしらの理由で登録されていないが、十分に利用されているもの
pkg set-authority -O http://pkg.opensolaris.org/contrib contrib
opensolarisのレポジトリに登録を予定している、実験的な開発レポジトリ
pkg set-authority -O http://pkg.opensolaris.org/pending pending
Solarisでは有名なレポジトリ。/usr/localにインストールされる
pkg set-authority -O http://pkg.sunfreeware.com:9000 sunfreeware.com
特に、レポジトリを追加、削除した場合は、行っておくとよい。
pkg refresh --full
何かしらの理由で、pkgコマンドのデータベースが破損してしまった場合、リビルドを行う
pkg rebuild-index
pkg.opensolaris.orgが重く、download install繋がらない、あるいは タイムアウトが起きてしまって処理が終わらない場合、タイムアウトの時間を延ばす。
環境変数PKG_CLIENT_TIMEOUTにタイムアウト値を設定できるので(デフォルトは30)、適当に増やすことで成功することがある。
env PKG_CLIENT_TIMEOUT=120 pkg install -v entire
