私はUbuntuからFedora14に切り替えました。 Ubuntuでは、apt-get autoremove
孤児/未使用のパッケージを削除できます。 Fedoraでこれに相当するものは何ですか?
答え1
DNFはFedora 22以降のyum代替品です。また、autoremove
次のサブコマンドも提供します。編むapt-get/yum は自動的に削除します。
例:
# dnf autoremove
apt-get autoremove
自動的にインストールされたパッケージと未使用の他の依存関係パッケージの両方を削除しようとします。これは 。
# dnf autoremove examplepackage
これにより、examplepackageと自動的にインストールされた(および他の未使用の)依存関係の両方が削除されます。
ヤム
Yumの自動削除コマンドはFedora 19から入手でき、Fedora 20 / RHEL 7から文書化されています。
使用法はdnfの実装と似ています。たとえば、次のようになります。
# yum autoremove
または
# yum autoremove examplepackage
yum削除動作の変更
Yumは、サブコマンドのデフォルト動作を変更する設定オプションをサポートしていますremove
(例:/etc/yum.conf経由):
clean_requirements_on_remove=yes
設定が完了すると、次のエントリは、yum remove
他のパッケージで必要でない場合に自動的にインストールされた依存関係を削除しようとします。
次の方法でこのオプションを一時的にテストすることもできます。
# yum --setopt=clean_requirements_on_remove=1 remove examplepackage
以前のFedoraバージョンの回避策
(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
答え2
package-cleanup --quiet --leaves
~からヤムツールパッケージには、他のパッケージが依存しないライブラリパッケージが一覧表示されます。残念ながら、それは少し熱心すぎる傾向があります。たとえば、私のシステムでは、libvirtを削除することをお勧めします。パラメータを追加すると役立ち--exclude-bin
ます。推奨事項を満たしている場合は、パッケージを清掃するには:
# package-cleanup --quiet --leaves --exclude-bin | xargs yum remove -y
答え3
yumプラグイン「remove-with-leaves」をインストールする必要があります。
# yum install yum-plugin-remove-with-leaves.noarch
インストール後:
# yum remove --remove-leaves package
頑張ってください!
答え4
メモ:この回答は正確ですが、RHEL 7+とFedora 20+(自動削除が新機能として追加された場合)にのみ適用されます。
# yum autoremove
選択したパッケージの削除を確認してください。