Ich möchte ein USB-Laufwerk mounten, zwei davon, und ich benötige zwei verschiedene Mount-Punkte. Leider wurde der Name des Linux-Kernels geändert und ich kann nicht herausfinden, welcher /dev
Speicherort der richtige ist. Gibt es eine Möglichkeit, durchzusehen dmesg
oder /proc
woanders herauszufinden, welcher Geräteknoten ein USB-Laufwerk ist.
(Ich benutze ArchLinux, wenn das hilft ... /dev/sda
ist die erste Festplatte, /dev/sr0
ist ein DVD-Laufwerk, etc.)
Bearbeiten: Das USB-Laufwerk ist an einen USB-Hub angeschlossen. Ich habe durchgesehen dmesg
und es heißt, dass der Hub verbunden war und nach den 3 angeschlossenen Geräten gesucht wurde. Ich kann immer noch nicht sehen, wo sich mein USB-Laufwerk befindet.
df
Befehl zeigt Ihnen, wo es montiert wurdeAntworten:
Einfachste Methode: Überprüfen Sie die Ausgabe von
dmesg
nach dem Anschließen des USB-Geräts. Es sollte Ihnen zeigen, welcher/dev
Knoten ihm zugewiesen wurde.quelle
dmesg
funktioniert prima, aber ich habe einen fall wo derdmesg
knoten nicht/dev
angezeigt wird:[421963.864281] usb 3-6: new high-speed USB device number 32 using xhci_hcd
Was bedeutet das? Wie kann ich dieses Gerät einbinden? Das Gerät zeigt auflsusb
...Solange Sie udev ausführen , können Sie dies problemlos tun, indem Sie auf / dev / disk / by-id / usb- manufacturername _ serialnumber verweisen . Diese werden als symbolische Links angezeigt, auf die Sie entweder direkt in Ihrer fstab verweisen oder die Sie mit readlink -e dereferenzieren können , um das zugehörige Blockgerät zu bestimmen.
Hier ist ein Beispiel aus der Praxis. An meinem Computer sind 3 USB-Festplatten angeschlossen. Diese werden jeweils in / dev / disk / by-id mit eindeutigen Seriennummern angezeigt (obwohl sie einen gemeinsamen Hersteller-String haben). Ich habe symbolische Links zu jedem dieser drei eindeutigen Einträge erstellt und kann jetzt schnell feststellen, welches Laufwerk welches ist (und welches Gerät jedem Laufwerk zugeordnet ist), indem ich readlink -e linkname ausführe . Wenn Sie beispielsweise readlink -e / root / disk2 auf meinem Computer ausführen, wird derzeit " / dev / sde " angezeigt , während readlink -e / root / disk3 überhaupt keine Ausgabe erzeugt.
quelle
for devlink in /dev/disk/by-id/usb*; do readlink -f ${devlink}; done
All dies sind gute Vorschläge, aber die schnellste und am wenigsten ausführliche Methode besteht darin, einfach Folgendes in das Terminal einzugeben:
Hier wird eine Liste aller gemounteten Geräte angezeigt (dies setzt voraus, dass das USB-Laufwerk gemountet ist, was in der Regel bei modernen Linux-Distributionen der Fall ist).
quelle
mount /dev/id /mount/point
, damit das nicht funktioniert.df
Ich nehme auch an.Probieren Sie den Befehl aus
udevinfo -q all -n /dev/sda
, wo/dev/sda
sich der Pfad zu Ihrer Festplatte befindet. Auf diese Weise erhalten Sie eine Schiffsladung mit Informationen zu der Festplatte, die Sie sich ansehen. Ein Eintrag informiert Sie über den Bus, mit dem Sie verbunden sind.Dies erspart Ihnen natürlich das Durchsuchen von dmesg und / oder Protokollen.
Aktualisieren
Ab mindestens Juli 2010 wurde [ 1 ]
udevinfo
in Debian durchudevadm info
eine kleine Transiente ersetzt (und abgeleitet), mit der Symlinks bald veraltet und entfernt wurden (Sie können sie immer noch in alten, nicht aktualisierten Maschinen finden). Immer aus [ 1 ] können wir lesen:quelle
udevinfo
wird umbenanntudevadm
.udevadm info --query=all -n /dev/ttyUSB1
udevadm info --query=all -n /dev/ttyUSB
auch in Fedora.Die einfachste Methode, um zu sehen, was los ist, ist die Eingabe (natürlich als root):
Dies gibt Ihnen einen vollständigen Überblick über alle Blockgeräte, auch wenn sie nicht montiert sind
quelle
/dev/disk/by-*
ist in diesem Fall der einfachste Weg. Wenn Sie das Leben aus irgendeinem Grund interessanter gestalten möchten, können Sie HAL verwenden.So listen Sie alle Geräte auf, die Sie verwenden:
So rufen Sie eine bestimmte Eigenschaft ab, die Sie verwenden (dies wird
/dev/sd*
auf einem USB-Speichergerät zurückgegeben):Es gibt auch:
Wenn Sie es noch komplizierter machen möchten, können Sie sich relativ einfach einen HAL-basierten Auto-Mounter schreiben. Dies kann sehr praktisch sein, wenn Sie die Dinge vollständig automatisieren möchten.
Und der Vollständigkeit halber gibt es auch:
Hier finden Sie allgemeine Informationen zu USB und Ihrer Hardware im Allgemeinen.
quelle
Und analysieren Sie einfach das Ergebnis.
quelle
Verwenden
Unter den Standardregeln von udev werden Ihnen die meisten USB-Geräte und der Symlink zu deren Blockgerätenamen auf dem System angezeigt.
Wenn das nicht geht, schau
/dev/disk/by-id/
direkt zu.quelle
Für USB-Geräte können Sie einfach tun
quelle
Schauen Sie sich den Baum darunter an
/dev/disk
. Es listet Festplatten und deren Partitionen (Dateisysteme) nach verschiedenen Schemata auf.quelle
/ var / log / message, wenn dmesg die Informationen nicht mehr hat.
quelle
Wenn Sie das USB-Laufwerk trennen und wieder anschließen, sollte es über den Kernel initialisiert werden (dmesg).
quelle
Basierend auf der hervorragenden Antwort von stormlash und der Abhängigkeit von udev, um den Gerätebaum "/ dev / disk / by-id / usb" zu füllen, können Sie ein Prädikat (Bash) wie folgt definieren:
Und dann benutze es:
quelle