Tenho 62 pacotes do RPMfusion que substituíram os pacotes upstream do CentOS e agora gostaria de retornar aos pacotes originais do CentOS.
A única ideia que consigo pensar é
BAD_PACKAGES="name1 name2 ..."
echo $BAD_PACKAGES |xargs rpm -e --nodeps
echo $BAD_PACKAGES |xargs yum install
Mas isso deixaria o sistema quebrado durante o processo.
Pergunta
Qual é a maneira mais segura de remover esses pacotes e reinstalá-los do repositório do CentOS?
Responder1
Você podeatualizarpara uma versão mais antiga usando --oldpackage
a opção de rpm
:
rpm -Uvh --oldpackage package-a.1.23.rpm
Isso é muito mais seguro do que rpm -e --nodeps
. Você pode atualizar vários pacotes em um comando para que não haja dependências quebradas.
Responder2
O seguinte funcionou, mas foi assustador, pois quebrou vários serviços críticos durante o processo.
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
teve que ser editado um pouco porque os nomes dos pacotes do rpm-fusion eram um pouco diferentes dos nomes dos pacotes originais do CentOS.
Recebi a saída do yum
comando que instalou os pacotes rpm-fusion, o que foi um grande seguro.