Кажется, это очень общая проблема для меня. У меня есть встроенная система под управлением Linux из корня только для чтения. Существует демон обновления, который устанавливает новые образы программного обеспечения, когда они доступны, перезаписывая целые разделы. Мой вопрос: каков наилучший подход для этого из работающей системы?
- dd обновленный раздел в
/dev/sdX
, который является текущим (только для чтения) монтируемым корнем? - переместить текущий корень с помощью
pivot_root
в tmpfs, как обсуждалось здесь? - использовать 2 корневых раздела и переключать "активный" один после каждого обновления?
Недостатки 2 и 3 в том, что мне нужно много оперативной памяти (для 2) или дискового пространства (для 3). Существует ли безопасный способ перезаписи корневого раздела, доступного только для чтения, из работающей системы и перезагрузки в обновленную систему?