¿Eliminar paquetes instalados de un repositorio y reinstalarlos desde CentOS?

¿Eliminar paquetes instalados de un repositorio y reinstalarlos desde CentOS?

Tengo 62 paquetes de RPMfusion que han anulado los paquetes anteriores de CentOS y ahora me gustaría volver a los paquetes originales de CentOS.

La única idea que se me ocurre es

BAD_PACKAGES="name1 name2 ..."
echo $BAD_PACKAGES |xargs rpm -e --nodeps
echo $BAD_PACKAGES |xargs yum install

Pero eso dejaría al sistema en un estado averiado durante el proceso.

Pregunta

¿Cuál es la forma más segura de eliminar esos paquetes y luego reinstalarlos desde el repositorio de CentOS?

Respuesta1

Puedemejoraa una versión anterior usando --oldpackagela opción de rpm:

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

Esto es mucho más seguro que rpm -e --nodeps. Puede actualizar varios paquetes con un solo comando para que no haya dependencias rotas.

Respuesta2

Lo siguiente funcionó, pero dio miedo porque rompió toneladas de servicios críticos durante el proceso.

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_archTuvo que editarse un poco ya que los nombres de los paquetes de rpm-fusion eran un poco diferentes de los nombres de los paquetes originales de CentOS.

Obtuve el resultado del yumcomando que instaló los paquetes rpm-fusion, lo cual fue un gran seguro.

información relacionada