名称
systemd,init-systemd系统和服务管理器
概要
/lib/systemd/systemd [OPTIONS...]
init [OPTIONS...] {COMMAND}
描述
systemd是Linux操作系统的系统和服务管理器。在启动时作为PID的第一个进程运行时,它充当启动系统并维护用户空间服务的初始化系统。
为了与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
转储了解的单元配置项目。这将输出在单元定义文件中理解的简短但完整的配置项目列表。
--dump-bus-properties
转储裸露的总线属性。这将输出简短但完整的dbus属性列表。
--unit =
设置默认单位以在启动时激活。如果未指定,则默认为default.target。
--system,-user
对于--system,即使进程ID不为1,也要告诉systemd运行系统实例,即systemd不作为init进程运行。--user会执行相反的操作,即使进程ID为1,也将运行用户实例。通常,不必传递这些选项,因为systemd会自动检测它的启动模式。因此,这些选项几乎没有用,除了用于调试。请注意,不支持在systemd以--system模式运行的情况下引导和维护完整系统,但PID不支持1。实际上,显式传递--system仅与--test结合使用才有用。
--dump-core
崩溃时启用核心转储。作为用户实例运行时,此开关无效。也可以在引导过程中通过systemd.dump_core =选项在内核命令行上启用此设置,请参见下文。
--crash-vt = VT
崩溃时切换到特定的虚拟控制台(VT)。取范围为1–63的正整数或布尔参数。如果传递整数,则选择
要切换到哪个VT。如果是,则选择写入VT内核消息。如果否,则不尝试VT切换。作为用户实例运行时,此开关无效。也可以在引导过程中通过systemd.crash_vt =选项在内核命令行上启用此设置,请参见下文。
--crash-shell
在崩溃时运行shell。作为用户实例运行时,此开关无效。也可以在引导过程中通过systemd.crash_shell =选项在内核命令行上启用此设置,请参见下文。
--crash-reboot
崩溃时自动重新引导系统。作为用户实例运行时,此开关无效。在引导过程中,也可以通过systemd.crash_reboot =选项在内核命令行上启用此设置,请参见下文。
--confirm-spawn
产卵过程中要求确认。作为用户实例运行时,此开关无效。
--show-status =
采用布尔参数或特殊值auto。如果启用,则在启动和关闭期间控制台上会显示简短的设备状态信息。如果禁用,则不会显示此类状态信息。如果设置为“自动行为”,则类似于“关闭”,不同之处在于,一旦遇到第一个单元故障或明显的启动延迟,它将自动切换为“打开”。作为用户实例调用时,此开关无效。如果指定,则覆盖内核命令行设置systemd.show_status =(请参见下文)和配置文件选项ShowStatus =(请参见systemd-system.conf(5))。
--log-target =
设置日志目标。参数必须是console,journal,kmsg,journal-or-kmsg,null之一。
--log-level =
设置日志级别。作为参数,它接受数字日志级别或众所周知的syslog(3)符号名称(小写):emerg,alert,crit,err,warning,notice,info,debug。
--log-color =
突出显示重要的日志消息。参数是一个布尔值。如果省略该参数,则默认为true。
--log-location =
在日志消息中包括代码位置。这主要与调试目的有关。参数是一个布尔值。如果省略该参数,则默认为true。
--default-standard-output =,--default-standard-error =
分别为所有服务和套接字设置默认输出或错误输出。也就是说,控制StandardOutput =和StandardError =的默认值(有关详细信息,请参见systemd.exec(5))。采用继承,null,tty,日志,journal + console,syslog,syslog + console,kmsg,kmsg + console之一。如果省略该参数,则--default-standard-output =默认为journal,而--default-standard-error =继承。
--machine-id =
覆盖硬盘驱动器上设置的机器ID,对于网络引导或容器很有用。可能未设置为全零。
--service-watchdogs =
全局启用/禁用所有服务看门狗超时和紧急措施。也可以在引导过程中通过systemd.service_watchdogs =选项在内核命令行上指定此设置,请参见下文。默认为启用。
-h,--help
打印简短的帮助文本并退出。
--version
打印简短的版本字符串并退出。
概念
systemd在称为11种不同类型的“单位”的各种实体之间提供依赖系统。单元封装了与系统启动和维护相关的各种对象。大多数单元是在单元配置文件中配置的,其语法和基本选项集在systemd.unit(5)中进行了描述,但是某些单元是根据其他配置自动创建的,是根据系统状态动态创建的,还是在运行时以编程方式创建的。单元可以是“活动的”(表示已启动,绑定,插入…,具体取决于单元类型,请参阅下文),也可以是“不活动的”(表示已停止,未绑定,未插入…),以及在被激活或停用的过程,即在两个状态之间(这些状态称为“激活”,“去激活”)。特殊的“失败” 状态也可用,这与“非活动”非常相似,当服务以某种方式失败时(退出时进程返回的错误代码,或崩溃,操作超时或重启过多后),就会进入状态。如果进入此状态,将记录原因,以供以后参考。注意,各种单元类型可以具有许多附加子状态,这些子状态映射到此处描述的五个广义单元状态。
可以使用以下单位类型:
1.Service服务单元,用于启动和控制守护程序及其组成的进程。有关详细信息,请参见systemd.service(5)。
2.socket套接字单元,用于在系统中封装本地IPC或网络套接字,对于基于套接字的激活很有用。有关套接字单元的详细信息,请参见systemd.socket(5),有关基于套接字的激活和其他形式的激活的详细信息,请参见daemon(7)。
3.Target目标单元可用于对单元进行分组,或在引导过程中提供众所周知的同步点,请参见systemd.target(5)。
4.Device设备单元在systemd中公开内核设备,并可用于实现基于设备的激活。有关详细信息,请参见systemd.device(5)。
5.Mount挂载单元控制文件系统中的挂载点,有关详细信息,请参见systemd.mount(5)。
6.Automount自动挂载单元提供自动挂载功能,用于按需挂载文件系统以及并行启动。请参见systemd.automount(5)。
7.Timer计时器单元对于触发基于计时器的其他单元的激活很有用。您可以在systemd.timer(5)中找到详细信息。
8.Swap交换单元与装载单元非常相似,它们封装了操作系统的内存交换分区或文件。它们在systemd.swap(5)中描述。
9.Path路径单元可用于激活其他服务,当文件系统对象发生更改或修改时。参见systemd.path(5)。
10.Slice切片单元可用于对出于资源管理目的在分层树中管理系统进程的单元(例如服务和作用域单元)进行分组。参见systemd.slice(5)。
11.Scope范围单位类似于服务单位,但是管理外部流程而不是同时启动它们。参见systemd.scope(5)。
单元被命名为其配置文件。一些单元具有特殊的语义。详细列表位于systemd.special(7)中。
systemd知道各种依赖关系,包括肯定和否定的依赖关系(即Requires =和Conflicts =)以及排序依赖关系(After =和Before =)。注意:订购和需求依赖关系是正交的。如果两个单元之间仅存在需求依赖关系(例如foo.service需要bar.service),但是没有订购依赖关系(例如foo.service在bar.service之后)并且都被要求启动,则它们将并行启动。这是一种常见的模式,将需求和订购依赖性都放在两个单元之间。还要注意,大多数依赖项是由systemd隐式创建和维护的。在大多数情况下,不必要手动声明其他依赖关系,但是可以这样做。
应用程序和单元(通过依赖关系)可以请求更改单元的状态。在systemd中,这些请求被封装为“作业”,并维护在作业队列中。作业可能成功或失败,它们的执行是根据已计划的单位的排序依赖性来排序的。
在引导时,systemd激活目标单元default.target,其目标是通过以下方式激活引导服务和其他引导单元:
依赖性。通常,单元名称只是graphic.target(用于到UI的全功能引导)或multi-user.target(用于在嵌入式或服务器环境中使用的有限的仅限控制台引导)的别名(符号链接)。 ; graphical.target的子集)。但是,管理员可以自行决定将其配置为其他任何目标单元的别名。有关这些目标单元的详细信息,请参见systemd.special(7)。
systemd仅将最少的单元集加载到内存中。特别是,只有满足以下条件之一的单元才被保存到内存中:
1.处于活动,激活,停用或失败状态(即,除“非活动”之外的任何单元状态)
2.它有一个排队的工作
3.它是加载到内存中的某种至少一个其他单元的依存关系
4.它具有某种形式的资源仍在分配(例如,一个服务单元处于非活动状态,但仍在其中徘徊的进程忽略了要终止的请求)
5.已通过D-Bus调用以编程方式将其固定到内存中
一旦请求了操作,systemd将自动从磁盘上隐式加载单元(如果尚未加载)。因此,在许多方面,客户端是否看不到单元是否已加载的事实。使用systemctl list-units --all可以全面列出当前已加载的所有单元。
任何上述条件均不适用的单元将被立即卸载。请注意,从内存中卸载单元时,其记帐数据也会被清空。但是,此数据通常不会丢失,因为每当设备关闭时都会生成日志日志记录,声明消耗的资源。
进程systemd生成物放置在以私有systemd层次结构中的单位命名的各个Linux控制组中。(有关控制组或简称“ cgroups”的更多信息,请参见cgroups.txt [1])。systemd使用它来有效地跟踪进程。控制组信息在内核中维护,可通过文件系统层次结构(在/ sys / fs / cgroup / systemd /下面)或在诸如systemd-cgls(1)或ps(1)(ps xawf- eo pid,user,cgroup,args对于列出所有进程及其所属的systemd单元特别有用。
systemd在很大程度上与SysV初始化系统兼容:支持SysV初始化脚本,并且可以简单地将其读取为替代(尽管有限)的配置文件格式。提供了SysV / dev / initctl接口,并且提供了各种SysV客户端工具的兼容性实现。除此之外,还支持各种已建立的Unix功能,例如/ etc / fstab或utmp数据库。
systemd具有最小的事务处理系统:如果请求某个单元启动或关闭,它将把它及其所有依赖项添加到临时事务中。
然后,它将验证交易是否一致(即所有单元的订购是否无周期)。如果不是,则systemd将尝试对其进行修复,并从事务中删除可能会删除循环的非必要作业。另外,systemd尝试抑制事务中不必要的作业,这些作业将停止正在运行的服务。最后,检查事务的作业是否与已经排队的作业矛盾,然后可选地中止事务。如果解决了所有问题,并且事务是一致的并且影响最小化,那么它将与所有已经完成的作业合并,并添加到运行队列中。实际上,这意味着在执行请求的操作之前,systemd将验证它是否有意义,并在可能的情况下对其进行修复,并且仅在确实无法工作时才会失败。
请注意,事务是在运行时独立于单元状态生成的,因此,例如,如果在已启动的单元上请求了启动作业,它将仍然生成事务并唤醒任何非活动的依赖关系(并导致其他作业的传播根据定义的关系)。这是因为与目标单元的状态相比,入队的作业是在执行时,并且当两个作业都满足时,将其标记为成功和完成。但是,由于定义的关系,该作业还引入了其他依赖关系,因此,在我们的示例中,这也会导致所有那些处于非活动状态的单元的开始作业也都排队。
systemd包含各种任务的本机实现,这些任务需要在引导过程中执行。例如,它设置主机名或配置回送网络设备。它还设置并挂载各种API文件系统,例如/ sys或/ proc。
有关systemd背后的概念和思想的更多信息,请参考原始设计文档[2](Original Design Document[2])。
注意,systemd提供的一些但不是全部接口都被Interface Stability Promise [3]涵盖。
可以在引导和系统管理器重新加载时动态生成单元,例如,基于其他配置文件或内核命令行上传递的参数。有关详细信息,请参见systemd.generator(7)。
在容器或initrd环境中调用systemd的系统应分别实现Container Interface [4]或initrd Interface [5]规范。
目录
系统单元目录
systemd系统管理器从各种目录中读取单元配置。想要安装单元文件的软件包应将它们放置在pkg-config systemd --variable = systemdsystemunitdir返回的目录中。检查的其他目录是/ usr / local / lib / systemd / system和/ lib / systemd / system。用户配置始终优先。pkg-config systemd --variable = systemdsystemconfdir返回系统配置目录的路径。
软件包仅应使用systemctl(1)工具的enable和disable命令更改这些目录的内容。目录的完整列表在systemd.unit(5)中提供。
用户单位目录
类似的规则适用于用户单元目录。但是,此处遵循XDG基本目录规范[6]查找单位。应用程序应将其单位文件放在pkg-config systemd --variable = systemduserunitdir返回的目录中。全局配置在pkg-config systemd --variable = systemduserconfdir报告的目录中完成。systemctl(1)工具的enable和disable命令可以处理全局(即对于所有用户)和专用(对于一个用户)单元的启用/禁用。目录的完整列表在systemd.unit(5)中提供。
SysV初始化脚本目录
SysV初始化脚本目录的位置在各个发行版之间有所不同。如果systemd找不到请求的服务的本机单元文件,它将寻找同名的SysV初始化脚本(删除了.service后缀)。
SysV运行级别链接服务器场目录
SysV运行级别链接服务器场目录的位置在各个发行版之间有所不同。在确定是否应启用服务时,systemd将考虑链接服务器场。请注意,带有本地单元配置文件的服务单元无法通过在SysV运行级别链接服务器场中激活它来启动。
SIGNALS
SIGTERM
收到此信号后,systemd系统管理器将其状态序列化,重新执行自身并再次反序列化保存的状态。这主要是等效于systemctl daemon-reexec。
收到此信号后,systemd用户管理器将启动exit.target单元。这主要等效于systemctl --user start exit.target --job-mode = replace-irreversible。
SIGINT
收到此信号后,systemd系统管理器将启动ctrl-alt-del.target单元。这主要等效于systemctl start
ctrl-alt-del.target --job-mode = replace-不可逆。如果每2s收到7次以上此信号,则立即重启。请注意,在控制台上按Ctrl + Alt + Del会触发此信号。因此,如果挂起重新启动,则在2秒钟内按Ctrl + Alt + Del 7次以上是触发立即重新启动的相对安全的方法。
系统用户管理器与SIGTERM一样对待此信号。
SIGWINCH
收到此信号后,系统系统管理员将启动kbrequest.target单元。这主要等效于systemctl start kbrequest.target。
系统用户管理器将忽略此信号。
SIGPWR
收到此信号后,systemd管理器将启动sigpwr.target单元。这主要等效于systemctl start sigpwr.target。
SIGUSR1
收到此信号后,systemd管理器将尝试重新连接到D-Bus总线。
SIGUSR2
收到此信号后,systemd管理器将以人类可读的形式记录其完整状态。记录的数据与systemd-analyze dump打印的相同。
SIGHUP
重新加载完整的守护程序配置。这主要等效于systemctl守护程序重新加载。
SIGRTMIN + 0
进入默认模式,启动default.target单位。这主要等效于systemctl隔离default.target。
SIGRTMIN + 1
进入救援模式,启动救援目标单元。这主要等效于systemctl孤立的rescue.target。
SIGRTMIN + 2
进入紧急模式,启动紧急服务单元。这主要等效于systemctl孤立的Emergency.service。
SIGRTMIN + 3
停止机器,启动halt.target单元。这主要等效于systemctl starthalt.target --job-mode = replace-irreversible。
SIGRTMIN + 4
关闭机器电源,启动poweroff.target设备。这主要等效于systemctl start poweroff.target --job-mode = replace-irreversible。
SIGRTMIN + 5
重新引导计算机,启动reboot.target单元。这主要等效于systemctl start reboot.target --job-mode = replace-irreversible。
SIGRTMIN + 6
通过kexec重新启动机器,启动kexec.target单元。这主要等效于systemctl start kexec.target --job-mode = replace-irreversible。
SIGRTMIN + 13
立即停止机器。
SIGRTMIN + 14
立即关闭机器电源。
SIGRTMIN + 15
立即重启机器。
SIGRTMIN + 16
立即使用kexec重新引导计算机。
SIGRTMIN + 20
通过内核命令行上的systemd.show_status = 1进行控制,可在控制台上显示状态消息。
SIGRTMIN + 21
通过内核命令行上的systemd.show_status = 0进行控制,禁用在控制台上显示状态消息。
SIGRTMIN + 22
将服务管理器的日志级别设置为“调试”,其方式等效于内核命令行上的systemd.log_level = debug。
SIGRTMIN + 23
将日志级别恢复为其配置值。所配置的值是(按优先级)从内核命令行上的systemd.log-level =指定的值或配置文件中LogLevel =指定的值或内置的默认“ info”派生的。
SIGRTMIN + 24
立即退出管理器(仅适用于--user实例)。
SIGRTMIN + 26
将日志目标恢复为其配置值。配置的值是(按优先级)从内核命令行上的systemd.log-target =指定的值或配置文件中的LogTarget =指定的值或内置默认值派生的。
SIGRTMIN + 27,SIGRTMIN + 28
在内核命令行上将日志目标设置为在SIGRTMIN + 27上为“ console”(在SIGRTMIN + 28上为“ kmsg”),在系统命令行中将其设置为systemd.log_target = console(或在SIGRTMIN + 28上为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是否与日志消息一起打印代码位置。可以用--log-location =覆盖。
$ XDG_CONfig_HOME,$ XDG_CONfig_Dirs,$ XDG_DATA_HOME,$ XDG_data_dirS
系统用户管理器根据XDG基本目录规范[6]使用这些变量来查找其配置。
$ SYstemD_UNIT_PATH
控制systemd在何处查找单位文件。
$ SYstemD_SYSVINIT_PATH
控制systemd在何处查找SysV初始化脚本。
$ SYstemD_SYSVRCND_PATH
控制systemd在何处查找SysV初始化脚本运行级别链接服务器场。
$ SYstemD_COLORS
该值必须是布尔值。控制是否应生成彩色输出。可以指定它来覆盖systemd基于$ TERM和控制台连接的内容做出的决定。
$ SYstemD_URLIFY
该值必须是布尔值。控制是否应在支持此功能的终端仿真器的输出中生成可单击的链接。可以指定它来覆盖systemd基于$ TERM和其他条件做出的决定。
$ LISTEN_PID,$ LISTEN_FDS,$ LISTEN_FDNAMES
由systemd设置,用于在基于套接字的激活期间受监管的进程。有关更多信息,请参见sd_listen_fds(3)。
$ NOTIFY_SOCKET
由systemd设置以监控状态和启动完成通知的过程。有关更多信息,请参见sd_notify(3)。
有关systemd及其各个组件可以理解的其他环境变量,请参见已知环境变量[7]。
内核命令行
当作为系统实例运行时,systemd解析许多内核命令行参数[8]:
systemd.unit =,rd.systemd.unit =
覆盖设备以在启动时激活。默认为default.target。这可以用于临时引导到其他引导单元,例如result.target或emergency.service。有关这些单元的详细信息,请参见systemd.special(7)。该选项以“ rd”为前缀。仅在初始RAM磁盘(initrd)中受尊敬,而仅在主系统中不具有前缀的荣誉。
systemd.dump_core
接受布尔参数或启用选项(如果指定时不带参数)。如果启用,systemd管理器(PID 1)在崩溃时将转储核心。
否则,将不会创建核心转储。默认为启用。
systemd.crash_chvt
接受正整数或布尔参数。也可以在不带参数的情况下指定,其作用与正布尔值相同。如果指定了正整数(范围为1到63),则系统管理器(PID 1)崩溃时将激活指定的虚拟终端(VT)。默认为禁用,表示不尝试进行此类切换。如果设置为启用,则选择写入内核消息的VT。
systemd.crash_shell
接受布尔参数或启用选项(如果指定时不带参数)。如果启用,则系统管理器(PID 1)将在崩溃10秒后崩溃时生成外壳。否则,不会生成任何外壳。出于安全原因,默认为禁用,因为外壳不受密码身份验证的保护。
systemd.crash_reboot
接受布尔参数或启用选项(如果指定时不带参数)。如果启用,则系统管理器(PID 1)将在崩溃10秒后崩溃时自动重新引导计算机。否则,系统将无限期挂起。默认为禁用,以避免重启循环。如果与systemd.crash_shell结合使用,则退出shell后将重新引导系统。
systemd.confirm_spawn
采用布尔参数或虚拟控制台的路径,在该虚拟控制台中应发出确认消息。也可以在不带参数的情况下指定,其作用与正布尔值相同。如果启用,当使用/ dev / console生成进程时,系统管理器(PID 1)要求确认。如果提供了路径或控制台名称(例如“ ttyS0”),则将使用此路径指向或由给定名称描述的虚拟控制台。
默认为禁用。
systemd.service_watchdogs =
接受布尔参数。如果禁用,则所有服务运行时监视程序(WatchdogSec =)和紧急操作(例如OnFailure =或StartLimitaction =)将被系统管理器忽略(PID 1);参见systemd.service(5)。默认为启用,即正常处理看门狗和故障动作。硬件看门狗不受此选项的影响。
systemd.show_status
接受布尔参数或常量auto。也可以在不带参数的情况下指定,其作用与正布尔值相同。如果启用,systemd管理器(PID 1)将在启动过程中在控制台上显示简洁的服务状态更新。auto的行为类似于false,直到单元出现故障或启动出现明显延迟为止。默认为启用,除非将安静作为内核命令行选项传递,在这种情况下,默认为自动。如果指定,它将覆盖系统管理器配置文件选项ShowStatus =,请参阅systemd-system.conf(5)。但是,进程命令行选项--show-status =优先于此内核命令行选项和配置文件选项。
systemd.log_target =,systemd.log_level =,systemd.log_location =,systemd.log_color
控制日志输出,与上述$ SYstemD_LOG_TARGET,$ SYstemD_LOG_LEVEL,$ SYstemD_LOG_LOCATION和$ SYstemD_LOG_COLOR环境变量具有相同的效果。可以不带参数地指定systemd.log_color,其作用与正布尔值相同。
systemd.default_standard_output =,systemd.default_standard_error =
控制服务的默认标准输出和错误输出,分别具有与上述--default-standard-output =和--default-standard-error =命令行参数相同的效果。
systemd.setenv =
采用VARIABLE = VALUE形式的字符串参数。可用于设置默认环境变量以添加到派生的子进程中。可以多次使用以设置多个变量。
systemd.machine_id =
取一个32个字符的十六进制值来设置机器ID。主要用于网络引导,每次引导都需要使用相同的机器ID。
systemd.unified_cgroup_hierarchy
在不带参数或带真参数的情况下指定时,将启用统一的cgroup层次结构[9](aka cgroups-v2)。当使用错误的参数指定时,回退到混合或完整的旧cgroup层次结构。
如果未指定此选项,则在编译期间确定默认行为(-Ddefault-hierarchy =介子选项)。如果内核不支持统一的cgroup层次结构,则即使指定了此选项,也将使用旧式层次结构。
systemd.legacy_systemd_cgroup_controller
如果未使用完整的统一cgroup层次结构,则生效(请参阅上一个选项)。当指定不带参数或带真参数的参数时,将禁用“混合” cgroup层次结构(即用于systemd的cgroups-v2树和用于其他控制器的旧cgroup层次结构[10],也称为cgroups-v1),以及强制使用完整的“旧版”模式。当使用错误参数指定时,启用“混合”层次结构的使用。
如果未指定此选项,则在编译期间确定默认行为(-Ddefault-hierarchy =介子选项)。如果内核不支持统一的cgroup层次结构,则即使指定了此选项,也将使用旧式层次结构。
quiet
引导时关闭状态输出,就像systemd.show_status = no一样。请注意,内核本身也会读取此选项,并禁用内核日志输出。因此,传递此选项将同时关闭系统管理器和内核的常规输出。
debug
打开调试输出。这等效于systemd.log_level = debug。请注意,内核本身也会读取此选项,并启用内核调试输出。因此,传递此选项将同时打开系统管理器和内核的调试输出。
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 =
设置要使用的系统区域设置。这将覆盖/etc/locale.conf中的设置。有关更多信息,请参见locale.conf(5)和locale(7)。
有关核心操作系统组件可以理解的其他内核命令行参数,请参考kernel-command-line(7)。
套接字和先进先出
/run/systemd/notify
守护程序状态通知套接字。这是一个AF_UNIX数据报套接字,用于守护程序通知逻辑,该逻辑由 sd_notify(3)实现。
/run/systemd/private
在内部用作systemctl(1)和systemd进程之间的通信通道。这是一个AF_UNIX流套接字。该接口是systemd专用的,不应在外部项目中使用。
/dev/initctl
对SysV客户端接口的有限兼容性支持,由systemd-initctl.service单元实现。这是文件系统中的命名管道。
该接口已作废,不应在新的应用程序中使用。
也可以看看
systemd Homepage[11],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),内核命令行(7):kernel-command-line(7),bootup(7),systemd.directives(7)
注意
1. cgroups.txt
https://www.kernel.org/doc/Documentation/cgroup-v1/cgroups.txt
2.原始设计文件(Original Design Document)
http://0pointer.de/blog/projects/systemd.html
3.接口稳定性承诺
https://www.freedesktop.org/wiki/Software/systemd/InterfaceStabilityPromise
4.容器接口
https://www.freedesktop.org/wiki/Software/systemd/ContainerInterface
5. initrd接口
https://www.freedesktop.org/wiki/Software/systemd/InitrdInterface
6. XDG基本目录规范
http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
7.已知环境变量
https://systemd.io/ENVIRONMENT
8.如果在Linux容器中运行,则这些参数可以作为命令行参数传递给systemd本身,位于上面“选项”部分中列出的任何命令行选项旁边。如果在Linux容器之外运行,则从/ proc / cmdline解析这些参数。
9.统一的cgroup层次结构
https://www.kernel.org/doc/Documentation/cgroup-v2.txt
10.旧的cgroup层次结构
https://www.kernel.org/doc/Documentation/cgroup-v1/
11.systemd首页
https://www.freedesktop.org/wiki/Software/systemd/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。