[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .

パッケージ: パッケージの削除

注意: # や % の意味が分からない人は 用語 を参照してください。

特定のパッケージを削除したい場合、 そのパッケージのディレクトリで

# make deinstall
を実行して下さい。

依存関係のあるパッケージを削除したい場合は、 そのパッケージのディレクトリで

# make deinstall DEINSTALLDEPENDS=yes
もしくは
# /usr/pkg/sbin/pkg_delete -K /var/db/pkg -r -R パッケージ名

自動でやりたい場合

# /usr/pkg/sbin/pkg_delete -K /var/db/pkg -r -R `make show-var VARNAME=PKGNAME`
を実行して下さい ( 詳しくは後述 )。

削除する (通常の場合、つまり依存関係のない例)

例: ブラウザ w3m を削除する。

# cd /usr/pkgsrc/www/w3m
# make deinstall

削除する (まとめて削除しなければならない)

たいていは、 自動監査 からみですが、特定のパッケージだけでなく、 依存関係のあるものすべてを削除する必要があることが”よく”あります。

毎日 「自動監査システム」 がセキュリティホール一覧を教えてくれます。

たとえば、毎月のように「openssl 祭り」が発生します。 無数のパッケージが openssl ライブラリに頼っているので、 openssl ライブラリを入れ換える場合、 たくさんのパッケージを再コンパイルする必要があります。

(再コンパイルが面倒というなら) いちおう「ライブラリ」だけを入れ換えることもできます。 その場合 make replace という命令を使って下さい。 ただし、これは依存関係を考えずにターゲットのパッケージのみを入れ換えるので、 推奨しかねます。 特にライブラリ”だけ”を入れ換えた場合、 入れ換え直後は問題なくとも、 後日、思わぬところで正しく動作しなくなる可能性があります。

よって、依存関係のあるものすべてを再コンパイルすることが理想です。 この場合

# cd /usr/pkgsrc/security/openssl
# make update
を実行するか、
# cd /usr/pkgsrc/security/openssl
# make deinstall DEINSTALLDEPENDS=yes
# make install
を実行してください。

注意: (2011 春以前)、 前者と後者の違いはバイナリパッケージをを作るか作らないか( make install か make install か?)という点にあります。 現在では、どちらでも同じ結果になる気がします(要調査)。

「われわれ NSRG は make install を使う」という運用方針なので、後者です。

また、これは長年の経験論ですが、 どうも make deinstall が実行している実体 pkg_delete -R だけでは依存関係の解決が不十分である気がしています。 pkg_delete -r -R のほうが安全です。

よって、 「われわれ NSRG は pkg_delete -r -R して make install しなおす」 という運用方針とします。

実行例: openssl に依存するものをすべて削除する。

「自動監査システム」 が次のような内容のメールを送ってきます。

Package openssl-0.9.8lnb1 has a unknown-impact vulnerability, see http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3245

同じことは、次のようなコマンドを実行することで確認できます。

# /usr/pkg/sbin/download-vulnerability-list
# /usr/pkg/sbin/audit-packages
削除作業の前に確認して下さい。

# cd /usr/pkgsrc/security/openssl
# /usr/pkg/sbin/pkg_delete -K /var/db/pkg -r -R openssl-0.9.8lnb1
# make install

[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .
Copyright (C) 1993-2022 Ken'ichi Fukamachi mail:< fukachan at fml.org >