losetup -P
Automatisierung
losetup -P
ist die beste Methode ab Ubuntu 16.04 (siehe https://askubuntu.com/a/496576/52975) . Hier finden Sie Funktionen, die Sie bei Bedarf automatisieren können. Verwendungszweck:
$ los my.img
/dev/loop0
/mnt/loop0p1
/mnt/loop0p2
$ ls /mnt/loop0p1
/whatever
/files
/youhave
/there
$ sudo losetup -l
NAME SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE DIO
/dev/loop1 0 0 0 0 /full/path/to/my.img
$ # Cleanup.
$ losd 0
$ ls /mnt/loop0p1
$ ls /dev | grep loop0
loop0
Quelle:
los() (
img="$1"
dev="$(sudo losetup --show -f -P "$img")"
echo "$dev"
for part in "$dev"?*; do
if [ "$part" = "${dev}p*" ]; then
part="${dev}"
fi
dst="/mnt/$(basename "$part")"
echo "$dst"
sudo mkdir -p "$dst"
sudo mount "$part" "$dst"
done
)
losd() (
dev="/dev/loop$1"
for part in "$dev"?*; do
if [ "$part" = "${dev}p*" ]; then
part="${dev}"
fi
dst="/mnt/$(basename "$part")"
sudo umount "$dst"
done
sudo losetup -d "$dev"
)
Schleifenmodul max_part config
Dies ist eine anständige Methode vor dem 16.04.
loop
ist ein Kernelmodul, das in Ubuntu 14.04 in den Kernel integriert ist.
Wenn Sie es richtig konfigurieren, teilt Linux die Geräte automatisch für Sie auf.
cat /sys/module/loop/parameters/max_part
gibt an, wie viele Partitionen loop
Geräte generieren können.
Unter 0
Ubuntu 14.04 ist dies standardmäßig der Fall, weshalb keine automatische Aufteilung erfolgt.
Um es zu ändern, können wir entweder hinzufügen:
options loop max_part=31
in eine Datei in /etc/modprobe
oder:
GRUB_CMDLINE_LINUX="loop.max_part=31"
zu /etc/default/grub
und dann sudo update-grub
.
Wie Sie einen Modulparameter einstellen, erfahren Sie auch unter: Wie füge ich Kernelmodulparameter hinzu?
Wenn Sie nach einem Neustart Folgendes tun:
sudo losetup -f --show my.img
Das Image wird an ein /dev/loopX
Gerät angehängt und die Partitionen werden automatisch an /dev/loopXpY
Geräte angehängt.
Dies ist die bequemste Methode, wenn Sie einen Neustart durchführen möchten.
Siehe auch