Remover pacotes instalados de um repositório e reinstalar do CentOS?

Remover pacotes instalados de um repositório e reinstalar do CentOS?

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 --oldpackagea 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_archteve 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 yumcomando que instalou os pacotes rpm-fusion, o que foi um grande seguro.

informação relacionada