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

1

Eu 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 em 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 em um estado quebrado durante o processo.

Pergunta

Qual é a maneira mais segura de remover esses pacotes e reinstalá-los do repositório do CentOS?

    
por Sandra 26.08.2012 / 18:09

2 respostas

3

Você pode atualizar para uma versão mais antiga usando a opção --oldpackage de rpm :

rpm -Uvh --oldpackage package-a.1.23.rpm

Isso é muito mais seguro que rpm -e --nodeps . Você pode atualizar vários pacotes em um comando para que não haja dependências quebradas.

    
por 27.08.2012 / 10:08
1

O seguinte funcionou, mas foi assustador, pois quebrou toneladas de 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, já que os nomes dos pacotes do rpm-fusion eram um pouco diferentes dos nomes dos pacotes originais do CentOS.

Eu tive a saída do comando yum que instalou os pacotes rpm-fusion que era um grande seguro.

    
por 26.08.2012 / 19:37