Я пытаюсь найти решение, чтобы легко обновить встроенное устройство Linux.
Я искал вокруг, и одно из решений, которое я нашел, - это иметь 2 раздела rootfs. Допустим, A и B. Один из них активен, то есть загружается загрузчиком во время запуска. Допустим, A. Затем, когда обновление завершено, новый rootfs записывается в B, затем загрузчик переконфигурируется для использования B и, наконец, система перезагружается.
Эта стратегия, кажется, широко распространена и используется различными программами обновления, такими как SWUpdate.
Мой вопрос здесь: А как насчет /etc
?
Делая то, что описано выше, /etc
будет полностью заменяться при каждом обновлении системы. Это может вызвать некоторые проблемы, такие как стирание ключа хоста SSH (находится в /etc/ssh
).
Это также может стереть пользовательские настройки, такие как IP-конфигурации.
Есть ли рекомендуемая практика для таких случаев?
Я мог бы подумать о том, чтобы поместить выбранные файлы в третий раздел и иметь символические ссылки в /etc, указывающие на них.
Или есть скрипт обновления, который будет копировать выбранные файлы из старого /etc
в новый /etc