FreeBSD Daily Topics
2011年11月28日 誰からも使われないリーフパッケージを削除する方法(pkg_cleanup編)
ports
- How to remove the uneeded package leaves
Ports Collectionからアプリケーションをインストールしたり削除したりしている場合,
どこからも参照されない, いわゆる 「リーフパッケージ」 が発生することがあります。 「リーフパッケージ」 はビルド時にのみ必要とされインストールされたビルドツールや変換ツール, またはビッグアプリケーション削除後に残った依存ライブラリや依存ツールなどです。なんらかのアプリケーションを試用しようとしてPorts Collectionからインストールし, 不要と判断して削除した場合, そのアプリケーションに依存してインストールされたほかのライブラリやツール, ソフトウェアはインストールされたままになります。こうしたユーザが必要としないパッケージが 「リーフパッケージ」 です。 リーフパッケージは使われないのにそこに存在しているため,
次のような弊害があります。 - 依存関係のチェック処理などを遅くする要因となる
- アップグレードなどに失敗する要因になる可能性がある
- ディスク容量を圧迫する
リーフパッケージになっているということは,
すでにほかのアプリケーションから参照されることがなく, 同じアプリケーションをインストールしない限りは再利用される可能性が低い状態にあります。ビルドツールなどはビルド時に使われますが, 特定の用途に特化したライブラリなどは, 対象となるアプリケーションを削除したあとは使われずに残り続けることが多いように思います。 リーフパッケージは定期的にチェックしてアンインストールした方が,
システムを軽快な状態に保つことができます。Ports Collectionにはリーフパッケージの削除に特化したツールが用意されています。たとえば次のツールなどがあります。 - pkg_
cleanup (ports-mgmt/ pkg_ cleanup) - pkg_
cutleaves (ports-mgmt/ pkg_ cutleaves) - pkg_
rmleaves (ports-mgmt/ pkg_ rmleaves) - portmanager
(ports-mgmt/ portmanager)
扱いやすさと軽量さを考えると,
「pkg_ cleanup」 あたりはこの目的に適切なツールといえます。pkg_ cleanupで不要なリーフパッケージを削除すると, 新しいリーフパッケージの一覧を表示するか聞かれます。リーフパッケージを削除したことで, そのリーフパッケージに依存していたパッケージが新しくリーフパッケージになることがあるからです。大量にリーフパッケージがある場合, 10数回といった回数, この作業を繰り返す必要があることもあります。 依存関係のチェックに長い時間がかかると感じるようになってきたのであれば,
pkg_ cleanupなどのツールを使ってリーフパッケージの削除作業を検討してみると良いかもしれません。
バックナンバー
FreeBSD Daily Topics
- 2011年11月29日 おかしな動きをするUSBマウストラブルシューティング(PS/2-USB変換器編)
- 2011年11月28日 誰からも使われないリーフパッケージを削除する方法(pkg_cleanup編)
- 2011年11月25日 VLCをショートカットキーからリモート制御する方法 telnet編
- 2011年11月22日 カーネルのクラッシュダンプを取る方法(X Window System)
- 2011年11月21日 カーネルのクラッシュダンプを取る方法(コンソール)
- 2011年11月18日 FreeBSD 9.0-RC2登場
- 2011年11月14日 人気上昇nginx - 主要プラットフォームはFreeBSD
- 2011年11月10日 FreeBSD仮想化技術 BHyVeとXen
- 2011年11月9日 FreeBSD Git対応の現状
- 2011年11月8日 新セキュリティ「Capsicum」