练习 19:文件系统:挂载,mount,/etc/fstab
译者:飞龙
自豪地采用谷歌翻译
我希望你熟悉分区的概念。如果没有,我会简要介绍一下。首先引用自维基百科:
磁盘分区是一种行为,将硬盘驱动器分为多个逻辑存储单元,它们被称为分区,来将一个物理磁盘驱动器视为多个磁盘。
看一看:
user1@vm1:~$ sudo parted /dev/vda
GNU Parted 2.3
Using /dev/vda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) unit GB
(parted) p
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 17.2GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 0.00GB 13.3GB 13.3GB extended
5 0.00GB 1.02GB 1.02GB logical ext3 boot
6 1.03GB 2.05GB 1.02GB logical linux-swap(v1)
7 2.05GB 3.07GB 1.02GB logical ext3
8 3.07GB 5.12GB 2.05GB logical ext3
9 5.12GB 9.22GB 4.09GB logical ext3
10 9.22GB 13.3GB 4.09GB logical ext3
(parted)这是一个物理硬盘,分为 7 个不同的分区。这样做的原因很多,但最好被理解为“分治”原则的应用。以这种方式分割时,流氓程序不能通过占用所有磁盘空间,使整个服务器崩溃,该程序将限制在其分区中。我不会再谈论磁盘分区,但是我会继续关注文件系统,再次引用维基百科:
文件系统是一种组织数据的手段。通过提供存储,检索和更新数据的过程,以及管理包含它的设备上的可用空间,数据预期在程序终止后保留。文件系统以有效的方式组织数据,并根据设备的特定特性进行调整。在操作系统和文件系统之间,通常存在紧耦合。一些文件系统提供了机制来控制数据和元数据的访问。确保可靠性是文件系统的主要职责。一些文件系统允许多个程序几乎同时更新同一个文件。
类 Unix 操作系统创建一个虚拟文件系统,这使得所有设备上的所有文件似乎都存在于单个层次结构中。这意味着,在这些系统中,有一个根目录,系统上存在的每个文件位于它下方的某个地方。类 Unix 系统可以使用 RAM 磁盘或网络共享资源作为其根目录。
这意味着,所有文件系统都集成在一个大树中。对于熟悉 Microsoft Windows 的人来说,这意味着比起C:\和D:\等盘符,这种命名方案有一个单独的根,/,所有其他分区都连接到它上面。将文件系统连接到现有目录的过程称为挂载。连接文件系统的目录称为挂载点。同样,看一看:
这是我之前展示给你的相同分区,你可以在这个列表中看到挂载点。不以/dev/vda开头的是虚拟文件系统,它允许访问不同的系统设施,但它们和此练习无关。现在我们来看看/etc/fstab文件:
看起来很恐怖,但让我们选取一行:
按照字段将其拆开。
和之前一样,这些信息可以通过man fstab提供给你。现在我将向你展示使用现有文件系统的几个命令:
mount- 打印出所有已挂载的文件系统。mount -a- 挂载/etc/fstab中描述的所有文件系统。mount /dev/sda<N> /<mount point>- 挂载分区。umount /dev/sda<N> /<mount point>- 解除挂载分区。mount -h- 打印出使用mount的简短帮助。fsck- 检查分区是否有错误。blkid- 打印出唯一的分区标识符。
现在,你将学习如何列出已安装的分区,挂载和解除挂载它们。
这样做
你会看到什么
解释
打印你的
/etc/fstab文件的内容,它包含分区信息以及挂载位置。打印当前已挂载的分区。
打印系统中所有分区的 UUID。
解除挂载
/tmp分区,以便你可以检查它。再次打印出当前已挂载的分区。
/tmp现在不存在于此列表中。检查
/tmp分区是否有错误。fsck通过读取相应的/etc/fstab条目知道要检查哪个分区。挂载
/etc/fstab中描述的所有分区。再次打印当前已挂载的分区。
/tmp已经返回了此列表。
附加题
阅读
man fstab,man mount。
Last updated