PKG_DELETE(1) FreeBSD 一般コマンドマニュアル PKG_DELETE(1)
名称
pkg_delete − インストールされているソフトウェア配布 package を削除するプ ログラム |
書式
pkg_delete [−dDfGinrvxX] [−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 −i −v −D −n −p prefix −d −f −G −x −X −r 技術詳細 |
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)
を参照)を含んでいる場合、まず
そのファイルを以下の引数を付けて実行し、アンインストール作業を続けるべき
かどうかを確かめます: package に deinstall
スクリプトが含まれている場合、そのスクリプトはファイ
ルが削除される前に実行されます。 pkg_delete
はオリジナルの package に含ま
れていたファイルを削除することしか関知しないので、 package
のインストール
にまつわる雑多な事項をきれいに片づけるのはこの
deinstall スクリプトの責任 です。 deinstall
スクリプトは以下の引数を付けて実行されます: 注: ( −k および −K のフラグを pkg_create(1) に使用することにより) package 作成時に deinstall と post-deinstall のスクリプトが別々に与えられる場合に は、 DEINSTALL キーワードは登場しません。 post-deinstall スクリプトが package に対して存在する場合、全ファイルが削 除された 後で実行されます。 package のインストールに際する更なる細々とし たことを片づけ、 (願わくば) 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〉, Oliver Eikemeier 〈eik@FreeBSD.org〉 |
バグ
まだあるはずです。 FreeBSD 10.0 June 29, 2004 FreeBSD 10.0 |