Содержание
- 12.1. Инициализация и использование флоппи-дисков
- 12.2. Использование диска ZIP
- 12.3. Чтение данных с CD в NetBSD
- 12.4. Чтение мульти-сессионных CD в NetBSD
- 12.5. Доступ непривилегированных пользователей к CD
- 12.6. Монтирование образов ISO
- 12.7. Использование video CD с NetBSD
- 12.8. Использование audio CD в NetBSD
- 12.9. Создание файлов MP3 (MPEG layer 3) из audio CD
- 12.10. Использование CD-R для записи данных
- 12.11. Создание диска с аудио-данными
- 12.12. Создание audio CD из mp3s
- 12.13. Копирование audio CD
- 12.14. Копирование CD, имея два привода
- 12.15. Использование CD-RW rewritables
- 12.16. Поддержка DVD
- 12.17. Создание ISO образа из CD
- 12.18. Получение информации о диске с CD и ISO образа
12.1. Инициализация и использование флоппи-дисков
Флоппи-диски, как и прочие дисковые устройства, очень похожи на жесткие диски, за исключением того, что нуждаются в первоначальном низкоуровневом форматировании. Для использования обычной 1440 KB дискеты, вставленной в первый дисковод, сперва (с правами пользователя root) отформатируйте ее::
#
fdformat -f /dev/rfd0a
Затем, создайте единственный раздел, используя disklabel(8):
#
disklabel -rw /dev/rfd0a floppy3
Создайте маленькую файловую систему, оптимизированную для маленького пространства:
#
newfs -m 0 -o space -i 16384 -c 80 /dev/rfd0a
Теперь дискета может быть смонтирована как любой другой диск. Если у вас имеется дискета с уже созданной на ней файловой системой MS-DOS и вы хотите сделать ее доступной из NetBSD, то воспользуйтесь следующей командой:
#
mount -t msdos /dev/fd0a /mnt
Однако, вместо того, чтобы использовать дискеты подобно обычным(большим) дискам, часто бывает удобно пропустить файловую систему и отправлять файлы на потоковое устройство:
#
tar cvfz /dev/rfd0a file1 file2 ...
При работе с дискетами MS-DOS, как вариант, можно использовать пакет sysutils/mtools
, который позволит избежать опасностей, связанных с извлечением неотмонтированной файловой системой.
12.2. Использование диска ZIP
- Убедитесь, что в вашей системе установлен привод ZIP:
#
dmesg | grep -i zip
sd0 at atapibus0 drive 1: <IOMEGA ZIP 100 ATAPI, , 14.A> type 0 direct removableТак, один видим, он отображается sd0, как любой другой SCSI диск. Тот факт, что ZIP подключен к ATAPI, не имеет значения — SCSI ZIP определится точно также. ZIP помечен командой «removable», что позволяет использовать команду:
#
eject sd0
- Вставьте ZIP диск
- Проверьте состояние разделов ZIP:
#
disklabel sd0
#
/dev/rsd0d: type: ATAPI ... 8 partitions:#
size offset fstype [fsize bsize cpg] d: 196608 0 unused 0 0 # (Cyl. 0 - 95) h: 196576 32 MSDOS # (Cyl. 0*- 95) disklabel: boot block size 0 disklabel: super block size 0- Раздел d
- обозначает весь диск, что традиционно для i386.
- Раздел h
- то, что вы ищете. Вы можете видеть, что на разделе используется файловай система MS-DOS.
Следовательно, для доступа к диску, используйте раздел /dev/sd0h.
- Примонтируйте его:
#
mount -t msdos /dev/sd0h /mnt
- Получите доступ к файлам:
#
ls -la /mnt
total 40809 drwxr-xr-x 1 root wheel 16384 Dec 31 1979 . drwxr-xr-x 28 root wheel 1024 Aug 2 22:06 .. -rwxr-xr-x 1 root wheel 1474560 Feb 23 1999 boot1.fs -rwxr-xr-x 1 root wheel 1474560 Feb 23 1999 boot2.fs -rwxr-xr-x 1 root wheel 548864 Feb 23 1999 boot3.fs -rwxr-xr-x 1 root wheel 38271173 Feb 23 1999 netbsd19990223.tar.gz - Отмонтируйте ZIP:
#
umount /mnt
#
- Выньте ZIP:
#
eject sd0
#
12.3. Чтение данных с CD в NetBSD
Data CD могут содержать программы, музыку (mp3, wav), фильмы (mp3, quicktime), исходные тексты, текстовые файлы и т.д. Перед тем, как получить доступ к этим файлам, CD должен быть подмонтирован к каталогу, подобно жесткому диску. Точно так же как и жесткие диски, имеющие различные файловые системы (ffs, lfs, ext2fs, …), CD так же имеет файловую систему, называемую «cd9660». Реализованная в NetBSD файловая система cd9660 может использоваться как с поддержкой расширений Rockridge и Joliet, так и без них.
Устройства CD именуются как /dev/cd0a для SCSI и IDE (ATAPI).
Вы можете начать, имея эту информацию:
- Убедитесь в наличии привода CD:
#
dmesg | grep ^cd
cd0 at atapibus0 drive 0: <CD-R/RW RW8040A, , 1.12> type 5 cdrom removable cd0: 32-bit data port cd0: drive supports PIO mode 4, DMA mode 0 cd0(pciide0:1:0): using PIO mode 0, DMA mode 0 (using DMA data transfers)Здесь показано, что у вас имеется одни диск, «cd0». Это устройство IDE/ATAPI находится на шине atapibus0. Конечно, это устройство является сменным. Смотрите ниже.
- Вставьте CD
- Вручную примонтируйте CD:
#
mount -t cd9660 /dev/cd0a /mnt
#
Эта команда ничего не выводит. Она указывает системе примонтировать CD, находящийся по адресу /dev/cd0a, используя файловую систему «cd9660» к точке монтирования «/mnt», которая при этом, обязательно должна существовать.
- Проверьте содержимое CD:
#
ls /mnt
INSTALL.html INSTALL.ps TRANS.TBL boot.catalog INSTALL.more INSTALL.txt binary installation#
Все просто здорово! Конечно, это NetBSD CD 🙂
- Отмонтируйте CD:
#
umount /mnt
#
Учтите, что если какая-либо программа обращается к этому каталогу (например «cd» с другой консоли), то эта команда не сработает. Если вы выключаете систему, то диск отмонтируется автоматически, не волнуйтесь.
- Создайте запись в /etc/fstab:
Если вы не хотите каждый раз вводить полностью команду «mount», то есть возможность внести соответствующие значения в /etc/fstab:
# Device mountpoint filesystem mount options /dev/cd0a /cdrom cd9660 ro,noauto
Необходимо создать точку монтирования
/cdrom
, выполните:#
mkdir /cdrom
#
Теперь вы можете примонтировать диск следующей командой:
#
mount /cdrom
#
Доступ к диску и его отмонтирование осуществляется как и прежде.
CD не будет примонтирован во время начальной загрузки, если указать опцию «noauto». Эта функция достаточно полезна, так как вы не будете все время иметь диск в приводе. Для получения дополнительной информации, обратитесь к man.mount.8; и mount_cd9660(8).
- Открыть CD:
#
eject cd0
#
Если диск примонтирован, то извлечь вы его не можете.
12.4. Чтение мульти-сессионных CD в NetBSD
Используйте mscdlabel(8) для добавления всех сессий к метке диска и затем используйте соответствующую ноду устройства для монтирования интересующей вас сессии. Возможно, вам придется создать необходимую ноду в /dev
вручную. Например:
#
mscdlabel cd1
track (ctl=4) at sector 142312 adding as 'a' track (ctl=4) at sector 0 adding as 'b'#
ls -l /dev/cd1b
ls: /dev/cd1b: No such file or directory#
cd /dev
#
ls -l cd1*
brw-r----- 1 root operator 6, 8 Mar 18 21:55 cd1a brw-r----- 1 root operator 6, 11 Mar 18 21:55 cd1d#
mknod cd1b b 6 9
создаст /dev/cd1b
. Проверьте права доступа для всех создаваемых вами устройств:
#
ls -l cd1*
brw-r----- 1 root operator 6, 8 Mar 18 21:55 cd1a brw-r--r-- 1 root wheel 6, 9 Mar 18 22:23 cd1b brw-r----- 1 root operator 6, 11 Mar 18 21:55 cd1d#
chgrp operator cd1b
#
chmod 640 cd1b
#
ls -l cd1*
brw-r----- 1 root operator 6, 8 Mar 18 21:55 cd1a brw-r----- 1 root operator 6, 9 Mar 18 22:24 cd1b brw-r----- 1 root operator 6, 11 Mar 18 21:55 cd1d
Теперь вы можете монтировать их.
#
mount /dev/cd1b /mnt
12.5. Доступ непривилегированных пользователей к CD
По умолчанию, в NetBSD только пользователь «root» имеет право монтировать файловые системы. Если вы хотите дать такую возможность пользователям, то выполните следущее:
- Дать права доступа к устройству.
#
chmod go+rw /dev/cd0a - Указать NetBSD, что пользователи имеют право монтировать файловые системы.
#
sysctl -w vfs.generic.usermount=1Обратите внимание, что это будет работать для всех устройств и файловых систем, а не только для CD с файловой системой ISO 9660.
Для нормальной работы нам необходимо создать точку монтирования. Например:
$
cd $HOME$
mkdir cdrom$
mount -t cd9660 /dev/cd0a `pwd`/cdrom
Пожалуйста, посмотрите mount(8) и, в качестве альтернативы, amd(8). Файлы примеров можно найти в /usr/share/examples/amd
.
12.6. Монтирование образов ISO
Иногда бывает необходимо примонтировать образ ISO9660 файла перед тем, как прожечь его на диск. Если вы ранее работали с Linux, то знаете, что там это делается с помощью специальной файловой системы loop. В NetBSD испольуется другой путь: псевдо-диск vnode.
Иллюстрируем это примером. Предположим, что у вас есть ISO образ в вашем домашнем каталоге, называемый «mycd.iso»:
- Запустим новую vnode, «указав» на файл ISO:
#
vnconfig -c vnd0 ~/mycd.iso
- Монтируем vnode:
#
mount -t cd9660 /dev/vnd0a /mnt
- Ух ты! Содержимое образа стало доступно в
/mnt
! Идите в этот каталог и работайте с образом. - Отмонтировать образ можно следующим образом:
#
umount /mnt
- Затем, отконфигурируем vnode:
#
vnconfig -u vnd0
Обратите внимани, что этот метод может быть применен к любому файлу, содержащему файловую систему, а не только к образу ISO.
Для получения дополнительной информации обратитесь к vnd(4) и vnconfig(8).
12.7. Использование video CD с NetBSD
Для проигрывания MPEG Video, примонтируйте CD как обычный диск с данными (смотрите Раздел 12.3, «Чтение данных с CD в NetBSD») и затем воспользуйтесь пакетами graphics/mtv,
multimedia/xine-ui,
multimedia/mplayer
or multimedia/gmplayer
для воспроизведения mpeg файлов, сохраненных на CD.
12.8. Использование audio CD в NetBSD
Есть два способа работать с аудио компакт-дисками:
- Указать приводу проигрывать диск через наушники или звуковую карту, к которой привод CDROM должен быть непосредственно подключен. Для этого используйте такие программы, как cdplay(1),
audio/xmcd
, «kscd» из пакетаaudio/kdemultimedia
, миксеры mixerctl(1),audio/xmix
,audio/xmmix
, базирующуюяся на Cursesaudio/cam
или kmix, также являющейся частью пакетаaudio/kdemultimedia
.Обычно, это работает на всех типах приводов — SCSI и IDE (ATAPI) CDROM, CDRW и DVD.
- Читать («rip») аудиотрэки в бинарном виде без цифро->аналогового преобразования. Для этого существует несколько программ:
- Для большинства приводов ATAPI, SCSI и некоторых пропиетарных стандартов может использоваться пакет
audio/cdparanoia
. С помощью этого пакета, данные могут быть сохранены в файл или направлены на стандартный выход в формате WAV, AIFF, AIFF-C или raw. В настоящее время, для версии cdparanoia, используемой в NetBSD, требуется указание опции -g. Приедем пример, где мы сохраняем 2-ой трэк диска в формате WAV:$
cdparanoia -g /dev/rcd0d 2 track-02.wav
Если вы хотите грабить все файлы с диска,то вам может быть полезен пакетный режим:
$
cdparanoia -g /dev/rcd0d -B
- Для приводов ATAPI или SCSI CD-ROM может быть использован пакет
audio/cdd
. Для распаковки 2-го трэка с помощью cdd необходимо:#
cdd -t 2 `pwd`
Эта команда поместит файл, называемый
track-02.cda
в текущий каталог. - Так же, для приводов SCSI может использоваться пакет
audio/tosha
. Для распаковки 2-го трэка с помощью tosha необходимо:#
tosha -d
-t 2 -o track-02.cdaCD-ROM-device
Полученные данные могут быть затем кодированы в поток MP3 (смотрите Раздел 12.9, «Создание файлов MP3 (MPEG layer 3) из audio CD») или записаны на CD-R (смотрите Раздел 12.11, «Создание диска с аудио-данными»).
- Для большинства приводов ATAPI, SCSI и некоторых пропиетарных стандартов может использоваться пакет
12.9. Создание файлов MP3 (MPEG layer 3) из audio CD
Основными шагами, необходимыми для создания файла MPEG layer 3 (MP3) из audio CD (используя программное обеспечение из коллекции портов NetBSD) являются:
- Распаковка (rip) аудио данных с CD как указано в Раздел 12.8, «Использование audio CD в NetBSD».
- Конвертация CD audio в формат WAV. Для этого просто необходимо дать задание необходимой программе (такой как tosha или cdd).
- Используя пакет
audio/sox
выполните:$
sox -s -w -c 2 -r 44100 -t cdr track-02.cda track-02.wavона конвертирует
track-02.cda
из raw CD format вtrack-02.wav
формата WAV, используя signed 16-bit words with 2 channels at a sampling rate of 44100kHz.
- Используя пакет
- Кодирование WAV файла в формат MP3.
- Используя пакет
audio/bladeenc
, выполните:$
bladeenc -128 -QUIT track-02.wavЭта команда кодирует
track-02.wav
в файлtrack-02.mp3
формата MP3 с битрейтом 128kBit/sec. В документации на bladeenc найдется дополнительная информация. - При использовании пакета
audio/lame
введите:$
lame -p -o -v -V 5 -h track-02.wav track-02.mp3Вы можете использовать более низкое качество, в зависимости от вашего вкуса и аппаратных средств.
- Используя пакет
Готовый файл можно прослушать одним из следующих пакетов: audio/gqmpeg
, audio/maplay
, audio/mpg123
или audio/splay
.
12.10. Использование CD-R для записи данных
Процесс записи разделяется на два шага, первый заключается в создвнии образа диска, а второй — непосредственно в записи его на носитель.
- Чтоение существующего ISO образа
#
dd if=/dev/rcd0a of=filename.iso bs=2k
#
Вы можете самостоятельно создать образ:
- Создание ISO образа
Поместите исходные данные в один каталог. Образ диска содержит данные, помещаемые на диск в том виде, в котором они будут отображаться, используя формат ISO 9660. Базовый формат ISO 9660 пониает только имена 8+3 (имя и расширение). Поскольку это не соответствует практике Unix, то используется расширение «Rockridge Extension», поддерживающее длинные имена. В мире Microsoft так же есть подобное расширение, оно называется Joliet.
Образ диска создается командой mkisofs из пакета
sysutils/cdrecord
.Пример: если ваши данные находятся в каталоге /usr/tmp/data, вы можете создать образ /usr/tmp/data.iso следующей командой:
$
cd /usr/tmp$
mkisofs -o data.iso -r data Using NETBS000.GZ;1 for data/binary/kernel/netbsd.INSTALL.gz (netbsd.INSTALL_TINY.gz) Using NETBS001.GZ;1 for data/binary/kernel/netbsd.GENERIC.gz (netbsd.GENERIC_TINY.gz) 5.92% done, estimate finish Wed Sep 13 21:28:11 2000 11.83% done, estimate finish Wed Sep 13 21:28:03 2000 17.74% done, estimate finish Wed Sep 13 21:28:00 2000 23.64% done, estimate finish Wed Sep 13 21:28:03 2000 ... 88.64% done, estimate finish Wed Sep 13 21:27:55 2000 94.53% done, estimate finish Wed Sep 13 21:27:55 2000 Total translation table size: 0 Total rockridge attributes bytes: 5395 Total directory bytes: 16384 Path table size(bytes): 110 Max brk space used 153c4 84625 extents written (165 Mb)$
Обратитесь к странице руководства man mkisofs(8), для получения дополнительной информации по опциям утилиты. Документ Bootable CD ROM How-To поможет вам создать загрузочный CD.
- Запись образа на CD-R
После того, как вы создали образ диска, необходимо записать его на CD. Это делается с помощью команды «cdrecord» пакета
sysutils/cdrecord
package. Вставьте пустой диск в привод и выполните:#
cdrecord -v dev=/dev/rcd0d data.iso
...#
В процессе выполнения вам будет показано много информации о приводе, диске и образе. Также идет обратный 10-ти секундный отсчет, что дает последнюю возможность отменить прожиг (при нажатии ^C).
Обратите внимание, что cdrecord(8) работает как со SCSI, так и с IDE (ATAPI) приводами.
- Проверка
Подмонтируйте записанный CD и проверьте доступность данных, смотрите Раздел 12.3, «Чтение данных с CD в NetBSD».
12.11. Создание диска с аудио-данными
Если вы хотите сделать резервную копию одного из ваших аудио компакт-дисков, то можно извлечь («ripping») данные с диска и записать их на новый диск. Конечео, все прекрасно работает и в случае, если вы берете трэки с разных дисков, то есть вы можете создать диск, содержащий выбранные вами композиции!
Последовательность действий следущая:
- Взать («rip») аудио-трэки руководствуясь Раздел 12.8, «Использование audio CD в NetBSD», в результате чего получим файл .wav
- Запишем файл .wav, используя
sysutils/cdrecord
:#
cdrecord -v dev=/dev/rcd0d -audio -pad *.wav
12.12. Создание audio CD из mp3s
If you have converted all your audio CDs to mp3 and now want to make a mixed CD for your (e.g.) your car, you can do so by first converting the .mp3 files back to .wav format, then write them as a normal audio CD.
Необходимые шаги :
- Cоздаем .wav из .mp3:
$
mpg123 -w foo.wav foo.mp3
Сделайте это для всех mp3 файлов, которые вы хотите иметь на вашем аудио компакт-диске. Имена файлов .wav, которые вы используете, не имеют значения.
- Записать .wav на CD, как описано в Раздел 12.11, «Создание диска с аудио-данными».
12.13. Копирование audio CD
Копировать аудио компакт-диск без пауз, как это определяется стандартом CDDA вы можете используя утилиту cdrdao.:
#
cdrdao read-cd --device /dev/rcd0d data.toc
#
cdrdao write --device /dev/rcd1d data.toc
12.14. Копирование CD, имея два привода
Если у Вас на машине установлен и CD-R и CD-ROM, то Вы можете скопировать диск следующей командой:
#
cdrecord dev=/dev/rcd1d /dev/rcd0d
Здесь CD-ROM (cd0) содержит компакт-диск, который Вы хотите копировать и CD-R (cd1) содержит чистый диск. Обратите внимание, что это работает только с компьютерными дисками, которые содержат некоторый вид данных, и не работает с аудио компакт-дисками! На практике Вы можете захотеть добавить такой параметр, как «speed=8
» чтобы ускорить поцесс.
12.15. Использование CD-RW rewritables
Вы можете работать с приводом CD-RW точно так же, как и с приводом CD-R (смотрите Раздел 12.10, «Использование CD-R для записи данных»), создавая образы с помощью mkisofs(8) и записывая их с помощью cdrecord(8). Если Вы хотите очистить диск, Вы можете выбрать опцию «blank
«:
#
cdrecord dev=/dev/rcd0d blank=fast
Есть еще несколько способов стереть CD-RW диск, их можно посмотреть вызвав cdrecord(8) с опцией «blank=help
«. Смотрите руководство cdrecord(8) для получения дополнительной информации.
12.16. Поддержка DVD
В настоящее время NetBSD поддерживает DVD через ISO 9660, используемую для приводов CD-ROM. Новая файловая система UDF, представленная на DVD, в настоящее время не поддерживается. DVDs, DivX и другие avi файлы можно просмотреть с помощью multimedia/ogle
или multimedia/gmplayer
.
Некоторые советы по созданию DVD смотрите в статье о growisofs и в этой статье, посвязенной записи CD и DVD в NetBSD.
12.17. Создание ISO образа из CD
Для создания ISO образа и контрольной суммы:
#
readcd dev=/dev/cd0d f=/tmp/cd.iso
Или используйте dd(1):
#
dd if=/dev/cd0d of=/tmp/cd.iso bs=2048
Если диск содержит ошибку, то вы можете попытаться восстановить сохранившееся:
#
dd if=/dev/cd0d of=/tmp/cd.iso bs=2048 conv=noerror
Для создания ISO образа, необходимо сперва примонтировать диск:
#
mount -t cd9660 -r /dev/cd0d /mnt/cdrom
Во вторых, получить образ:
#
mkhybrid -v -l -J -R -o /tmp/my_cd.iso /mnt/cdrom/
12.18. Получение информации о диске с CD и ISO образа
Вы можете прочитать информацию о неотмонтированном диске следующей командой:
#
file -s /dev/cd0d
Вы можете прочитать информацию об ISO образе следующей командой:
#
isoinfo -d -i /tmp/my_cd.iso
Вы можете просмотреть уникальный номер неотмонтированного диска следующей командой:
#
cd-discid /dev/cd0d
Вы можете просмотреть таблицу содержимого неотмонтированного диска следующей командой:
#
cdrecord -v dev=/dev/cd0d -toc