Я хочу смонтировать USB-накопитель, два из них, и мне нужны две разные точки монтирования. К сожалению, ядро Linux претерпело изменение имени, и я не могу понять, какое /dev
расположение является правильным. Есть ли способ просмотреть dmesg
или /proc
или где-то еще узнать, какое устройство узла является USB-накопителем.
(Я использую ArchLinux, если это поможет ... /dev/sda
это первый жесткий диск, /dev/sr0
DVD-привод и т. Д.)
редактировать: USB-накопитель подключен к USB-концентратору. Я посмотрел, dmesg
и он говорит, что концентратор был подключен, и он сканировал 3 устройства, подключенные к нему. Все еще не вижу, где находится мой USB-накопитель.
df
показывает вам, где он был установленОтветы:
Самый простой способ: посмотреть на выход
dmesg
после подключения USB-устройства. Он должен показать вам, какой/dev
узел был ему назначен.источник
dmesg
прекрасно работает, но у меня есть случай, когдаdmesg
не показывает/dev
узел:[421963.864281] usb 3-6: new high-speed USB device number 32 using xhci_hcd
что это значит? Как я могу установить это устройство? Устройство появляется наlsusb
...Пока вы используете udev , вы можете легко сделать это, сославшись на / dev / disk / by-id / usb- имя- производителя _ serialnumber . Они отображаются в виде символических ссылок, на которые вы можете либо напрямую ссылаться в вашем fstab, либо на которые вы можете разыменовать, используя readlink -e, чтобы определить соответствующее блочное устройство.
Вот пример из реального мира. На моей машине подключено 3 жестких диска USB. Каждый из них отображается в / dev / disk / by-id с уникальными серийными номерами (хотя они имеют общую строку производителя). Я создал символические ссылки на каждую из этих трех уникальных записей и теперь могу быстро определить, какой диск есть (и какое устройство связано с каждым диском), запустив readlink -e linkname . Например, при запуске readlink -e / root / disk2 на моем компьютере в настоящий момент отображается « / dev / sde », в то время как readlink -e / root / disk3 ничего не выводит.
источник
for devlink in /dev/disk/by-id/usb*; do readlink -f ${devlink}; done
Все это хорошие предложения, но самый быстрый и наименее подробный метод - просто набрать в терминале следующее:
который выдаст список всех подключенных устройств (предполагается, что подключен USB-накопитель, что обычно имеет место в современных дистрибутивах Linux).
источник
mount /dev/id /mount/point
, так что это не работает.df
тоже, наверное.Попробуйте команду
udevinfo -q all -n /dev/sda
, где/dev/sda
находится путь к вашему диску. Это дает вам множество информации о диске, который вы просматриваете - есть запись, которая сообщает вам о шине, к которой он подключен.Это, конечно, избавляет вас от необходимости просматривать dmesg и / или логи.
Обновить
По крайней мере, с июля 2010 года [ 1 ]
udevinfo
был заменен в Debian (и производным)udevadm info
небольшим переходным процессом, с которым вскоре были удалены и удалены символические ссылки (их все еще можно найти на старой, не обновленной машине). Всегда из [ 1 ] мы можем прочитать:источник
udevinfo
переименованudevadm
.udevadm info --query=all -n /dev/ttyUSB1
udevadm info --query=all -n /dev/ttyUSB
в федоре тоже.Самый простой способ увидеть, что происходит - просто набрать (конечно же, с правами root):
это дает вам полный обзор обо всех блочных устройствах, даже если они не установлены
источник
/dev/disk/by-*
это самый простой способ в этом случае, если по какой-то причине вы хотите сделать жизнь более интересной, вы можете использовать HAL.Чтобы перечислить все устройства, которые вы используете:
Чтобы получить конкретное свойство, которое вы используете (это вернется
/dev/sd*
на USB-накопитель):Существует также:
Если вы хотите сделать его еще более сложным, вы можете относительно легко написать себе автоматический монтировщик на основе HAL , что может быть очень удобно, если вы хотите полностью автоматизировать процесс.
И просто для полноты есть также:
Который предоставляет общую информацию о USB и вашем оборудовании в целом.
источник
И просто проанализируй результат.
источник
использование
В соответствии с правилами udev по умолчанию, это покажет вам большинство USB-устройств и символическую ссылку на их имя блочного устройства в системе.
Если это не сработает, посмотрите
/dev/disk/by-id/
прямо.источник
Для USB-устройств вы можете просто сделать
источник
Посмотрите на дерево под
/dev/disk
. В нем перечислены диски и их разделы (файловые системы) по различным схемам.источник
/ var / log / message, если dmesg больше не имеет информации.
источник
Если вы отключите USB-накопитель и снова подключите его, вы должны увидеть, как он инициализируется из ядра (dmesg)
источник
На основании превосходного ответа от stormlash и зависимости от udev для заполнения дерева устройств "/ dev / disk / by-id / usb" вы можете определить предикат (Bash) следующим образом:
И затем используйте это:
источник