方法一、使用
Autofs
1
、
Autofs
的特点:
Autofs
与
Mount/Umount
的不同之处在于,它是一种看守程序(
deamon
)。如果它检测到用户正试图访问一个尚未挂接的文件系统,它就会自动检测该文件系
统,如果该文件系统存在,那么
Autofs
会自动将其挂接。另一方面,如果它检测到某个已挂接的文件系统在一段时间内没有被使用,那么
Autofs
会自动
将其卸载。因此一旦运行了
Autofs
后,用户就不在需要手动完成文件系统的挂接和卸载。
2
、
Autofs
的安装:
只需执行以下一条命令:
rpm
-
ivh autofs
-
3.1.3
-
10.i386.rpm
。安装完成后,以后每次启动
Linux
,
Autofs
都会自动运行。
3
、
Autofs
的配置:首先,
Autofs
需要从
/etc/auto.master
这个文件中读取配置信息。该文件中
可以同时指定多个挂接点,每个挂接点单独用一行来定义
,
每一行可包括
3
个部分,分别用于指定挂接点位置,挂接时需使用的配置文件(即:所谓的
map file)
及所挂接文件系统在空闲多长时间后自动被卸载。例如,
auto.master
文件中包括如下一行:
/auto /etc/auto.misc
--
timeout 60
。
其中第一部分指定一个安装点为
/auto
,第二部分指定
/auto
的
map
文件为
/etc/auto.misc
,第三部分指定文件系统在其空闲
60
秒后自动
被卸载。其次,从
/etc/auto.misc
这个文件读取挂接时需要使用的配置信息。例如,
auto.misc
文件包括如下内容
cd -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom
Windows_C -fstype=auto,iocharset=cp936 :/dev/hda1
Windows_D -fstype=auto,iocharset=cp936 :/dev/hda5
Windows_E -fstype=auto,iocharset=cp936 :/dev/hda6
其中第一行指定将设备
/dev/cdrom
挂接在
/auto
的
cd
子目录中,第二行指定
将硬盘的
Windows
分区挂接在
/auto
的
Windows_*
子目录中。每一行的第二个值-
fstype
是一个可选项,用来表明所挂接的文件系统的类型和挂接选项,在
mount
命令能使用挂接选项同样适用于-
fstype
。
修改了配置文件后,可通过执行命令
“/etc/init.d/autofs restart”
,使新的配置生效。
现在输入命令
“ls /auto/cd”
,
Autofs
会自动检测光驱中是否有光盘,如果有,它会自动将其挂接在
/auto/cd
中,这样
ls
就会列出其中的内容。如果我们在
60
秒内没有再次访问
/auto/cd
时,
Autofs
会自动将其卸载掉。
方法二、修改
/etc/fstab
1
、
fstab
文件的作用
文件
/etc/fstab
存放的是系统中的文件系统信息。当正确的设置了该文件,则可以通过
"mount
/directoryname"
命令来加载一个文件系统,每种文件系统都对应一个独立的行,每行中的字段都有空格或
tab
键分开。同时
fsck
、
mount
、
umount
的等命令都利用该程序。
2
、下面是
/etc/fstab
文件的一个示例行:
fs_spec
fs_file
fs_type
fs_options
fs_dump
fs_pass
/dev/hda1
/
ext2
defaults
1
1
fs_spec
-
该字段定义希望加载的文件系统所在的设备或远程文件系统,对于一般的本地块设备情况来说:
IDE
设备一般描述为
/dev/hdaXN
,
X
是
IDE
设备通道
(a,
b,
or
c)
,
N
代表分区号;
SCSI
设备一描述为
/dev/sdaXN
。对于
NFS
情况,格式一般为
:,
例如:
`knuth.aeb.nl:/'
。对于
procfs
,使用
`proc'
来定义。
fs_file
-
该字段描述希望的文件系统加载的目录点,对于
swap
设备,该字段为
none
;对于加载目录名包含空格的情况,用
40
来表示空格。
fs_type
-
定义了该设备上的文件系统,一般常见的文件类型为
ext2
(Linux
设备的常用文件类型
)
、
vfat(Windows
系统的
fat32
格式
)
、
NTFS
、
iso9600
等。
fs_options
-
指定加载该设备的文件系统是需要使用的特定参数选项,多个参数是由逗号分隔开来。对于大多数系统使用
"defaults"
就可以满足需要。其他常见的选项包括:
选项 含义
ro
以只读模式加载该文件系统
sync
不对该设备的写操作进行缓冲处理,这可以防止在非正常关机时情况下破坏文件系统,但是却降低了计算机速度
user
允许普通用户加载该文件系统
quota
强制在该文件系统上进行磁盘定额限制
noauto
不再使用
mount
-
a
命令(例如系统启动时)加载该文件系统
fs_dump
-
该选项被
"dump"
命令使用来检查一个文件系统应该以多快频率进行转储,若不需要转储就设置该字段为
0
fs_pass
-
该字段被
fsck
命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统
"/"
对应该字段的值应该为
1
,其他文件系统应该为
2
。若该文件系统无需在启动时扫描则设置该字段为
0
3
、修改
/etc/fstab
实现自动挂载
Windows
分区,并显示中文目录
LABEL=/ / ext3 defaults 1 1
none /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
LABEL=/usr /usr ext3 defaults 1 2
/dev/hda9 swap swap defaults 0 0
#
添加如下几行
/dev/hda1 /mnt/win_c vfat codepage=936,iocharset=cp936 0 0
/dev/hda5 /mnt/win_d vfat codepage=936,iocharset=cp936 0 0
/dev/hda6 /mnt/win_e vfat codepage=936,iocharset=cp936 0 0
4
、对部分分区格式的支持需要编译相关的支持到内核了来实现,如
NTFS
。
方法三、编写
shell
脚本,开机自动运行
mount
命令
首先
,
以
root
身份登陆,在
/mnt
下,你要有
win_c win_d win_e
这几个目录,如果没有可以通过在虚拟终端分别输入
mkdir /mnt/win_c,mkdir /mnt/win_d,mkdir /mnt/win_e
来建立。接着打开虚拟终端,输入
vi mymount
,然后按
insert
输入如下代码:
#!/bin/bash
case $1 in
m)
mount -o iocharset=cp936 -t vfat /dev/hda1 /mnt/win_c
mount -o iocharset=cp936 -t vfat /dev/hda5 /mnt/win_d
mount -o iocharset=cp936 -t vfat /dev/hdc6 /mnt/win_e
;;
u)
umount -o iocharset=cp936 -t vfat /dev/hda1 /mnt/win_c
umount -o iocharset=cp936 -t vfat /dev/hda5 /mnt/win_d
umount -o iocharset=cp936 -t vfat /dev/hda6 /mnt/win_e
;;
esac
然后按
Esc
输入
:wq
回车就可以了
.
第一行
#!/bin/bash
指定以
bash shell
执行此文件
.case $1 in
为取的命令行参数
.
若为
m
则开始挂载
,
若为
u
则卸载
.
其中
-o iocharset=cp936
能够显示中文名
.-t vfat
为指定文件系统类型为
WINDOWS
下的
VFAT
文件系统
.win_c win_d win_e
为目录
/mnt
下的子目录
.
到这里,该程序已经写好了
.
但是它还没有执行权利
.
我们只要输入下面这个命令就可以了
.
chmod u+x mymount
到这步你只要输入
./mymount m,
就可以挂载
windows
分区了
.
如果在
/etc/rc.d/rc.local
文件中添加这一行:
sh ./root/mymount m
重启后
linux
会自动挂载
windows
分区。