Automount mini-Howto 文件系统自动挂载程序( 二 )





--------------------------------------------------------------------------------

--------------------------------------------------------------------------------

4. 等待卸下档案系统可真是漫长
有些人可能眼睁睁等著 60 秒的 timeout 时间到并且想著 如果要退出磁片这可真是太久了.. 也许我可以直接对磁碟下 sync 然後拿出磁片而且没有人会注意到 。让我来建议一个 比较理智的替代方案 。首先呢,你可以改变 timeout 的值,但是在使用後的15秒或其他秒数就让系统卸下档案系统似乎有点没效率 。实际上有一个方法可以让档案系统自动挂载程式卸下档案系统 。如果你送一个(用 kill 程式) 讯号 SIGUSR1 给档案系统自动挂载程序,它会卸下任何它可以卸下的 。但是人们开始在他们的视窗管理程式上做一个卸下档案系统的按钮之前,还有一个小问题 。

档案系统自动挂载程序是被 root 所执行的,所以它只能接受 root 的讯号 。你想用档案系统自动挂载程式可能有半数以上的理由是因为你不是系统管理员却想要挂入和卸下档案系统 。写一个可以设定使用者身份识别码的C程式可以轻易达成,但这样的方法并不好 。不管怎样,藉由 sudo 程式也可以允许使用者送出一些适当的 kill 讯号 。唯一的问题是 sudo 并不允许你以 ` 来执行次命令,所以你必须自己找出 autofs 的程序识别码 。你应该有一个程式叫做 killall,这可以让你做到这些: (幸好有这些个建议)


ALL ALL=NOPASSWD:/usr/bin/killall -USR1 automount

否则,你要允许你的使用者送 -SIGUSR1 给所有的程序 。这对一些程式有不同的影响;它可能会使某些视窗管理器重新启动,而且终止 xemacs 。所以在这儿希望 killall 没有缓冲区溢出的问题...


--------------------------------------------------------------------------------

--------------------------------------------------------------------------------

5. 问题


5.1 我找不到 /auto/floppy ,或任何我要找的挂载点 。
如果 automount 正确的安装,即使没用到时看不到这些挂载点,当你试著用它时,任何你要的挂载点都会在那儿 。如果你用图形界面的目录浏览程式,你可能要手动打入挂载点的名字 。不幸的是,无法从看不见的这些挂载点中选出所要用的,正是 autofs 的主要缺点 。如果这造成你的问题,去编辑设定档案 。(提示,就是那些结尾是 .c 的档)


5.2 我怎麽看到已经挂载哪些东西?
用 df 命令 。mount 不加任何的选项也有同样的功能,并且秀出它所挂上的一些选项 。


5.3 我放进一片 win95 的磁片 ("vfat") 而它却自动侦测到它只是一片一般的 FAT 磁片 。
这不是档案系统自动挂载程式的问题 。当这份文件正在写的时候, "auto" 这种档案种类在成功的挂载一个 msdos 档案系统之前并不会尝试 vfat 的挂载 。VFAT 就是把 Win95 和 WinNT 的长档名挤进 FAT/MSDOS 档案系统 。


根据 mount 的其中一个作者说,因为 mount 只是包装了一个必须指定档案系统种类的系统呼叫,把档案系统种类弄清楚仍然是使用者的责任 。让 mount 照著列表的顺序,去一种一种的档案系统去试,而不是用目前仍在考虑的启发式的方法 。我确定如果有任何人想要努力找出 mount 程式的作者(们),他们将会欢迎你的建议 。所以现在呢,这表示你不能挂载 vfat 除非你放弃自动侦测其他档案系统的能力 。希望这很快就能改进 。在此同时,你已经可以很自由的建立多个挂载点并指定不同的档案系统 。

推荐阅读