Wo genau werden Programme und Dateien auf einem nicht persistenten Live-System gespeichert?

8

Vor kurzem musste ich verschiedene Kernel-Boot-Optionen mit einem Live-System testen und ein Programm installieren, um die Systeminformationen bei jedem Boot zu überprüfen (ich hatte kein USB-Laufwerk zur Verfügung und die CD war zu diesem Zeitpunkt die zuverlässigere Wahl).

Nach einigen Installationen begann ich mich zu fragen, wo das Programm tatsächlich "gespeichert" ist, da die CD keinen dauerhaften Bereich hat und es auch möglich ist, USB-Laufwerke ohne einen zu erstellen. Es ist auch möglich, Dateien herunterzuladen oder Screenshots mit einem nicht persistenten Live-System zu erstellen und diese vorübergehend in den Benutzerverzeichnissen zu speichern.

Wo werden diese Dateien tatsächlich gespeichert? Werden sie in den RAM geladen, sodass der maximal verfügbare Speicher für das Live-System tatsächlich die RAM-Kapazität des Computers ist? Sind installierte Programme im CPU-Cache oder an einem anderen Ort vollständig gespeichert? Oder sind diese Informationen möglicherweise auf den leeren Platz des CD-Mediums geschrieben? Es kann offensichtlich kein nicht zugewiesener Festplattenspeicher sein, da Live-Systeme auch vollständig verschlüsselt oder sogar vollständig ohne installierte Festplatten arbeiten.

Prototype700
quelle

Antworten:

10

Es heißt nicht persistent. Sie bleiben also zwischen den Neustarts nicht "bestehen" (bestehen weiter). Was passiert ist, dass ein Teil des RAM als RAM-Disk verwendet wird. Im Wesentlichen wird ein Teil Ihres RAM verwendet, um eine Festplatte zu simulieren. Das ist wirklich alles, was es zu tun gibt. Aus diesem Grund können Sie während einer LiveCD-Sitzung Dateien auf Ihrem / home / ubuntu erstellen. Sie werden nach dem Neustart einfach nicht überleben (= bestehen bleiben).

Ich habe keine LiveCD zur Hand, aber versuchen Sie df -hdas nächste Mal, das Terminal einzugeben, und suchen Sie nach dem /Einhängepunkt. Schau dir das Gerät an. Es wird höchstwahrscheinlich so etwas sein tmpfs. (Dieses Motto sollten Sie die Linie , die Sie interessiert sind: df -h | grep \/$)

Einige lesen über RAM-Festplatten .

Kieferhai
quelle
3
Heutzutage ist es wahrscheinlich aufsein anderes Overlay-Dateisystem - sie sind einfacher einzurichten als eine klassische tmpfsKonfiguration.
Mark
10

Das mit Ubuntu ISO gelieferte Live-System ist eine Ubuntu-Installation in einer komprimierten Datei namens filesystem.squashfs. Diese Datei verfügt über ein Dateisystem von SquashFS 1, das mit dem ISO-Dateisystem von CDs und DVDs vergleichbar ist, das bereitgestellt und verwendet werden kann. 2

Diese Datei befindet sich im /casper/Verzeichnis der CD. Sie können diese Datei sogar auf dieselbe Weise bereitstellen wie ISO-Dateien.

Diese Datei wird beim Booten gemountet und in den Speicher geladen, um als Live-System verwendet zu werden. Die vollständige Datei wird jedoch nicht sofort geladen, sondern nur die erforderlichen Teile / Programme bei Bedarf.

Ein Live-System kann mithilfe einer persistenten Datei Dateien des Mediums erstellen / ändern . Die in Ubuntu verwendete persistente Datei heißt casper-rwund enthält Dateisysteme wie ext3oder ext4die beschreibbar sind. Bei einem bootfähigen USB-Stick befindet sich dieser im Stammverzeichnis des Laufwerks.

Diese casper-rwPersistenzdatei wird als Overlay-Dateisystem in Union gemountet. Dies bedeutet, dass sowohl schreibgeschützt filesystem.squashfsals auch schreibgeschützt / beschreibbar casper-rwgemountet sind /. Alle Dateien, die geändert oder erstellt werden, werden in diesem beschreibbaren Dateisystem von gespeichert casper-rw. So entsteht effektiv die Illusion, dass die Live-CD beschreibbar ist, wo sie eigentlich nicht sind.

Beantworten Sie also Ihre Fragen -

Wo werden diese Dateien tatsächlich gespeichert?

Antwort oben gegeben.

