web-dev-qa-db-fra.com

Comment ajouter plus / dev / boucle * Périphériques sur Fedora 19

Comment ajouter plus/dev/boucle * appareils sur Fedora 19? Je fais:

# uname -r
3.11.2-201.fc19.x86_64
# lsmod |grep loop

# ls /dev/loop*
/dev/loop0  /dev/loop1  /dev/loop2  /dev/loop3  /dev/loop4  /dev/loop5  /dev/loop6  /dev/loop7  /dev/loop-control
# modprobe loop max_loop=128
# ls /dev/loop*
/dev/loop0  /dev/loop1  /dev/loop2  /dev/loop3  /dev/loop4  /dev/loop5  /dev/loop6  /dev/loop7  /dev/loop-control

Donc, rien ne change.

11
user219372

Vous devez créer des nœuds de périphérique dans /dev avec mknod. Les nœuds de périphérique dans dev ont un type (bloc, caractère, etc.), un nombre majeur et un nombre mineur. Vous pouvez trouver le type et le nombre majeur en faisant ls -l /dev/loop0:

user@foo:/sys# ls -l /dev/loop0
brw-rw---- 1 root disk 7, 0 Oct  8 08:12 /dev/loop0

Cela signifie que les nœuds de périphérique en boucle doivent avoir le type de bloc et le nombre majeur de 7. Les nombres mineurs incrémentez par un pour chaque nœud de périphérique, à partir de 0, donc Loop0 est simplement 0 et Loop7 est 7.

Pour créer une boucle8, vous exécutez, en tant que root, commandez mknod -m 0660 /dev/loop8 b 7 8. Cela créera le noeud de périphérique /dev/loop8 avec des autorisations spécifiées le long de la -m Commutateur (ce n'est pas nécessaire car vous exécutez probablement un système de bureau, mais c'est une bonne idée de ne pas laisser à tout le monde lire et écrire vos nœuds de périphérique).

9
Sami Laine

Lorsque vous l'exécutez comme une racine, losetup -f créera automatiquement des périphériques en boucle au besoin s'il n'y en a pas d'aucun service gratuit disponible.

Donc, plutôt que de le faire vous-même avec mknod, le moyen le plus simple de créer un nouvel appareil de boucle est avec Sudo losetup -f. Cette approche vous donnera un périphérique de boucle existant gratuit si on existe ou créez automatiquement un nouveau si nécessaire.

11
ncoghlan

Heh, incomplet :) Utilisez simplement ce script pour ajouter de nouveaux/dev/boucles. N'oubliez pas de modifier les numéros, le script fait à 63'th boucle, commence à partir de 8'th car 0-7 est effectué par défaut. Avis, les droits sont copiés de/dev/loop0 :)

for i in {8..63}; do if [ -e /dev/loop$i ]; then continue; fi; \
mknod /dev/loop$i b 7 $i; chown --reference=/dev/loop0 /dev/loop$i; \
chmod --reference=/dev/loop0 /dev/loop$i; done
4
Znik