⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cdrom-howto-6.html

📁 Linux初学者最好的老师就是howto了。相当于函数man。
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<!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 /cdrom
umount: /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, 允许显示``主目录&quot; (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 + -