这个文件夹是什么:/run/user/1000
在我的 Fedora 系统上,它有什么作用?
~ $ df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 1.2G 20K 1.2G 1% /run/user/1000
编辑:2019 年 6 月 7 日。
我的两个答案对于这个地方存储的文件所在的目录或位置不一致:
帕特里克:
此前
systemd
,这些应用程序通常将其文件存储在/tmp
.
再次在这里:
/tmp
是 指定的唯一位置,FHS
该位置是本地的,并且所有用户都可写。
布赖安:
该目录的用途曾经是由
/var/run
.一般来说,程序可以继续使用来满足出于向后兼容性的目的而/var/run
设定的要求。/run
再次在这里:
已迁移到使用的程序
/run
应停止使用/var/run
,除非有关 的部分中另有说明/var/run
。
那么哪一个是 的父亲/run/user/1000
,为什么两个答案中都没有提到另一个关于之前使用的目录的说法/run/user
。
答案1
/run/user/$uid
是由创建的pam_systemd
并用于存储该用户运行进程所使用的文件。这些可能是您的密钥环守护程序、pulseaudio 等。
之前系统,这些应用程序通常将其文件存储在/tmp
.他们无法使用 中的位置,/home/$user
因为主目录通常通过网络文件系统安装,并且这些文件不应在主机之间共享。/tmp
是唯一指定的位置FHS这是本地的,所有用户都可以写入。
然而,存储所有这些文件/tmp
是有问题的,因为/tmp
每个人都可以写入,并且虽然您可以更改正在创建的文件的所有权和模式,但使用起来更加困难。
所以 systemd 出现并创建了/run/user/$uid
.该目录位于系统本地,只能由目标用户访问。因此,希望在本地存储文件的应用程序不再需要担心访问控制。
它还可以让事情变得美好且井井有条。当用户注销并且没有活动会话剩余时,pam_systemd
将清除该/run/user/$uid
目录。由于各种文件分散在各处/tmp
,您无法做到这一点。
答案2
根据FHS(文件层次结构标准)最新草案, /跑步:
该目录包含描述系统自启动以来的系统信息数据。在启动过程开始时,必须清除(根据需要删除或截断)此目录下的文件。
该目录的用途曾经是由 /var/run 提供的。一般来说,程序可以继续使用 /var/run 来满足为 /run 设定的要求,以实现向后兼容性。已迁移到使用 /run 的程序应停止使用 /var/run,除非有关 /var/run 的部分中另有说明。
程序可能有 /run 子目录;对于使用多个运行时文件的程序,鼓励这样做。用户还可能拥有 /run 子目录,但必须注意适当限制访问权限,以防止未经授权使用 /run 本身和其他子目录。
就目录而言/run/user
,由不同的用户服务使用,例如 dconf、pulse、systemd 等,它们需要一个位置来放置其锁定文件和套接字。系统中记录的不同用户 UID 的目录数量相同。