Ich betreibe gerne ein unbeaufsichtigtes System für den täglichen Gebrauch am Kiosk.
Das System kann jedoch jederzeit ausgeschaltet werden, ohne dass zuvor ein ordnungsgemäßes Herunterfahren durchgeführt wurde. Es wird nicht erwartet, dass Ubuntu durch einen Stromausfall heruntergefahren wird. Nach einem Neustart nach einem Stromausfall wird möglicherweise fsck ausgeführt, um das Dateisystem zu überprüfen, und fsck weist das System an, nach Abschluss des Neustarts neu zu starten. Selbst wenn keine Konfigurationsdaten beschädigt werden, kann es vorkommen, dass der Computer nach einem Stromausfall nicht mehr startet. Also habe ich einige Workarounds getestet:
Ändern Sie die fsck-Priorität für das Root-Mount in
0
(letztes Feld imfstab
Root-Eintrag), um die Ausführungfsck
nach jedem Stromausfall zu verhindern . Das System bootet dann jedoch möglicherweise schreibgeschützt mit root, was von vielen Diensten nicht erwartet wird und zu einer Eingabeaufforderung für die Konsolenanmeldung anstelle der grafischen Anmeldung führt.Ersetzen
errrors=remount-ro
durcherrors=continue
. Dies gibt ein schlechtes Gefühl, dass ein inkosistentes Dateisystem weiteren Datenverlust verursachen kann. Beifsck
erneuter Aktivierung sollte jedoch die Boot-Wahrscheinlichkeit des Systems nach einem Stromausfall erhöht werden. Also ließ ich 1) fallen.Konfigurieren Sie grub2 so, dass nach einem fehlgeschlagenen Start ein normales Zeitlimit für Standardoptionen verwendet wird. Dafür habe ich hinzugefügt
GRUB_RECORDFAIL_TIMEOUT=0
zu/etc/default/grub
.
Es ist jedoch schwer zu erkennen, ob diese Hacks den Systemverlust beweisen. Irgendwelche Ideen? Kann man noch mehr tun?
Antworten:
Für Kioskanwendungen wird das Problem mithilfe einer schreibgeschützten Root-Partition gelöst. Darüber hinaus werden alle Änderungen, die Benutzer vornehmen oder speichern, beim nächsten Neustart rückgängig gemacht.
Um ein beschreibbares Stammverzeichnis für die meisten Anwendungsanforderungen bereitzustellen, können Overlays verwendet werden, um die schreibgeschützte Partition mit schreibgeschützten RAM-Empfängern zu überlagern.
Unter https://help.ubuntu.com/community/aufsRootFileSystemOnUsbFlash finden Sie ein Skript, mit dessen Hilfe Sie ein solches Setup erstellen können . Das Skript enthält die Anweisungen zum Einrichten:
sudo chmod 0755 root-ro
sudo update-initramfs -u
Ich schlage vor , hinzuzufügen ,
GRUB_RECORDFAIL_TIMEOUT=0
zu/etc/default/grub
und führtesudo update-grub
auch sonst das Boot - Menü ohne Timeout angezeigt.Starten Sie danach neu. Die Maschine startet dann im Readonly-Modus, der von überprüft werden kann
mount
. Jede vorgenommene Änderung verschwindet beim nächsten Neustart. Um Änderungen vorzunehmen, Software und Updates zu installieren usw. müssen Sie nur das GRUB-Menü aufrufen, drückene
, um die Startbefehlszeilen zu ändern, unddisable-root-ro=true
an die Zeile anhängen , die mit dem Kernel beginnt. Drücken Sie F10, um den Startvorgang fortzusetzen. Anschließend können Siemount
bestätigen, dass root wie gewohnt beschreibbar ist. Nehmen Sie Ihre Änderungen vor und führen Sie einen Neustart durch. Das System ist wieder schreibgeschützt.quelle
Einige Male nach einem unsauberen Neustart (z. B. Stromausfall oder Reset-Knopf gedrückt oder sogar eine Kernel-Panik), wird das System nicht hochfahren und Sie auffordern, "y" zu drücken, damit ein fsck die Partition repariert.
Wenn Sie dies vermeiden möchten, bearbeiten Sie / etc / default / rcS und ändern Sie Folgendes:
Zu:
Dadurch wird sichergestellt, dass diese Reparatur automatisch ausgeführt wird, ohne dass Sie dazu aufgefordert werden.
Der Nachteil kann sein, dass Sie Daten verlieren können und die Festplatte zuerst herausnehmen und klonen möchten, wenn sich etwas Kritisches auf der Festplatte befindet, das nicht gesichert ist.
Wenn beispielsweise Ihr Festplattencontroller einen Fehler aufweist und fsck die Partition fälschlicherweise als defekt identifiziert und versucht, sie zu reparieren, kann dies zu Datenverlusten führen, die ansonsten vermieden werden können. Ich habe das noch nie selbst erlebt und habe in den letzten 7 Jahren mit fast tausend Servern zu tun gehabt - aber das ist immer noch etwas, an das ich denken muss.
quelle
Ab heute kann man für eine Kiosk-Read-Only-Lösung das Paket auch
overlayroot
per installierenDadurch erhalten Sie auf einfache Weise eine vollständige Lösung wie in der genehmigten Antwort. Es ermöglicht auch den nützlichen Befehl
Die Anmeldung erfolgt in einer Shell, auf der die vorherige schreibgeschützte Basisfestplatte installiert ist
/
. Es ist dann möglich, Änderungen an dem geschützten System vorzunehmen und beispielsweiseapt-get
Pakete auf der früheren schreibgeschützten Festplatte zu installieren. Nach dem Beenden der Shell wird jedoch ein Neustart dringend empfohlen, da vorübergehend überschriebene Dateien im RAM möglicherweise neu installierte verdecken.quelle