Je souhaite monter une clé USB, deux d’entre elles et deux points de montage différents. Malheureusement, le noyau Linux a changé de nom et je ne peux pas déterminer quel /dev
emplacement est le bon. Existe-t-il un moyen de regarder à travers dmesg
ou /proc
ou ailleurs pour savoir quel nœud de périphérique est un lecteur USB?
(J'utilise ArchLinux si cela aide… /dev/sda
le premier disque dur, /dev/sr0
un lecteur de DVD, etc.)
edit: Le lecteur USB est connecté à un concentrateur USB. J'ai regardé à travers dmesg
et il est dit que le hub était connecté et qu'il a scanné les 3 périphériques connectés. Je ne vois toujours pas où se trouve ma clé USB.
df
commande vous montre où il a été montéRéponses:
Manière la plus simple: regardez la sortie
dmesg
après avoir connecté le périphérique USB. Il devrait vous montrer quel/dev
nœud lui a été attribué.la source
dmesg
fonctionne très bien, mais j'ai un cas oùdmesg
ne montre pas le/dev
noeud:[421963.864281] usb 3-6: new high-speed USB device number 32 using xhci_hcd
Qu'est-ce que cela signifie? Comment puis-je monter cet appareil? L'appareil apparaît surlsusb
...Tant que vous utilisez udev , vous pouvez le faire facilement en faisant référence / dev / disque / par id / usb- ManufacturerName _ serialnumber . Ceux-ci apparaissent sous forme de liens symboliques que vous pouvez référencer directement dans votre fstab ou que vous pouvez déréférencer en utilisant readlink -e pour déterminer le périphérique de bloc associé.
Voici un exemple du monde réel. Sur ma machine, j'ai 3 disques durs USB connectés. Celles-ci apparaissent dans / dev / disk / by-id avec des numéros de série uniques (bien qu'ils partagent une chaîne de fabricant commune). J'ai créé des liens symboliques vers chacune de ces trois entrées uniques et je peux maintenant déterminer rapidement quel lecteur est lequel (et quel périphérique est associé à chaque lecteur) en exécutant readlink -e linkname . Par exemple, l'exécution de readlink -e / root / disk2 sur ma machine affiche actuellement " / dev / sde ", alors que readlink -e / root / disk3 ne produit aucun résultat.
la source
for devlink in /dev/disk/by-id/usb*; do readlink -f ${devlink}; done
Toutes ces suggestions sont bonnes, mais la méthode la plus rapide et la moins explicite consiste à taper simplement ce qui suit dans le terminal:
qui donnera une liste de tous les périphériques montés (cela suppose que le lecteur USB est monté, ce qui est généralement le cas avec les distributions Linux modernes).
la source
mount /dev/id /mount/point
, pour que cela ne fonctionne pas.df
aussi, je suppose.Essayez la commande
udevinfo -q all -n /dev/sda
, où/dev/sda
est le chemin d'accès à votre disque. Cela vous donne une foule d'informations sur le disque que vous regardez - une entrée vous informe sur le bus auquel il est connecté.Ceci vous évite bien sûr de devoir grep via dmesg et / ou des logs.
Mise à jour
Depuis au moins juillet 2010 [ 1 ] a
udevinfo
été substitué dans Debian (et dérivé) parudevadm info
un petit transitoire avec lequel des liens symboliques étaient bientôt obsolètes et supprimés (vous pouvez toujours les trouver dans une ancienne machine non mise à jour). Toujours de [ 1 ] on peut lire:la source
udevinfo
est renomméudevadm
.udevadm info --query=all -n /dev/ttyUSB1
udevadm info --query=all -n /dev/ttyUSB
dans Fedora aussi.la méthode la plus simple pour voir ce qui se passe est simplement de taper (en tant que root bien sûr):
cela vous donne un aperçu complet de tous les dispositifs de blocage, même s'ils ne sont pas montés
la source
/dev/disk/by-*
est le moyen le plus simple dans ce cas, si pour une raison quelconque vous voulez rendre la vie plus intéressante, vous pouvez utiliser HAL.Pour répertorier tous les appareils que vous utilisez:
Pour obtenir une propriété spécifique que vous utilisez (elle sera renvoyée
/dev/sd*
sur un périphérique de stockage USB):Il y a aussi:
Si vous voulez compliquer encore les choses, vous pouvez relativement facilement écrire vous-même un monteur automatique basé sur HAL , ce qui peut s'avérer très pratique si vous souhaitez automatiser complètement les choses.
Et juste pour être complet, il y a aussi:
Ce qui fournit des informations générales sur l'USB et votre matériel en général.
la source
Et juste analyser le résultat.
la source
Utilisation
Selon les règles par défaut d'udev, cela vous montrera la plupart des périphériques USB et le lien symbolique vers leur nom de périphérique en mode bloc sur le système.
Si cela ne fonctionne pas, regardez
/dev/disk/by-id/
directement.la source
Pour les périphériques USB, vous pouvez simplement faire
la source
Regardez l'arbre sous
/dev/disk
. Il répertorie les disques et leurs partitions (systèmes de fichiers) selon différents schémas.la source
/ var / log / message si dmesg n'a plus les informations.
la source
Si vous débranchez le lecteur USB et que vous le rebranchez, vous devriez le voir s’initialiser à partir du noyau (dmesg).
la source
Basé sur l'excellente réponse de stormlash et avec une dépendance sur udev pour peupler l'arborescence de périphérique "/ dev / disk / by-id / usb", vous pouvez définir un prédicat (Bash) comme suit:
Et puis l'utiliser:
la source