Chcę zamontować dysk USB, dwa z nich i potrzebuję dwóch różnych punktów montowania. Niestety, jądro Linuksa uległo zmianie nazwy i nie mogę ustalić, która /dev
lokalizacja jest właściwa. Czy istnieje sposób, aby przejrzeć dmesg
lub /proc
czy gdzieś indziej, aby dowiedzieć się, które urządzenie węzeł to USB.
(Używam ArchLinux, jeśli to pomaga ... /dev/sda
jest pierwszym dyskiem twardym, /dev/sr0
jest dyskiem DVD itp.)
edycja: Dysk USB jest podłączony do koncentratora USB. Przejrzałem dmesg
i napisano, że koncentrator został podłączony i skanowano w poszukiwaniu 3 podłączonych do niego urządzeń. Nadal nie widzę, gdzie jest mój dysk USB.
df
Komenda pokazuje, gdzie został on zamontowanyOdpowiedzi:
Najłatwiejszy sposób: spójrz na wyjście
dmesg
po podłączeniu urządzenia USB. Powinien pokazać, który/dev
węzeł został do niego przypisany.źródło
dmesg
działa świetnie, ale mam przypadek, w którymdmesg
nie pokazuje/dev
węzła:[421963.864281] usb 3-6: new high-speed USB device number 32 using xhci_hcd
Co to znaczy? Jak mogę zamontować to urządzenie? Urządzenie pokazuje się w dniulsusb
...Tak długo, jak korzystasz z udev , możesz to zrobić łatwo, odwołując się do / dev / disk / by-id / usb- nazwa producenta _ numer seryjny . Pojawiają się one jako dowiązania symboliczne, do których można albo bezpośrednio odwoływać się w fstab, albo które można wyrejestrować za pomocą readlink -e w celu ustalenia powiązanego urządzenia blokowego.
Oto przykład z prawdziwego świata. Na moim komputerze mam podłączone 3 dyski twarde USB. Każdy z nich pojawia się w / dev / disk / by-id z unikalnymi numerami seryjnymi (chociaż mają wspólny ciąg producenta). Utworzyłem dowiązania symboliczne do każdego z tych trzech unikalnych wpisów i mogę teraz szybko określić, który dysk jest który (i które urządzenie jest powiązane z każdym dyskiem), uruchamiając readlink -e linkname . Na przykład uruchomienie readlink -e / root / disk2 na moim komputerze wyświetla obecnie „ / dev / sde ”, podczas gdy readlink -e / root / disk3 nie generuje żadnych danych wyjściowych.
źródło
for devlink in /dev/disk/by-id/usb*; do readlink -f ${devlink}; done
Wszystkie te są dobre sugestie, ale najszybszą i najmniej szczegółową metodą jest po prostu wpisanie w terminalu:
która da listę wszystkich zamontowanych urządzeń (przy założeniu, że napęd USB jest zamontowany, co zwykle ma miejsce w przypadku nowoczesnych dystrybucji Linuksa).
źródło
mount /dev/id /mount/point
, aby to nie działało.df
też chyba.Wypróbuj polecenie
udevinfo -q all -n /dev/sda
, gdzie/dev/sda
jest ścieżka do dysku. Daje to mnóstwo informacji o dysku, na który patrzysz - jest wpis mówiący o autobusie, do którego jest podłączony.To oczywiście oszczędza ci konieczności przeglądania gremi przez dmesg i / lub logi.
Aktualizacja
Od co najmniej lipca 2010 r. [ 1 ]
udevinfo
został zastąpiony w Debianie (i wyprowadzony) przezudevadm info
niewielki stan przejściowy, z którym były dowiązania symboliczne wkrótce przestarzałe i usunięte (nadal można je znaleźć na starej, nieaktualnej maszynie). Zawsze z [ 1 ] możemy przeczytać:źródło
udevinfo
zmieniono nazwęudevadm
.udevadm info --query=all -n /dev/ttyUSB1
udevadm info --query=all -n /dev/ttyUSB
także w Fedorze.najprostszą metodą sprawdzenia, co się dzieje, jest po prostu wpisanie (jako root oczywiście):
daje to pełny przegląd wszystkich urządzeń blokowych, nawet jeśli nie są zamontowane
źródło
/dev/disk/by-*
jest najprostszym sposobem w tym przypadku, jeśli z jakiegoś powodu chcesz uczynić życie bardziej interesującym, możesz użyć HAL.Aby wyświetlić listę wszystkich używanych urządzeń:
Aby uzyskać konkretną właściwość, której używasz (zostanie ona zwrócona
/dev/sd*
na urządzenie pamięci USB):Jest również:
Jeśli chcesz uczynić to jeszcze bardziej skomplikowanym, możesz stosunkowo łatwo napisać samemu auto-montera opartego na HAL , co może być bardzo przydatne, jeśli chcesz całkowicie zautomatyzować wszystko.
I dla kompletności są też:
Zawiera ogólne informacje na temat USB i ogólnie sprzętu.
źródło
I po prostu przeanalizuj wynik.
źródło
Posługiwać się
Zgodnie z domyślnymi regułami udev, które pokażą większość urządzeń USB i pokażą dowiązanie symboliczne do ich nazwy urządzenia blokowego w systemie.
Jeśli to nie zadziała, spójrz
/dev/disk/by-id/
bezpośrednio.źródło
W przypadku urządzeń USB możesz to zrobić po prostu
źródło
Spójrz na drzewo poniżej
/dev/disk
. Zawiera listę dysków i ich partycji (systemów plików) według różnych schematów.źródło
/ var / log / message, jeśli dmesg nie ma już informacji.
źródło
Jeśli odłączysz napęd USB i ponownie go włączysz, powinieneś zobaczyć, jak inicjuje się z jądra (dmesg)
źródło
W oparciu o doskonałą odpowiedź od stormlash i zależność od udev w celu zapełnienia drzewa urządzeń „/ dev / disk / by-id / usb”, można zdefiniować predykat (Bash) w następujący sposób:
A następnie użyj go:
źródło