Linux学习-设置开机挂载

###开机挂载/etc/fstab及/etc/mtab

系统挂载的一些限制:

  • 根目录/是必须挂载的,而且一定要先于其他mount point被挂载进来。
  • 其他mount point必须为已创建的目录,可任意制定,但是一定要遵守必须的系统目录架构原则(FHS)
  • 所有mount point在同一时间之内,只能挂载一次。
  • 所有partition在同一时间之内,只能挂载一次。
  • 如若进行卸载,您必须先将工作目录移到mount point(及其子目录)之外。

让我们直接查阅/etc/fstab这个文件的内容吧。

[root@study ~]# cat /etc/fstab
# Device                              Mount point  filesystem parameters    dump fsck
/dev/mapper/centos-root                   /       xfs     defaults            0 0
UUID=94ac5f77-cb8a-495e-a65b-2ef7442b837c /boot   xfs     defaults            0 0
/dev/mapper/centos-home                   /home   xfs     defaults            0 0
/dev/mapper/centos-swap                   swap    swap    defaults            0 0

其实/etc/fstab(filesystem table)就是将我们利用mount命令进行挂载时,将所有的选项与参数写入到这个文件中就是了。除此之外,/etc/fstab还加入了dump这个备份用指令的支持,与开机时是否进行文件系统检验fsck等指令相关。这个文件的内容共有6个字段,各字段的总结数据与详细数据如下:

[设备/UUID等] [挂载点] [文件系统] [文件系统参数] [dump]  [fsck]
  • 第一栏 : 磁盘设备文件名/UUID/LAbel name:

这个字段可以填写的数据主要有三个项目 :

  • 文件系统或磁盘的设备文件名, 如/dev/vda2等

  • 文件系统的UUID名称, 如UUID=xxx

  • 文件系统的LABEL名称,例如LABEL=xxx

  • 第二栏 : 挂载点(mount point) : 就是挂载点。挂载点是什么?一定是目录。

  • 第三栏 : 磁盘分区的文件系统 :

在手动挂载时可以让系统自动测试挂载,但在这个文件当中我们必须要手动写入文件系统才行。包括xfs、ext4、vfat、reiserfs、nfs等等。

  • 第四栏 : 文件系统参数 :

mount这个指令中谈到的特殊文件参数。

参数内容意义
async/sync 非同步/同步设置磁盘是否以非同步方式运行。默认为async(性能较佳)
auto/noauto 自动/非自动当下达mount -a,此文件系统是否会被主动测试挂载。默认为auto。
rw/ro 可读/只读让该分区以可读写或者是可只读的型态挂载上来。如果你想要分享的数据是不给使用者随意变更的,这里也能够设置为只读。则不论在此文件系统的文件是否设置w权限,都无法写入。
exec/noexec 可执行/不可执行限制在此文件系统内是否可以进行"执行"的工作?如果是纯粹用来储存数据的目录,那么可以设置为noexec会比较安全。不过,这个参数也不能够随便使用。因为你不知道该目录下是否默认会有可执行文件。举例来说,如果你将noexec设置在/var,当某些软件将一些可执行文件放置在/var下时,那就会产生很大的问题。因为建议这个noexec最多仅设置于你自订或分享的一般数据目录。
user/nouser 允许/不允许使用者挂载是否允许使用者使用mount指令来挂载呢?一般而言,我们当然不希望一般身份的user能使用mount。因为太不安全了。因为这里应该要设置为"nouser"。
suid/nosuid 具有/不具有suid权限该文件系统是否允许SUID的存在?如果不是可执行文件放置目录,也可以设置为nosuid来取消这个功能!
defaults同时具有rw,suid,dev,exec,auto,nouser,async等参数,基本上。默认情况使用defaults设置即可
  • 第五栏 : 能否被dump备份指令作用:

dump是一个用来作为备份的指令。不过现在太多的备份方案了。所以这个项目可以不要理会,直接输入0就好了。

  • 第六栏 : 是否以fsck检验扇区

早起的开机流程中,会有一段时间去检验本机的文件系统,看看文件系统是否完整(clean),不过这个方式使用的主要是fsck去做的,我们现在用的xfs文件系统就没有办法适合。因为xfs会自己检验,不需要额外进行这个动作。所以直接填0就好了。

