Я пытаюсь найти решение, чтобы легко обновить встроенное устройство Linux.

Я искал вокруг, и одно из решений, которое я нашел, - это иметь 2 раздела rootfs. Допустим, A и B. Один из них активен, то есть загружается загрузчиком во время запуска. Допустим, A. Затем, когда обновление завершено, новый rootfs записывается в B, затем загрузчик переконфигурируется для использования B и, наконец, система перезагружается.

Эта стратегия, кажется, широко распространена и используется различными программами обновления, такими как SWUpdate.

Мой вопрос здесь: А как насчет /etc ? Делая то, что описано выше, /etc будет полностью заменяться при каждом обновлении системы. Это может вызвать некоторые проблемы, такие как стирание ключа хоста SSH (находится в /etc/ssh). Это также может стереть пользовательские настройки, такие как IP-конфигурации.

Есть ли рекомендуемая практика для таких случаев? Я мог бы подумать о том, чтобы поместить выбранные файлы в третий раздел и иметь символические ссылки в /etc, указывающие на них. Или есть скрипт обновления, который будет копировать выбранные файлы из старого /etc в новый /etc

0