![yum + i686에서 X86까지 rpm 간의 종속성을 식별하는 방법](https://linux55.com/image/179153/yum%20%2B%20i686%EC%97%90%EC%84%9C%20X86%EA%B9%8C%EC%A7%80%20rpm%20%EA%B0%84%EC%9D%98%20%EC%A2%85%EC%86%8D%EC%84%B1%EC%9D%84%20%EC%8B%9D%EB%B3%84%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
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_64 rpm의 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