Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10811667
  • 博文数量: 2905
  • 博客积分: 20098
  • 博客等级: 上将
  • 技术积分: 36298
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-23 05:00
文章存档

2012年(1)

2011年(3)

2009年(2901)

分类: LINUX

2009-03-23 11:23:55

方法一、使用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分区。
阅读(1135) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~