Я консультируюсь с компанией по кибербезопасности.
Продукт компании представляет собой аппаратное устройство, установленное с Ubuntu 14.04, которое находится на удаленных клиентских сайтах.
В этих устройствах есть API-интерфейс управления, который позволяет подключаться к ним и запускать сценарии.
Существует мотивация обновить все аппаратные устройства (на удаленных сайтах клиентов) до Ubuntu 18.04, и этот процесс должен быть полностью без присмотра.
Насколько я знаю, при обновлении основной версии файлы grub редактируются, и обычно пользователю требуется выбрать, какую версию файла конфигурации grub следует использовать.
Пакет grub является лишь примером, и я уверен, что есть еще много таких пакетов, которые требуют вмешательства человека.
Есть ли какой-либо известный метод для решения такой задачи?
Обновление с 14.04 до 18.04 без присмотра в такой среде похоже на попытку ударить муху с помощью требушета. Конечно, это возможно, но вы можете поспорить, насколько велик шанс добиться успеха. Я имею в виду, конечно, что вы можете заставить каждое изменение идти со значениями по умолчанию и, если повезет, возможно, ваша система будет обновлена должным образом, но не ожидайте, что вам не потребуется исправлять некоторые вещи «вручную».
В любом случае, если вы хотите сделать это, сначала вы должны иметь клон вашей среды в отдельной сети. Для «голого металла» (выделенные или внутренние серверы) может пригодиться dd
или rsync
. Также прочитайте о clonezilla
системе live CD, в которой есть все, что вам нужно для клонирования. Для виртуальных машин или контейнеров легко сделать клон или снимок. Это также возможно на LVM
разделах.
Если у вас есть клон или зеркальная среда, вы можете протестировать процесс обновления и автоматизировать его для производства. Имейте в виду, что вы не должны пропускать LTS в пути. Сначала обновление с 14.04 до 16.04, затем с 16.04 до 18.04.