3947840b05
Interpretation of a chunk in cut.1 was helped by: Yoshihiko Sarumaru <mistral@imasy.or.jp>, hrs
294 lines
7.7 KiB
Groff
294 lines
7.7 KiB
Groff
.\"
|
|
.\" FreeBSD install - a package for the installation and maintainance
|
|
.\" of non-core utilities.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\"
|
|
.\" Jordan K. Hubbard
|
|
.\"
|
|
.\"
|
|
.\" @(#)pkg_delete.1
|
|
.\" %FreeBSD: src/usr.sbin/pkg_install/delete/pkg_delete.1,v 1.30 2004/07/02 23:12:52 ru Exp %
|
|
.\"
|
|
.\" $FreeBSD$
|
|
.\"
|
|
.Dd June 29, 2004
|
|
.Dt PKG_DELETE 1
|
|
.Os
|
|
.Sh 名称
|
|
.Nm pkg_delete
|
|
.Nd インストールされているソフトウェア配布 package を削除するプログラム
|
|
.Sh 書式
|
|
.Nm
|
|
.Op Fl dDfGinrvxX
|
|
.Op Fl p Ar prefix
|
|
.Ar pkg-name ...
|
|
.Nm
|
|
.Fl a
|
|
.Op Ar flags
|
|
.Sh 解説
|
|
.Nm
|
|
コマンドは、
|
|
.Xr pkg_add 1
|
|
コマンドにより既にインストールされている package
|
|
(訳注: FreeBSD の package system におけるパッケージを指す場合にこう表記します)
|
|
を削除するために
|
|
用いられます。
|
|
.Sh 警告
|
|
.Bf -emphasis
|
|
.Nm
|
|
コマンドは package ファイルにより提供されるスクリプトやプログラムを
|
|
実行することがあるので、あなたのシステムは、危険な配布ファイルを
|
|
作る極悪人からの
|
|
.Dq トロイの木馬
|
|
や他の巧妙な攻撃などを受ける
|
|
可能性があります。
|
|
.Pp
|
|
package ファイルを提供する人物の能力と身元を確認するとよいでしょう。
|
|
より進んだ安全のためには、package 記録ディレクトリ
|
|
.Pa ( /var/db/pkg/<pkg-name>/ )
|
|
にあるすべての package 制御ファイルを確認します。
|
|
+INSTALL, +POST-INSTALL, +DEINSTALL, +POST-DEINSTALL, +REQUIRE, +MTREE_DIRS
|
|
の各ファイルには
|
|
特に注意を払い、+CONTENTS ファイルの
|
|
.Cm @cwd ,
|
|
.Cm @mode
|
|
(setuid をチェック),
|
|
.Cm @dirrm ,
|
|
.Cm @exec ,
|
|
.Cm @unexec
|
|
ディレクティブを調べてください。
|
|
インストールされている package 制御ファイルを調べるのには
|
|
.Xr pkg_info 1
|
|
コマンドも使えます。
|
|
.Ef
|
|
.Sh オプション
|
|
以下のコマンドラインオプションが提供されています:
|
|
.Bl -tag -width indent
|
|
.It Ar pkg-name ...
|
|
指定された package がアンインストールされます。
|
|
.It Fl a
|
|
無条件に、現在インストール済の package をすべて削除します。
|
|
.It Fl i
|
|
各 package の削除前に、確認を求めます。
|
|
これは、標準入力デバイスが端末かどうかに関係ありません。
|
|
.It Fl v
|
|
饒舌な出力に切り替えます。
|
|
.It Fl D
|
|
package にアンインストール用スクリプトが存在しても、それを実行しません。
|
|
.It Fl n
|
|
実際にはアンインストールは行わず、アンインストールした場合に実行されるであろう
|
|
ステップを表示します。
|
|
.It Fl p Ar prefix
|
|
インストールされている package が明示的にディレクトリを設定していない
|
|
場合に、削除するファイルの前に
|
|
.Ar prefix
|
|
をディレクトリとして付け加えます。
|
|
ほとんどの package では、このディレクトリは
|
|
.Xr pkg_add 1
|
|
によってインストールされた場所に自動的に設定されます。
|
|
.It Fl d
|
|
ファイル削除により生じた空のディレクトリを削除します。
|
|
デフォルトでは、package の内容一覧に明示的に羅列された
|
|
ファイル/ディレクトリ (通常のファイル/ディレクトリか
|
|
.Cm @dirrm
|
|
ディレクトリを伴ったもの) のみがアンインストール時に削除されます。
|
|
このオプションにより
|
|
.Nm
|
|
は package を削除することにより生ずる空ディレクトリも削除するように
|
|
なります。
|
|
.It Fl f
|
|
依存関係が記録されていたり、アンインストールスクリプトや
|
|
require スクリプトが失敗した場合でも、強制的に package を削除します。
|
|
.It Fl G
|
|
削除対象の package の選択時に、
|
|
.Ar pkg-name
|
|
中のシェルグロブパターンの展開を試みません (デフォルトでは、
|
|
.Nm
|
|
は
|
|
.Ar pkg-name
|
|
中のシェルグロブパターンを自動的に展開します)。
|
|
.It Fl x
|
|
.Ar pkg-name
|
|
を正規表現として扱い、名前がこの正規表現にマッチする全 package を削除します。
|
|
複数の正規表現を指定可能であす。
|
|
この場合、リスト中の少なくとも 1 個の正規表現にマッチする全 package が
|
|
削除されます。
|
|
.It Fl X
|
|
.Fl x
|
|
と同様ですが、
|
|
.Ar pkg-name
|
|
を拡張正規表現として扱います。
|
|
.It Fl r
|
|
再帰的な削除。
|
|
指定した package に加え、これに依存する package もまた削除します。
|
|
.El
|
|
.Sh 技術詳細
|
|
.Nm
|
|
ユーティリティは名前の通りに働きます。
|
|
.Nm
|
|
は
|
|
.Pa /var/db/pkg/<pkg-name>
|
|
に記録されたインストール済みの package をチェックし、
|
|
package の内容を削除し、最後に package の記録も削除します。
|
|
環境変数
|
|
.Ev PKG_DBDIR
|
|
が設定されている場合には、前記パス
|
|
.Pa /var/db/pkg/
|
|
にこれが優先します。
|
|
.Pp
|
|
ある package が他のインストール済みの package から必要とされている場合、
|
|
.Nm
|
|
はそれらの依存している package の一覧を表示し、package の削除は
|
|
行いません (ただし
|
|
.Fl f
|
|
オプションが指定された場合を除く)。
|
|
.Pp
|
|
package が
|
|
.Ar require
|
|
ファイル(
|
|
.Xr pkg_create 1
|
|
を参照)を含んでいる場合、まずそのファイルを以下の引数を付けて実行し、
|
|
アンインストール作業を続けるべきかどうかを確かめます:
|
|
.Bd -ragged -offset indent -compact
|
|
.Cm require
|
|
.Ar <pkg-name>
|
|
.Ar DEINSTALL
|
|
.Ed
|
|
(ここで
|
|
.Ar pkg-name
|
|
は問題としている package の名前であり、
|
|
.Ar DEINSTALL
|
|
はこれがアンインストールであることを示すキーワードです)
|
|
終了ステータスが 0 以外の場合には、
|
|
.Fl f
|
|
オプションが指定されていない限りアンインストールを中断します。
|
|
.Pp
|
|
package に
|
|
.Cm deinstall
|
|
スクリプトが含まれている場合、
|
|
そのスクリプトはファイルが削除される前に実行されます。
|
|
.Nm
|
|
はオリジナルの package に含まれていたファイルを削除することしか
|
|
関知しないので、
|
|
package のインストールにまつわる雑多な事項をきれいに片づけるのは
|
|
この
|
|
.Cm deinstall
|
|
スクリプトの責任です。
|
|
.\" since all ... 以下はなくてもどうにか意味が通じるだろう、という
|
|
.\" のとうまい訳が見つからなかったので加えていません。
|
|
.\" By kuriyama@opt.phys.waseda.ac.jp (Jun 3 1997)
|
|
.\" --> 訳してみました。By sakai@jp.freebsd.org (Jun 9, 1997)
|
|
.Nm deinstall
|
|
スクリプトは以下の引数を付けて実行されます:
|
|
.Bd -ragged -offset indent -compact
|
|
.Cm script
|
|
.Ar <pkg-name>
|
|
.Ar DEINSTALL
|
|
.Ed
|
|
ここで、
|
|
.Ar pkg-name
|
|
は対象の package 名であり、
|
|
.Ar DEINSTALL
|
|
はこれがアンインストール前のフェーズであることを示すキーワードです。
|
|
.Pp
|
|
.Sy 注:
|
|
(
|
|
.Fl k
|
|
および
|
|
.Fl K
|
|
のフラグを
|
|
.Xr pkg_create 1
|
|
に使用することにより) package 作成時に
|
|
deinstall と post-deinstall のスクリプトが別々に与えられる場合には、
|
|
.Ar DEINSTALL
|
|
キーワードは登場しません。
|
|
.Pp
|
|
.Cm post-deinstall
|
|
スクリプトが package に対して存在する場合、
|
|
全ファイルが削除された
|
|
.Cm 後
|
|
で実行されます。
|
|
package のインストールに際する更なる細々としたことを片づけ、
|
|
(願わくば) package インストール前と同じシステム状態に戻すことは、
|
|
このスクリプトの責任です。
|
|
.Pp
|
|
.Nm post-deinstall
|
|
は次のように呼び出されます:
|
|
.Bd -ragged -offset indent -compact
|
|
.Cm script
|
|
.Ar <pkg-name>
|
|
.Ar POST-DEINSTALL
|
|
.Ed
|
|
ここで
|
|
.Ar pkg-name
|
|
は対象の package 名であり、
|
|
.Ar POST-DEINSTALL
|
|
はこれがアンインストール後のフェーズであることを示すキーワードです。
|
|
.Pp
|
|
.Sy 注:
|
|
(
|
|
.Cm Fl k
|
|
および
|
|
.Cm Fl K
|
|
のフラグを
|
|
.Xr pkg_create 1
|
|
に使用することにより) package 作成時に
|
|
deinstall と post-deinstall のスクリプトが別々に与えられる場合には、
|
|
.Ar POST-DEINSTALL
|
|
キーワードは登場しません。
|
|
.Pp
|
|
.Ar POST-DEINSTALL
|
|
および
|
|
.Ar PRE-DEINSTALL
|
|
のキーワードを渡す背景には、
|
|
インストールと削除のすべてを扱うことができる単一のプログラム/スクリプト
|
|
を記述可能にすることがあります。
|
|
.Pp
|
|
しかしながら、この方法はメンテナンスがかなり難しく、
|
|
インストールおよびアンインストールの各局面を扱う別々のスクリプトを持つ方法
|
|
には及ばないことが、経験により分かりました。
|
|
.Pp
|
|
すべてのスクリプトは環境変数
|
|
.Ev PKG_PREFIX
|
|
にインストール時の prefix が設定された状態で実行されます (上記の
|
|
.Fl p
|
|
オプションを参照)。
|
|
このことにより、package の作者は
|
|
.Nm
|
|
や
|
|
.Cm pkg_add
|
|
の
|
|
.Fl p
|
|
フラグにより package がインストールされるディレクトリが
|
|
変更されても、きちんとふるまうスクリプトを書くことが可能になります。
|
|
.Sh 環境変数
|
|
環境変数
|
|
.Ev PKG_DBDIR
|
|
は、インストール済み package の代替データベースを指定します。
|
|
.Sh 関連ファイル
|
|
.Bl -tag -width /var/db/pkg -compact
|
|
.It Pa /var/db/pkg
|
|
インストール済み package のデータベースのデフォルトの位置。
|
|
.El
|
|
.Sh 関連項目
|
|
.Xr pkg_add 1 ,
|
|
.Xr pkg_create 1 ,
|
|
.Xr pkg_info 1 ,
|
|
.Xr pkg_version 1 ,
|
|
.Xr mktemp 3 ,
|
|
.Xr mtree 8
|
|
.Sh 作者
|
|
.An Jordan Hubbard
|
|
.Sh 協力者
|
|
.An John Kohl Aq jtk@rational.com ,
|
|
.An Oliver Eikemeier Aq eik@FreeBSD.org
|
|
.Sh バグ
|
|
まだあるはずです。
|