练习 19:文件系统:挂载,mount/etc/fstab

    我希望你熟悉分区的概念。如果没有,我会简要介绍一下。首先引用自维基百科:

    看一看:

    这是一个物理硬盘,分为 7 个不同的分区。这样做的原因很多,但最好被理解为“分治”原则的应用。以这种方式分割时,流氓程序不能通过占用所有磁盘空间,使整个服务器崩溃,该程序将限制在其分区中。我不会再谈论磁盘分区,但是我会继续关注文件系统,再次引用:

    1. user1@vm1:~$ mount
    2. /dev/vda5 on / type ext3 (rw,errors=remount-ro)
    3. tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
    4. proc on /proc type proc (rw,noexec,nosuid,nodev)
    5. sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
    6. udev on /dev type tmpfs (rw,mode=0755)
    7. tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
    8. devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
    9. /dev/vda10 on /home type ext3 (rw)
    10. /dev/vda8 on /var type ext3 (rw)

    这是我之前展示给你的相同分区,你可以在这个列表中看到挂载点。不以/dev/vda开头的是虚拟文件系统,它允许访问不同的系统设施,但它们和此练习无关。现在我们来看看/etc/fstab文件:

    看起来很恐怖,但让我们选取一行:

    1. # <file system> <mount point> <type> <options> <dump> <pass>
    2. UUID=128559db-a2e0-4983-91ad-d4f43f27da49 / ext3 errors=remount-ro 0 1

    按照字段将其拆开。

    和之前一样,这些信息可以通过man fstab提供给你。现在我将向你展示使用现有文件系统的几个命令:

    • mount - 打印出所有已挂载的文件系统。
    • mount -a - 挂载/etc/fstab中描述的所有文件系统。
    • mount /dev/sda<N> /<mount point> - 挂载分区。
    • umount /dev/sda<N> /<mount point> - 解除挂载分区。
    • mount -h - 打印出使用mount的简短帮助。
    • fsck - 检查分区是否有错误。
    • blkid - 打印出唯一的分区标识符。
    1. 1: cat /etc/fstab
    2. 4: sudo umount /tmp
    3. 5: mount
    4. 6: sudo fsck /tmp
    5. 7: sudo mount -a
    6. 8: mount
    1. 打印你的/etc/fstab文件的内容,它包含分区信息以及挂载位置。
    2. 打印当前已挂载的分区。
    3. 打印系统中所有分区的 UUID。
    4. 解除挂载/tmp分区,以便你可以检查它。
    5. 再次打印出当前已挂载的分区。/tmp现在不存在于此列表中。
    6. 检查/tmp分区是否有错误。fsck通过读取相应的/etc/fstab条目知道要检查哪个分区。
    7. 挂载/etc/fstab中描述的所有分区。
    8. 再次打印当前已挂载的分区。/tmp已经返回了此列表。