回答:
package-cleanup --quiet --leaves
yum-utilsパッケージからは、他のパッケージに依存していないライブラリパッケージがリストされます。残念ながら、少し熱心すぎる傾向があります。たとえば、私のシステムでは、libvirtを削除することを提案しました。--exclude-bin
引数を追加すると役立ちます。提案に満足している場合、パッケージをクリーンアップするには、次を実行します。
# package-cleanup --quiet --leaves --exclude-bin | xargs yum remove -y
Fedora 22以降のyumの置き換えであるDNFは、apt-get / yum autoremoveをモデルにしたautoremove
サブコマンドも提供します。
例:
# dnf autoremove
これは、自動的にインストールされた、または未使用の依存関係パッケージをすべて削除しようとします-とほぼ同等apt-get autoremove
です。
# dnf autoremove examplepackage
これにより、examplepackageと、自動的にインストールされた(および使用されていない)依存関係がすべて削除されます。
YumにはFedora 19からautoremoveコマンドがあり、Fedora 20 / RHEL 7から文書化されています。
使用法は、dnfの実装に類似しています。たとえば、
# yum autoremove
または
# yum autoremove examplepackage
Yumは、remove
サブコマンドのデフォルトの動作を変更するための設定オプションをサポートしています(/etc/yum.confなどを使用):
clean_requirements_on_remove=yes
これが設定されている場合、次yum remove
も自動インストールされた依存関係を削除しようとしますが、それらは他のパッケージには必要ありません。
次のような方法でこのオプションを一時的にテストすることもできます。
# yum --setopt=clean_requirements_on_remove=1 remove examplepackage
(yum autoremoveサブコマンドが使用できclean_requirements_on_remove
ないか、動作しないFedoraバージョンの場合)
パッケージのインストール中に、インストールされた依存関係はそのようにマークされますが(rpm / yumの比較的新しい機能のようです)。
不要な依存関係は次の方法で見つけることができます。
$ package-cleanup --leaves -q --all \
| xargs repoquery --installed --qf '%{nvra} - %{yumdb_info.reason}' \
| grep -- '- dep' \
| cut -d' ' -f1 > tmp
このコマンドラインは、fenris02のスクリプトに触発されています。
検査tmp
(およびおそらくキュレーション)した後、次のような方法でそれらを削除できます。
# xargs yum remove < tmp
adobe-release
経由yum localinstall
# package-cleanup --orphans >/tmp/junk
/tmp/junk
ファイルを編集し、コマンドラインから情報を提供する最初の行を削除して、次のように入力します。
for file in `cat /tmp/junk`
do
yum remove $file
done
apt-get autoremove
。apt-get(8)によると:「autoremoveは、いくつかのパッケージの依存関係を満たすために自動的にインストールされ、不要になったパッケージを削除するために使用されます。」
ラリー・モールの答えに基づいて:
package-cleanup --orphans | sed '1d' | sed '/^ * /d' | sed '/Loading mirror speeds from cached hostfile/d' | xargs sudo yum remove
(不思議に思うなら、最速のミラーのためにスキップすることを含みます。)
これらの問題を引き起こさない別の方法は、トランザクションを使用することです。
基本システムのセットアップ後、yumを使用してインストールすると、トランザクションが作成されます。削除する場合は、トランザクションをロールバックします。
netbeans-platform
、パッケージのクリーンアップにはいくつかのものがリストされていますが、実際には以前にインストールされたnetbeans-platform
依存関係はありません(Fedora 17を使用)。