losetup -P
automatisation
Méthode mentionnée par https://superuser.com/a/684707/128124 (ajoutée dans util-linux v2.21, ajoutée dans Ubuntu 16.04), voici des fonctions pour automatiser davantage. Utilisation:
$ 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
$ # Nettoyage.
$ losd 0
$ ls /mnt/loop0p1
$ ls /dev | grep loop0
loop0
Source:
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"
)
configuration du module de boucle max_part
Méthode décente avant util-linux v2.21.
loop
est un module noyau, intégré dans le noyau dans Ubuntu 14.04.
Si vous le configurez correctement, Linux divise automatiquement les périphériques pour vous.
cat /sys/module/loop/parameters/max_part
indique combien de partitions les périphériques loop
peuvent générer.
C'est 0
par défaut sur Ubuntu 14.04, c'est pourquoi aucun fractionnement automatique ne se produit.
Pour le changer, vous pouvez soit ajouter:
options loop max_part=31
dans un fichier dans /etc/modprobe
, ou:
GRUB_CMDLINE_LINUX="loop.max_part=31"
dans /etc/default/grub
et ensuite sudo update-grub
.
Comment définir un paramètre de module est également expliqué à: https://askubuntu.com/questions/51226/how-to-add-kernel-module-parameters
Après un redémarrage, lorsque vous faites:
sudo losetup -f --show my.img
il monte l'image sur un périphérique /dev/loopX
, et monte automatiquement les partitions sur des périphériques /dev/loopXpY
.
C'est donc la méthode la plus pratique si vous êtes prêt à redémarrer.
Voir aussi
0 votes
unix.stackexchange.com/questions/9099/… || superuser.com/questions/117136/… || askubuntu.com/questions/69363/…
0 votes
stackoverflow.com/questions/1419489/…