Man page - file-hierarchy(7)
Packages contains this manual
- systemd-initctl.service(8)
- systemd-networkd.service(8)
- org.freedesktop.locale1(5)
- timedatectl(1)
- systemd.resource-control(5)
- systemd.journal-fields(7)
- systemd-logind.service(8)
- busctl(1)
- systemd-pstore(8)
- systemd.generator(7)
- hostname(5)
- systemd-path(1)
- systemd-random-seed.service(8)
- locale.conf(5)
- systemd-firstboot(1)
- systemd-sysv-generator(8)
- systemd.syntax(7)
- loginctl(1)
- tmpfiles.d(5)
- org.freedesktop.portable1(5)
- systemd-timedated(8)
- systemd-pstore.service(8)
- systemd-escape(1)
- systemd-system-update-generator(8)
- systemd-backlight@.service(8)
- systemd-udev-settle.service(8)
- systemd.directives(7)
- systemd.index(7)
- systemd.environment-generator(7)
- systemd-network-generator.service(8)
- org.freedesktop.systemd1(5)
- systemd-user-sessions.service(8)
- systemd-pcrlock(8)
- systemd-journald.socket(8)
- systemd-user-runtime-dir(5)
- systemd-logind(8)
- systemd-initctl.socket(8)
- systemd-pcrlock-make-policy.service(8)
- systemd(1)
- systemd-inhibit(1)
- networkctl(1)
- systemd-random-seed(8)
- sysusers.d(5)
- systemd-boot-check-no-failures(8)
- systemd.v(7)
- systemd-creds(1)
- systemd-networkd(8)
- systemd-makefs(8)
- systemd-fsck(8)
- systemd-localed.service(8)
- journald.conf.d(5)
- systemd-pcrfs@.service(8)
- systemd-cat(1)
- systemd-id128(1)
- user@.service(5)
- systemd.unit(5)
- systemd.net-naming-scheme(7)
- systemd-volatile-root(8)
- org.freedesktop.machine1(5)
- systemd-firstboot.service(1)
- localtime(5)
- systemd-timedated.service(8)
- systemd-ask-password-console.path(8)
- varlinkctl(1)
- org.freedesktop.timedate1(5)
- systemd-run-generator(8)
- systemd-system.conf(5)
- systemd-journald-varlink@.socket(8)
- systemd-rfkill.socket(8)
- systemd.exec(5)
- systemd-journald@.socket(8)
- systemd-shutdown(8)
- systemd-fsck-usr.service(8)
- systemd-sysctl.service(8)
- systemd-pcrphase.service(8)
- systemd-localed(8)
- systemd-journald(8)
- systemd-ssh-proxy(1)
- systemd.offline-updates(7)
- systemd-pcrlock-secureboot-authority.service(8)
- systemd-ac-power(1)
- pam_systemd_loadkey(8)
- systemd.device(5)
- systemd-quotacheck.service(8)
- systemd-machine-id-commit.service(8)
- systemd-backlight(8)
- binfmt.d(5)
- systemd-getty-generator(8)
- networkd.conf.d(5)
- systemd.path(5)
- systemd-networkd-wait-online.service(8)
- system.conf.d(5)
- systemd-detect-virt(1)
- systemd-sleep.conf(5)
- sysctl.d(5)
- systemd-vpick(1)
- systemd-pcrlock-secureboot-policy.service(8)
- systemd-update-done(8)
- systemd-sysctl(8)
- pstore.conf.d(5)
- hostnamectl(1)
- systemd-confext(8)
- logind.conf.d(5)
- capsule@.service(5)
- systemd-poweroff.service(8)
- systemd-modules-load(8)
- systemd.special(7)
- org.freedesktop.network1(5)
- systemd.pcrlock.d(5)
- systemd-kexec.service(8)
- systemd-stdio-bridge(1)
- systemd-umount(1)
- systemd-quotacheck(8)
- systemd-sysext.service(8)
- systemd-notify(1)
- systemd-suspend-then-hibernate.service(8)
- systemd-growfs(8)
- systemctl(1)
- systemd-hibernate-clear.service(8)
- systemd-run(1)
- systemd-pcrlock-firmware-code.service(8)
- systemd-sysusers.service(8)
- environment.d(5)
- systemd-networkd-wait-online(8)
- systemd-initctl(8)
- systemd-remount-fs.service(8)
- systemd.network(5)
- systemd-journald@.service(8)
- systemd-pcrlock-file-system.service(8)
- systemd-hibernate-resume.service(8)
- systemd-tty-ask-password-agent(1)
- systemd-growfs@.service(8)
- systemd-ask-password(1)
- systemd-hibernate-resume-generator(8)
- systemd-sleep(8)
- systemd.image-policy(7)
- systemd-hibernate.service(8)
- systemd.timer(5)
- systemd-boot-check-no-failures.service(8)
- networkd.conf(5)
- systemd-tpm2-setup(8)
- systemd-pcrphase-initrd.service(8)
- systemd-xdg-autostart-generator(8)
- systemd-tmpfiles-setup-dev-early.service(8)
- systemd-binfmt(8)
- systemd-user-sessions(8)
- file-hierarchy(7)
- systemd-socket-proxyd(8)
- localectl(1)
- modules-load.d(5)
- machine-id(5)
- systemd-battery-check.service(8)
- systemd-update-done.service(8)
- systemd.mount(5)
- systemd-machine-id-setup(1)
- systemd-storagetm.service(8)
- systemd-growfs-root.service(8)
- systemd.swap(5)
- systemd-hibernate-resume(8)
- initrd-release(5)
- systemd.target(5)
- sleep.conf.d(5)
- systemd-mkswap@.service(8)
- journald@.conf(5)
- systemd-reboot.service(8)
- systemd-journald.service(8)
- systemd-socket-activate(1)
- systemd-tmpfiles-clean.timer(8)
- systemd-debug-generator(8)
- systemd-cgtop(1)
- systemd-measure(1)
- systemd.service(5)
- systemd.slice(5)
- systemd-remount-fs(8)
- systemd-ssh-generator(8)
- systemd-bsod(8)
- systemd-pcrlock-firmware-config.service(8)
- systemd-bsod.service(8)
- systemd-pcrmachine.service(8)
- logind.conf(5)
- bootup(7)
- kernel-install(8)
- systemd-networkd-wait-online@.service(8)
- systemd-network-generator(8)
- kernel-command-line(7)
- pstore.conf(5)
- rc-local.service(8)
- systemd-confext.service(8)
- systemd-soft-reboot.service(8)
- systemd.system-credentials(7)
- systemd-fstab-generator(8)
- systemd-tpm2-setup-early.service(8)
- systemd-tmpfiles(8)
- systemd.preset(5)
- run0(1)
- user.conf.d(5)
- systemd-pcrlock-machine-id.service(8)
- os-release(5)
- systemd-fsck-root.service(8)
- systemd-battery-check(8)
- systemd.automount(5)
- systemd-pcrfs-root.service(8)
- systemd.kill(5)
- systemd-pcrphase-sysinit.service(8)
- journalctl(1)
- 30-systemd-environment-d-generator(8)
- systemd.socket(5)
- systemd-rc-local-generator(8)
- systemd-sysext(8)
- systemd-fsck@.service(8)
- systemd.time(7)
- systemd-rfkill(8)
- systemd-ask-password-wall.path(8)
- machine-info(5)
- systemd-tpm2-generator(8)
- systemd-binfmt.service(8)
- org.freedesktop.login1(5)
- systemd-delta(1)
- systemd-tmpfiles-clean.service(8)
- systemd-ask-password-wall.service(8)
- user-runtime-dir@.service(5)
- systemd-cgls(1)
- smbios-type-11(7)
- systemd-ask-password-console.service(8)
- systemd.netdev(5)
- systemd-journald-dev-log.socket(8)
- systemd-storagetm(8)
- systemd-journald-audit.socket(8)
- systemd-tmpfiles-setup-dev.service(8)
- systemd-hybrid-sleep.service(8)
- systemd-analyze(1)
- systemd-environment-d-generator(8)
- systemd-hostnamed(8)
- systemd-hostnamed.service(8)
- systemd-pcrextend(8)
- systemd-tmpfiles-setup.service(8)
- systemd.pcrlock(5)
- systemd-tpm2-setup.service(8)
- systemd-suspend.service(8)
- systemd-mount(1)
- org.freedesktop.hostname1(5)
- extension-release(5)
- systemd-makefs@.service(8)
- iocost.conf(5)
- systemd-gpt-auto-generator(8)
- systemd-halt.service(8)
- systemd-modules-load.service(8)
- systemd-sysusers(8)
- systemd-user.conf(5)
- systemd-rfkill.service(8)
- systemd-volatile-root.service(8)
- systemd.scope(5)
- daemon(7)
- journald.conf(5)
apt-get install systemd
Available languages:
en zh_TW zh_CN deManual
FILE-HIERARCHY
NAME描 述
总 体 结 构
运 行 时 数 据
发 行 商 提 供 的 操 作 系 统 资 源
应 该 持 久 保 存 的 易 变 系 统 数 据
虚 拟 文 件 系 统
兼 容 性 软 连 接
家 目 录
非 特 权 进 程 的 写 权 限
文 件 类 型
系 统 软 件 包
用 户 软 件 包
参 见
NOTES
跋
NAME
file-hierarchy - 文 件 系 统 层 次 结 构 概 览
描 述
对 于 使 用 systemd (1) 的 操 作 系 统 来 说 , 其 文 件 系 统 层 次 结 构 遵 守 File System Hierarchy [1] 与 hier (7) 规 范 。 本 手 册 仅 描 述 一 个 符 合 上 述 规 范 的 子 集 , 该 子 集 较 小 也 较 现 代 , 并 且 更 加 严 格 的 遵 守 上 述 规 范 。
许 多 本 文 所 描 述 的 路 径 都 可 以 通 过 systemd-path (1) 工 具 来 查 询 。
总 体 结 构
/
文 件 系 统 的 根 。 通 常 是 可 写 的 (也 可 以 是 只 读 的 ), 并 且 可 以 是 一 个 "tmpfs" 文 件 系 统 。 除 非 是 只 读 的 , 否 则 不 与 其 他 主 机 共 享 。
/boot
启 动 分 区 。 在 UEFI系 统 上 通 常 是 "EFI System Partition", 参 见 systemd-gpt-auto-generator (8) 手 册 。 该 目 录 通 常 严 格 位 于 本 机 的 内 置 存 储 上 , 并 且 应 该 是 只 读 的 (除 非 需 要 安 装 内 核 或 引 导 管 理 器 )。 仅 当 操 作 系 统 运 行 在 物 理 机 或 者 虚 拟 硬 件 上 时 才 需 要 此 目 录 , 因 为 这 种 情 况 下 必 须 使 用 引 导 管 理 器 。
/etc
特 定 于 该 操 作 系 统 的 配 置 。 该 目 录 可 以 是 只 读 的 (也 可 以 是 可 读 写 的 )。 通 常 用 于 存 储 操 作 系 统 发 行 商 预 设 的 配 置 文 件 , 但 是 应 用 程 序 不 应 该 假 设 该 目 录 中 必 然 存 在 某 个 配 置 文 件 , 而 是 应 该 在 期 望 的 配 置 文 件 不 存 在 的 情 况 下 , 回 退 到 默 认 设 置 。
/home
存 储 普 通 用 户 的 家 目 录 。 可 以 与 其 他 操 作 系 统 共 享 , 并 且 必 须 是 可 读 写 的 (不 能 是 只 读 的 )。 该 目 录 必 须 仅 用 于 普 通 用 户 , 切 勿 用 于 系 统 用 户 (系 统 用 户 不 只 有 "root")。 该 目 录 及 其 子 目 录 可 以 在 启 动 过 程 的 末 尾 才 变 得 可 用 , 甚 至 可 以 在 完 成 用 户 身 份 认 证 之 后 才 变 得 可 用 。 该 目 录 可 以 位 于 功 能 受 限 的 网 络 文 件 系 统 上 , 因 此 , 应 用 程 序 不 应 该 假 定 所 有 文 件 系 统 API在 此 目 录 上 都 可 用 。 应 用 程 序 不 应 该 直 接 引 用 该 目 录 及 其 子 目 录 , 而 是 应 该 通 过 针 对 每 个 用 户 设 置 的 $HOME 环 境 变 量 来 引 用 , 或 者 根 据 用 户 数 据 库 中 的 "家 目 录 "字 段 的 值 来 引 用 。
/root
"root"用 户 的 家 目 录 。 将 根 用 户 的 家 目 录 放 到 /home 之 外 是 为 了 确 保 即 使 在 /home 目 录 不 可 用 的 情 况 下 , "root"用 户 依 然 可 以 正 常 登 录 。
/srv
存 储 常 规 服 务 器 数 据 (载 荷 )的 目 录 , 由 服 务 器 管 理 员 管 理 。 其 中 的 子 目 录 如 何 组 织 , 没 有 明 确 的 规 范 。 该 目 录 通 常 是 可 写 的 , 并 且 可 以 与 其 他 操 作 系 统 共 享 。 该 目 录 可 以 在 启 动 过 程 的 末 尾 才 变 得 可 用 。
/tmp
存 放 小 临 时 文 件 的 目 录 。 通 常 挂 载 为 一 个 "tmpfs" 文 件 系 统 。 切 勿 在 此 目 录 中 存 放 体 积 较 大 的 临 时 文 件 (应 该 使 用 /var/tmp 目 录 )。 因 为 系 统 上 的 所 有 用 户 都 可 以 访 问 该 目 录 , 所 以 必 须 确 保 该 目 录 仅 对 mkstemp (3), mkdtemp (3) 相 关 系 统 调 用 可 写 。 该 目 录 在 系 统 启 动 过 程 中 会 被 清 空 。 并 且 , 如 果 其 中 的 某 些 文 件 持 续 长 时 间 不 被 访 问 , 通 常 也 会 被 自 动 删 除 。 如 果 应 用 程 序 发 现 $TMPDIR 环 境 变 量 已 经 被 设 置 , 那 么 应 该 使 用 $TMPDIR 环 境 变 量 的 设 置 , 而 不 应 该 直 接 使 用 /tmp 目 录 (参 见 environ (7) 与 IEEE Std 1003.1 [2] )。
运 行 时 数 据
/run
一 个 用 于 存 放 系 统 软 件 运 行 时 数 据 的 "tmpfs" 文 件 系 统 。 该 目 录 在 系 统 启 动 过 程 中 会 被 清 空 。 该 目 录 必 须 总 是 可 写 的 , 但 是 通 常 又 应 该 仅 赋 予 特 权 应 用 写 入 权 限 。
/run/log
运 行 时 系 统 日 志 。 系 统 组 件 可 以 在 这 个 目 录 中 存 放 私 有 日 志 。 该 目 录 必 须 总 是 可 写 的 (即 使 /var/log 目 录 尚 不 能 访 问 )。
/run/user
针 对 每 个 用 户 的 运 行 时 目 录 。 通 常 针 对 每 个 用 户 单 独 挂 载 一 个 "tmpfs" 文 件 系 统 实 例 。 该 目 录 必 须 总 是 可 写 的 , 并 且 在 系 统 启 动 过 程 中 以 及 对 应 的 用 户 登 出 后 会 被 自 动 清 空 。 应 用 程 序 不 应 该 直 接 引 用 该 目 录 , 而 是 应 该 通 过 针 对 每 个 用 户 设 置 的 $XDG_RUNTIME_DIR 环 境 变 量 来 引 用 。 详 见 XDG Base Directory Specification [3]
发 行 商 提 供 的 操 作 系 统 资 源
/usr
发 行 商 提 供 的 操 作 系 统 资 源 。 通 常 应 该 是 只 读 的 (但 非 必 须 是 只 读 )。 可 以 与 其 他 主 机 共 享 。 系 统 管 理 员 不 应 该 修 改 此 目 录 中 的 内 容 , 除 非 需 要 安 装 或 卸 载 发 行 商 提 供 的 软 件 包 。
/usr/bin
存 放 应 当 出 现 在 $PATH 搜 索 路 径 中 的 用 户 命 令 (可 执 行 文 件 )。 建 议 仅 将 命 令 行 工 具 放 到 此 目 录 中 , 而 例 如 守 护 进 程 之 类 的 非 命 令 行 工 具 , 则 应 该 放 到 /usr/lib 下 的 子 目 录 中 。
/usr/include
系 统 库 的 C 与 C++ API 头 文 件 目 录 。
/usr/lib
存 放 通 用 于 所 有 体 系 结 构 的 、 静 态 的 发 行 商 专 属 数 据 。 这 包 括 软 件 包 内 部 使 用 的 可 执 行 文 件 、 以 及 例 如 守 护 进 程 之 类 的 非 命 令 行 工 具 。 这 些 二 进 制 文 件 可 用 于 该 操 作 系 统 支 持 的 所 有 体 系 结 构 。 不 要 在 此 目 录 中 放 置 公 共 库 , 而 应 该 将 它 们 放 到 $libdir 目 录 中 (参 见 下 文 )。
/usr/lib/ arch-id
存 放 动 态 链 接 库 , 又 被 称 为 $libdir 目 录 。 arch-id 的 具 体 名 称 遵 守 Multiarch Architecture Specifiers (Tuples) [4] 列 表 的 规 范 。 传 统 上 , $libdir 通 常 是 /usr/lib 与 /usr/lib64 目 录 。 该 目 录 不 应 该 用 于 存 放 特 定 于 某 个 软 件 的 专 属 数 据 , 除 非 这 些 数 据 是 专 属 于 特 定 体 系 结 构 的 。 可 以 使 用 下 面 的 命 令 查 询 用 于 该 系 统 的 首 选 体 系 结 构 的 $libdir 的 值 :
# systemd-path system-library-arch
/usr/share
在 多 个 软 件 包 之 间 共 享 的 资 源 , 例 如 文 档 、 手 册 、 时 区 数 据 、 字 体 等 资 源 。 此 目 录 下 的 子 目 录 结 构 及 文 件 格 式 , 取 决 于 确 保 软 件 之 间 正 常 相 互 操 作 的 各 种 规 范 。
/usr/share/doc
操 作 系 统 以 及 各 种 软 件 包 的 文 档 。
/usr/share/factory/etc
发 行 商 提 供 的 默 认 配 置 文 件 仓 库 。 该 目 录 中 应 该 放 置 发 行 商 提 供 的 、 所 有 可 能 放 入 /etc 目 录 的 配 置 文 件 的 原 始 默 认 文 件 。 这 个 目 录 主 要 是 为 了 方 便 恢 复 默 认 设 置 以 及 对 比 当 前 配 置 与 默 认 配 置 的 不 同 。
/usr/share/factory/var
与 /usr/share/factory/etc 类 似 , 用 于 存 放 发 行 商 提 供 的 /var 目 录 内 容 的 原 始 默 认 文 件 。
应 该 持 久 保 存 的 易 变 系 统 数 据
/var
应 该 持 久 保 存 的 易 变 系 统 数 据 。 该 目 录 必 须 可 写 。 该 目 录 可 以 预 先 填 充 发 行 商 预 设 的 数 据 , 但 是 应 用 程 序 可 以 自 行 创 建 所 需 的 文 件 和 目 录 。 强 烈 推 荐 (但 非 必 须 )持 久 保 存 该 目 录 中 的 数 据 , 系 统 必 须 在 该 目 录 为 空 时 依 然 能 够 正 常 启 动 , 以 支 持 临 时 运 行 的 系 统 。 该 目 录 可 以 在 启 动 过 程 的 末 尾 才 变 得 可 用 , 因 此 那 些 在 系 统 启 动 早 期 运 行 的 组 件 不 应 该 依 赖 于 此 目 录 的 存 在 。
/var/cache
应 该 持 久 保 存 的 系 统 缓 存 。 系 统 组 件 可 以 在 该 目 录 中 放 置 非 关 键 的 缓 存 。 清 空 该 目 录 必 须 不 影 响 应 用 的 正 常 工 作 (但 应 用 可 以 花 费 额 外 的 时 间 重 建 这 些 缓 存 )。
/var/lib
应 该 持 久 保 存 的 系 统 数 据 。 系 统 组 件 可 以 在 该 目 录 中 放 置 专 属 的 数 据 。
/var/log
应 该 持 久 保 存 的 系 统 日 志 。 系 统 组 件 可 以 在 该 目 录 中 放 置 专 属 的 日 志 。 不 过 , 推 荐 的 方 式 是 通 过 syslog (3) 与 sd_journal_print (3) 接 口 记 录 日 志 。
/var/spool
应 该 持 久 保 存 的 系 统 队 列 。 例 如 邮 件 队 列 或 打 印 队 列 。
/var/tmp
应 该 持 久 保 存 的 临 时 文 件 (通 常 体 积 也 比 较 大 )。 此 目 录 通 常 位 于 持 久 存 储 设 备 上 , 并 且 可 以 存 储 较 大 的 临 时 文 件 。 相 比 较 而 言 , /tmp 一 般 位 于 内 存 中 , 并 且 仅 用 于 存 储 较 小 的 临 时 文 件 。 该 目 录 在 系 统 启 动 过 程 中 一 般 不 会 被 清 空 , 但 是 , 如 果 其 中 的 某 些 文 件 持 续 长 时 间 不 被 访 问 , 通 常 也 会 被 自 动 删 除 。 因 为 系 统 上 的 所 有 用 户 都 可 以 访 问 该 目 录 , 所 以 必 须 确 保 该 目 录 仅 对 mkstemp (3), mkdtemp (3) 相 关 系 统 调 用 可 写 。 如 果 应 用 程 序 发 现 $TMPDIR 环 境 变 量 已 经 被 设 置 , 那 么 应 该 使 用 $TMPDIR 环 境 变 量 的 设 置 , 而 不 应 该 直 接 使 用 /var/tmp 目 录 (参 见 environ (7))。
虚 拟 文 件 系 统
/dev
设 备 节 点 的 根 目 录 。 通 常 被 挂 载 为 一 个 "devtmpfs" 文 件 系 统 实 例 (但 在 沙 盒 或 容 器 中 可 能 是 其 他 类 型 )。 该 目 录 中 的 内 容 由 内 核 与 systemd-udevd.service (8) 共 同 管 理 , 其 他 任 何 组 件 都 不 应 该 修 改 此 目 录 中 的 内 容 。 可 以 在 该 目 录 的 子 目 录 中 再 挂 载 其 他 特 定 用 途 的 虚 拟 文 件 系 统 。
/dev/shm
通 过 shm_open (3) 创 建 的 POSIX共 享 内 存 。 因 为 它 其 实 是 一 个 "tmpfs" 文 件 系 统 , 所 以 在 系 统 启 动 过 程 中 会 被 清 空 。 因 为 系 统 上 的 所 有 用 户 都 可 以 读 写 该 目 录 , 所 以 必 须 注 意 避 免 文 件 名 冲 突 以 及 安 全 漏 洞 (也 就 是 注 意 权 限 设 置 )。 对 于 普 通 用 户 , 当 其 退 出 登 录 时 , 其 在 该 目 录 下 创 建 的 文 件 也 会 被 删 除 。 通 常 , 在 /run 目 录 (针 对 系 统 进 程 ) 或 $XDG_RUNTIME_DIR 目 录 (针 对 用 户 进 程 )中 使 用 内 存 映 射 文 件 , 是 比 使 用 POSIX共 享 内 存 更 好 的 解 决 方 案 。 因 为 这 些 目 录 不 是 全 局 可 写 的 , 所 以 不 存 在 文 件 名 冲 突 以 及 安 全 漏 洞 的 问 题 。
/proc
显 示 进 程 信 息 以 及 其 他 功 能 的 虚 拟 文 件 系 统 。 此 文 件 系 统 主 要 用 作 内 核 与 用 户 交 互 的 界 面 。 详 见 proc (5) 手 册 。 可 以 在 该 目 录 的 子 目 录 中 再 挂 载 其 他 特 定 用 途 的 虚 拟 文 件 系 统 。
/proc/sys
调 整 内 核 各 项 参 数 的 一 个 界 面 。 主 要 通 过 sysctl.d (5) 中 的 配 置 文 件 进 行 设 置 。 但 在 沙 盒 或 容 器 中 该 目 录 通 常 以 只 读 方 式 挂 载 (也 就 是 禁 止 修 改 内 核 参 数 )。
/sys
显 示 所 有 已 发 现 设 备 以 及 其 他 功 能 的 虚 拟 文 件 系 统 。 此 文 件 系 统 主 要 用 作 内 核 与 用 户 交 互 的 界 面 。 在 沙 盒 或 容 器 中 该 目 录 通 常 以 只 读 方 式 挂 载 。 可 以 在 该 目 录 的 子 目 录 中 再 挂 载 其 他 特 定 用 途 的 虚 拟 文 件 系 统 。
兼 容 性 软 连 接
/bin, /sbin, /usr/sbin
这 三 个 软 连 接 都 指 向 /usr/bin 以 确 保 对 传 统 路 径 的 兼 容 。
/lib
这 个 软 连 接 指 向 /usr/lib 以 确 保 对 传 统 路 径 的 兼 容 。
/lib64
在 64位 系 统 上 , 这 个 软 连 接 指 向 $libdir 以 确 保 对 传 统 路 径 的 兼 容 。 此 软 连 接 仅 存 在 于 动 态 加 载 器 位 于 此 路 径 的 系 统 架 构 上 。
/var/run
这 个 软 连 接 指 向 /run 以 确 保 对 传 统 路 径 的 兼 容 。
家 目 录
用 户 应 用 如 果 想 要 在 用 户 的 家 目 录 中 保 存 文 件 或 目 录 , 那 么 应 该 遵 守 下 面 的 规 范 。 注 意 , 下 面 的 某 些 目 录 虽 然 比 较 脆 弱 , 但 是 已 经 被 XDG Base Directory Specification [3] 标 准 化 了 。 其 他 为 高 层 次 用 户 资 源 定 义 的 位 置 参 见 xdg-user-dirs [5] 文 档 。
˜/.cache
应 该 持 久 保 存 的 用 户 缓 存 。 应 用 可 以 在 该 目 录 中 放 置 非 关 键 的 用 户 缓 存 。 清 空 该 目 录 中 的 缓 存 必 须 不 影 响 应 用 的 正 常 工 作 (但 应 用 可 以 花 费 额 外 的 时 间 重 建 这 些 缓 存 )。 如 果 应 用 程 序 发 现 $XDG_CACHE_HOME 环 境 变 量 已 经 被 设 置 , 那 么 应 该 使 用 $XDG_CACHE_HOME 环 境 变 量 的 设 置 , 而 不 应 该 直 接 使 用 ˜/.cache 目 录 。
˜/.config
应 该 持 久 保 存 的 用 户 配 置 与 状 态 。 当 新 用 户 刚 被 创 建 时 , 该 目 录 应 该 初 始 为 空 或 根 本 不 存 在 。 如 果 期 望 的 配 置 文 件 不 存 在 于 该 目 录 中 , 那 么 应 用 程 序 应 该 回 退 到 默 认 设 置 , 而 不 应 该 罢 工 。 如 果 应 用 程 序 发 现 $XDG_CONFIG_HOME 环 境 变 量 已 经 被 设 置 , 那 么 应 该 使 用 $XDG_CONFIG_HOME 环 境 变 量 的 设 置 , 而 不 应 该 直 接 使 用 ˜/.config 目 录 。
˜/.local/bin
存 放 应 当 出 现 在 用 户 专 属 的 $PATH 搜 索 路 径 中 的 用 户 命 令 (可 执 行 文 件 )。 建 议 仅 将 命 令 行 工 具 放 到 此 目 录 中 , 而 例 如 守 护 进 程 之 类 的 非 命 令 行 工 具 , 则 应 该 放 到 ˜/.local/lib 下 的 子 目 录 中 。 注 意 , 当 在 此 目 录 中 存 放 特 定 于 体 系 结 构 的 可 执 行 文 件 时 , 可 能 会 因 为 与 其 他 不 同 体 系 结 构 的 系 统 共 享 家 目 录 而 出 现 故 障 。
˜/.local/lib
存 放 通 用 于 所 有 体 系 结 构 的 、 静 态 的 用 户 专 属 数 据 。 这 包 括 软 件 包 内 部 使 用 的 可 执 行 文 件 、 以 及 例 如 守 护 进 程 之 类 的 非 命 令 行 工 具 。 这 些 二 进 制 文 件 可 用 于 该 操 作 系 统 支 持 的 所 有 体 系 结 构 。 不 要 在 此 目 录 中 放 置 公 共 库 , 而 应 该 将 它 们 放 到 ˜/.local/lib/ arch-id 目 录 中 (参 见 下 文 )。
˜/.local/lib/ arch-id
存 放 专 属 于 特 定 体 系 结 构 的 动 态 链 接 库 。 arch-id 的 具 体 名 称 遵 守 Multiarch Architecture Specifiers (Tuples) [4] 列 表 的 规 范 。
˜/.local/share
在 多 个 软 件 包 之 间 共 享 的 资 源 , 例 如 图 标 、 字 体 等 资 源 。 此 目 录 下 的 子 目 录 结 构 及 文 件 格 式 , 取 决 于 确 保 软 件 之 间 正 常 相 互 操 作 的 各 种 规 范 。 如 果 应 用 程 序 发 现 $XDG_DATA_HOME 环 境 变 量 已 经 被 设 置 , 那 么 应 该 使 用 $XDG_DATA_HOME 环 境 变 量 的 设 置 , 而 不 应 该 直 接 使 用 ˜/.local/share 目 录 。
非 特 权 进 程 的 写 权 限
非 特 权 进 程 通 常 对 大 多 数 目 录 都 没 有 写 权 限 。
但 对 于 普 通 用 户 的 非 特 权 进 程 来 说 , 可 以 写 入 /tmp, /var/tmp, /dev/shm, $HOME (通 常 位 于 /home 下 ), $XDG_RUNTIME_DIR (通 常 位 于 /run/user 下 ) 目 录 。
而 对 于 系 统 的 非 特 权 进 程 来 说 , 则 仅 可 以 写 入 /tmp, /var/tmp, /dev/shm 目 录 。 如 果 系 统 的 非 特 权 进 程 需 要 在 /var 或 /run 目 录 中 创 建 一 个 专 属 的 、 可 写 入 的 目 录 , 那 么 可 以 在 守 护 进 程 丢 弃 特 权 之 前 先 创 建 该 目 录 , 或 者 通 过 tmpfiles.d (5) 在 系 统 启 动 时 先 创 建 该 目 录 , 或 者 通 过 服 务 单 元 文 件 中 的 RuntimeDirectory= 指 令 (详 见 systemd.unit (5) 手 册 )创 建 该 目 录 。
文 件 类 型
Unix文 件 系 统 支 持 不 同 的 文 件 节 点 类 型 : 普 通 文 件 、 目 录 、 软 连 接 、 字 符 设 备 、 块 设 备 、 套 接 字 (socket)、 管 道 (FIFO)。
强 烈 建 议 仅 将 设 备 文 件 放 置 在 /dev 目 录 中 、 仅 将 套 接 字 (socket)与 管 道 (FIFO)文 件 放 置 在 /run 目 录 中 。 而 普 通 文 件 、 目 录 、 软 连 接 则 可 以 放 置 在 所 有 目 录 中 。
系 统 软 件 包
系 统 软 件 包 的 开 发 者 应 该 严 格 遵 守 下 面 的 文 件 布 局 规 范 。 下 面 列 出 了 发 行 商 提 供 的 系 统 软 件 包 中 各 类 文 件 的 推 荐 位 置 :
Table 1. 系 统 软 件 包 中 静 态 文 件 的 推 荐 位 置
发 行 商 提 供 的 其 他 静 态 资 源 应 该 存 放 在 /usr/share 目 录 下 , 具 体 的 存 放 位 置 应 该 遵 守 其 他 的 相 关 规 范 。
存 放 软 件 包 运 行 时 数 据 以 及 配 置 文 件 的 相 关 目 录 如 下 :
Table 2. 系 统 软 件 包 的 运 行 时 数 据 以 及 配 置 文 件 的 推 荐 位 置
用 户 软 件 包
对 于 专 属 于 特 定 用 户 的 软 件 包 , 其 存 贮 在 用 户 家 目 录 中 的 文 件 必 须 严 格 遵 守 下 面 的 文 件 布 局 规 范 。 注 意 , 当 安 装 属 于 系 统 范 围 的 软 件 包 时 , 应 该 遵 守 前 面 "系 统 软 件 包 "小 节 的 布 局 规 范 。 下 面 列 出 了 当 用 户 在 其 家 目 录 中 安 装 专 属 软 件 包 时 , 由 发 行 商 提 供 的 各 种 类 型 的 文 件 在 用 户 家 目 录 中 应 该 存 放 的 位 置 :
Table 3. 用 户 软 件 包 中 静 态 文 件 的 推 荐 位 置
发 行 商 提 供 的 其 他 静 态 资 源 应 该 存 放 在 ˜/.local/share 目 录 下 , 具 体 的 存 放 位 置 应 该 遵 守 其 他 的 相 关 规 范 。
存 放 软 件 包 运 行 时 数 据 以 及 配 置 文 件 的 相 关 目 录 如 下 :
Table 4. 用 户 软 件 包 的 运 行 时 数 据 以 及 配 置 文 件 的 推 荐 位 置
参 见
systemd (1), hier (7), systemd-path (1), systemd-gpt-auto-generator (8), sysctl.d (5), tmpfiles.d (5), pkg-config (1), systemd.unit (5)
NOTES
|
1. |
File System Hierarchy |
http://refspecs.linuxfoundation.org/FHS_2.3/fhs-2.3.html
|
2. |
IEEE Std 1003.1 |
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08_03
|
3. |
XDG Base Directory Specification |
http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
|
4. |
Multiarch Architecture Specifiers (Tuples) |
https://wiki.debian.org/Multiarch/Tuples
|
5. |
xdg-user-dirs |
http://www.freedesktop.org/wiki/Software/xdg-user-dirs/
跋
本 页 面 中 文 版 由 中 文 man 手 册 页 计 划 提 供 。
翻
译 人 员 : 金 步
国
金 步 国 作 品 集
: http://www.jinbuguo.com
中 文 man 手 册 页 计
划 :
https://github.com/man-pages-zh/manpages-zh