典型的 Linux 系统上存在哪些挂载点?

典型的 Linux 系统上存在哪些挂载点?

我有 2 个问题。

  1. 在 Linux 安装过程中,我们为 2 个挂载点指定内存空间 - root 和 swap。是否在用户没有注意到的情况下创建了任何其他挂载点?
  2. 这个说法是否正确:“只有在处理不同的分区时才需要挂载。即,除非它是不同的分区,否则您不能挂载/proc”?

答案1

你的问题背后存在误解。

  1. 交换未安装。
  2. 安装不限于分区。

分区

A分割是专用于特定用途的磁盘空间的切片。以下是分区的一些常见用途。

  • A文件系统,即组织为目录树并以 ext2、ext3、FFS、FAT、NTFS 等格式存储的文件
  • 交换空间,即用于的磁盘空间寻呼(并存储冬眠 图片)。
  • 直接应用程序访问。一些数据库将数据直接存储在分区上,而不是文件系统上,以提高一点性能。(无论如何,文件系统也是一种数据库。)
  • 其他分区的容器。例如,电脑扩展分区,或磁盘包含 BSD 分区,或左心室容量物理卷(最终包含逻辑卷,其本身可以被视为分区),...

文件系统

文件系统以层次结构呈现信息。以下是一些常见的文件系统类型:

  • 磁盘支持的文件系统,例如 ext2、ext3、FFS、FAT、NTFS 等
  • 内存支持的文件系统,例如 Solaris 和 Linux临时文件系统
  • 显示来自内核的信息的文件系统,例如procsysfs在 Linux 上。
  • 网络文件系统,例如网络文件系统,桑巴舞, …
  • 应用程序支持的文件系统,其中保险丝有一个大集合。应用程序支持的文件系统几乎可以做任何事情:使 FTP 服务器显示为文件系统,提供文件系统的替代视图,其中文件名不区分大小写或转换为不同的编码,将存档内容显示为目录,...

安装

Unix 在单个层次结构中呈现文件,通常称为“文件系统”(但在这个答案中,我不会在这个意义上使用“文件系统”一词,以减少混淆)。各个文件系统必须嫁接到该层次结构上才能访问它们。

您可以通过挂载文件系统来访问它。挂载将您要挂载的文件系统的根目录与文件层次结构中的现有目录关联起来。具有这种关联的目录称为安装点。

  • 例如,根文件系统在引导时(在内核启动任何进程之前)安装到该/目录。
  • 一些 UNIX 变体(例如 Solaris 和 Linux)公开有关进程的信息的 proc 文件系统安装在 上/proc,因此/proc/42/environ指定 proc 文件系统上的文件/42/environ,该文件(至少在 Linux 上)包含进程环境的只读视图42号。
  • 如果您有一个单独的文件系统,例如 for /home,则指定路径来自主文件系统根目录的/home/john/myfile.txt文件。/john/myfile.txt

在 Linux 下,同一个文件系统可以通过多个路径访问,这要归功于绑定安装

典型的 Linux 文件系统有许多已安装的文件系统。 (这是一个示例;不同​​的发行版、版本和设置将导致安装不同的文件系统。)

  • /:根文件系统,在内核加载第一个进程之前安装。引导加载程序告诉内核使用什么作为根文件系统(通常是磁盘分区,但也可能是其他内容,例如 NFS 导出)。
  • /proc: 这过程文件系统,包含进程和内核信息。
  • /sys: 这系统文件系统文件系统,包含有关硬件设备的信息。
  • /dev:内存中的文件系统,其中设备文件由自动创建乌德夫基于可用的硬件。
  • /dev/pts:一个特殊用途的文件系统,包含用于运行的设备文件终端模拟器
  • /dev/shm:系统标准库用于内部目的的内存中文件系统。
  • 根据您运行的系统组件,您可能会看到其他特殊用途的文件系统,例如binfmt_misc(由外部可执行文件格式内核子系统), fusectl(使用者保险丝), nfsd(由内核 NFS 服务器使用), …
  • /etc/fstab中明确提到的(且未标记的)中的任何文件系统noauto都会作为引导过程的一部分进行安装。
  • 任何自动安装的文件系统哈尔(或同等功能)插入可移动设备(例如 USB 密钥)后。
  • 使用该命令显式安装的任何文件系统mount

1此处为非正式说法。
² Initrd 等超出了本答案的范围。
³这与 Windows 不同,Windows 的每个文件系统都有单独的层次结构,例如c:\\hostname\sharename

答案2

  1. 每个 Linux 发行版都有自己的默认分区排列;其中一些使用数十个分区,一些仅使用一个分区。 3 和 4 是相当常见的安排(/boot、/、swap 和 /home)。一些较旧的布局通常将 /var 放在单独的分区上,而极端系统将 /var/* 和 /opt/* 中的所有内容放在单独的分区上!我可以对你的问题做出的最好概括是在 UNIX 世界中,没有任何事情是在用户没有注意到或没有能力改变它的情况下完成的
  2. 您可以安装不是分区的东西。例如,/proc 通常不是一个分区,它是内核提供的一个伪文件系统,允许您像文件一样读取和写入有关正在运行的进程的数据。您还可以挂载文件(如 ISO),就好像它们是使用环回设备的驱动器一样,将挂载文件夹绑定到其他位置,以及执行各种其他忍者技巧。

相关内容