Listar todos os dispositivos conectados no FreeBSD

28

Qual é a variante FreeBSD do Linux lsblke blkid?

Eu quero algo que forneça o mesmo tipo de informação lsblkque o exemplo abaixo:

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  

Eu tentei executar comandos como man -k blke apropos dev. Existe devinfo, mas não tenho certeza se é isso que realmente estou procurando, pois não parece me dar o /dev/<DEVICE>caminho para os dispositivos listados.

Eu até tentei devstat, mas isso parece igualmente inútil

EDITAR:

Tudo o que realmente preciso saber é o /dev/<DEVICE>caminho para cada dispositivo de bloco conectado, e talvez o rótulo do dispositivo (se houver); independentemente de terem ou não sido montados ainda.

Alexej Magura
fonte
11
Acho que posso ter descoberto ... acho que camcontrol devlisté provavelmente o que quero.
Alexej Magura
lsblké muito essencial e o FreeBSD realmente pensa em adaptá-lo.
neverMind9

Respostas:

43

Use geom disk list. Isso mostrará todos os dispositivos semelhantes a discos (tecnicamente, todas as instâncias da classe GEOM "DISK").

Para mais informações: geom | Páginas de manual do FreeBSD

Edward Tomasz Napierala
fonte
17

Pelo que sei, camcontrol devlisté a coisa mais próxima de uma lsblkvariante para o FreeBSD. Não tenho 100% de certeza de que esse é o melhor método, mas sua saída está muito próxima do que lsblkvocê fornece, se você se importa apenas com /dev/<DEV-PATH>os nomes de dispositivos :

$ 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)

A posição do /dev/DEV-PATHna saída de camcontrol devlistparece variar. Por exemplo, no wiki do FreeBSD, o exemplo de camcontrol devlistsaída em uma das páginas lista a devpathunidade de CD-ROM na ordem oposta: em (cd0,pass0)vez de (pass1,cd0).

Não tenho certeza se ou qual é o significado dessa diferença. Portanto, se você não está familiarizado com o devpaths* BSD, pode ser necessário brincar um pouco com ele para que ele funcione.

Alexej Magura
fonte
9

Adicionando à resposta trasz ', geom part listmostra as partições no FreeBSD. Da mesma forma geom md list, você obterá os dispositivos "memory disk" (semelhantes a alguns usos de montagens de loop no linux, que também são listados por lsblk(8)- em outras palavras, bloqueiam os dispositivos criados mdconfig(8)no FreeBSD e losetup(8)no linux). Veja geom(8)uma lista de classes (cada uma das quais pode ser listada se a classe geom estiver carregada).

Esta não é exatamente a mesma experiência que lsblk(8)e blkid(8)fornece no linux, mas fornece muitas das mesmas informações. Não há ligação direta de geom(4)instâncias e provedores ao ponto de montagem atualmente no FreeBSD (cf. mountpoint(1)e findmnt(8)no linux).

Juan
fonte
4

pciconfou kldstattente.

Uriel
fonte
11
não, eu não estava ciente de nenhum deles, mas nenhum deles parece ser o que eu quero. Pode ser apenas um caso de eu não estar familiarizado com as convenções de nomenclatura usadas pelo * BSD para dispositivos, mas duvido.
Alexej Magura
11
Os arquivos de log também devem listar os dispositivos detectados, mas não estão certos de que o ajudarão. O que você quer alcançar ?
Uriel
11
Use pciconf -lorpciconf -lv
Yvon
3

Eu acho que gpart listé a coisa mais próxima lsblk. Ele mostrará todos os dispositivos e suas partições (e também muita informação extra).

jackbenny
fonte
0

todas as ferramentas do FreeBSD são "ilegíveis", este script imita bem o 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
fonte
O que você quer dizer com "ilegível", de que maneira eles são ilegíveis?
Alexej Magura 8/11
11
Percebo que esta postagem é essencialmente um link para uma postagem de formulário que contém um anexo. Em vez disso, você poderia postar o conteúdo desse script aqui, para que sua resposta seja independente? Obrigado.
Jeff Schaller
O lsblk tem uma forma legível de exibir a hierarquia de unidades, basta olhar para a pergunta. Eu entendo que as pessoas não querem olhar para o df / mount e outras saídas de ferramentas nauseantes, e até agora esta é a melhor opção.
user533385