Werden sie in den RAM geladen, sodass der maximal verfügbare Speicher für das Live-System tatsächlich die RAM-Kapazität des Computers ist?

Ich nehme an, memorySie beziehen sich auf den Raum. Ihre Frage lautet: "Der maximal verfügbare Speicherplatz für das Live-System ist also genau die RAM-Kapazität des Computers."

Nein. Der maximal verfügbare Speicher für ein Live-System entspricht der Größe der persistenten Datei (falls vorhanden) + Swap Space (falls bereits vorhanden) + RAM (muss bis zum Neustart als Speicher verwendet werden.)

Sind installierte Programme im CPU-Cache oder an einem anderen Ort vollständig gespeichert?

Wenn Sie ein Programm in einem Live-System ohne persistente Datei installieren , befinden sich diese in Ihrem Speicher. Wenn Sie neu starten, geht alles verloren. Wenn Sie jedoch eine casper-rwpersistente Datei verwenden, werden diese in dieser Datei gespeichert und sind nach dem nächsten Neustart verfügbar ( vorausgesetzt, Sie haben diese Datei nicht gelöscht ).

Oder sind diese Informationen möglicherweise auf den leeren Platz des CD-Mediums geschrieben?

Nein, es wird nicht auf das CD-Medium geschrieben. Wie in der vorherigen Antwort erklärt.

Hoffe du bekommst deine Antworten.


Anmerkungen:

  1. SquashFS - Es handelt sich um ein schreibgeschütztes Dateisystem, mit dem Sie ganze Dateisysteme oder einzelne Verzeichnisse komprimieren, auf andere Geräte / Partitionen oder normale Dateien schreiben und diese dann direkt (wenn ein Gerät) oder mithilfe eines Loopback-Geräts (falls vorhanden) bereitstellen können es ist eine Datei). Quelle

  2. Sie können es mit Befehlen wie mounten sudo mount ./filesystem.squashfs /mnt -o loop

  3. Durch das Mounten von Vereinigungen können mehrere Verzeichnisse zu einem Verzeichnis kombiniert werden, das den kombinierten Inhalt zu enthalten scheint. Quelle

Anwar
quelle
Casper ist ein freundlicher kleiner Geist eines Dateisystems.
Katze
1
Vielen Dank für Ihre ausführliche Erklärung. Ich habe nicht gesehen, dass Sie Antworten auf die einzelnen Fragen in Ihrer Antwort hinzugefügt haben. Das erklärt es ziemlich gut. Allerdings habe ich den Abschnitt über casper -rw nicht vollständig verstanden, insbesondere die Bedeutung von "So entsteht effektiv die Illusion, dass die Live-CD beschreibbar ist, wo sie eigentlich nicht sind.", Aber ich denke, ich muss nur nachlesen Das. Sie haben die Frage jedoch beantwortet, da eine persistente Datei auf dem CD-Medium nicht verfügbar ist und eine Auslagerungsdatei logischerweise nur im RAM vorhanden sein kann. Dort wurden die Informationen in meinem Fall gespeichert.
Prototype700
1
Ich erkläre den Illusionsteil. Die schreibgeschützten Dateien werden bereitgestellt /. Man sieht sie wie /usr/, /var/, /homeusw. in Live - CD können Sie nicht erstellen, zu ändern Dateien , die weiter besteht. Ja, Sie können erstellen, ändern, aber das wird verschwinden, da sie sich wirklich im RAM befinden. Dies ist das gleiche in Live USB ohne Persistenzdatei oder casper-rwDatei
Anwar
1
In Live USB mit Persistenzdatei ist dies jedoch ebenfalls aktiviert /. Wenn Sie also eine Datei in Ihrem /homeVerzeichnis erstellen , wird diese Datei tatsächlich in der casper-rwDatei gespeichert , aber Sie denken, das ist der Inhalt der CD. Wenn Sie öffnen casper-rw, erhalten Sie alle geänderten / aktualisierten Dateien dort am jeweiligen Speicherort. Da dies über das schreibgeschützte Original montiert wird, entsteht die Illusion
Anwar
2
Eine andere Sache ist, dass Ihre Aussage "Eine Auslagerungsdatei kann logischerweise nur im RAM existieren" nicht korrekt ist. Swap ist eine Partition oder eine Datei, die auf der Festplatte gespeichert ist und zum Booten bereitgestellt wird. Das Schöne ist, wenn Ihre Festplatte bereits eine Swap-Partition hat, erkennt Ihr Live-Ubuntu diese und verwendet sie. Aber ja, es ist flüchtig und wird gereinigt, wenn Sie @ Prototype700
Anwar