HOME / コンピュータTips / Solaris / IPS(pkgコマンド)の利用方法

Date: 2008/09/01 |  このエントリーをはてなブックマークに追加  |  Tags: OpenSolaris, OpenSolarisOS, pkg, IPS, 利用方法, 逆引き, 一覧

OpenSolarisのIPS、pkgコマンドの利用方法

逆引き辞典的な記述をしておきます。

参考

目次

レポジトリ情報を最新の状態にする

pkg refresh --full

これでレポジトリを最新の状態にする。

パッケージの一覧

インストールされているパッケージの一覧(ローカルのみ)

pkg list

全パッケージの一覧(リモートも含む)

pkg list -a

パッケージの検索

ローカルのパッケージを探す。

pkg search 何かの名前

リモートにあるパッケージを探す(普通はこちらを使う)

pkg search -r 何かの名前

基本、

pkg search -r 欲しいソフトの名前

出てきた一覧をみて、正しい名称をしり、

pkg install 正しい名前

でインストールを行う。

そのプログラムが、どのパッケージ含まれているか検索

これも、searchコマンドを利用する。(従来のpkgchk -lp)

pkg search /usr/sbin/pkgadd

そのプログラムがリモートだった場合、-rをつける。

pkg search -r /usr/sbin/pkgadd

メタキャラクタも指定できる

pkg search -r '*pkgadd*'

パッケージの内容を知る

自分のホスト内にあるとき

pkg info SUNWsmbskr

リモートにあるとき

pkg info -r SUNWsmbskr

パッケージに含まれているファイル一覧

自分のホストにあるとき、

pkg contents SUNWzlib

リモートにあるとき

pkg contents -r SUNWzlib

パッケージの依存関係を知る

自分のホストにあるとき、

pkg contents -m entire

リモートにあるとき

pkg contents -mr entire

アップデート出来るパッケージがあるか否かを知る

pkg list -u

cronなどの設定Tips

cronなどでは、こんなスクリプトを作っておき、

#!/bin/sh

pkg refresh --full
pkg list -u 2>&1 | grep -v 'no installed packages have available updates'

こんな風にcrontab -eで登録するとよい

0  4 * * * [ -x /opt/JPC/sbin/check_update_pkg ] && /opt/JPC/sbin/check_update_pkg

※ディレクトリは勝手に変えましょう。

アップデート(該当ファイルのみ)

インストールと同じく、pkg installを利用する。

アップデート(環境全体)

yum upgradeなどのように、環境全体のアップデートする場合は、下記のように行う。ただし、この方法よりもブート環境を作成した方が良い。

pkg install -v entire

インストールする内容がどれだけあるのかを調べるだけ(ドライラン)の場合は、

pkg install -nv entire

※ブート環境が作られないため、何かあっても戻ることができない。これは、一般的なLinuxのアップデートやWindowsと同じで、アップデートじに破損が起きることが多い。OpenSolarisの場合、beadmなど、zfsを利用したブート環境のスナップショットを取ることができるので、下記の方をおすすめする。

※なおZoneなどのVPS環境では、GRUBがないため、beadmを利用し、boot後に環境を制御する必要がある。

アップデート(環境全体+ブート環境作成)

ブート環境とは、beadm listで出てくるブートセットである。

grubで名前が登録されており、いつでも登録した環境に戻ることが出来るのが特徴。なので大型のアップデートには、この方法を利用すると良い。

pkg install -v SUNWipkg
pkg image-update

image-updateでは、yumやaptなどのアップグレードと違い、別のブート環境にアップデートされている。

したがって、カーネルなどのアップデートに失敗しても、GRUBの選択をすれば、簡単に元の環境でBootができる。

作成されたboot環境は、下記のように参照可能。

/usr/sbin/beadm list

2008.05のDiscで入れてしまった環境の問題回避

2008.05のDiscでインストールされている環境には、日本語環境にてアップデートにはバグがある。このワークアラウンドは下記の通り。

  • LANG,LC_MESSAGES,LC_CTYPEがいずれもCであることを確認してから、pkg image-updateを実行すること。
  • 終わった後で、手動でboot_archiveを作る。
