Loop device

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Ein loop device ist allgemein ein Gerät, das auf sich selbst zurück zeigt.

Unter Linux ist ein loop device ein Blockgerät, das keinem physischen Gerät entspricht, sondern als zugrundeliegenden Speicher eine Datei nutzt. Da der Kernel nur Dateisysteme einhängen (mounten) kann, die sich auf Blockgeräten befinden, werden Loop-Geräte in der Regel genutzt, um als Dateien vorliegende Dateisystem-Abbilder einzubinden.

Beispiele[Bearbeiten]

Das Einhängen eines Festplattenabbilds in den Dateibaum erfordert im Prinzip zwei Schritte:

  1. Die Datei, die das Festplattenabbild enthält, wird mit einem Geräteknoten (device node) im Spezialverzeichnis /dev verknüpft (Kommando losetup).
  2. Dieses spezielle Gerät (loop device) wird unterhalb eines Verzeichnisses in den Dateibaum eingehängt (Kommando mount).

Diese beiden Schritte können entweder getrennt erfolgen oder durch Angabe entsprechender Optionen mit einem einzigen Aufruf des Dienstprogrammes mount gemeinsam durchgeführt werden. Der erste Schritt kann mit dem Kommando losetup[1] unter Linux oder lofiadm[2] unter SunOS ausgeführt werden. Wenn beispiel.img eine normale Datei ist, die ein Abbild mit einem Dateisystem enthält, und /mnt/verzeichnis ein Verzeichnis auf einem Linux-Computer ist, kann der Systemverwalter (Super user) folgende Kommandos ausführen:

losetup /dev/loop0 beispiel.img
mount /dev/loop0 /mnt/verzeichnis

Das erste Kommando verknüpft den Loop-Geräteknoten /dev/loop0 mit der normalen Datei beispiel.img. Das zweite Kommando hängt dieses Pseudogerät an der Stelle /mnt/verzeichnis in den Dateibaum ein, so als wäre /dev/loop0 eine ganz normale Festplatte oder ein Festplattenabschnitt (Partition).

Das Dienstprogrammm mount ist in der Lage, die gesamte Prozedur in einem einzigen Schritt ausführen:

mount -o loop beispiel.img /mnt/verzeichnis

Ausgehängt werden kann das Gerät in beiden Fällen über den Befehl

umount /mnt/verzeichnis

Anwendungen[Bearbeiten]

Nützlich ist dieses Verfahren überall dort, wo echte Festplatten, CD- oder DVD-Laufwerke simuliert werden sollen, weil die Benutzung echter physisch vorhandener Geräte zu teuer, zu umständlich, zu langsam oder aus anderen Gründen nicht sinnvoll ist.

Ein Beispiel:

Das Zusatzdienstprogramm partimage erzeugt komprimierte Abbilder von Festplatten-Partitionen zur Datensicherung kompletter Betriebssystem-Installationen. Wenn später einzelne Dateien aus so einem Abbild heraus gelöst werden sollen, ohne dass ein kompletter Computer zum Wiederherstellen des Abbildes zur Verfügung steht, kann ein solches Abbild in einen mit dem Loop device geschaffenen Pseudo-Festplatten-Bereich gespeichert werden.

Erweiterungen[Bearbeiten]

Über Loop-Geräte ist es möglich, Datenträger zu verschlüsseln (cryptoloop). Die ursprünglich eingesetzten Algorithmen waren XOR (sehr unsicher) und DES (sehr langsam und ebenfalls unsicher). Die Erzeugung der Unterschlüssel für die einzelnen Festplattenblöcke ist anfällig für Wasserzeichenangriffe. Cryptoloop wird allerdings nicht mehr weiterentwickelt. Es gibt mit dm-crypt eine sichere Alternative, die hingegen kein Blockgerät in einer Datei anlegen kann (wohl aber auf ein oder mehrere loop devices zugreifen kann).

Für Betriebssystem Live-CDs und Ähnliches (z. B. Knoppix) existiert eine Erweiterung namens cloop, die ein speziell komprimiertes Abbild des Blockdevices enthält.

Andere Betriebssysteme[Bearbeiten]

Für Windows existiert das Open-Source-Tool WinCDEmu oder die proprietäre Freeware Daemon Tools. Diese emulieren ausschließlich CD- bzw. DVD-Laufwerke. Es werden keine beliebigen Massenspeicher, wie Festplatten oder USB-Sticks, emuliert. Die Daten können allerdings in verschiedenen Image-Formaten vorliegen, etwa wie sie von verschiedenen Windows-Brennprogrammen erzeugt werden.

Ab Windows 7 können Festplattenabbilder im Virtual-Hard-Disk-Format (VHD-Format) mittels der Datenträgerverwaltung eingebunden werden, ohne dass zusätzliche Hilfsprogramme benötigt würden. Mittels des Hilfsprogramms VHD tool[3] können Rohdatenabbilder in das VHD-Format konvertiert werden.

Weblinks[Bearbeiten]

Referenzen[Bearbeiten]

  1. losetup manual page
  2. lofiadm, Sun System Administration Command manual
  3. http://code.msdn.microsoft.com/vhdtool