CentOS 업스트림 패키지를 재정의한 RPMfusion 패키지가 62개 있는데 이제 원래 CentOS 패키지로 돌아가고 싶습니다.
내가 생각할 수 있는 유일한 아이디어는
BAD_PACKAGES="name1 name2 ..."
echo $BAD_PACKAGES |xargs rpm -e --nodeps
echo $BAD_PACKAGES |xargs yum install
하지만 그렇게 하면 프로세스 중에 시스템이 손상된 상태가 됩니다.
질문
해당 패키지를 제거한 다음 CentOS 저장소에서 다시 설치하는 가장 안전한 방법은 무엇입니까?
답변1
당신은 할 수 있습니다업그레이드--oldpackage
다음 옵션을 사용하여 이전 버전으로 rpm
:
rpm -Uvh --oldpackage package-a.1.23.rpm
이것은 에 비해 훨씬 안전합니다 rpm -e --nodeps
. 하나의 명령으로 여러 패키지를 업그레이드할 수 있으므로 종속성이 손상되지 않습니다.
답변2
다음은 효과가 있었지만 프로세스 중에 수많은 중요한 서비스가 중단되었기 때문에 무서웠습니다.
rpm -qa --queryformat "%{NAME}.%{ARCH} %-35{DISTRIBUTION}\n" | grep -i "rpm-fusion" | awk '{print $1}' > /root/list_arch
cat /root/list_arch | xargs rpm -e --nodeps
cat /root/list_arch | xargs yum -y install
list_arch
rpm-fusion의 패키지 이름이 원래 CentOS 패키지 이름과 약간 다르기 때문에 약간 편집해야 했습니다.
yum
나는 큰 보험이었던 rpm-fusion 패키지를 설치한 명령 의 출력을 받았습니다 .