
Как составить список всех подключенных (включая несмонтированные) устройств в OpenBSD?
Я ищу что-то похожее lsblk
для Linux или camcontrol devlist
FreeBSD:
# List devices on FreeBSD
$ 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)
# List devices on Linux
$ 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
Ни одна из этих команд, похоже, не существует или не доступна в репозиториях (по умолчанию) для OpenBSD.
Даже pciinfo
, kldstat
, или geom
не доступны.
решение1
решение2
dmesg | egrep '^(cd|wd|sd|fd). at '
решение3
lsblk
хороший инструмент, но недоступен в OpenBSD. Есть и другие способы достижения подобного:
1. Чтобы отобразить имена дисков, доступных в системе:
sysctl hw.disknames
Это создает список дисков в одной строке, разделенных запятыми:
hw.disknames=сд0:1e212bdb8b279f47,сд1:33634e7b41dbbafb,сд3:569e3efaf6b08310
Идентификаторы дисков выделены выше жирным шрифтом (для использования на следующем шаге).
2. Используйте disklabel
утилиту, чтобы отобразить больше информации о каждом диске (необходимо запустить от имени пользователя root):
doas disklabel -h <disk identifier>
Это дает вам больше информации о диске в-h
формат, удобный для чтения человеком- т.е. мегабайты, гигабайты и т.д.
3. Просмотр информации (включая размер и свободное место) об уже смонтированных файловых системах.
(Я знаю, что это, возможно, не совсем ответ на вопрос, но я включил это для полноты картины)
Если вы уже смонтировали файловую систему, ваш диск будет включен в отображаемую информацию:
df -h
4. Если вы все еще не уверены, просмотрите системные сообщения:
dmesg
выводит сообщения от ядра при обнаружении оборудования. Используйте это, grep
если вы все еще не можете найти свой диск:
dmesg | grep -i 'scsi'
решение4
Возможно, вам захочется установить smartmontools. smartctl -i может предоставить вам подробную информацию о дисках, сообщаемую sysctl hw.disknames, например
{root@marvin:~ (local) 515} sysctl hw.disknames
hw.disknames=sd0:cb4856da548e0d52,sd1:cc3b031d5ae03c66,sd2:
{root@marvin:~ (local) 516} smartctl -i /dev/sd0c
smartctl 7.3 2022-02-28 r5338 [OpenBSD 7.3 amd64] (local build)
Copyright (C) 2002-22, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Family: Marvell based SanDisk SSDs
Device Model: SanDisk SSD PLUS 480GB
Serial Number: 221005453309
LU WWN Device Id: 5 001b44 4a54ccec2
Firmware Version: UG4004RL
User Capacity: 480,103,981,056 bytes [480 GB]
Sector Size: 512 bytes logical/physical
Rotation Rate: Solid State Device
Form Factor: 2.5 inches
TRIM Command: Available, deterministic
Device is: In smartctl database 7.3/5319
ATA Version is: ACS-3, ACS-2 T13/2015-D revision 3
SATA Version is: SATA 3.2, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Fri Oct 20 08:27:47 2023 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
Далее fdisk может показать вам структуру диска MBR или GPT:
{root@marvin:~ (local) 517} fdisk sd0
Disk: sd0 geometry: 58369/255/63 [937703088 Sectors]
Offset: 0 Signature: 0xAA55
Starting Ending LBA Info:
#: id C H S - C H S [ start: size ]
-------------------------------------------------------------------------------
0: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
1: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
2: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
*3: A6 0 1 2 - 58368 254 63 [ 64: 937697921 ] OpenBSD
И последнее, но не менее важное: вы можете просмотреть разделы OpenBSD с помощью disklabel:
{root@marvin:~ (local) 518} disklabel sd0
# /dev/rsd0c:
type: SCSI
disk: SCSI disk
label: USB 3.0 TOSATA
duid: cb4856da548e0d52
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 255
sectors/cylinder: 16065
cylinders: 58369
total sectors: 937703088
boundstart: 64
boundend: 937697985
16 partitions:
# size offset fstype [fsize bsize cpg]
a: 100646912 16384 4.2BSD 2048 16384 12960 # /
b: 33554432 100663296 swap # none
c: 937703088 0 unused
e: 671088640 134217728 4.2BSD 4096 32768 26062 # /export