i686のすべてのrpmタイプを削除して削除を除外する方法X86_64
は次のとおりです。
yum remove '*.i686' -x '*.x86_64'
私たちがやりたいことはこうです。
i686
以下を使用してrpmの取り外しを確認します。X86_64
依存関係がある場合、cliは「
i686
rpmを削除しないでください」を印刷します。i686
rpmを削除する間に依存関係がない場合、cliX86_65
は「rpmを安全に削除できます -i686
」を印刷してから - コマンドを実行できます。yum remove '*.i686' -y
i686
それでは、yumまたは他の手段を介してrpm間の依存関係を確認する方法について提案がありますかX86_64
?依存関係がなければ、i686 rpmを安全に取り外すことができます。
答え1
i686
FedoraとRHEL / CentOSのパッケージ間に依存関係はありませんx86_64
。ただし、他のすべてのLinuxディストリビューションには適用されません。
i686
すべてのパッケージを安全に削除できます。x86_64
パッケージは影響を受けません。
Fedora 32から:
# dnf remove --assumeno --setopt=clean_requirements_on_remove=0 \
$(rpm -qa | grep i686) | grep x86_64 | wc -l
Operation aborted.
0
# rpm -qa | grep i686 | wc -l
163
CentOSを実行しているdnf
場合yum
。
答え2
他の興味深い方法は次のとおりです。
yum --assumeno --disablerepo='*' remove *i686 | grep x86_64 | wc -l
これは、i686のrpmに基づいてx86_64rpmのrpm数をキャプチャします。
または
yum --assumeno --disablerepo='*' remove *i686 | grep -iq x86_64
if [[ $? -eq 0 ]]
then
echo "rpm of x86_64 rpm's are in dependencies with rpm of i686"
fi