首页 > 代码库 > 分区表 fstab
分区表 fstab
上面多次提到配置文件 /etc/fstab,系统启动时会挂载分区,就是通过这个配置文件配置的。
[root@qiangzi ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Mon Dec 12 03:18:03 2016
#
# Accessible filesystems, by reference, are maintained under ‘/dev/disk‘
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=51a8587e-7445-4ea8-85ef-bad6a1336748 / ext4 defaults 1 1
UUID=37d8fe31-1cd8-4179-9aaa-1ee58284891d /boot ext4 defaults 1 2
UUID=1ac357d6-a735-468f-ba6c-1eabad6aa0f2 swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
第一列就是分区的标识,可以写分区的LABEL,也可以写分区的UUID,当然也可以写分区名(/dev/sda1);
第二列是挂载点;
第三列是分区的格式;
第四列是mount的一些挂载参数,一般情况下,直接写defaults即可;
第五列的数字表示是否被dump备份,是的话,这里就是1,否则就是0;
第六列是开机时是否自检磁盘。1,2表示检测,0表示不检测。在Redhat/centos中,这个1,2还有个说法,/分区必须设为1,而且整个fstab中只允许出现一个1,这里有一个优先级说法。1比2优先级高,所以先检测1,然后再检测2,如果有多个分区需要开机检测那么都设置成2,1检测完了后会同时去检测2。
第四列常用的选项:
async/sync:async表示和磁盘和内存不同步,系统每隔一段时间把内存数据写入磁盘中,而sync则会实时同步内存和磁盘中数据;
auto/noauto:开机自动挂载/不自动挂载;
default:按照大多数永久文件系统的缺省值设置挂载定义,它包含了rw,suid,dev,exec,auto,nouser,async
ro:按只读权限挂载;
rw:按可读可写权限挂载;
exec/noexec:允许/不允许可执行文件执行,但前五不要把根分区挂在为noexec,那就无法使用系统了,连mount命令都无法使用了,这是只有重新做系统了;
user/Nouser:允许/不允许root外的其他用户挂载分区,为了安全考虑请使用Nouser;
suid/nosuid:允许/不允许分区有suid属性,一般设置为nosuid;
usrquota:启动使用者磁盘配额模式,磁盘配额会针对用户限定他们使用的磁盘额度;
grquota:启动群组磁盘配额模式;
学完/etc/fstab后,我们就可以自己修改这个文件,增加一行来挂载新增分区。
例如,增加这一行:
LABEL=TEST /newdir ext4 defaults 0 0
然后卸载掉已经挂载的/dev/sdb5
[root@qiangzi ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 7.8G 2.0G 5.5G 27% /
tmpfs 504M 0 504M 0% /dev/shm
/dev/sda1 97M 26M 67M 29% /boot
使用df -h命令查看已经成功卸载 /dev/sdb5 下面执行命令 mount -a
[root@qiangzi ~]# mount -a
[root@qiangzi ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 7.8G 2.0G 5.5G 27% /
tmpfs 504M 0 504M 0% /dev/shm
/dev/sda1 97M 26M 67M 29% /boot
/dev/sdb5 989M 18M 921M 2% /newdir
此时多出来一个/dev/sdb5挂载到了/needir下。这就是mount -a 命令执行的结果,这个-a选项会把/etc/fstao中出现的所有磁盘分区挂载上。
[root@qiangzi ~]# umount /newdir
[root@qiangzi ~]# mount -t ext4 /dev/sdb5 /newdir
[root@qiangzi ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 7.8G 2.0G 5.5G 27% /
tmpfs 504M 0 504M 0% /dev/shm
/dev/sda1 97M 26M 67M 29% /boot
/dev/sdb5 989M 18M 921M 2% /newdir
-t:选项用来指定挂载的分区类型,默认不指定的会自动识别。
-o:选项用来指定挂载的分区有哪些特性,即上面“/etc/ftab”配置文件中第四列的那些。我们经常这样使用-o选项:
[root@qiangzi ~]# mkdir /newdir/dir1
[root@qiangzi ~]# mount -o remount,ro,sync,noauto /dev/sdb5 /newdir
[root@qiangzi ~]# mkdir /newdir/dir2
mkdir: 无法创建目录"/newdir/dir2": 只读文件系统
由于指定了ro参数,所以该分区只读了。通过mount命令也可以看到/dev/sdb5有ro选项:
[root@qiangzi ~]# mount
/dev/sda3 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/sdb5 on /newdir type ext4 (ro,sync)
下面重新挂载,让它回复读写。
[root@qiangzi ~]# mount -o remount /dev/sdb5 /newdir
[root@qiangzi ~]# mkdir /newdir/dir2
[root@qiangzi ~]# ls /newdir/
dir1 dir2 lost+found
本文出自 “12350027” 博客,谢绝转载!
分区表 fstab