Rescue/Deploy/system-restore/Overlay
Изменение файловой системы после развёртывания
Если бэкап снимался с виртуалки, а развёртывание выполняется на реальном «железе», где нужно «докинуть» конфиг, например, для видеокарты. Или если в «эталонной» системе чего-то забыли сделать, а переделывать по-новой нет времени. Или если есть пакеты, которые можно ставить только на реальном (конечном) «железе» и нет смысла этого делать в «эталонной» системе. Во всех перечисленных и подобных случаях, чтобы не прибегать к скриптованию, можно сложить рядом с тарболами в каталоге бэкапа такой же тарбол (архив) с «оверлеем» под именем update.tgz, который будет распаковываться уже поверх развёрнутой системы. Рядом с этим архивом можно сложить файл с соответствующими контрольной суммой и суффиксом, например:
$ cd ~/workdir/sys-part/rootfs $ rm -f ../update.tgz $ fakeroot tar -cpzf ../update.tgz . $ cd .. $ rm -rf rootfs $ md5sum update.tgz >update.MD5 $ sha1sum update.tgz >update.SHA $ sha256sum update.tgz >update.256
Обычно достаточно какой-то одной контрольной суммы. Такой архив будет работать, даже если развёртывание выполняется с удалённого сервера. Контрольную сумму для порядка желательно иметь, но это необязательно. Как вариант, можно сделать в каталоге бэкапа подкаталог с именем rootfs, внутри него может быть произвольная структура «оверлея», которая после развёртывания копируется «как есть» уже поверх развёрнутой системы.
Размещать RPM-пакеты в таком архиве (или внутри rootfs) следует по пути /var/cache/apt/archives: в этом случае они будут распакованы в локальный кэш APT’а. Нужно иметь ввиду, что параметр install_packages по умолчанию настроен как раз на установку любых RPM-пакетов из локального кэша. А что, если нужно «докинуть» файлы в чрут перед его запуском? Например, другие исполняемые скрипты? Поскольку чрут готовится в подкаталоге /tmp/DEPLOY целевой системы, вы всегда можете сделать в своём архиве (или внутри rootfs) аналогичную структуру, разместив в этом каталоге любые файлы, например, файл для активации лицензии Антивируса Касперского.