Daftar semua perangkat yang terhubung di FreeBSD

28

Apa varian FreeBSD dari Linux lsblkdan blkid?

Saya menginginkan sesuatu yang menyediakan jenis informasi yang sama seperti lsblkdalam contoh di bawah ini:

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  

Saya sudah mencoba menjalankan perintah like man -k blkdan apropos dev. Ada devinfo, tapi saya tidak yakin apakah itu yang benar-benar saya cari karena sepertinya tidak memberi saya /dev/<DEVICE>jalan untuk perangkat yang terdaftar.

Saya bahkan mencoba devstat, tetapi itu tampaknya sama tidak membantu

EDIT:

Yang saya benar - benar perlu tahu adalah /dev/<DEVICE>jalur untuk setiap perangkat blok yang terhubung, dan mungkin label perangkat tersebut (jika ada); terlepas dari apakah mereka sudah dipasang atau belum.

Alexej Magura
sumber
1
Saya pikir saya mungkin sudah mengetahuinya ... Saya pikir camcontrol devlistmungkin itu yang saya inginkan.
Alexej Magura
lsblksangat penting dan FreeBSD benar-benar mempertimbangkan untuk mengadaptasinya.
neverMind9

Jawaban:

43

Gunakan geom disk list. Ini akan menampilkan semua perangkat seperti disk (secara teknis, setiap instance kelas GEOM "DISK").

Untuk informasi lebih lanjut: geom | Halaman Manual FreeBSD

Edward Tomasz Napierala
sumber
17

Dari apa yang bisa saya katakan, camcontrol devlistadalah hal yang paling dekat dengan lsblkvarian untuk FreeBSD. Saya tidak 100% yakin bahwa ini adalah metode terbaik, tetapi hasilnya sangat dekat dengan apa yang lsblkmemberi Anda, jika Anda hanya peduli /dev/<DEV-PATH>dan nama perangkat :

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

Posisi /dev/DEV-PATHdi dalam keluarannya camcontrol devlisttampaknya bervariasi. Misalnya, pada wiki FreeBSD, contoh camcontrol devlistoutput pada salah satu halaman berisi daftar devpathuntuk drive CD-ROM dalam urutan yang berlawanan: (cd0,pass0)alih-alih (pass1,cd0).

Saya tidak yakin apakah atau apa pentingnya perbedaan ini. Jadi, jika Anda tidak terbiasa dengan devpaths* BSD, Anda mungkin perlu sedikit bermain dengannya agar bisa berfungsi.

Alexej Magura
sumber
9

Menambahkan ke jawaban trasz, geom part listmenunjukkan partisi di FreeBSD. Demikian pula Anda geom md listakan mendapatkan perangkat "disk memori" (mirip dengan beberapa penggunaan loop mount di linux yang juga terdaftar oleh lsblk(8)- dengan kata lain memblokir perangkat yang dibuat oleh mdconfig(8)di FreeBSD dan losetup(8)di linux). Lihat geom(8)daftar kelas (masing-masing dapat dicantumkan jika kelas geom dimuat).

Ini bukan pengalaman yang sama lsblk(8)dan blkid(8)menyediakan di linux, tetapi memberikan banyak informasi yang sama. Tidak ada hubungan langsung dari geom(4)instans & penyedia untuk mountpoint saat ini di FreeBSD (lih., mountpoint(1)Dan findmnt(8)di linux).

Juan
sumber
4

Berikan pciconfatau kldstatcoba.

Uriel
sumber
1
tidak, saya tidak menyadari salah satu dari mereka, tetapi tidak satu pun dari mereka tampaknya apa yang saya inginkan. Ini mungkin hanya kasus saya yang tidak terbiasa dengan konvensi penamaan yang digunakan oleh * BSD untuk perangkat, tapi saya ragu.
Alexej Magura
1
File log juga harus mencantumkan perangkat yang terdeteksi, tetapi tidak yakin itu akan membantu Anda. Apa yang ingin Anda capai?
Uriel
1
Gunakan pciconf -lataupciconf -lv
Yvon
3

Saya pikir gpart listadalah hal terdekat lsblk. Ini akan menunjukkan kepada Anda semua perangkat dan partisi mereka (dan banyak informasi tambahan juga).

jackbenny
sumber
0

semua alat FreeBSD "tidak dapat dibaca", skrip ini meniru lsblk dengan baik: 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
pengguna533385
sumber
Apa maksudmu "tidak bisa dibaca", dengan cara apa mereka tidak bisa dibaca?
Alexej Magura
1
Saya perhatikan bahwa posting ini pada dasarnya adalah tautan ke form post yang berisi lampiran. Bisakah Anda memposting konten skrip itu di sini, sehingga jawaban Anda lengkap? Terima kasih.
Jeff Schaller
lsblk memiliki bentuk yang dapat dibaca untuk menampilkan hierarki drive, lihat saja pertanyaannya. Saya mengerti orang tidak ingin melihat df / mount dan output alat memuakkan lainnya, dan sejauh ini ini adalah pilihan terbaik.
user533385