285 lines
		
	
	
	
		
			7.5 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			285 lines
		
	
	
	
		
			7.5 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.16.2.6 2001/03/05 11:11:31 sobomax Exp %
 | |
| .\"
 | |
| .\" jpman %Id: pkg_delete.1,v 1.3 1997/06/09 08:35:00 jsakai Stab %
 | |
| .\"
 | |
| .Dd November 25, 1994
 | |
| .Dt PKG_DELETE 1
 | |
| .Os
 | |
| .Sh 名称
 | |
| .Nm pkg_delete
 | |
| .Nd インストールされているソフトウェア配布 package を削除するプログラム
 | |
| .Sh 書式
 | |
| .Nm
 | |
| .Op Fl dDfGinvx
 | |
| .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 が
 | |
| 削除されます。
 | |
| .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
 | |
| .Sh バグ
 | |
| まだあるはずです。
 |