Man page - systemd(1)
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 fr zh_TW zh_CN deManual
SYSTEMD
NAMESYNOPSIS
描 述
選 項
概 念
目 錄
訊 號
環 境 變 數
核 心 引 導 選 項
SOCKETS 與 FIFOS
參 見
NOTES
跋
NAME
systemd, init - systemd 系 統 與 服 務 管 理 器
SYNOPSIS
|
systemd [OPTIONS...] |
||
|
init [OPTIONS...] {COMMAND} |
描 述
systemd 是 一 個 專 用 於 Linux 作 業 系 統 的 系 統 與 服 務 管 理 器 。 當 作 為 啟 動 程 序 (PID=1)執 行 時 , 它 將 作 為 初 始 化 系 統 執 行 , 也 就 是 啟 動 並 維 護 各 種 使 用 者 空 間 的 服 務 。
為 了 與 傳 統 的 SysV 相 容 , 如 果 將 systemd 以 init 名 稱 啟 動 , 並 且 "PID≠1", 那 麼 它 將 執 行 telinit 命 令 並 將 所 有 命 令 列 引 數 原 封 不 動 的 傳 遞 過 去 。 這 樣 對 於 普 通 的 登 陸 會 話 來 說 , 無 論 是 呼 叫 init 還 是 呼 叫 telinit 都 是 等 價 的 。 詳 見 telinit (8) 手 冊 。
當 作 為 系 統 例 項 執 行 時 , systemd 將 會 按 照 system.conf 配 置 檔 案 以 及 system.conf.d 配 置 目 錄 中 的 指 令 工 作 ; 當 作 為 使 用 者 例 項 執 行 時 , systemd 將 會 按 照 user.conf 配 置 檔 案 以 及 user.conf.d 配 置 目 錄 中 的 指 令 工 作 。 詳 見 systemd-system.conf (5) 手 冊 。
選 項
能 夠 識 別 的 命 令 列 選 項 如 下 :
--test
檢 測 並 輸 出 啟 動 序 列 , 然 後 退 出 。 僅 用 於 除 錯 目 的 。
--dump-configuration-items
輸 出 一 個 單 元 (unit)列 表 。 此 列 表 簡 明 且 完 整 的 列 出 了 所 有 單 元 檔 案 中 定 義 的 "unit"。
--unit=
設 定 啟 動 時 預 設 啟 動 的 單 元 (unit)。 預 設 值 是 default.target
--system , --user
--system 表 示 強 制 作 為 系 統 例 項 執 行 (即 使 "PID≠1"), --user 表 示 強 制 作 為 使 用 者 例 項 執 行 (即 使 "PID=1")。 通 常 不 應 該 使 用 此 選 項 。 此 選 項 僅 用 於 除 錯 目 的 , 而 且 --system 僅 在 與 --test 一 起 使 用 時 才 有 實 際 意 義 。
--dump-core
在 崩 潰 時 進 行 核 心 轉 儲 。 當 作 為 使 用 者 例 項 執 行 時 , 此 選 項 沒 有 實 際 意 義 。 此 選 項 還 可 以 透 過 核 心 引 導 選 項 systemd.dump_core= 開 啟 (參 見 "核 心 引 導 選 項 "小 節 )。
--crash-vt= VT
在 崩 潰 時 切 換 到 指 定 的 虛 擬 控 制 檯 (VT)。 當 作 為 使 用 者 例 項 執 行 時 , 此 選 項 沒 有 實 際 意 義 。 可 以 設 為 一 個 1–63 之 間 的 整 數 或 布 林 值 。 若 設 為 整 數 則 切 換 到 指 定 編 號 的 虛 擬 控 制 檯 ; 若 設 為 yes 則 表 示 使 用 核 心 訊 息 所 使 用 的 虛 擬 控 制 檯 ; 若 設 為 no 則 表 示 不 切 換 到 任 何 虛 擬 控 制 檯 。 此 選 項 還 可 以 透 過 核 心 引 導 選 項 systemd.crash_vt= 設 定 (參 見 "核 心 引 導 選 項 "小 節 )。
--crash-shell
在 崩 潰 時 啟 動 一 個 shell 。 當 作 為 使 用 者 例 項 執 行 時 , 此 選 項 沒 有 實 際 意 義 。 此 選 項 還 可 以 透 過 核 心 引 導 選 項 systemd.crash_shell= 開 啟 (參 見 "核 心 引 導 選 項 "小 節 )。
--crash-reboot
在 崩 潰 時 自 動 重 啟 系 統 。 當 作 為 使 用 者 例 項 執 行 時 , 此 選 項 沒 有 實 際 意 義 。 此 選 項 還 可 以 透 過 核 心 引 導 選 項 systemd.crash_reboot= 開 啟 (參 見 "核 心 引 導 選 項 "小 節 )。
--confirm-spawn
在 派 生 新 程 序 時 進 行 確 認 提 示 。 當 作 為 使 用 者 例 項 執 行 時 , 此 選 項 沒 有 實 際 意 義 。
--show-status=
在 系 統 啟 動 過 程 中 顯 示 簡 明 的 服 務 狀 態 資 訊 。 當 作 為 使 用 者 例 項 執 行 時 , 此 選 項 沒 有 實 際 意 義 。 其 引 數 必 須 是 一 個 表 示 真 假 的 布 林 值 , 如 果 未 指 定 則 相 當 於 設 為 yes
--log-target=
設 定 日 誌 的 目 標 , 其 引 數 必 須 是 console , journal , kmsg , journal-or-kmsg , null 之 一 (小 寫 )。
--log-level=
設 定 日 誌 的 等 級 , 其 引 數 必 須 是 一 個 數 字 或 者 符 合 syslog (3) 習 慣 的 emerg , alert , crit , err , warning , notice , info , debug 之 一 (小 寫 )。
--log-color=
高 亮 重 要 的 日 誌 資 訊 , 其 引 數 必 須 是 一 個 表 示 真 假 的 布 林 值 , 若 未 指 定 則 相 當 於 設 為 yes
--log-location=
在 日 誌 中 包 含 程 式 碼 的 位 置 , 其 引 數 必 須 是 一 個 表 示 真 假 的 布 林 值 , 若 未 指 定 則 相 當 於 設 為 yes 。 僅 用 於 除 錯 目 的 。
--default-standard-output= , --default-standard-error=
為 所 有 的 service 與 socket 設 定 預 設 的 標 準 輸 出 與 標 準 錯 誤 , 相 當 於 設 定 StandardOutput= 與 StandardError= 指 令 的 值 (參 見 systemd.exec (5) 手 冊 )。 其 引 數 必 須 是 inherit , null , tty , journal , journal+console , syslog , syslog+console , kmsg , kmsg+console 之 一 (小 寫 )。 --default-standard-output= 的 預 設 值 是 journal ; 而 --default-standard-error= 的 預 設 值 是 inherit
--machine-id=
覆 蓋 檔 案 系 統 上 的 machine-id 設 定 , 常 用 於 網 路 啟 動 或 容 器 。 禁 止 設 為 全 零 的 值 。
-h , --help
顯 示 簡 短 的 幫 助 資 訊 並 退 出 。
--version
顯 示 簡 短 的 版 本 資 訊 並 退 出 。
概 念
systemd 將 各 種 系 統 啟 動 和 執 行 相 關 的 物 件 , 表 示 為 各 種 不 同 型 別 的 單 元 (unit), 並 提 供 了 處 理 不 同 單 元 之 間 依 賴 關 係 的 能 力 。 大 部 分 單 元 都 靜 態 的 定 義 在 單 元 檔 案 中 (參 見 systemd.unit (5) 手 冊 ), 但 是 有 少 部 分 單 元 則 是 動 態 自 動 生 成 的 : 其 中 一 部 分 來 自 於 其 他 傳 統 的 配 置 檔 案 (為 了 相 容 性 ), 而 另 一 部 分 則 動 態 的 來 自 於 系 統 狀 態 或 可 程 式 設 計 的 執 行 時 狀 態 。 單 元 既 可 以 處 於 活 動 (active)狀 態 也 可 以 處 於 停 止 (inactive)狀 態 , 當 然 也 可 以 處 於 啟 動 中 (activating)或 停 止 中 (deactivating)的 狀 態 。 還 有 一 個 特 殊 的 失 敗 (failed)狀 態 , 意 思 是 單 元 以 某 種 方 式 失 敗 了 (程 序 崩 潰 了 、 或 者 觸 碰 啟 動 頻 率 限 制 、 或 者 退 出 時 返 回 了 錯 誤 程 式 碼 、 或 者 遇 到 了 操 作 超 時 之 類 的 故 障 )。 當 進 入 失 敗 (failed)狀 態 時 , 導 致 故 障 的 原 因 將 被 記 錄 到 日 誌 中 以 方 便 日 後 排 查 。 需 要 注 意 的 是 , 不 同 的 單 元 可 能 還 會 有 各 自 不 同 的 "子 狀 態 ", 但 它 們 都 被 對 映 到 上 述 五 種 狀 態 之 一 。
各 種 不 同 的 單 元 型 別 如 下 :
1. service 單 元 。 用 於 封 裝 一 個 後 臺 服 務 程 序 。 參 見 systemd.service (5) 手 冊 。
2. socket 單 元 。 用 於 封 裝 一 個 系 統 套 接 字 (UNIX)或 網 際 網 路 套 接 字 (INET/INET6)或 FIFO管 道 。 相 應 的 服 務 在 第 一 個 "連 線 "進 入 套 接 字 時 才 會 被 啟 動 。 有 關 套 接 字 單 元 的 詳 情 , 參 見 systemd.socket (5) 手 冊 ; 有 關 基 於 套 接 字 或 其 他 方 式 的 啟 動 , 參 見 daemon (7) 手 冊 。
3. target 單 元 。 用 於 將 多 個 單 元 在 邏 輯 上 組 合 在 一 起 。 參 見 systemd.target (5) 手 冊 。
4. device 單 元 。 用 於 封 裝 一 個 裝 置 檔 案 , 可 用 於 基 於 裝 置 的 啟 動 。 並 非 每 一 個 裝 置 檔 案 都 需 要 一 個 device 單 元 , 但 是 每 一 個 被 udev 規 則 標 記 的 裝 置 都 必 須 作 為 一 個 device 單 元 出 現 。 參 見 systemd.device (5) 手 冊 。
5. mount 單 元 。 用 於 封 裝 一 個 檔 案 系 統 掛 載 點 (也 向 後 相 容 傳 統 的 /etc/fstab 檔 案 )。 參 見 systemd.mount (5) 手 冊 。
6. automount 單 元 。 用 於 封 裝 一 個 檔 案 系 統 自 動 掛 載 點 , 也 就 是 僅 在 掛 載 點 確 實 被 訪 問 的 情 況 下 才 進 行 掛 載 。 它 取 代 了 傳 統 的 autofs 服 務 。 參 見 systemd.automount (5) 手 冊 。
7. timer 單 元 。 用 於 封 裝 一 個 基 於 時 間 觸 發 的 動 作 。 它 取 代 了 傳 統 的 atd, crond 等 任 務 計 劃 服 務 。 參 見 systemd.timer (5) 手 冊 。
8. swap 單 元 。 用 於 封 裝 一 個 交 換 分 割 槽 或 者 交 換 檔 案 。 它 與 mount 單 元 非 常 類 似 。 參 見 systemd.swap (5) 手 冊 。
9. path 單 元 。 用 於 根 據 檔 案 系 統 上 特 定 物 件 的 變 化 來 啟 動 其 他 服 務 。 參 見 systemd.path (5) 手 冊 。
10. slice 單 元 。 用 於 控 制 特 定 CGroup 內 (例 如 一 組 service 與 scope 單 元 )所 有 程 序 的 總 體 資 源 佔 用 。 參 見 systemd.slice (5) 手 冊 。
11. scope 單 元 。 它 與 service 單 元 類 似 , 但 是 由 systemd 根 據 D-bus 介 面 接 收 到 的 資 訊 自 動 建 立 , 可 用 於 管 理 外 部 建 立 的 程 序 。 參 見 systemd.scope (5) 手 冊 。
單 元 的 名 稱 由 單 元 檔 案 的 名 稱 決 定 , 某 些 特 定 的 單 元 名 稱 具 有 特 殊 的 含 義 , 詳 情 參 見 systemd.special (7) 手 冊 。
systemd 能 夠 處 理 各 種 型 別 的 依 賴 關 係 , 包 括 依 賴 與 衝 突 (也 就 是 Requires= 與 Conflicts= 指 令 ), 以 及 先 後 順 序 (也 就 是 After= 與 Before= 指 令 )。 注 意 , 上 述 兩 種 型 別 的 依 賴 關 係 (依 賴 與 衝 突 、 先 後 順 序 )之 間 是 相 互 獨 立 的 (無 關 的 )。 舉 例 來 說 , 假 定 foo.service 依 賴 於 (Requires) bar.service 但 並 未 指 定 先 後 順 序 , 那 麼 這 兩 個 服 務 將 被 同 時 並 行 啟 動 。 不 過 在 兩 個 單 元 之 間 既 存 在 依 賴 關 係 也 存 在 先 後 順 序 的 情 形 也 很 常 見 。 另 外 需 要 注 意 的 是 , 大 多 數 依 賴 關 係 都 是 由 systemd 隱 式 建 立 和 維 護 的 , 因 此 沒 有 必 要 額 外 手 動 建 立 它 們 。
應 用 程 式 和 單 元 (透 過 依 賴 關 係 )可 能 會 查 詢 其 他 單 元 的 狀 態 變 化 。 在 systemd 中 , 這 種 查 詢 被 包 裝 為 "任 務 "(job)並 被 作 為 "任 務 佇 列 "進 行 管 理 。 任 務 的 執 行 結 果 可 能 成 功 也 可 能 失 敗 , 但 是 任 務 的 執 行 順 序 是 依 照 任 務 所 屬 單 元 之 間 的 先 後 順 序 確 定 的 。
在 系 統 啟 動 時 , systemd 預 設 啟 動 default.target 單 元 , 該 單 元 中 應 該 包 含 所 有 你 想 在 開 機 時 預 設 啟 動 的 單 元 。 但 實 際 上 , 它 通 常 只 是 一 個 指 向 graphical.target (圖 形 介 面 ) 或 multi-user.target (命 令 列 介 面 , 常 用 於 嵌 入 式 或 伺 服 器 環 境 , 一 般 是 graphical.target 的 一 個 子 集 )的 符 號 連 線 。 詳 見 systemd.special (7) 手 冊 。
systemd 依 賴 於 核 心 提 供 的 cgroups [1] 特 性 控 制 程 序 的 派 生 , 從 而 確 保 可 以 追 蹤 到 所 有 子 程 序 。 cgroups 資 訊 由 核 心 負 責 維 護 , 並 且 可 以 透 過 /sys/fs/cgroup/systemd/ 介 面 進 行 訪 問 。 此 外 , 還 可 以 透 過 systemd-cgls (1) 或 ps (1) 之 類 的 工 具 進 行 檢 視 ( ps xawf -eo pid,user,cgroup,args )
systemd 幾 乎 完 全 相 容 傳 統 的 SysV init 系 統 : SysV init 指 令 碼 可 以 作 為 另 一 種 配 置 檔 案 格 式 被 識 別 ; 提 供 與 SysV 相 容 的 /dev/initctl 介 面 ; 提 供 各 種 SysV 工 具 的 相 容 實 現 ; 依 然 相 容 例 如 /etc/fstab 或 者 utmp 之 類 傳 統 的 Unix 特 性 。
systemd 還 有 一 個 小 型 的 事 務 系 統 : 如 果 要 啟 動 或 關 閉 一 個 單 元 , 那 麼 該 單 元 所 依 賴 的 所 有 其 他 單 元 都 會 被 一 起 加 入 到 同 一 個 臨 時 事 務 中 。 這 樣 , 就 可 以 校 驗 整 個 事 務 的 一 致 性 , 也 就 是 檢 查 是 否 存 在 迴 圈 依 賴 。 如 果 存 在 迴 圈 依 賴 , 那 麼 systemd 將 會 嘗 試 透 過 去 掉 弱 依 賴 (want)來 解 決 這 個 問 題 , 如 果 最 終 實 在 無 法 解 決 迴 圈 依 賴 的 問 題 , 那 麼 systemd 將 會 報 錯 。
systemd 內 建 了 許 多 系 統 啟 動 過 程 中 必 需 的 操 作 , 例 如 , 設 定 hostname 以 及 配 置 loopback 網 路 裝 置 , 以 及 掛 載 /sys 和 /proc 檔 案 系 統 。
在 系 統 啟 動 或 者 執 行 systemctl reload ... 時 , systemd 可 以 根 據 其 他 配 置 檔 案 或 者 核 心 引 導 選 項 動 態 生 成 單 元 , 參 見 systemd.generator (7) 手 冊 。
如 果 要 從 容 器 中 呼 叫 systemd 那 麼 必 須 遵 守 Container Interface [2] 規 範 。 如 果 要 從 initrd 中 呼 叫 systemd 那 麼 必 須 遵 守 initrd Interface [3] 規 範 。
目 錄
系 統 單 元 目 錄
systemd 會 從 多 個 優 先 順 序 不 同 的 系 統 單 元 目 錄 中 讀 取 系 統 單 元 , 軟 體 包 應 該 將 系 統 單 元 檔 案 安 裝 在 pkg-config systemd --variable=systemdsystemunitdir 命 令 所 返 回 的 系 統 單 元 目 錄 中 (通 常 是 /usr/lib/systemd/system)。 此 外 , systemd 還 會 讀 取 優 先 順 序 較 高 的 /usr/local/lib/systemd/system 目 錄 以 及 優 先 順 序 較 低 的 /usr/lib/systemd/system 目 錄 中 的 系 統 單 元 檔 案 。 優 先 順 序 最 高 的 系 統 單 元 目 錄 是 pkg-config systemd --variable=systemdsystemconfdir 命 令 所 返 回 的 目 錄 (通 常 是 /etc/systemd/system)。 注 意 , 軟 體 包 應 該 僅 使 用 systemctl (1) 的 enable 與 disable 命 令 修 改 上 述 目 錄 中 的 內 容 。 完 整 的 目 錄 列 表 參 見 systemd.unit (5) 手 冊 。
使 用 者 單 元 目 錄
使 用 者 單 元 目 錄 所 遵 守 的 規 則 與 系 統 單 元 目 錄 類 似 , 軟 體 包 應 該 將 使 用 者 單 元 檔 案 安 裝 在 pkg-config systemd --variable=systemduserunitdir 命 令 所 返 回 的 使 用 者 單 元 目 錄 中 (通 常 是 /usr/lib/systemd/user)。 此 外 , 因 為 使 用 者 單 元 目 錄 還 遵 守 XDG Base Directory specification [4] 規 範 , 所 以 systemd 還 會 讀 取 $XDG_DATA_HOME/systemd/user(僅 在 已 設 定 $XDG_DATA_HOME 的 情 況 下 ) 或 ˜/.local/share/systemd/user(僅 在 未 設 定 $XDG_DATA_HOME 的 情 況 下 ) 目 錄 中 的 使 用 者 單 元 。 全 域 性 使 用 者 單 元 目 錄 (針 對 所 有 使 用 者 )是 pkg-config systemd --variable=systemduserconfdir 命 令 所 返 回 的 目 錄 (通 常 是 /etc/systemd/user)。 注 意 , 軟 體 包 應 該 僅 使 用 systemctl (1) 的 enable 與 disable 命 令 修 改 上 述 目 錄 中 的 內 容 。 無 論 這 種 修 改 是 全 域 性 的 (針 對 所 有 使 用 者 )、 還 是 私 有 的 (針 對 單 個 使 用 者 )。 完 整 的 目 錄 列 表 參 見 systemd.unit (5) 手 冊 。
SysV啟 動 指 令 碼 目 錄 (不 同 發 行 版 之 間 差 別 可 能 很 大 )
如 果 systemd 找 不 到 指 定 服 務 所 對 應 的 單 元 檔 案 , 那 麼 就 會 到 SysV啟 動 指 令 碼 目 錄 中 去 尋 找 同 名 指 令 碼 (去 掉 .service 字 尾 )。
SysV執 行 級 目 錄 (不 同 發 行 版 之 間 差 別 可 能 很 大 )
systemd 在 決 定 是 否 啟 用 一 個 服 務 的 時 候 , 會 參 照 SysV執 行 級 目 錄 對 該 服 務 的 設 定 。 注 意 , 這 個 規 則 不 適 用 於 那 些 已 經 擁 有 原 生 單 元 檔 案 的 服 務 。
訊 號
SIGTERM
systemd 系 統 例 項 將 會 儲 存 其 當 前 狀 態 , 然 後 重 新 執 行 它 自 身 , 再 恢 復 到 先 前 儲 存 的 狀 態 。 基 本 上 相 當 於 執 行 systemctl daemon-reexec 命 令 。
systemd 使 用 者 例 項 將 會 啟 動 exit.target 單 元 。 基 本 上 相 當 於 執 行 systemctl --user start exit.target 命 令 。
SIGINT
systemd 系 統 例 項 將 會 啟 動 ctrl-alt-del.target 單 元 。 基 本 上 相 當 於 執 行 systemctl start ctl-alt-del.target 命 令 。 在 控 制 檯 上 按 Ctrl-Alt-Del 組 合 鍵 即 可 觸 發 這 個 訊 號 。 但 是 , 如 果 在 2秒 內 連 續 收 到 超 過 7次 這 個 訊 號 , 那 麼 將 會 不 顧 一 切 的 立 即 強 制 重 啟 。 因 此 , 如 果 系 統 在 重 啟 過 程 中 僵 死 , 那 麼 可 以 透 過 快 速 連 按 7次 Ctrl-Alt-Del 組 合 鍵 來 強 制 立 即 重 啟 。
systemd 使 用 者 例 項 處 理 此 訊 號 的 方 式 與 SIGTERM 相 同 。
SIGWINCH
systemd 系 統 例 項 將 會 啟 動 kbrequest.target 單 元 。 基 本 上 相 當 於 執 行 systemctl start kbrequest.target 命 令 。
systemd 使 用 者 例 項 將 會 完 全 忽 略 此 訊 號 。
SIGPWR
systemd 將 會 啟 動 sigpwr.target 單 元 。 基 本 上 相 當 於 執 行 systemctl start sigpwr.target 命 令 。
SIGUSR1
systemd 將 會 嘗 試 重 新 連 線 到 D-Bus 匯 流 排 。
SIGUSR2
systemd 將 會 以 人 類 易 讀 的 格 式 將 其 完 整 的 狀 態 記 錄 到 日 誌 中 。 日 期 的 格 式 與 systemd-analyze dump 的 輸 出 格 式 相 同 。
SIGHUP
重 新 載 入 守 護 程 序 的 配 置 檔 案 。 基 本 上 相 當 於 執 行 systemctl daemon-reload 命 令 。
SIGRTMIN+0
進 入 預 設 模 式 , 啟 動 default.target 單 元 。 基 本 上 相 當 於 執 行 systemctl start default.target 命 令 。
SIGRTMIN+1
進 入 救 援 模 式 , 啟 動 rescue.target 單 元 。 基 本 上 相 當 於 執 行 systemctl isolate rescue.target 命 令 。
SIGRTMIN+2
進 入 緊 急 維 修 模 式 , 啟 動 emergency.target 單 元 。 基 本 上 相 當 於 執 行 systemctl isolate emergency.target 命 令 。
SIGRTMIN+3
關 閉 系 統 , 啟 動 halt.target 單 元 。 基 本 上 相 當 於 執 行 systemctl start halt.target 命 令 。
SIGRTMIN+4
關 閉 系 統 並 切 斷 電 源 , 啟 動 poweroff.target 單 元 。 基 本 上 相 當 於 執 行 systemctl start poweroff.target 命 令 。
SIGRTMIN+5
重 新 啟 動 , 啟 動 reboot.target 單 元 。 基 本 上 相 當 於 執 行 systemctl start reboot.target 命 令 。
SIGRTMIN+6
透 過 核 心 的 kexec 介 面 重 新 啟 動 , 啟 動 kexec.target 單 元 。 基 本 上 相 當 於 執 行 systemctl start kexec.target 命 令 。
SIGRTMIN+13
立 即 關 閉 機 器
SIGRTMIN+14
立 即 關 閉 機 器 並 切 斷 電 源
SIGRTMIN+15
立 即 重 新 啟 動
SIGRTMIN+16
立 即 透 過 核 心 的 kexec 介 面 重 新 啟 動
SIGRTMIN+20
在 控 制 檯 上 顯 示 狀 態 訊 息 。 相 當 於 使 用 systemd.show_status=1 核 心 引 導 選 項 。
SIGRTMIN+21
禁 止 在 控 制 檯 上 顯 示 狀 態 訊 息 。 相 當 於 使 用 systemd.show_status=0 核 心 引 導 選 項 。
SIGRTMIN+22 , SIGRTMIN+23
將 日 誌 等 級 設 為 "debug"(22) 或 "info"(23)。 相 當 於 使 用 systemd.log_level=debug 或 systemd.log_level=info 核 心 引 導 選 項 。
SIGRTMIN+24
立 即 退 出 systemd 使 用 者 例 項 (也 就 是 僅 對 --user 例 項 有 效 )。
SIGRTMIN+26 , SIGRTMIN+27 , SIGRTMIN+28
將 日 誌 等 級 設 為 "journal-or-kmsg"(26) 或 "console"(27) 或 "kmsg"(28)。 相 當 於 使 用 systemd.log_target=journal-or-kmsg 或 systemd.log_target=console 或 systemd.log_target=kmsg 核 心 引 導 選 項 。
環 境 變 數
$SYSTEMD_LOG_LEVEL
systemd 日 誌 等 級 。 可 以 被 --log-level= 選 項 覆 蓋 。
$SYSTEMD_LOG_TARGET
systemd 日 誌 目 標 。 可 以 被 --log-target= 選 項 覆 蓋 。
$SYSTEMD_LOG_COLOR
systemd 是 否 應 該 高 亮 重 要 的 日 誌 資 訊 。 可 以 被 --log-color= 選 項 覆 蓋 。
$SYSTEMD_LOG_LOCATION
systemd 是 否 應 該 在 日 誌 資 訊 中 包 含 程 式 碼 位 置 (code location)。 可 以 被 --log-location= 選 項 覆 蓋 。
$XDG_CONFIG_HOME , $XDG_DATA_HOME
systemd 使 用 者 例 項 根 據 XDG Base Directory specification [4] 規 範 使 用 這 些 變 數 載 入 單 元 檔 案 及 其 .{d,wants,requires}/ 目 錄 。
$SYSTEMD_UNIT_PATH
單 元 目 錄
$SYSTEMD_SYSVINIT_PATH
SysV啟 動 指 令 碼 目 錄
$SYSTEMD_SYSVRCND_PATH
SysV執 行 級 目 錄
$SYSTEMD_COLORS
控 制 輸 出 內 容 的 色 彩 方 案
$LISTEN_PID , $LISTEN_FDS , $LISTEN_FDNAMES
在 基 於 套 接 字 啟 動 的 過 程 中 由 systemd 設 定 此 變 數 , 以 供 管 理 程 式 使 用 。 詳 見 sd_listen_fds (3) 手 冊 。
$NOTIFY_SOCKET
由 systemd 設 定 此 變 數 , 以 報 告 狀 態 以 及 提 供 啟 動 完 畢 的 通 知 , 以 供 管 理 程 式 使 用 。 詳 見 sd_notify (3) 手 冊 。
核 心 引 導 選 項
當 作 為 系 統 例 項 執 行 的 時 候 , systemd 能 夠 接 受 下 面 列 出 的 核 心 引 導 選 項 。 [5]
systemd.unit= , rd.systemd.unit=
設 定 預 設 啟 動 的 單 元 。 預 設 值 是 default.target 。 可 用 於 臨 時 修 改 啟 動 目 標 (例 如 rescue.target 或 emergency.target )。 詳 情 參 見 systemd.special (7) 手 冊 。 有 "rd." 字 首 的 引 數 專 用 於 initrd(initial RAM disk) 環 境 , 而 無 字 首 的 引 數 則 用 於 常 規 環 境 。
systemd.dump_core=
如 果 設 為 預 設 值 yes , 那 麼 systemd(PID=1) 將 會 在 崩 潰 時 進 行 核 心 轉 儲 , 否 則 不 進 行 任 何 轉 儲 。
systemd.crash_chvt=
可 以 設 為 一 個 1-63 之 間 的 整 數 或 布 林 值 。 若 設 為 整 數 則 systemd(PID=1) 將 在 崩 潰 時 切 換 到 指 定 編 號 的 虛 擬 控 制 檯 ; 若 設 為 yes , 則 表 示 切 換 到 核 心 訊 息 所 使 用 的 虛 擬 控 制 檯 ; 若 設 為 no (預 設 值 ) 則 不 切 換 到 任 何 虛 擬 控 制 檯 。
systemd.crash_shell=
如 果 設 為 yes , 那 麼 systemd(PID=1) 將 在 崩 潰 10秒 後 啟 動 一 個 shell , 預 設 值 no 則 表 示 即 使 崩 潰 也 不 啟 動 任 何 shell 。 由 於 被 啟 動 的 shell 不 需 要 任 何 密 碼 認 證 , 所 以 使 用 這 個 特 性 時 需 要 注 意 其 帶 來 的 安 全 隱 患 。
systemd.crash_reboot=
如 果 設 為 yes , 那 麼 systemd(PID=1) 將 在 崩 潰 10秒 後 自 動 重 啟 整 個 機 器 , 預 設 值 no 則 表 示 即 使 崩 潰 也 不 重 啟 (無 限 制 的 死 在 那 裡 ), 這 樣 可 以 避 免 進 入 迴 圈 重 啟 。 如 果 與 systemd.crash_shell=yes 同 時 使 用 , 那 麼 系 統 將 在 退 出 shell 之 後 重 啟 。
systemd.confirm_spawn=
設 為 yes 表 示 systemd(PID=1) 在 派 生 新 程 序 時 進 行 確 認 提 示 。 預 設 值 no 表 示 不 提 示 。
systemd.show_status=
啟 動 時 是 否 在 控 制 檯 上 顯 示 簡 明 的 服 務 狀 態 。 可 以 接 受 yes (顯 示 ), no (不 顯 示 ), auto (自 動 )三 個 值 。 auto 與 no 相 似 , 不 同 之 處 在 於 當 某 個 服 務 啟 動 失 敗 或 者 啟 動 耗 時 太 長 時 , 將 會 顯 示 其 狀 態 。 當 使 用 了 quiet 核 心 引 導 選 項 的 時 候 , 預 設 值 是 auto , 否 則 預 設 值 是 yes 。
systemd.log_target= , systemd.log_level= , systemd.log_color= , systemd.log_location=
用 於 控 制 日 誌 輸 出 , 含 義 與 之 前 的 $SYSTEMD_LOG_TARGET , $SYSTEMD_LOG_LEVEL , $SYSTEMD_LOG_COLOR , $SYSTEMD_LOG_LOCATION 環 境 變 數 相 同 。
systemd.default_standard_output= , systemd.default_standard_error=
設 定 服 務 的 預 設 標 準 輸 出 與 標 準 錯 誤 , 含 義 與 相 應 的 --default-standard-output= 和 --default-standard-error= 命 令 列 選 項 相 同 。
systemd.setenv=
接 受 "VARIABLE=VALUE"格 式 的 字 串 , 可 用 於 為 派 生 的 子 程 序 設 定 預 設 環 境 變 數 。 可 以 多 次 使 用 以 設 定 多 個 變 數 。
systemd.machine_id=
接 受 一 個 32字 元 表 示 的 16進 位 制 值 , 用 作 該 主 機 的 machine-id 。 主 要 用 於 網 路 啟 動 , 以 確 保 每 次 啟 動 都 能 得 到 相 同 的 machine-id 值 。
quiet
關 閉 啟 動 過 程 中 的 狀 態 輸 出 。 相 當 於 systemd.show_status=no 的 效 果 。 注 意 , 因 為 此 選 項 也 同 樣 被 核 心 所 識 別 , 並 用 于 禁 止 輸 出 核 心 日 誌 , 所 以 使 用 此 選 項 會 導 致 同 時 關 閉 核 心 與 systemd 的 輸 出 。
debug
開 啟 除 錯 輸 出 , 等 價 於 設 定 了 systemd.log_level=debug 。 注 意 , 因 為 此 選 項 也 同 樣 被 核 心 所 識 別 , 並 用 於 開 啟 核 心 的 除 錯 輸 出 , 所 以 使 用 此 選 項 會 導 致 同 時 開 啟 核 心 與 systemd 的 除 錯 輸 出 。
emergency , rd.emergency , -b
啟 動 到 緊 急 維 修 模 式 。 等 價 於 設 定 了 systemd.unit=emergency.target 或 rd.systemd.unit=emergency.target
rescue , rd.rescue , single , s , S , 1
啟 動 到 救 援 模 式 。 等 價 於 設 定 了 systemd.unit=rescue.target 或 rd.systemd.unit=rescue.target
2 , 3 , 4 , 5
啟 動 到 對 應 的 SysV 執 行 級 。 等 價 於 設 定 了 對 應 的 systemd.unit=runlevel2.target , systemd.unit=runlevel3.target , systemd.unit=runlevel4.target , systemd.unit=runlevel5.target ,
locale.LANG= , locale.LANGUAGE= , locale.LC_CTYPE= , locale.LC_NUMERIC= , locale.LC_TIME= , locale.LC_COLLATE= , locale.LC_MONETARY= , locale.LC_MESSAGES= , locale.LC_PAPER= , locale.LC_NAME= , locale.LC_ADDRESS= , locale.LC_TELEPHONE= , locale.LC_MEASUREMENT= , locale.LC_IDENTIFICATION=
設 定 相 應 的 系 統 locale , 會 覆 蓋 /etc/locale.conf 中 的 設 定 。 參 見 locale.conf (5) 與 locale (7) 手 冊 。
更 多 核 心 引 導 選 項 的 解 釋 , 參 見 kernel-command-line (7) 手 冊 。
SOCKETS 與 FIFOS
/run/systemd/notify
通 知 守 護 程 序 狀 態 的 UNIX socket 檔 案 , 用 於 實 現 sd_notify (3) 中 實 現 的 守 護 程 序 通 知 邏 輯 。
/run/systemd/private
僅 被 systemctl (1) 工 具 內 部 用 於 與 systemd 程 序 通 訊 的 UNIX socket 檔 案 。 其 他 程 序 不 應 該 使 用 它 。
/dev/initctl
由 systemd-initctl.service 單 元 提 供 的 與 傳 統 SysV 相 容 的 客 戶 端 介 面 (FIFO)。 這 是 一 個 即 將 被 廢 棄 的 介 面 , 儘 量 不 要 使 用 它 。
參 見
systemd Homepage [6] , systemd-system.conf (5), locale.conf (5), systemctl (1), journalctl (1), systemd-notify (1), daemon (7), sd-daemon (3), systemd.unit (5), systemd.special (5), pkg-config (1), kernel-command-line (7), bootup (7), systemd.directives (7)
NOTES
|
1. |
cgroups |
https://www.kernel.org/doc/Documentation/cgroups/cgroups.txt
|
2. |
Container Interface |
http://www.freedesktop.org/wiki/Software/systemd/ContainerInterface
|
3. |
initrd Interface |
http://www.freedesktop.org/wiki/Software/systemd/InitrdInterface
|
4. |
XDG Base Directory specification |
http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
|
5. |
當 systemd 在 Linux 容 器 中 執 行 的 時 候 , 這 些 引 數 可 以 直 接 在 systemd 命 令 列 上 傳 遞 (放 置 在 所 有 命 令 列 選 項 之 後 ), 當 systemd 不 在 Linux 容 器 中 執 行 的 時 候 , 這 些 引 數 將 從 /proc/cmdline 中 獲 取 。 |
||
|
6. |
systemd Homepage |
http://www.freedesktop.org/wiki/Software/systemd/
跋
本 頁 面 中 文 版 由 中 文 man 手 冊 頁 計 劃 提 供 。
翻
譯 人 員 : 金 步
國
金 步 國 作 品 集
: http://www.jinbuguo.com
中 文 man 手 冊 頁 計
劃 :
https://github.com/man-pages-zh/manpages-zh