Linux设置启动挂载(/etc/fstab,/etc/mtab),loop特殊设备,使用loop设备挂载CD/DVD镜像文件

一、前言

  • 手动处理挂载是很不人性的,我们可以设置让系统在每次启动的时候就自动进行挂载,就不用手动再去修改
  • 设置启动挂载的方法:在/etc/fstab文件内去修改
  • ③系统挂载的一些限制
    • 根目录是必须要被挂载的,并且一定要优先于其他挂载点被挂载进来
    • 其他挂载点必须为已建立的目录,可任意指定,但一定要遵守系统目录架构原则(FHS)
    • 所有挂载点,在同一时间内,只能挂载一次
    • 所有硬盘分区在同一时间内,只能挂载一次
    • 如若进行卸载,必须先将工作目录移到挂载点(及其子目录)下

二、/etc/fstab

  • 内容与功能:
    • 是系统启动时的配置文件,在该文件内记录的磁盘在系统启动时会自动挂载
    • 当我们用mount命令进行挂载时,会将所有的选项与参数信息写入到该文件内
  • 组成部分:使用cat命令查看该文件时,每一行代表一个磁盘分区信息,信息被分为6大部分:

  • [设备/UUID等]  [挂载点]  [文件系统类型]  [文件系统参数]  [dump]  [fsck]

 ①第一部分:可以使用磁盘设备的文件名/UUID/Label name

  • 文件系统或者磁盘的设备文件名,例如:/dev/sda1
  • 文件系统的UUID,例如UUID=XXX
  • 文件系统的LABEL名称,例如LABEL=XXX

②第二部分:挂载点(mount point)

  • 挂载点一定是个目录。(注意:如果是内存交换分区的话,因为内存交换分区无挂载点,此处填写swap)

③第三部分:磁盘分区的文件系统类型

  • 注意:在手动挂载时可以让系统自动检测挂载。但是在这个文件当中,我们必须手动写入文件系统才行,例如:xfs、ext4、vfat、reiserfs、nfs等

④第四部分:文件系统参数

async(默认),sync此文件系统是否使用同步写入的内存机制
atime,noatime文件系统是否会修改文件的读取时间。为了性能,某些时刻会使用noatime
ro,rw文件系统是只读(ro)还是可读写(rw)
auto(默认),noauto当执行mount -a时,此文件系统是否会被主动测试挂载
dev,nodev文件系统是否可以建立设备文件
suid,nosuid文件系统是否可以含有suid/sgid的文件格式
exec,noexec文件系统是否可以拥有可执行的二进制文件
user,nouser是否允许文件系统让任何使用者都可以执行mount命令。一般来说,mount仅有root可以进行
defaults默认值为:rw、suid、dev、exec、auto、nouser、async
remount重新挂载。这在系统出错,或重新更新参数时很有用
codepage=数值

挂载USB移动磁盘时,指定挂载的文件系统所使用的语系。中文语系为:950

iocharset=编码名挂载USB移动磁盘时,指定移动磁盘的编码。一般有:utf8、Big5
loop进行loop设备挂载时会使用到

⑤第五部分:能否使用dump备份命令作用

  • dump是一个用来做为备份的命令,不过现在有太多的备份方案,这个地方直接输入0就好了

⑥第六部分:是否以fsck检验扇区

  • 早期系统启动的过程中,会有一段时间去校验本机的文件系统是否完整(clean),主要通过fsck去完成
  • 不过xfs文件系统会自己进行校验,所以xfs文件系统不需要进行这个操作,设置为0

注意事项

  • /etc/fstab是系统启动时的配置文件,实际文件系统的挂载时记录到/etc/mtab与/proc/mounts这两个文件中(每次我们在修改/etc/fstab文件的挂载信息时,同时也会修改这两个文件)
  • 承上,如果我们在/etc/fstab输入的数据错误,导致无法磁盘顺利启动,而进入单人维护模式,这时候根目录就变为只读的状态,当然此时也无法修改/etc/mtab与/proc/mounts这两个文件。此时就可以谁用下面这一行命令
mount -n -o remount,rw / 

如何让磁盘自动挂载?

  • 事例:将/dev/sda3分区挂载到/data/ext4目录下,并将挂载信息写入/etc/fstab文件中,让系统每次启动时/dev/sda3都能自动挂载
  • 步骤如下:
  • 第一步:使用nano命令或者gerp命令将/dev/sda3的以下挂载信息(信息自己设定)写入到/etc/fstab文件中
