losetup -P
automation
losetup -P
est la meilleure méthode à partir d’Ubuntu 16.04, comme indiqué sur lien , voici des fonctions à automatiser si nécessaire . 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
$ # Cleanup.
$ losd 0
$ ls /mnt/loop0p1
$ ls /dev | grep loop0
loop0
Source:
los() (
img=""
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"
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"
)
module de boucle max_part config
C'est une méthode décente avant 16.04.
loop
est un module du noyau, intégré au 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 le nombre de partitions que loop
périphériques peuvent générer.
C'est 0
par défaut sur Ubuntu 14.04, ce qui explique pourquoi aucun fractionnement automatique ne se produit.
Pour le changer, nous pouvons soit ajouter:
options loop max_part=31
vers un fichier dans /etc/modprobe
ou:
GRUB_CMDLINE_LINUX="loop.max_part=31"
à /etc/default/grub
puis à sudo update-grub
.
Comment définir un paramètre de module est également couvert à: Comment ajouter des paramètres de module de noyau ?
Après un redémarrage, lorsque vous faites:
sudo losetup -f --show my.img
monte l'image sur un périphérique /dev/loopX
et monte automatiquement les partitions sur les périphériques /dev/loopXpY
.
C'est donc la méthode la plus pratique si vous êtes prêt à redémarrer.
Voir aussi