Fedoraから孤児パッケージを削除する方法は?

Fedoraから孤児パッケージを削除する方法は?

私は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.conf(5)

設定が完了すると、次のエントリは、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

選択したパッケージの削除を確認してください。

関連情報