netbsd: как читать метки cdrom

Я пытаюсь создать образ NetBSD для использования в моем облаке opennebula, и для его контекстуализации мне нужно найти диск с надписью "CONTEXT", на самом деле это компакт-диск, обычно в Debian, я бы искал его в /dev/disk/by-label, но в NetBSD история кажется другой, и я попытался использовать метку диска, но я нашел только "фиктивный" ярлык на диске: NetBSDImage# disklabel /dev/cd0 # /dev/cd0d: type: ATAPI disk: iso partition label: fictitious flags: removable bytes/sector: 2048 sectors/track: 100 tracks/cylinder: 1 sectors/cylinder: 100 cylinders: 2 total sectors: 181 rpm: 300 interleave: 1 trackskew: 0 cylinderskew: 0 headswitch: 0 # microseconds track-to-track seek: 0 # microseconds drivedata: 0

4 partitions: # size offset fstype [fsize bsize cpg/sgs] a: 181 0 ISO9660 0 # (Cyl. 0 - 1*) d: 181 0 UDF # (Cyl. 0 - 1*) disklabel: boot block size 0 disklabel: super block size 0 disklabel: partitions a and d overlap

Я не понимаю, как я могу сделать то же самое в NetBSD, проверяя, есть ли диск с именем "CONTEXT" для его монтирования. План B состоит в том, чтобы просто смонтировать компакт-диск, если он доступен, и проверить, существует ли файл context.sh, но я бы предпочел сделать это правильно, проверив имя диска.

1 ответ

Вы можете использовать команду file(1) на устройстве CD-ROM.

Например, у меня в приводе CD-ROM есть NetBSD 7 iso:

$ sudo file -s /dev/cd0d
/dev/cd0d: # ISO 9660 CD-ROM filesystem data 'NETBSD_70_BETA' (bootable)

Идентификатор тома здесь "NETBSD_70_BETA"

Вы также можете установить isoinfo из pkgsrc (sysutils/cdrtools) и sed/grep нужных вам данных:

$ sudo isoinfo -d -i /dev/cd0d
CD-ROM is in ISO 9660 format
System id: NetBSD
Volume id: NETBSD_70_BETA
Volume set id: 
Publisher id: THE_NETBSD_PROJECT
...

Больше информации можно найти в вики.

Другие вопросы по тегам