5Yr*_*DBA 9 linux partitioning
我正在运行 Fedora 20。我得到以下输出 $df -h
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/fedora-root 11G 8.0G 2.1G 80% /
devtmpfs 3.5G 0 3.5G 0% /dev
tmpfs 3.5G 76K 3.5G 1% /dev/shm
tmpfs 3.5G 676K 3.5G 1% /run
tmpfs 3.5G 0 3.5G 0% /sys/fs/cgroup
tmpfs 3.5G 164K 3.5G 1% /tmp
/dev/sda1 477M 90M 358M 20% /boot
/dev/mapper/fedora-home 45G 26G 17G 60% /home
none 224G 114G 111G 51% /media/sf_VBShared
Run Code Online (Sandbox Code Playgroud)
我不明白为什么很少tmpfs
,而且devtmpfs
. 他们为什么在这里?我可以删除它们并取回这些磁盘空间吗?
Jde*_*eBP 10
评论和其他答案解决了您对 tmpfs 的误解。在这里,我要解决
他们为什么在这里?和
我可以删除它们吗?如所问。
在 systemd 俚语中,所有这些都是API 文件系统。它们是基于 systemd 的系统运行的基础,systemd 程序在系统初始化时挂载它们,然后再执行几乎任何其他操作。在system-manager
从NOSH确实大同小异,除了(目前)/sys/fs/cgroup
和/tmp
。
/dev/shm
在(仅)Debian Linux 操作系统上,这实际上是/run/shm
. 此 tmpfs 具有在您的操作系统上实现POSIX 共享内存的特定目的。删除它会导致使用 POSIX 共享内存的应用程序失败。
/sys/fs/cgroup
这是 systemd(和其他人)安装操作系统上可用的各种控制组控制层次结构的地方。删除它会停止操作系统中依赖于控制组的部分工作。
/tmp
这当然是用户希望能够放置短期临时文件的地方。删除它会使大量使用临时文件的应用程序非常不满意。
/run
这曾经是/var/run
。它是放置(特定类型的)临时文件的地方,它们可能会持续到下一个系统引导程序。您会发现其中充满了 PID 文件、systemd 非持久性日志、UNIX 域套接字、FIFO 和其他类似的东西。删除它会使 systemd 日志哭泣;打破对大量令人沮丧的守护进程的(错误)管理,即使在今天,这些守护进程仍然使用 PID 文件;并破坏 udev,systemd“多座”系统,以及一大堆其他子系统。
在 nosh 系统上,删除它同样会破坏所有具有 FIFO 和套接字的相同子系统。它还将破坏服务管理器的控制 API、服务管理器的关联记录器守护程序以及任何“早期监督”守护程序的控制/状态 API。
/dev
传统上,字符设备和块设备的所有设备文件都存储在 Unices 和 Linux 上。很多程序和子系统想到传统的名称,如/dev/tty
,/dev/null
,/dev/zero
,/dev/console
,/dev/fd/0
,/dev/sda
,等工作。删除它会破坏你的系统,我怀疑它是否可用。这是一个devtmpfs
而不是一个tmpfs
。不同之处在于前者由内核本身自动填充和取消填充设备文件条目,因为设备在内核中加载/启用和禁用/卸载。
system-manager
. 第 8 节 nosh 手册页。/var/run
. 文件系统层次标准。2.3. 路径名.com。/tmp
. Linux 文件系统层次结构。Linux 文档项目。/dev/shm
和/tmp
下/run
?. 发布目标。Debian。tmpfs 简称为(一种)ramdisk。我们的想法不是用临时的小东西来破坏硬盘驱动器,如今内存不再是溢价,并且基于 RAM 的块设备增加了速度优势。
很长一段时间你可以阅读例如http://en.wikipedia.org/wiki/Tmpfs
引用文章中的话
tmpfs 中存储的所有内容都是临时的,因为不会在硬盘上创建任何文件;但是,在内存不足的情况下,交换空间可用作后备存储。重新启动时,tmpfs 中的所有内容都将丢失。
tmpfs 使用的内存会增长和收缩以容纳它包含的文件,并且可以交换到交换空间。