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 --oldpackage
la 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_arch
Tuvo 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 yum
comando que instaló los paquetes rpm-fusion, lo cual fue un gran seguro.