日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.2-RELEASE-K, 8.0-RELEASE-K は、プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.2-RELEASE-K, 8.0-RELEASE-K は、全翻訳済み)
6.4-STABLE-K, 7.2-STABLE-K, 8.0-STABLE-K は現在、 作成中で日々更新されています。 最新の snapshots を元に作成しています。
PKG_DELETE(1) FreeBSD 一般コマンドマニュアル PKG_DELETE(1)
名称
pkg_delete - インストールされているソフトウェア配布 package を削除するプ
ログラム
書式
pkg_delete [-dDfGinrvx] [-p prefix] pkg-name ...
pkg_delete -a [flags]
解説
pkg_delete コマンドは、 pkg_add(1) コマンドにより既にインストールされてい
る package (訳注: FreeBSD の package system におけるパッケージを指す場合
にこう表記します) を削除するために用いられます。
警告
pkg_delete コマンドは package ファイルにより提供されるスクリプトやプログ
ラムを実行することがあるので、あなたのシステムは、危険な配布ファイルを作
る極悪人からの ``トロイの木馬'' や他の巧妙な攻撃などを受ける可能性があり
ます。
package ファイルを提供する人物の能力と身元を確認するとよいでしょう。より
進んだ安全のためには、package 記録ディレクトリ (/var/db/pkg/<pkg-name>/)
にあるすべての package 制御ファイルを確認します。 +INSTALL, +POST-
INSTALL, +DEINSTALL, +POST-DEINSTALL, +REQUIRE, +MTREE_DIRS の各ファイル
には特に注意を払い、+CONTENTS ファイルの @cwd, @mode (setuid をチェック),
@dirrm, @exec, @unexec ディレクティブを調べてください。インストールされて
いる package 制御ファイルを調べるのには pkg_info(1) コマンドも使えます。
オプション
以下のコマンドラインオプションが提供されています:
pkg-name ...
指定された package がアンインストールされます。
-a 無条件に、現在インストール済の package をすべて削除します。
-i 各 package の削除前に、確認を求めます。これは、標準入力デバイスが
端末かどうかに関係ありません。
-v 饒舌な出力に切り替えます。
-D package にアンインストール用スクリプトが存在しても、それを実行し
ません。
-n 実際にはアンインストールは行わず、アンインストールした場合に実行
されるであろうステップを表示します。
-p prefix
インストールされている package が明示的にディレクトリを設定してい
ない場合に、削除するファイルの前に prefix をディレクトリとして付
け加えます。ほとんどの package では、このディレクトリは
pkg_add(1) によってインストールされた場所に自動的に設定されます。
-d ファイル削除により生じた空のディレクトリを削除します。デフォルト
では、package の内容一覧に明示的に羅列されたファイル/ディレクトリ
(通常のファイル/ディレクトリか @dirrm ディレクトリを伴ったもの)
のみがアンインストール時に削除されます。このオプションにより
pkg_delete は package を削除することにより生ずる空ディレクトリも
削除するようになります。
-f 依存関係が記録されていたり、アンインストールスクリプトや require
スクリプトが失敗した場合でも、強制的に package を削除します。
-G 削除対象の package の選択時に、 pkg-name 中のシェルグロブパターン
の展開を試みません (デフォルトでは、 pkg_delete は pkg-name 中の
シェルグロブパターンを自動的に展開します)。
-x pkg-name を正規表現として扱い、名前がこの正規表現にマッチする全
package を削除します。複数の正規表現を指定可能であす。この場合、
リスト中の少なくとも 1 個の正規表現にマッチする全 package が削除
されます。
-r 再帰的な削除。指定した package に加え、これに依存する package も
また削除します。
技術詳細
pkg_delete ユーティリティは名前の通りに働きます。 pkg_delete は
/var/db/pkg/<pkg-name> に記録されたインストール済みの package をチェック
し、 package の内容を削除し、最後に package の記録も削除します。環境変数
PKG_DBDIR が設定されている場合には、前記パス /var/db/pkg/ にこれが優先し
ます。
ある package が他のインストール済みの package から必要とされている場合、
pkg_delete はそれらの依存している package の一覧を表示し、package の削除
は行いません (ただし -f オプションが指定された場合を除く)。
package が require ファイル( pkg_create(1) を参照)を含んでいる場合、まず
そのファイルを以下の引数を付けて実行し、アンインストール作業を続けるべき
かどうかを確かめます:
require <pkg-name> DEINSTALL
(ここで pkg-name は問題としている package の名前であり、 DEINSTALL はこれ
がアンインストールであることを示すキーワードです) 終了ステータスが 0 以外
の場合には、 -f オプションが指定されていない限りアンインストールを中断し
ます。
package に deinstall スクリプトが含まれている場合、そのスクリプトはファイ
ルが削除される前に実行されます。 pkg_delete はオリジナルの package に含ま
れていたファイルを削除することしか関知しないので、 package のインストール
にまつわる雑多な事項をきれいに片づけるのはこの deinstall スクリプトの責任
です。 deinstall スクリプトは以下の引数を付けて実行されます:
script <pkg-name> DEINSTALL
ここで、 pkg-name は対象の package 名であり、 DEINSTALL はこれがアンイン
ストール前のフェーズであることを示すキーワードです。
注: ( -k および -K のフラグを pkg_create(1) に使用することにより) package
作成時に deinstall と post-deinstall のスクリプトが別々に与えられる場合に
は、 DEINSTALL キーワードは登場しません。
post-deinstall スクリプトが package に対して存在する場合、全ファイルが削
除された 後で実行されます。 package のインストールに際する更なる細々とし
たことを片づけ、 (願わくば) package インストール前と同じシステム状態に戻
すことは、このスクリプトの責任です。
post-deinstall は次のように呼び出されます:
script <pkg-name> POST-DEINSTALL
ここで pkg-name は対象の package 名であり、 POST-DEINSTALL はこれがアンイ
ンストール後のフェーズであることを示すキーワードです。
注: ( -k および -K のフラグを pkg_create(1) に使用することにより) package
作成時に deinstall と post-deinstall のスクリプトが別々に与えられる場合に
は、 POST-DEINSTALL キーワードは登場しません。
POST-DEINSTALL および PRE-DEINSTALL のキーワードを渡す背景には、インス
トールと削除のすべてを扱うことができる単一のプログラム/スクリプトを記述可
能にすることがあります。
しかしながら、この方法はメンテナンスがかなり難しく、インストールおよびア
ンインストールの各局面を扱う別々のスクリプトを持つ方法には及ばないこと
が、経験により分かりました。
すべてのスクリプトは環境変数 PKG_PREFIX にインストール時の prefix が設定
された状態で実行されます (上記の -p オプションを参照)。このことによ
り、package の作者は pkg_delete や pkg_add の -p フラグにより package が
インストールされるディレクトリが変更されても、きちんとふるまうスクリプト
を書くことが可能になります。
環境変数
環境変数 PKG_DBDIR は、インストール済み package の代替データベースを指定
します。
関連ファイル
/var/db/pkg インストール済み package のデーバベースのデフォルトの位置。
関連項目
pkg_add(1), pkg_create(1), pkg_info(1), pkg_version(1), mktemp(3),
mtree(8)
作者
Jordan Hubbard
協力者
John Kohl <jtk@rational.com>
バグ
まだあるはずです。
FreeBSD 4.9 November 25, 1994 FreeBSD 4.9