pkg_version(1) FreeBSD 一般コマンドマニュアル

pkg_version

前のページ 上に戻る 次のページ

pkg_version


     pkg_version [-t version1 version2]


解説

     pkg_version コマンドは、 pkg_add(1) コマンドを使ってインストールされた、
     基本ソフトウェア以外のソフトウェア package (訳注: FreeBSD の package sys-
     tem におけるパッケージを指す場合にこう表記します) に関するレポートを作成
     するために使います。

     各 package のバージョン番号は、2 個の情報源のうちの 1 つと照会され、この
     package の更新が必要が否かが判断されます。 package 中に FreeBSD ports ツ
     リーにおける起源情報を含み、port の Makefile からバージョン番号を判定可能
     な場合、 Makefile のバージョン番号を使用して、インストール済の package が
     最新であるか更新要かを判定します。

     package の起源が無い場合か、port の Makefile が見付からない場合、
     pkg_version は ports collection インデックスファイル (典型的には
     /usr/ports/INDEX ) から package を探します。マッチするバージョン番号 (複
     数可) を使用して、インストール済の package が最新であるか更新要かを判定し
     ます。

     一般的に、port の Makefile のバージョン番号を使用することにより、より正確
     な結果となります。これは、インデックスファイルとは異なり、現在のバージョ
     ン番号を厳密に提供するためであり、これは複数のバージョンの port が ports
     collection 中にある場合でも成立します。更に、ports collection インデック
     スファイルの更新は間隔が開きますので、 ports collection に含まれるソフト
     ウェアのバージョン番号を完全に反映している訳ではありません。

     各 package 名が、次に示す 1 文字のステータスフラグと一緒に表示されます:

     =       インストールされている package のバージョンは、最新です。

     <       インストールされている package のバージョンは、最新バージョンより
             古いものです。

     >       インストールされている package のバージョンは、最新バージョンより
             も新しいものです。この状況は、インデックスが古い場合か、新規 port
             をテスト中に発生します。

     ?       インストールされた package がインデックス中に見付かりませんでし
             た。原因としては、インデックスが古いことか、コミットされていない
             package を PR から取得したことがあり得ます。

     *       ある特定のソフトウェア package で複数バージョンがインデックスに列
             挙されているものがあります。 FreeBSD port コレクションを例に取る
             と、 Tcl ツールキットや EMACS が該当します。

     !       インストールされた package がインデックス中にありますが、なんらか
             の理由で、インストールされた package のバージョン番号とインデック
             ス中の対応するエントリとを pkg_version が比較できませんでした。


オプション

     pkg_version は、いくつかのコマンドライン引数をサポートしています:
             能です。ステータスフラグの文字にはシェルの特殊文字でもあるものが
             存在するため、 limchar をシングルクォートで括るのが最善手です。

     -L      出力する package を、ステータスフラグが limchar にマッチしないも
             のに制限します。複数のマッチ対象の文字を limchar に指定可能です。
             ステータスフラグの文字にはシェルの特殊文字でもあるものが存在する
             ため、 limchar をシングルクォートで括るのが最善手です。

     -s      出力する package を、指定された文字列 string に名前がマッチするも
             のに制限します。

     -t      バージョン番号文字列の組をテストし、終了します。次の単一文字のい
             ずれかを標準出力へ出力します: = (等しい), < (右側の番号が大きい),
             > (左側の番号が大きい)。本フラグは、スクリプトやテストに有用で
             す。

     -v      冗長出力を有効にします。冗長出力は英文による、バージョン番号比較
             に関する若干の説明と、各 package の比較に使われたバージョン番号の
             説明が含まれています。スクリプトやプログラムで処理するには、おそ
             らく冗長でない出力の方が簡単でしょう。

     index   比較の基準として利用するインデックスを指定します。インデックスと
             して、ファイル名 (ローカルなファイルシステム内) または URL を指定
             することができます。 fetch(1) が解釈可能な URL であれば、どのよう
             なものでも指定することができます。コマンドラインで index ファイル
             が指定されていない場合は /usr/ports/INDEX が利用されます。


関連項目

     fetch(1), pkg_add(1), pkg_create(1), pkg_delete(1), pkg_info(1)


関連ファイル

     /usr/ports/INDEX  デフォルトのインデックスファイル。


使用例

     以下は pkg_version コマンドの典型的な起動方法です。インストール済み pack-
     age をローカルの port インデックスファイルと照合します:

           % pkg_version -v

     下のコマンドは、オンラインの port コレクションにおけるバージョン番号に対
     してレポートを生成します:

           % pkg_version ftp://ftp.FreeBSD.org/pub/FreeBSD/ports-current/INDEX

     下のコマンドは、インストールされたファイルの更新を行うために実行するコマ
     ンド群のファイルを生成します。コマンドは、適切に編集することなく実行 しな
     いでください 。提案として扱うべきであり、インストール済 package 間の依存
     関係を考慮に入れるために順序を入れ換える必要があるかもしれませんし、複数
     のインストール済 package を共存させるために無視する必要があるかもしれませ
     ん。本コマンドの出力を内容を確認せずに使用すると、システムが使えなくなる
     ことがあります。


バグ

     コマンド出力機能は、ports/packages の自動更新システムでは ありません 。イ
     ンストール済の packages 間の依存関係を正しく扱おうとすらしませんし、シス
     テム上に複数のバージョンの package が共存する場合には正しくない結果を出力
     します。

     コマンド出力は、 pkg_add(1) を使うのではなく、 port システムを使って新し
     いソフトウェアをインストールすると仮定しています。

FreeBSD 4.4                      July 17, 1998                     FreeBSD 4.4

ABELNET VPSサービス