Список всех подключенных устройств во FreeBSD

28

Что такое FreeBSD вариант Linux lsblkи blkid?

Я хочу что-то, что предоставляет такую ​​же информацию, как lsblkв примере ниже:

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
/dev/sda      8:0    0 465.8G  0 disk 
├─/dev/sda1   8:1    0  1007K  0 part 
├─/dev/sda2   8:2    0   256M  0 part /boot
├─/dev/sda3   8:3    0   9.8G  0 part [SWAP]
├─/dev/sda4   8:4    0  29.3G  0 part /
├─/dev/sda5   8:5    0  29.3G  0 part /var
├─/dev/sda6   8:6    0 297.6G  0 part /home
└─/dev/sda9   8:9    0  16.3G  0 part 
/dev/sr0     11:0    1  1024M  0 rom  

Я пробовал запускать такие команды, как man -k blkи apropos dev. Есть devinfo, но я не уверен, что это то, что я действительно ищу, так как это, кажется, не дает мне /dev/<DEVICE>пути для перечисленных устройств.

Я даже пытался devstat, но это кажется одинаково бесполезным

РЕДАКТИРОВАТЬ:

Все, что мне действительно нужно знать, - это /dev/<DEVICE>путь для каждого подключенного блочного устройства и, возможно, метка указанного устройства (если есть); независимо от того, были ли они установлены или нет.

Алексей Магура
источник
1
Я думаю, что я, возможно, понял это ... Я думаю camcontrol devlist, вероятно, это то, что я хочу.
Алексей Магура
lsblkЭто очень важно, и FreeBSD действительно стоит подумать об его адаптации.
neverMind9

Ответы:

43

Использование geom disk list. Это покажет все дискообразные устройства (технически, каждый экземпляр класса GEOM "DISK").

Для получения дополнительной информации: geom | Страницы Руководства FreeBSD

Эдвард Томаш Напирала
источник
17

Из того, что я могу сказать, camcontrol devlistэто самая близкая вещь к lsblkварианту для FreeBSD. Я не уверен на 100%, что это лучший метод, но его вывод очень близок к тому, что lsblkдает вам, если вам важны только /dev/<DEV-PATH>имена устройств :

$ camcontrol devlist
<VBOX HARDDISK 1.0>   at scbus0 target 0 lun 0 (ada0,pass0)
<VBOX CD-ROM 1.0>     at scbus1 target 0 lun 0 (pass1,cd0)

Положение на /dev/DEV-PATHвыходе, camcontrol devlistкажется, меняется. Например, в вики FreeBSD пример camcontrol devlistвывода на одной из страниц перечисляет devpathпривод CD-ROM в обратном порядке: (cd0,pass0)вместо (pass1,cd0).

Я не уверен, если или каково значение этой разницы. Так что, если вы не знакомы с devpaths* BSD, вам, возможно, придется немного поэкспериментировать с ним, чтобы заставить его работать.

Алексей Магура
источник
9

Добавление к ответу trasz geom part listпоказывает разделы во FreeBSD. Точно так же geom md listвы получите устройства с «диском памяти» (аналогично некоторым применениям монтирования циклов в linux, которые также перечислены lsblk(8)- другими словами, блокируют устройства, созданные mdconfig(8)во FreeBSD и losetup(8)в linux). См. geom(8)Список классов (каждый из которых может быть указан, если загружен класс geom).

Это не совсем тот же опыт, что lsblk(8)и blkid(8)в linux, но предоставляет большую часть той же информации. В geom(4)настоящее время во FreeBSD нет прямой связи между экземплярами и провайдерами для точки монтирования (ср. mountpoint(1)И findmnt(8)в linux).

Juan
источник
4

Дай pciconfили kldstatпопробуй.

Уриэль
источник
1
нет, я не знал ни об одном из них, но ни один из них, кажется, не то, что я хочу. Это может быть просто случай, когда я незнаком с соглашениями об именах, используемыми * BSD для устройств, но я сомневаюсь в этом.
Алексей Магура
1
Файлы журнала также должны содержать список обнаруженных устройств, но не уверен, что это поможет вам. Чего ты хочешь достичь?
Уриэль
1
Используйте pciconf -lилиpciconf -lv
Ивон
3

Я думаю, gpart listэто самая близкая вещь lsblk. Он покажет вам все устройства и их разделы (а также много дополнительной информации).

Джек Бенни
источник
0

все инструменты FreeBSD «нечитаемы», этот скрипт хорошо имитирует lsblk: https://forums.freebsd.org/threads/lsblk-8-command-for-freebsd.56008/

wget https://forums.freebsd.org/attachments/lsblk-sh-txt.3085/
cp index.html /usr/lsblk.sh
chmod +x /usr/lsblk.sh
alias lsblk=/usr/lsblk.sh
user533385
источник
Что вы имеете в виду «нечитаемый», как они нечитаемые?
Алексей Магура
1
Я заметил, что это сообщение по сути является ссылкой на сообщение формы, которое содержит вложение. Не могли бы вы вместо этого опубликовать содержание этого сценария здесь, чтобы ваш ответ был самодостаточным? Спасибо.
Джефф Шаллер
lsblk имеет удобочитаемую форму отображения иерархии дисков, просто посмотрите на вопрос. Я понимаю, что люди не хотят смотреть на вывод df / mount и других отвратительных инструментов, и пока это лучший вариант.
user533385