tmpfs从哪里来以及如何挂载

tmpfs从哪里来以及如何挂载

我正在使用带有 Linux 的 BeagleBone 板。

当我输入命令“df-h" ,我看到 tmpfs 被安装了几次。

这是否意味着所有这些条目都安装在同一位置,或者 tmpfs 的不同部分?

这让我想到了另一件事我不太明白。这个 tmpfs 文件系统实际上是在哪里创建的?我猜它是在 Linux 启动时发生的。我应该能够找到创建此文件系统的脚本吗?

tmpfs                   242.4M         0    242.4M   0% /dev/shm
tmpfs                   242.4M      8.3M    234.2M   3% /run
tmpfs                   242.4M         0    242.4M   0% /sys/fs/cgroup
tmpfs                   242.4M     36.0K    242.4M   0% /tmp
tmpfs                   242.4M     16.0K    242.4M   0% /var/volatile
tmpfs                   242.4M     16.0K    242.4M   0% /var/lib

答案1

它们都是不同的文件系统。它们的共同点是文件系统类型:它们使用tmpfs驱动程序,将数据存储在内存中。不存在它们都是其中一部分的“超级 tmpfs”:所有实例都是独立的。

显示“设备列”是tmpfs因为许多配置缺乏想象力,并且使用与文件系统类型相同的字符串作为设备名称。 tmpfs 驱动程序会忽略“设备名称”,因为它不会从任何地方加载数据。

这些文件系统是通过安装它们来创建的,并通过卸载它们来销毁它们。例如,以下命令创建一个 tmpfs 文件系统,其内容只是根目录(所有 tmpfs 文件系统都以这种方式开始),由 root 拥有并具有权限rwxrwxrwt,最大大小为 100MB:

mount -t tmpfs -o size=100Mi,mode=1777 some_arbitrary_name /mnt

挂载调用是在引导脚本中完成的。在过去,您可以mount在启动期间执行的 shell 脚本中找到对该命令的调用。/var/lib作为 tmpfs 挂载点并不常见,可以通过 进行配置/etc/fstab。如今,大多数(如果不是全部)都是由 systemd 挂载的。

1这就是虚拟内存:RAM 或交换区。

相关内容