###特殊设备loop挂载(镜像文件不烧录就挂载使用)

  • 挂载光盘/DVD镜像文件
[root@study ~]# ll -h /tmp/CentOS-7.0-1406-x86_64-DVD.iso
-rw-r--r--. 1 root root 3.9G Jul  7  2014 /tmp/CentOS-7.0-1406-x86_64-DVD.iso
# 看到上面的结果吧!这个文件就是镜像文件,文件非常的大吧!

[root@study ~]# mkdir /data/centos_dvd
[root@study ~]# mount -o loop /tmp/CentOS-7.0-1406-x86_64-DVD.iso /data/centos_dvd
[root@study ~]# df /data/centos_dvd
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/loop0       4050860 4050860         0 100% /data/centos_dvd
# 就是這個項目! .iso 镜像文件的所有数据可以在 /data/centos_dvd 看到!

[root@study ~]# ll /data/centos_dvd
total 607
-rw-r--r--. 1  500  502     14 Jul  5  2014 CentOS_BuildTag <==瞧!就是DVD的內容啊!
drwxr-xr-x. 3  500  502   2048 Jul  4  2014 EFI
-rw-r--r--. 1  500  502    611 Jul  5  2014 EULA
-rw-r--r--. 1  500  502  18009 Jul  5  2014 GPL
drwxr-xr-x. 3  500  502   2048 Jul  4  2014 images
.....(下面省略).....

[root@study ~]# umount /data/centos_dvd/
# 测试完成!記得将数据給他卸载!

创建大文件以制作loop设备文件

下面我们在 /srv 下创建一个 512MB 左右的大文件,然后将这个大文件格式化并且实际挂载来玩一玩!

  • 创建大文件

首先,我们得先有一个大的文件吧!怎么创建这个大文件呢?在 Linux 下面我们有一支很好 用的程序 dd !他可以用来创建空的文件!假设我要创建一个空的文件在 /srv/loopdev ,那可以这样做:

[root@study ~]# dd if=/dev/zero of=/srv/loopdev bs=1M count=512
512+0 records in <==读入 512 笔数据
512+0 records out <==输出 512 笔数据
536870912 Bytes (537 MB) copied, 12.3484 seconds, 43.5 MB/s
# 这个指令的简单意义如下:
# if 是 input file ,输入文件。那个 /dev/zero 是会一直输出 0 的设备!
# of 是 output file ,将一堆零写入到后面接的文件中。
# bs 是每个 block 大小,就像文件系统那样的 block 意义;
# count 则是总共几个 bs 的意思。所以 bs*count 就是这个文件的容量了!

[root@study ~]# ll -h /srv/loopdev
-rw-r--r--. 1 root root 512M Jun 25 19:46 /srv/loopdev 
  • 大型文件格式化 默认xfs不能够格式化文件,所以需要格式化文件得要加入特别的参数。
[root@study ~]# mkfs.xfs -f /srv/loopdev
[root@study ~]# blkid /srv/loopdev
/srv/loopdev: UUID="7dd97bd2-4446-48fd-9d23-a8b03ffdd5ee" TYPE="xfs"
  • 挂载

利用mount的特殊参数,那个-o loop的参数来处理!

[root@study ~]# mount -o loop UUID="7dd97bd2-4446-48fd-9d23-a8b03ffdd5ee" /mnt
[root@study ~]# df /mnt
Filesystem     1K-blocks  Used Available Use% Mounted on
/dev/loop0        520876 26372    494504   6% /mnt

现在将这个文件系统永远的挂载起来。

[root@study ~]# nano /etc/fstab
/srv/loopdev  /data/file  xfs  defaults**,loop**   0 0
# 毕竟系统大多仅查询 block device 去找出 UUID 而已,因此使用文件创建的 filesystem,
# 最好还是使用原本的文件名来处理,应该比较不容易出现错误讯息的!

[root@study ~]# umount /mnt
[root@study ~]# mkdir /data/file
[root@study ~]# mount -a
[root@study ~]# df /data/file
Filesystem     1K-blocks  Used Available Use% Mounted on

转载于:https://my.oschina.net/tucci/blog/1509960

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值