pfexec mount -F zfs rpool/ROOT/opensolaris-1 /mnt
pfexec /mnt/boot/solaris/bin/update_grub -R /mnt

すでに、やってしまったあとなら、起動せずに再起動を繰り返しているはず。GRUBで古い方を選択し、/mntに該当のrootボリュームをマウントしてから、上記のようにboot_archiveを作ればよい。

レポジトリサーバが重く繋がらないとき

pkg.opensolaris.orgが重く、download install繋がらない、あるいはタイムアウトが起きてしまって処理が終わらないならば、タイムアウトの時間を延ばします。

PKG_CLIENT_TIMEOUTにタイムアウト値を設定できるので(デフォルトは30)、適当に増やして忘れると、何となく成功します

env PKG_CLIENT_TIMEOUT=120 pkg image-update

等。

レポジトリの変更(リリースレポジトリ、開発レポジトリ)

2008.11以降、リリースレポジトリと、開発レポジトリが割れている。

リリースhttp://pkg.opensolaris.org:80/release
開発http://pkg.opensolaris.org:80/dev
リリース(旧参照方式)http://pkg.opensolaris.org:80/

古い環境からのアップデートではreleaseレポジトリを参照しないので、次のようにしてリリースレポジトリに変更しておくと良い。

pkg set-authority -O http://pkg.opensolaris.org:80/release opensolaris.org

念のため・・・

pkg refresh --full
pkg rebuild-index

デベロッパーレポジトリを追従するようにする

pkg set-authority -P http://pkg.opensolaris.org:80/dev dev

これで、image-updateすると、developperビルドを追っかけます。それなりに危険です。-Pがついているのがポイントです。

その他のレポジトリの追加

さまざまなレポジトリを追加することで、OpenSolarisのアプリケーションを簡単に追加することが出来るが、それぞれのレポジトリを運営ポリシーを調べておかないと、意図せずトラブルになることがあるので注意。

それ以外にも他のレポジトリがある。

contrib

pkg set-authority -O http://pkg.opensolaris.org/contrib contrib

pending

pkg set-authority -O http://pkg.opensolaris.org/pending pending

dev(この方法ではdevのレポジトリを追加したいときだけ明示的に指定できる。-Pをつけないため。)

pkg set-authority -O http://pkg.opensolaris.org/dev dev

opensolaris.orgで行っているレポジトリについては下記を参照。

  • http://www.opensolaris.org/os/community/sw-porters/

Sunfreewareのレポジトリを追加

pkg set-authority -O http://pkg.sunfreeware.com:9000 sunfreeware.com

blastwaveのレポジトリを追加

pkg set-authority -O http://blastwave.network.com:10000 blastwave.com

必ずこれを行っておく

pkg refresh --full

Blastwaveを追加する場合

  • blastwaveはpkg-getの方が速かった・・・と素直に思う貴方は私と同じです・・・どうやら、blastwaveのサーバが日本からは遠いか、遅いか、どちらかか・・・。
    • BlastwaveのIPSは、Dclarke曰く「作ったものの、IPSの情報が少なすぎて、急いで作った状態」とのこと。ちなみに彼らはpkg-getからpkgutilの方にシフト中です。
  • そして、blastwaveを追加すると、pkg searchが遅くなる・・・ような気がしますが、それは自分で体験してください。
  • 個人的にはBlastwaveを利用する場合は、pkgutilを作った方がいい気がしますね。

IPSのミラー

そのうち作るかも・・・

メモ・・・

  • http://mail.opensolaris.org/pipermail/pkg-discuss/2008-August/005744.html
  • http://blogs.sun.com/levon/entry/building_opensolaris_isos

ただし、単なるコピーではないので、タイムスタンプがあわないのが問題。


コンピュータTips/Solaris

Recent Updates

ディスクの不良を確認する(iostat -EnのError等)

