OK, ich habe ein funktionierendes Nur-Lese-System auf einer SD-Karte, mit dem der Lese- / Schreibschalter auf den Nur-Lese-Modus eingestellt werden kann. Ich werde meine eigene Frage beantworten, da ich das Gefühl habe, dass ich hier wieder nach den Schritten suchen werde, und hoffentlich hilft dies jemand anderem.
Beim Einstellen verschiedener Verzeichnisse /etc/fstab
als schreibgeschützt auf einem Red Hat Enterprise Linux 6.6-System habe ich die Datei gefunden /etc/sysconfig/readonly-root
. Dies weckte mein Interesse daran, wofür diese Datei verwendet wurde, sowie an zusätzlichen Informationen dazu. Kurz gesagt, diese Datei enthält eine Zeile mit der Angabe " READONLY=no
". Durch Ändern dieser Zeile wird der größte Teil des Root-Dateisystems automatisch als schreibgeschützt geladen, während die erforderlichen Schreibvorgänge in verschiedenen Verzeichnissen beibehalten werden (Verzeichnisse und Dateien werden als tmpfs geladen). Die einzigen Änderungen, die ich vornehmen musste, waren /home
:/root
und einige andere Verzeichnisse, die über das /etc/rwtab.d
Verzeichnis geschrieben werden können, und ändern Sie / etc / fstab, um das Root-Dateisystem als schreibgeschützt zu laden (geändert in " defaults
" in " ro
" für root). Nachdem ich " READONLY=yes
" in der /etc/sysconfig/readonly-root
Datei festgelegt und meine erforderlichen beschreibbaren Verzeichnisse /etc/rwtab.d
sowie die fstab
Änderung festgelegt hatte, konnte ich das System dazu bringen, schreibgeschützt zu laden, aber beschreibbare Verzeichnisse in den RAM laden.
Für weitere Informationen sind dies die Ressourcen, die ich verwendet habe:
Außerdem habe ich eine schnelle Überprüfung unter Red Hat Enterprise Linux 7.0 durchgeführt, und diese Datei ist immer noch vorhanden und funktioniert. Meine Testumgebung war CentOS 6.6 und 7.0 in einer virtuellen Maschine sowie RHEL 6.6 und 7.0 in einem VME-Einplatinencomputer.
ANMERKUNG: Sobald der Root schreibgeschützt ist, können keine Änderungen am Root-System vorgenommen werden. Beispielsweise können Sie yum nicht zum Installieren von Paketen verwenden und diese beim Neustart beibehalten. Um die schreibgeschützte Wurzel zu brechen, habe ich eine Grub-Zeile hinzugefügt, die rhgb und quiet entfernt (dies ist nur zum Debuggen von Startproblemen, Sie können sie belassen, wenn Sie möchten), und " init=/bin/bash
" hinzugefügt . Dadurch konnte ich ein Terminal betreten. Als ich am Terminal ankam, tippte ich " mount - / -oremount,rw
" ein, um das System beschreibbar zu machen. Einmal beschreibbar, habe ich (mit vim
) geändert, um /etc/sysconfig/readonly-root
zu sagen "READONLY=no
"und das System neu gestartet. Dadurch kann ich Wartungsarbeiten am System durchführen, indem ich schreibgeschützt ausschalte. Wenn Sie eine SD-Karte wie ich verwenden, muss der Lese- / Schreibschalter auf der SD-Karte auf beschreibbar eingestellt sein.
Kinetischer Lichtbogen
quelle
Um der Antwort von Kinetic Arc zu folgen, können Sie das System bei nachfolgenden Neustarts einfacher ändern, indem Sie der Kernel-Befehlszeile "noreadonly" hinzufügen. Wenn Sie dies nicht sehr oft erwarten, ist es wahrscheinlich ausreichend, nur Maden zu fangen und manuell hinzuzufügen. Bei der Entwicklung unserer schreibgeschützten Systeme haben wir einen Eintrag in grub.conf hinzugefügt und das Timeout geringfügig erhöht. Sobald die Entwicklung des System-Images abgeschlossen ist, nehmen wir den Eintrag heraus, bevor wir das Image verteilen.
quelle