11.3.4 使用文件系统
创建好文件系统的存储设备并不能马上使用,必须把它安装(或挂载)到根文件系统中才可使用。Linux系统中无论是硬盘、光盘还是软盘都必须经过安装才能进行文件存取操作。
所谓安装就是将存储介质的内容映射到指定的目录中,此目录为该设备的安装点。这样,对存储介质的访问就变成对安装点目录的访问。一个安装点一次只能安装一个设备或分区。例如,某些Linux发布正常安装后,将在/mnt目录下自动创建/mnt/ftoppy和/mnt/cdrom两个子目录,用于安装软盘和光盘,当然用户也可自行创建安装目录。
通常,硬盘上的各个磁盘分区都会在Linux的启动过程中自动安装到指定的目录,并在关机前自动拆卸(或卸载)。而软盘等可移动存储介质既可以在启动时自动安装,也可以在需要时手动安装或拆卸。文件系统是否在启动时自动安装,取决于文件系统配置文件/etc/fstab的内容。
(1)fstab文件
fstab文件存放在/etc目录下,Linux系统启动时,将读取该配置文件,并按文件中的信息来安装相应的文件系统。下面是一个/ect/fstab文件的示例:
LABEL=/ / ext3 defaults 1 1
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
/dev/hda5 swap swap defaults 0 0
/dev/cdrom /mnt/cdrom iso9660 noauto,owner,kudzu,ro 0 0
/dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0
fstab文件的每一行表示一个文件系统,而每个文件系统的信息用六个字段来表示,字段之间用空格分隔,其格式如下:
device mount-point fs-type parameters fs-freq fs-passno
其意义分别是:
device:指明要安装的文件系统,可以使用文件系统的设备名或设备卷标,如上例中,“/dev/hda5”是设备名;“LABEL=/”是设备卷标;none表示与存储设备无关的文件系统,由Linux系统负责管理控制;/dev/cdrom表示光驱,/dev/fd0表示软盘。
mount-point:文件系统的安装点。
fs-type:需安装文件系统的类型,默认是ext2。如果设为auto则表示按照文件系统本身的类型进行安装。
parameters:通过-o选项传递给mount的参数,参数之间用逗号隔开。
fs-freq:该字段由dump程序使用,以决定文件系统是否应备份,1表示要备份,0表示不要备份。
fs-passno:该字段由fsck程序使用,用来确定在引导时检查磁盘的次序。根文件系统对应该字段的值应该为1,其他文件系统应该为2。若该文件系统无需再启动时扫描则设置该字段为0。fsck首先检查该列值为1的文件系统,然后再检查该列值为2的文件系统。
(2)mount命令
Linux系统提供的mount命令用于安装文件系统,其语法格式如下所示:
mount [选项] 设备文件名 安装点目录
mount常用的命令选项有:
-a:安装配置文件/etc/fstab中描述的所有文件系统。
-t 文件系统类型:指定要安装文件系统的类型。一般情况下可以省略,mount命令会自动确定正确的文件系统类型。
-r:以只读方式安装文件系统,与-o ro功能相同。
-w:以可读些方式安装文件系统,与-o rw功能相同。
-o 参数:指定安装文件系统的方式。常用参数有:ro 以只读方式安装文件系统;r w 以读写方式安装文件系统;nouser使一般用户无法安装文件系统;user可以让一般用户安装文件系统。
例如,将创建了ext2文件系统的软盘挂载在系统的/mnt/floppy目录下:
#mount -t ext2 /dev/fd0 /mnt/floppy
(3)umount命令
当安装的文件系统不再需要时,可以使用命令umount将其从安装点上卸载下来,该命令的语法格式如下:
umount [选项] 安装点目录/设备名
例如,将挂载在/mnt/floppy目录下的软盘卸载的命令为:
#umount /mnt/floppy
应该注意的是,对正在使用的文件系统,不能用umount命令卸载。若卸载正在使用的文件系统,Linux系统将输出文件系统忙的错误信息。
(4)文件系统的维护
当Linux文件系统由于人为因素或系统本身的原因(例如,用户不小心冷启动系统,磁盘关键磁道出错或机器关闭前没来得及把Cache中的数据写入磁盘等)而受到损坏时,都会影响到文件系统的完整性和正确性。这时,就需要系统管理员进行维护。
事实上,Linux文件系统的健壮性非常好,所以在正常运行时极少出错。此外,Linux系统为了保证所有需要安装的文件系统的可靠性和完整性,在安装它们之前都会例行检查整个文件系统的状态。
利用Linux系统的fsck命令可以检查文件系统中存在的错误,如果有必要,可以使用该命令修改错误。fsck命令格式如下:
fsck [选项] 文件系统
常用的命令选项有:
-A:按照/etc/fstab配置文件的内容,检查所列的全部文件系统。
-a:自动修复检查到的文件系统错误。
-r:检查到文件系统错误时,采用交互式方式询问是否修复。
-R:与“-A”同时使用时,则会跳过根文件系统不予检查。
-s:对多个文件系统依序执行检查,而非同时执行。
-t 文件系统类型:指定要检查的文件系统类型。
-V:显示指令执行过程。
fsck检查结束以后,会给出一个返回代码,以指示所检查的文件系统是否存在错误。在手工检查文件系统时,应在没有安装的文件系统上进行。用户一般不需要手工运行fsck,因为Linux系统引导时,如果发现需要安装的文件系统有错,会自动调用fsck。
例如,检查/dev/hda5上msdos 类型的文件系统是否正常,如果有异常便自动修复:
# fsck -t msdos -a /dev/hda5
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。