ディスク関係のスタックをざっくり書くと次の様になっています 例、SAS Expanderを使う場合、 例、AHCIなどを使う場合、 これらのエラーは、次の様なコマンドで知ることができます。 出力結果例 このなかで、 たとえば、SATAディスクを利用している際に負荷が上がってしまい、ディスクの応答が間に合わないシチュエーションでは、Transport Errorが一気に …
»続きを読む

2017年、新年明けまして、おめでとうございます。

日記/2017年、新年明けまして、おめでとうございます。

新年明けまして、おめでとうございます。今年もよろしくお願いします。 昨年中は、皆様にお世話になりました。 昨年は、コツコツと3年程前から行ってきた改革がある程度完成された年で、この先5年、10年を見据えて、次のフェーズへと進む為の土台が完成した年でもありました。 それにキャッチアップする形で、個々の従業員一同が、役割を自覚し、明確に動けた年であったかと考えています。 …
»続きを読む

RSA鍵認証のみにし、Password認証を無効化する

意外に覚えきれなくて、いつも忘れるので、メモついでに残しておきます。 古いOpenSSHや、SunSSHの場合は、これも無効にします。 ユーザ目線でのザックリとした説明を。OpenSSHではなく別のSSH実装も含めて考えているので、OpenSSHのソースをじっくり読んだわけではないため、間違ってたらすみません。 まず、Password認証を無効にする場合、 PasswordAut …
»続きを読む

Nexus7 2013をMarshmallow(Android 6.0)化

OTAでない方法で。 だいたい ここに書いてある方法 なんだけど、adbなどが一式使えている状態で。 まずは自分の機種のものをダウンロードする。僕のは、 Android 6.0 Marshmallow for Nexus 7 2013 Wi-Fi 。tgzを展開し、zipも解いておく。 まずはboot loaderへ。 bootloader自体のアップデート。一式、updat …
»続きを読む

OS X 10.11 El Capitanで、phpのモジュールインストール

Yosemiteからのアップデートは割と簡単です。なぜならYosemite時に、すでにapache 2.4になり、php 5.5になっているから(笑 アップデート前に、まずはphp.iniとhttpd.confをバックアップしておきましょう きになるなら、hostsとかapache以下全てをバックアップしておいてもいいかも。 後はEl Capitanにアップデートする。 アッ …
»続きを読む

EasyAcc Powerbank PB4000CB

スマフォTips/モバイルバッテリー/モバイルバッテリー製品レビュー/EasyAcc Powerbank PB4000CB

薄型のモバイルバッテリーEasyAcc Powerbank PB4000CBです。 今や、モバイルバッテリーは大型のものが好まれるのか、隙間無く商品があります。20,000mAh越えで、「でけえ!」とか言ってますけど、大きいのを探せば、100Wh(27,000mAh)、200Wh当たり前、探せば500Wh(135,000mAh)とか、もっともっとあるのです。用途がどんどん異なっていくので …
»続きを読む

EC Technology Sports Headsets S10-JWH07B

デバイスTips/Bluetooth/EC Technology Sports Headsets S10-JWH07B

Bluetoothのスポーツヘッドセット、 S10-JWH07B について。 今までブログに記載することはなかったのですが、実は割とBluetoothと言うか無線型のヘッドフォンを沢山持っています。赤外線や独自物、Bluetoothなどいくつもストックを持っていたりします。普通の人からするとマニアです。でも、マニアからみるとそうでもないレベルです。 ただ「ヘッドフォンの音質」というの …
»続きを読む

静岡県内をVPNでつなぐ(割と特殊な例)

静岡というのはある意味特殊な土地で、ほとんどのインターネットプロバイダのPOIは静岡でつながれておらず、NTT西圏内のどこかで繋がっているので、大抵大阪折り返しになる。仮に静岡県内にPOIがあっても、だいたい静岡でルーティングしてないので、やっぱり東京折り返しになってたりする。例え 同じプロバイダを使っていたとしても 。 だから静岡←→静岡のVPNは、静岡←→東京や、静岡←→大阪よりも遅 …
»続きを読む

最新  |  << 前ページ  |  次ページ >>  |  最初