《NetBSD指南-13.3.用NetBSD读取数据CD》
发表于 : 2010-03-02 15:54
数据CD上可以包含任何数据从程序、音频文件(MP3, wav), 电影(MP3, QuickTime) 到源代码、文本文件等。 在你访问这些文件之前, 这张CD必须挂载在一个目录上, 和硬盘很像。只不过硬盘可以使用不同的文件系统 (ffs, lfs, ext2fs, ...), 而CD有自己的文件系统, "cd9660"。NetBSD的cd9660文件系统可以处理有和没有Rockridge and Joliet扩展的文件系统。
无论是SCSI 和 IDE (ATAPI)两种中哪种,CD设备全被命名为 /dev/cd0a .
有了这个信息,我们可以开始了:
检查一下你的系统上有没有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 到 /mnt目录, 使用 "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正被访问(例如,在其它的shell上,有用户进入了这个挂载目录),它将不能被卸载。 如果你想关闭系统, 这张CD会被自动卸载 , 而不必因此有任何担心。
在 /etc/fstab 文件里建立一个相关项:
如果你不想每次全输入全部的 "mount" 命令, 你可以将大部分值放入 /etc/fstab文件的一行内:
# Device mountpoint filesystem mount options
/dev/cd0a /cdrom cd9660 ro,noauto
请确认挂载点已经存在, 本例中也就是/cdrom 目录:
# mkdir /cdrom
#
现在已可以使用下列命令来挂载这张CD:
# mount /cdrom
#
访问和卸载它和前面的方法一样。
这张CD没有在启动时被挂载是因为这个 "noauto" 的mount选项 - 这通常是因为一般你的CD驱动器中没有CD盘。看 mount(8) 和mount_cd9660(8) 以获取更多的信息。
退出CD盘:
# eject cd0
#
如果CD还被挂载着, 你需要先卸载它,然后在取出它。
无论是SCSI 和 IDE (ATAPI)两种中哪种,CD设备全被命名为 /dev/cd0a .
有了这个信息,我们可以开始了:
检查一下你的系统上有没有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 到 /mnt目录, 使用 "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正被访问(例如,在其它的shell上,有用户进入了这个挂载目录),它将不能被卸载。 如果你想关闭系统, 这张CD会被自动卸载 , 而不必因此有任何担心。
在 /etc/fstab 文件里建立一个相关项:
如果你不想每次全输入全部的 "mount" 命令, 你可以将大部分值放入 /etc/fstab文件的一行内:
# Device mountpoint filesystem mount options
/dev/cd0a /cdrom cd9660 ro,noauto
请确认挂载点已经存在, 本例中也就是/cdrom 目录:
# mkdir /cdrom
#
现在已可以使用下列命令来挂载这张CD:
# mount /cdrom
#
访问和卸载它和前面的方法一样。
这张CD没有在启动时被挂载是因为这个 "noauto" 的mount选项 - 这通常是因为一般你的CD驱动器中没有CD盘。看 mount(8) 和mount_cd9660(8) 以获取更多的信息。
退出CD盘:
# eject cd0
#
如果CD还被挂载着, 你需要先卸载它,然后在取出它。