Удалить установленные пакеты из одного репозитория и переустановить из CentOS?

Удалить установленные пакеты из одного репозитория и переустановить из CentOS?

У меня есть 62 пакета из RPMfusion, которые переопределили пакеты CentOS upstream, и теперь я хотел бы вернуться к исходным пакетам CentOS.

Единственная идея, которая приходит мне в голову, это

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

Однако в этом случае система окажется в неисправном состоянии во время процесса.

Вопрос

Какой самый безопасный способ удалить эти пакеты и затем переустановить их из репозитория CentOS?

решение1

Ты можешьобновлениек более старой версии, используя --oldpackageопцию rpm:

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

Это гораздо безопаснее, чем rpm -e --nodeps. Вы можете обновить несколько пакетов одной командой, так что не будет нарушенных зависимостей.

решение2

Это сработало, но было страшно, так как в ходе процесса было нарушено множество критически важных служб.

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пришлось немного отредактировать, так как названия пакетов из rpm-fusion немного отличались от оригинальных названий пакетов CentOS.

У меня был вывод команды yum, которая установила пакеты rpm-fusion, что было большой гарантией.

Связанный контент