•  untoreh-light

Parodie

Ein kleines Dienstprogramm für die Live-Änderung von Dateisystemen

Als ich mich zum ersten Mal darüber entschied, welche Linux-Distribution für meine Remote-Server verwendet werden soll, brauchte ich eine Möglichkeit, schnell verschiedene Root-Dateisysteme auf einem Zielhost zu installieren, also schrieb ich [paroodise].

Um ein gebootetes Blockgerät flashen zu können, müssen Sie abmontieren . Sie können nur aushängen, wenn Sie es nicht mehr verwenden. Um die Verwendung zu beenden, müssen Sie Ihre Dienste von einem anderen Root-Dateisystem aus neu starten. Dies ist vergleichbar mit dem, was die initramfs Wenn es ein Linux-basiertes Betriebssystem bootet, führt der Kernel ein Boot-Image aus, das das Dateisystem einrichtet, von dem aus das wahre drin Dienst gestartet wird.

Um dies auf einem . zu erreichen läuft bereits System müssen wir vorsichtig sein, wie wir unsere Prozesse neu starten. Wir können ssh nicht beenden, es sei denn, wir sind sicher, dass unser Skript bis zum Erfolg ausgeführt wird.

Der ganze Prozess ist bei nicht-systemd-basierten Distributionen viel einfacher, da sich systemd tief in den Linux-Kernel einklinkt, kann eine rücksichtslose Manipulation mit seinen Prozessen Kernel-Paniken verursachen ... tatsächlich passiert das bei neueren Distributionen normalerweise :)

Als ich dieses Mini-Dienstprogramm schrieb, schien ich keine stabilen Methoden zu kennen, um Prozesse zu erzeugen, die die ursprünglichen SSH-Sitzungen überlebten. Es sollte mit konsistenteren Methoden umgeschrieben werden.

Der gesamte Prozess besteht aus

Wenn alles erfolgreich abgeschlossen wurde, ist es an dieser Stelle möglich, einen neuen ssh-Dienst zu spawnen und sich in eine Sitzung einzuloggen, in der die ursprünglichen Mount-Punkte für Änderungen verfügbar sind.

Post-Tags: