📄 cdrom-howto-6.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"><HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312"> <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.7"> <TITLE>The Linux CD-ROM HOWTO -- 如何在 Linux 下安装及使用 CD-ROM: 常见问题与解答</TITLE> <LINK HREF="CDROM-HOWTO-7.html" REL=next> <LINK HREF="CDROM-HOWTO-5.html" REL=previous> <LINK HREF="CDROM-HOWTO.html#toc6" REL=contents></HEAD><BODY><A HREF="CDROM-HOWTO-7.html">Next</A><A HREF="CDROM-HOWTO-5.html">Previous</A><A HREF="CDROM-HOWTO.html#toc6">Contents</A><HR><H2><A NAME="s6">6. 常见问题与解答</A></H2><P><P><H2><A NAME="ss6.1">6.1 没有 root 身份的人, 如何挂上及卸下光碟片</A></H2><P><P>多数 mount 命令支援<EM>user</EM>选项. 假设你在 /etc/fstab 里加入了这样一行:<P><BLOCKQUOTE><CODE><PRE>/dev/sbpcd /mnt/cdrom iso9660 user,noauto,ro</PRE></CODE></BLOCKQUOTE><P>那麽普通使用者就可以像下面这样挂上或卸下这台机器的资料:<P><BLOCKQUOTE><CODE><PRE>% mount /mnt/cdrom% umount /mnt/cdrom</PRE></CODE></BLOCKQUOTE><P>挂上程序将会加上一些额外选项以确保系统安全(例如: 程式不准执行, 片子上的设备档将失效(不予理会)); 在有时候这限制当然严了点.<P>另一个办法就是抓 usermount, 它允许非 root 之使用者挂上/卸下可移除设备, 如软碟及 CD-ROM 等, 但限制对其它设备的动作(如硬碟分割区). 它在主要的档案库都有.<P>在 ftp.cdrom.com 里有 mount.c 的原始码, 它允许一般使用者挂上/卸下 CD-ROM. 它必须 setuid 後才能这麽做.<P>(译注 : setuid 是指, 将执行档执行时的权限变成和执行档所有人相同. 普通执行档执行时, 权限是执行者的权限, 这样的话很多程式都不能跑(如: 你不能修改/etc/passwd,所以不能变更密码.). 而如果setuid, 该档又是root所有, 这种执行档就有root权限了.(像passwd程式就是靠这个改密码的). 不过 setuid 反过来也可能是系统安全的主要漏洞.)<P><H2><A NAME="ss6.2">6.2 为何我要卸下光碟时, 却得到 "device busy" 讯息?</A></H2><P><P>如果有任何程序正在存取这机器, 包括它们的现行目录正在它上面, 那就不能卸下. 如果你实在不晓得那个程序正在使用这片光碟, 你可以像下例一样的用 fuser 命令:<P><BLOCKQUOTE><CODE><PRE>% umount /cdromumount: /dev/hdd: device is busy% fuser -v /cdrom/cdrom: USER PID ACCESS COMMAND tranter 133 ..c.. bash</PRE></CODE></BLOCKQUOTE><P><H2><A NAME="ss6.3">6.3 我如何将 CD-ROM 用 NFS 与其它电脑共享?</A></H2><P><P>你需要在/etc/exports档中加入一个项目; 这样别的机器的使用者就可以挂上它了. 请看exports(5) 这份说明页.<P><H2><A NAME="ss6.4">6.4 我能用 CD-ROM 起动 Linux 吗?</A></H2><P><P>当安装 Linux 时最常用的方法是用软碟开机片, 有些 Linux 组件可以直接由 DOS 起动光碟上的 Linux 核心.<P>Michael Fulbright (msf@redhat.com) 回报说若有正确的CD-ROM片子, ROM BIOS及ATAPI CD-ROM机器, 从CD直接开机是可能的. 最新版的mkisofs也支援制作这种片子.他也加入了一些修补, 以支援这种开机光碟的El Torito标准.<P><H2><A NAME="ss6.5">6.5 如何从 CD 唱片直接抓取数位音轨?</A></H2><P><P>Heiko Eissfeldt(<A HREF="mailto:heiko@colossus.escape.de">heiko@colossus.escape.de</A>)和 Olaf Kindel 写了一个公用程式可以读取音讯资料, 并将它存成 .wav 格式的声音档. 这个程式叫 cdda2wav.tar.gz, 可以在 sunsite.unc.edu 找到. <P>因为 CD-ROM 世代交替太快了, 很难列出哪些 CD-ROM 可读取数位音乐资料. 你最好的赌注是抓最新版的 cdda2wav 套件, 并读它的文件.<P>若想要更进一步的资讯, 请上<A HREF="http://www.tardis.ed.ac.uk/~psyche/pc/cdrom/CDDA.html">http://www.tardis.ed.ac.uk/~psyche/pc/cdrom/CDDA.html</A>这个站台看看, 还有参阅 alt.cdrom FAQ 的 reference 那节.<P><H2><A NAME="ss6.6">6.6 为什麽 find 命令不太正常?</A></H2><P><P>在没有 Rock Ridge Extension 的 ISO-9660 光碟上, 你需要在 find 後加上 -noleaf 这选项. 请参考 find(1) 说明页. <P>(在我的经验中几乎所有 Linux CD-ROM 都用 Rock Ridge Extension, 这问题的发生率应该极低.)<P><H2><A NAME="ss6.7">6.7 Linux 是否支援任何 CD-ROM 的烧录设备?</A></H2><P><P>X-CD-Roast 套件(Linux 版)是使用 CD 烧录机的图形化前端介面. 此套件可在 sunsite.unc.edu 里的 /pub/Linux/utls/disk-management/xcdroast-0.95.tar.gz 找著.<P>也请参考 Linux CD-Writer mini-HOWTO 文件, 可在<A HREF="ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/mini/CD-Writer">ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/mini/CD-Writer</A>或 <A HREF="http://sunsite.unc.edu/mdw/HOWTO/CD-Writer.html">http://sunsite.unc.edu/mdw/HOWTO/CD-Writer.html</A> 处找到.<P>(译注 : 有位仁兄(不知道叫什麽名字)有写他对 CD-ROM 烧录机的心得, 在<A HREF="http://mail.ncku.edu.tw/~thlx/">http://mail.ncku.edu.tw/~thlx/</A>, 可以参观.)<P><H2><A NAME="ss6.8">6.8 我挂载 CD-ROM 时得到: Read-Only file system 讯息?</A></H2><P><P>CD-ROM 是只能读取的媒体. 旧版的核心你能用可读写方法挂上 CD-ROM, 然後尝试写资料进去并不会产生任何讯息. 在 1.1.83 版後, 这被修正为 CD-ROM 必须以唯读方式挂上(就是说 mount 要有 -r 选项 ).<P><H2><A NAME="ss6.9">6.9 我关机时, 为什麽托盘自动退出来?</A></H2><P><P>在 1.1.38 版核心, sbpcd 在卸下片子时会自动退片. 如果你下了关机指令, 那麽挂上的CD 就会被卸下, 然後就退出来.<P>这样子在换片时很方便. 如果托盘打开状态下你挂上或读取CD, 那麽它也会自动进片.<P>我发现有时这功能会造成问题(如 cdplay 及 workbone). 在 1.1.60 版核心你可以用软体决定要不要用这功能. 有个□例程式包含在 sbpcd 的文件里. (或者用<A HREF="ftp://sunsite.unc.edu/pub/Linux/utils/disk-management/eject-1.1.tar.gz">eject</A> 程式).<P><H2><A NAME="ss6.10">6.10 我有一片无法挂上的``特殊''片子</A></H2><P><P>这片``特殊''片子看来像是 XA 碟片(就像相片光碟或用CD-R 烧的 ``一次写入'' (one-offs) 片子)多数 Linux 核心 CD-ROM 驱动程式并不支援 XA 格式, 虽然你也许能在一些档案库找到一些修补.<P>sbpcd 驱动程式是支援 XA 的. 如果你用这驱动程式, 你可以依以下方法确定片子是不是XA 的格式: 修改 sbpcd.c, 允许显示``主目录" (TOC)资讯(DBG_TOC). 然後做新核心, 起动它, 则每次挂上时都会显示 TOC( 由主控台或记录档). 看第一个数字,如果是 20, 那就是 XA 片子, 如果是 00, 那就是普通片子. 如果 TOC 显示不同的轨, 那也是 XA 片子的信号.<P>(感谢 Eberhard Moenkeberg 提供以上资讯)<P>其它的无法读取 CD 可能原因:<OL><LI>它不是用 ISO-9660 档案系统(如 : 有的用 SunOS)</LI><LI>它是 CD 唱片</LI><LI>CD 有损坏或毁伤</LI><LI>你把光碟片放反了 :-)</LI></OL><P><H2><A NAME="ss6.11">6.11 多片装 CD-ROM 在 Linux 下能用吗 ?</A></H2><P><P>好几位使用者已报告 SCSI CD-ROM 多片机种运作顺利. 你也许要打开``Probe all LUNs on each SCSI device'' 的核心选项. 至少有一位使用者发现也要加大驱动程式中的 SCSI 超时等待值(timeout value). Nakamichi MBR-7的七片装及先锋牌的 12 片装已确定能用.<P>EIDE/ATAPI 的多片机种也能使用. 2.0 版核心对一些机器使用 CDROMLOADFROMSLOT 这个ioctl 函式做了初步支援. IDECD 驱动程式的文件档包含了一个原始码可做一般程式选择换片槽的参考. 或者你也可以找最新版的 eject 程式.<P><H2><A NAME="ss6.12">6.12 我收到 ``/cdrom: Permission denied'' 错误</A></H2><P><P>有些 CD 有档案权限, 仅允许 root 读取它. 1995 年三月的 InfoMagic CD set 就是一个好例子. 这真的是很不方便.<P>底下的修补, 由 Christoph Lameter(<A HREF="mailto:clameter@waterf.org">clameter@waterf.org</A>) 好心提供, 用它修补核心, 解决这问题.<P><PRE>From: clameter@waterf.org (Christoph Lameter)Newsgroups: comp.os.linux.setup
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -