Listet alle angeschlossenen Geräte in FreeBSD auf

28

Was ist die FreeBSD-Variante von Linux lsblkund blkid?

Ich möchte etwas, das die gleichen Informationen liefert wie lsblkim folgenden Beispiel:

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  

Ich habe versucht, Befehle wie man -k blkund auszuführen apropos dev. Es gibt devinfo, aber ich bin nicht sicher, ob das das ist, wonach ich wirklich suche, da es mir keinen /dev/<DEVICE>Pfad für die aufgelisteten Geräte zu geben scheint .

Ich habe es sogar versucht devstat, aber das scheint ebenso wenig hilfreich

BEARBEITEN:

Alles, was ich wirklich wissen muss, ist der /dev/<DEVICE>Pfad für jedes angeschlossene Blockgerät und möglicherweise die Bezeichnung des Geräts (falls vorhanden). unabhängig davon, ob sie noch montiert wurden oder nicht.

Alexej Magura
quelle
1
Ich glaube, ich habe es vielleicht herausgefunden ... Ich denke, das camcontrol devlistist wahrscheinlich das, was ich will.
Alexej Magura
lsblkist sehr wichtig und FreeBSD sollte sich wirklich überlegen, es anzupassen.
neverMind9

Antworten:

42

Verwenden Sie geom disk list. Dies zeigt alle festplattenähnlichen Geräte an (technisch gesehen jede Instanz der GEOM-Klasse "DISK").

Für weitere Informationen: geom | FreeBSD-Handbuchseiten

Edward Tomasz Napierala
quelle
17

Soweit ich das beurteilen kann, camcontrol devlistkommt es einer lsblkVariante für FreeBSD am nächsten . Ich bin nicht zu 100% sicher, dass dies die beste Methode ist, aber die Ausgabe kommt dem sehr nahe, was lsblkSie erhalten, wenn Sie sich nur um /dev/<DEV-PATH>und Gerätenamen kümmern :

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

Die Position der /dev/DEV-PATHin der Ausgabe von camcontrol devlistscheint zu variieren. Beispiel: Im FreeBSD-Wiki wird in der Beispielausgabe camcontrol devlistauf einer der Seiten das devpathfür das CD-ROM-Laufwerk in umgekehrter Reihenfolge aufgeführt: (cd0,pass0)statt (pass1,cd0).

Ich bin nicht sicher, ob oder welche Bedeutung dieser Unterschied hat. Wenn Sie mit devpaths* BSD nicht vertraut sind, müssen Sie möglicherweise ein wenig damit herumspielen, damit es funktioniert.

Alexej Magura
quelle
9

In trasz 'Antwort werden geom part listdie Partitionen in FreeBSD angezeigt . In ähnlicher Weise geom md listerhalten Sie die "Speicherdisketten" -Geräte (ähnlich wie bei einigen Verwendungen von Loop-Mounts unter Linux, die auch von aufgelistet werden lsblk(8)- mit anderen Worten Block-Geräten, die unter mdconfig(8)FreeBSD und losetup(8)Linux erstellt wurden). Siehe geom(8)für eine Liste von Klassen (von denen jede aufgelistet werden können , wenn die geom Klasse geladen wird).

Das ist nicht ganz die gleiche Erfahrung , dass lsblk(8)und blkid(8)unter Linux zur Verfügung stellen, aber viel von den gleichen Informationen zur Verfügung stellt. Es gibt keine direkte Verknüpfung von geom(4)Instanzen und Providern mit Mountpoint, die sich derzeit in FreeBSD befinden (vgl. mountpoint(1)Und findmnt(8)unter Linux).

Juan
quelle
4

Geben Sie pciconfoder kldstateinen Versuch.

Uriel
quelle
1
nein, mir war keiner von beiden bewusst, aber keiner von ihnen scheint das zu sein, was ich will. Dies mag nur der Fall sein, dass ich mit den von * BSD für Geräte verwendeten Namenskonventionen nicht vertraut bin, aber ich bezweifle dies.
Alexej Magura
1
In den Protokolldateien sollten auch erkannte Geräte aufgeführt sein. Sie sind sich jedoch nicht sicher, ob dies hilfreich ist. Was willst du erreichen
Uriel
1
Verwenden Sie pciconf -loderpciconf -lv
Yvon
3

Ich denke, das gpart listist am nächsten lsblk. Es zeigt Ihnen alle Geräte und deren Partitionen (und viele zusätzliche Informationen).

Jackbenny
quelle
0

Alle FreeBSD-Tools sind "unlesbar". Dieses Skript ahmt lsblk gut nach: 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
quelle
Was meinst du mit "unlesbar", inwiefern sind sie unlesbar?
Alexej Magura
1
Ich stelle fest, dass dieser Beitrag im Wesentlichen ein Link zu einem Formularbeitrag ist, der einen Anhang enthält. Könnten Sie stattdessen den Inhalt dieses Skripts hier posten, sodass Ihre Antwort in sich geschlossen ist? Vielen Dank.
Jeff Schaller
lsblk hat eine lesbare Form der Anzeige der Laufwerkshierarchie. Schauen Sie sich nur die Frage an. Ich verstehe, dass die Leute nicht auf df / mount und andere übel riechende Toolausgaben schauen wollen, und bis jetzt ist dies die beste Option.
user533385