У меня есть сервер Puppet версии 2.6.4, который был установлен вручную с использованием пакетов RPM напрямую (вместо использования Yum для получения пакетов из репозитория).
Теперь я хочу максимально безопасно обновить его до последней версии (3.6), установив его с помощью репозитория Puppet Labs и Yum.
Если что-то пойдет не так, как я могу отменить изменение? Что мне делать, чтобы сделать резервную копию текущей настройки перед обновлением?
CentOS 5 предлагает отличный способ откатить вашу систему. При обновлении он может перекомпилировать пакеты с конфигурациями, которые присутствуют на тот момент.
Настройте RPM для переупаковки пакетов, которые будут изменены путем добавления следующей строки в /etc/rpm/macros
:
%_repackage_all_erasures 1
Создайте файл, если его нет.
Затем настройте yum для обработки этого сценария транзакции, добавив следующую строку в /etc/yum.conf
:
tsflags=repackage
Когда вы решите, что вам нужно выполнить откат, вы можете сделать это, используя rpm --rollback
. Примеры:
rpm -Uhv --rollback '19:00'
rpm -Uhv --rollback '8 hours ago'
rpm -Uhv --rollback 'december 31'
rpm -Uhv --rollback 'yesterday'
Информация изначально взята отсюда.
Конечно, вам не повредит, если вы сделаете резервную копию своих конфигураций, на всякий случай;)