UUID="2ecb322c-9d78-4478-a743-f7f59ef02a25" /data/ext4 ext4 default 0 0

  • 注意:如果/dev/sda3已经挂载了,需要将/dev/sda3卸载之后才可以进行第一步,要不然会失败
  • 第二步:使用mount -a将/etc/fstab文件内未挂载的文件都挂载上来

  • 第三步:使用lsblk或者df命令查看挂载状态

三、loop设备简介

  • 概念:熟知,磁盘是一种存储设备,可以存储数据。loop类似于磁盘,也可以存储数据,是一种特殊设备
  • 特点:因此,我们可以将文件/数据或者镜像文件制作成一个loop设备,然后将loop设备挂载,就可以在Linux系统上面使用
  • 如何创建loop设备:如何制作loop设备:文件/数据通过mount命令和-o loop参数即可创建一个loop且同时挂载

四、使用loop设备挂载CD/DVD镜像文件

  • 概念:
    • 一般来说,我们从一个网站下载了一个Linux或其他所需的镜像文件(.iso)后,该镜像文件一般需要刻录成CD/DVD光盘才能够被系统使用
    • 但是有一种方法,可以不需要将其刻录成为光盘就能够直接使用该镜像中的文件数据。方法就是讲镜像文件制作成一个loop设备来进行挂载
  • 方法:
    • 方法:使用mount命令,将镜像文件(.iso)制作成一个loop设备,并同时挂载到一个目录下
    • 此时,该挂载目录内的文件数据就是镜像文件内的数据,当然我们也可以对这些数据进行查看与修改
  • 命令格式:
mount -o loop  镜像文件目录  挂载目录

演示案例

  • 下面我我有一个镜像文件,将其挂载到/data/ubuntu_dvd目录下
  • 第一步:将/tmp/ubuntu-14.04.5-desktop-amd64.iso镜像文件挂载到/data/ubuntu_dvd目录下
mount -o loop /tmp/ubuntu-14.04.5-desktop-amd64.iso  /data/ubuntu_dvd

  • 第二步:使用df命令查看一下挂载信息

可以看到镜像文件被制作成为一个loop1设备,该设备挂载于/data/ubuntu_dvd目录下

df /data/ubuntu_dvd

  • 第三步:使用ls命令查看/data/ubuntu_dvd目录内的数据(此目录内的数据就是镜像文件内的数据)

可以看到挂载目录内的数据就是我们镜像文件内的数据

五、建立大文件以制作loop设备文件挂载

  • 概念:我们可以手动建立一个大文件,然后将这个文件格式化后进行挂载。这样就能够帮助我们解决很多系统的分区不合理的情况,也可以为我们新增一个分区来进行使用,用途十分的广泛
  • 方法:方法类似于上面的镜像文件挂载
    • 第一步:建立一个新文件
    • 第二步:并将该新文件格式化。格式化完之后该文件会被制作成为一个loop设备,该loop设备负责存储该新文件内容。两者的UUID完全相同
    • 第三步:将格式化出来的新loop设备挂载到一个目录下进行使用
    • 第四步(选做):将新文件加入/etc/fstab文件中,实现自动挂载

演示案例

  • 我们在/srv下建立一个512MB的大文件loopdev,然后将这个大文件格式化并且挂载来使用
  • 第一步:建立大型文件。在/srv目录下使用dd命令(/dev/zero是一个会一直输出0的设备)建立一个loopdev文件,大小为512M

  • 第二步:文件的格式化。将刚才建立的大文件进行格式化,此处我格式化为ext4文件系统格式的

  • 第三步:将格式化好的loopdev进行挂载。我们将/srv/loopdev挂载到/mnt目录下
  • 注意:现在的系统中,不需要-o loop选项与参数也可以进行挂载,不过还是建议加上

  • 第四步:设置自动挂载。将/srv/loopdev添加进/etcfstab文件中
  • 注意:因为上面/dev/loop0在/mnt目录上挂载了,所以需要卸载,然后再使用mount -a重新挂载
nano /etc/fstab /srv/loopdev /data/file ext4 defaults,loop 0 0
umount /mnt
mount -a
  • 从上面可以看到,我们用/srv/loopdev文件制作出一个/dev/loop0设备,并将这个设备挂载到/mnt目录下

  • 我是小董,V公众点击"笔记白嫖"解锁更多【Linux入门基础】资料内容。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

董哥的黑板报

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值