Automount mini-Howto 文件系统自动挂载程序
2008-02-23 07:23:56来源:互联网 阅读 ()
--------------------------------------------------------------------------------
这份文件在描述自动档案系统的自动挂载程式,如何设定并指出一些应该避免的问题。
--------------------------------------------------------------------------------
1. 简介
1.1 档案系统自动挂载 - 是什麽及为什麽
档案系统自动挂载是一个可针对特定档案系统自动挂载(卸载)档案系统的 daemon。假如档案系统已经卸下了,而一个使用者尝试去使用它,那麽档案系统会自动的再挂载上去。这在大型的网路环境里,以及一些在机器之间相互挂载档案系统的时候特别有用 (尤其是那些不是一直开机的机器)。对一些可移式的装置或一些其他用途都很有用,像是可以很容易的在 DOS 档案系统上做一些强制的 ascii 的转换。
1.2 档案系统自动挂载程式的种类
在 Linux 上有两种档案系统自动挂载程式; AMD 和 autofs。 AMD 是档案系统自动挂载程式的 daemon ,而且功能就像 SunOS 上的 AMD 一样。它是在 User space 中实作的,就是说它不是核心的一部份。它也不需要核心知道档案系统自动挂载是怎麽一回事,假如你用 NFS 挂上本机的档案系统,透过 AMD ,它帮你处理了所有透过 NFS 系统的档案系统自动挂载时的网路讯息交换。 Autofs 是一个用以辅助核心的新系统,也就是说核心的档案系统程式码知道自动挂载点在哪,以及它底层所使用的档案系统是什麽,然後自动挂载程式便可以开始运作。在这份文件中只会谈到 autofs。
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
2. 安装
因为 autofs 是实作在核心空间,你的核心一定要加入 autofs 支援。在 2.0.xx 版,它还是一个实验性选项,但是已经相当稳定。在版本 2.1.xx (和 2.2.xx) 就不再是实验性的了。
档案系统自动挂载程式和它的设定档都是必备的,用 rpms (在 RedHat 里,是安装的一部份) 是很好的方法。档案系统自动挂载程式应该由 /etc/rc.d/init.d 目录下的RC档启动。 rpm 会替你安装这些程式及设定档,但是你应该去确定它被启动了没,不管是用 RedHat 的 control-panel 或是其他 Linux 套件的任何方式。非 rpm 的套件也会有适合他们自己系统的那一套。假如你正在读这份文件,表示你可能不想知道 rc 做些什麽,所以不必花太多功夫在研究 rc 描述档在做些什麽事。
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
3. 设定
利用 RPM 安装 autofs 将会很轻松地把你带到这个步骤,但是现在的这个部分你可能无法确定你是否曾经做过。
在 /etc 下面有两个档案,一个是 auto.master 而另外一个是 auto.misc 。我的 auto.master 看起来像这样:
/auto /etc/auto.misc --timeout 60
第一个栏位不是挂载点,它是挂载点的集合(在第二个栏位可以找到)所在的地方。第三个选项是说自动挂载的档案系统在使用後的 60 秒後会试著卸载下来。当然,如果正在使用中是不能卸下的。
Auto.misc 是一个 “映射档“。 多个映射档可以在 auto.master 中被定义。我的 auto.misc 看起来像是这样:
kernel -ro,soft,intr ftp.kernel.org:/pub/linux
cd -fstype=iso9660,ro :/dev/cdrom
zip -fstype=auto :/dev/hdd4
floppy -fstype=vfat :/dev/fd0
第一个栏位是挂载点。在这个例子它可能是 /auto/floppy 什麽的。中间栏位是选项;你可以在 mount 的线上使用说明中找到相关的资讯。最後一个栏位指出档案系统的来源。写著 "kernel" 的那一行表示用 NFS 来挂载档案系统。其他行的冒号表示这是本机的装置。
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
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 没有缓冲区溢出的问题...
--------------------------------------------------------------------------------
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:Linux 核心--3.软件基础
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash