Nadpisywanie root'a (tylko do odczytu) root z uruchomionego systemu

2

To wydaje mi się bardzo ogólnym problemem. Mam system osadzony z systemem Linux z katalogu głównego tylko do odczytu. Istnieje demon aktualizujący, który instaluje nowe obrazy oprogramowania, jeśli są dostępne, zastępując całe partycje. Moje pytanie brzmi: jakie jest najlepsze podejście do tego z działającego systemu?

  1. dd zaktualizowana partycja /dev/sdX, na którym jest obecnie zamontowanym rootem (tylko do odczytu)?
  2. przenieść bieżący root za pivot_rootpomocą tmpfs, jak omówiono tutaj ?
  3. korzystać z 2 partycji głównych i przełączać „aktywną” po każdej aktualizacji?

Wady 2 i 3 są takie, że potrzebuję dużo pamięci RAM (dla 2) lub miejsca na dysku (dla 3). Czy istnieje bezpieczny sposób na zastąpienie partycji root tylko do odczytu z uruchomionego systemu i ponowne uruchomienie w zaktualizowanym systemie?

Florian
źródło

Odpowiedzi:

0

Więc to, co zrobiłem, to poszedłem z podejściem 1. i miałem dużo problemów, gdy system nie był już stabilny z powodu problemu z systemem plików. Wydaje mi się, że zastąpienie zamontowanej partycji nie jest dobrym pomysłem (choć nie jest to żadna wielka niespodzianka). Aby to naprawić, wypróbowałem 2. pomysł (pivot_root), który działa, ale ma pewne wady. Jednym z nich jest: Musisz zatrzymać większość uruchomionych procesów i / lub ponownie uruchomić komputer jak najszybciej po zakończeniu aktualizacji. Ostatecznie wypróbowałem 3. pomysł, a jedynym minusem jest „marnotrawstwo” miejsca na dysku. Wszystko inne działa całkiem dobrze.

Florian
źródło