Mit einem Loop-Device kann man unter Linux nette Dinge machen: Man kann Dateien wie ein Gerät, z.B. eine Festplatte oder eine Partition (also ein Block Device) behandeln.
Normalerweise besteht eine Festplatte aus mehreren Partitionen. Diese werden uns dank udev im /dev Verzeichnis angezeigt und lassen sich mit Ihrem Namen /dev/sda1, /dev/sda2, … ansprechen.
Was aber, wenn nur ein Dump einer Partition in Form einer Datei vorliegt? Zum Beispiel wenn jemand eine komplette Kopie mit “dd if=/dev/sda3 of=/file” erstellt hat. Hier hilft losetup.
Um eine Datei als sog. Loop-Device zu benutzen, muss es – sofern nicht schon vorhanden – erstmal erstellt werden:
dd if=/dev/zero of=/home/test bs=1M count=1k
Damit erstellen wir eine Datei mit eine Größe von 1 GB (1000 Blöcke [1k] zu je 1MB). Diese wird nun eingebunden.
losetup -f /home/test
Mit ‘losetup -a’ läßt sich jetzt herausfinden, welchen Gerätenamen unser Gerät nun erhalten hat, üblicherweise wird dies beim ersten Versuch /dev/loop0 sein. Man hätte übrigens mit ‘losetup -f’ auch vorher schon nachsehen können, welches der nächste freie Gerätename ist – für Scripte ist dieser Weg wohl einfacher.
So, nun können wir /dev/loop0 benutzen wie eine normale Partition, z.B. so:
mkfs.ext3 /dev/loop0 mount /dev/loop0 /mnt df -h /mnt
Nach dem entmounten läßt sich das Loop Device auch wieder entfernen:
umount /dev/loop0 losetup -d /dev/loop0
Damit ist unsere Datei auch wieder nur eine Datei.
Mit dem Parameter -e läßt sich übrigens auch ein verschlüsseltes Loop-Device erzeugen (z.B. losetup -e des -f file, siehe Manpage, doch nutze ich hier lieber LUKS, das in Kürze in einem Artikel erklärt wird.
You can follow any responses to this entry through the RSS 2.0 You can leave a response, or trackback.

Vielen Dank!
Diese Seite war sehr hilfreicht!