losetup -P
automazione
losetup -P
è il metodo migliore che inizia in Ubuntu 16.04 come menzionato su https://askubuntu.com/a/496576/52975 , qui ci sono funzioni per automatizzare se ulteriormente. Uso:
$ 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
Fonte:
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"
)
modulo loop max_part config
Questo è un metodo decente prima del 16.04.
loop
è un modulo del kernel, integrato nel kernel di Ubuntu 14.04.
Se lo configuri correttamente, Linux suddivide automaticamente i dispositivi per te.
cat /sys/module/loop/parameters/max_part
indica quante partizioni loop
possono essere generate dai dispositivi.
È 0
di default su Ubuntu 14.04 ed è per questo che non si verifica alcuna divisione automatica.
Per cambiarlo, possiamo aggiungere:
options loop max_part=31
a un file in /etc/modprobe
oppure:
GRUB_CMDLINE_LINUX="loop.max_part=31"
a /etc/default/grub
e poi sudo update-grub
.
Come impostare un parametro del modulo è anche trattato in: Come aggiungere i parametri del modulo del kernel?
Dopo un riavvio, quando lo fai:
sudo losetup -f --show my.img
monta l'immagine su un /dev/loopX
dispositivo e monta automaticamente le partizioni sui /dev/loopXpY
dispositivi.
Quindi questo è il metodo più conveniente se sei disposto a riavviare.
Guarda anche