不要になったパッケージを削除してくれる、autoremove
Debian系OSでのパッケージ管理コマンド、aptは便利ですが、不要になった際に依存のパッケージまでは削除してくれません。
削除する際は、
と指定しますが、これでも消せるのはそのパッケージのみです。
# sudo apt-get remove --purge {package名}
ところが、ubuntu edgy以降で利用できるautoremoveを使えば不要なパッケージも簡単に削除可能!
これだけで依存関係がなく、不要と判断されたパッケージは削除してくれます。
# sudo apt-get autoremove
すごいなーとても便利。しかし、manを見ても--helpをみても記載されていないのです。
Commands:
update - Retrieve new lists of packages
upgrade - Perform an upgrade
install - Install new packages (pkg is libc6 not libc6.deb)
remove - Remove packages
purge - Remove and purge packages
source - Download source archives
build-dep - Configure build-dependencies for source packages
dist-upgrade - Distribution upgrade, see apt-get(8)
dselect-upgrade - Follow dselect selections
clean - Erase downloaded archive files
autoclean - Erase old downloaded archive files
check - Verify that there are no broken dependencies
でもaptitudeを使えばそんな心配はいらないようですね。
以下のページの解説がすごくわかりやすいです。
主な違いは必要のなくなったパッケージ(孤児(orphan)パッケージと呼ばれるらしい)の扱いです。apt-getもaptitudeもあるパッケージをインストールしたとき、必要なパッケージも自動的にインストールしてくれますが、インストールしたパッケージを削除したとき、apt-getはそのパッケージだけを、aptitudeは(/var/log/aptitudeのログを元に)不要になったパッケージも削除します。
http://foamy-capriccio.seesaa.net/article/47608276.html
なるほどなるほど。
追記(2008/1/10)
noritadaさんから教えていただきました。apt-get autoremoveはubuntuが独自に追加したものではなくaptのバージョンによるものだそうです。
# apt-get --version
apt 0.6.46.4-0.1 for linux i386 compiled on Feb 26 2007 16:19:57
# apt-get --version
apt 0.7.6ubuntu14 for i386 compiled on Oct 15 2007 20:39:10
どうやら、autoremoveはaptの0.7系から実装された機能とのことです。
大変勉強になりました。