У меня есть большое количество серверов с отслеживанием состояния, которые используют Yum для управления пакетами. Меня интересует общий автоматический процесс отката их до исторического состояния.
Обычно включение правильного репо и использование distro-sync
будет достаточно, но пакеты, отмеченные Obsoletes:
может сломать это; Yum откажется от автоматического перехода на устаревшие пакеты, и пользователь должен вручную сказать, что он хочет удалить устаревший пакет и установить оригинал.
Есть ли общий способ избежать этой проблемы, кроме простого запрета Obsoletes:
? Я мог бы попытаться вести список пакетов, которые должны быть установлены для каждой исторической версии, но это кажется тяжелым, а также имеет сложность с автоматическим удалением ненужных зависимостей (мне пришлось бы реализовать логику для удаления всего, что я не закрепляю).
yum history rollback
Если под «включением правильного репо» вы подразумеваете изменение версий с этим, это будет сложно. Переход с EL 8 на EL 7 или что-то еще будет гигантской жесткой транзакцией, которая почти наверняка не тестировалась раньше. Возможно, не удастся отменить побочные эффекты некоторых скриптов. Конкретные старые версии могут больше не отображаться на зеркалах.
Также сделайте резервные копии образа ОС. Если вам действительно нужно вернуться к моменту времени пакета, так как «полная» резервная копия будет наиболее надежной.