tmpfs从哪里来以及如何挂载

Eng*_*999 13 linux filesystems mount tmpfs ramdisk

我正在使用带有 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
Run Code Online (Sandbox Code Playgroud)

Gil*_*il' 9

它们都是不同的文件系统。它们的共同点是文件系统类型:它们使用tmpfs驱动程序,该驱动程序将数据存储在内存\xc2\xb9中。没有 \xe2\x80\x9dsuper-tmpfs\xe2\x80\x9c 是它们的一部分:所有实例都是独立的。

\n\n

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

\n\n

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

\n\n
mount -t tmpfs -o size=100Mi,mode=1777 some_arbitrary_name /mnt\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n

\xc2\xb9这是虚拟内存:RAM 或交换区。

\n

  • 喔好吧。我开始感到困惑了。所以tmpfs实际上是一种文件系统类型,与EXT4、FAT等相同。 (3认同)