Tyl*_*nis 16
在 SystemD(aemon) 中,运行级别公开为“目标”。这个概念仍然存在,但为您的要求产生所需结果的工作流程是不同的。
附件应澄清这个问题。
如何更改当前运行级别?
$ systemctl isolate runlevelX.target
Run Code Online (Sandbox Code Playgroud)
如何更改下次启动的默认运行级别?
# Create a symlink
$ ln -sf /usr/lib/systemd/system/multi-user.target /etc/systemd/system/default.target
Run Code Online (Sandbox Code Playgroud)
ln -sf TARGET DESTINATION-s 创建符号链接-f 删除现有的目标文件或者(如@centimane 建议的那样)只需使用“blessed”systemd命令:
systemctl set-default [target name].target
Run Code Online (Sandbox Code Playgroud)
如何识别当前的运行级别?
$ systemctl list-units --type=target
Run Code Online (Sandbox Code Playgroud)
Jde*_*eBP 14
不。由于 systemd 人员自己写了两次,一次在他们的telinit手册中,一次在他们的runlevel手册中,运行级别是“过时的”。您可以忘记运行级别。
这些东西实际上根本不存在于 systemd 中,除了一些兼容性垫片。
default.target(以及 agraphical.target和 a之一或两者multi-user.target)、 arescue.target或 an emergency.target。关闭过程涉及 a shutdown.target、 a reboot.target、 ahalt.target或 a poweroff.target。 bootstrap 或 shutdown都不涉及运行级目标。telinit人们可能认为该命令使用兼容性符号链接来映射其命令行参数,但它也没有这样做。telinit程序的源代码中有一个硬连线表,数字2, 3, 4, 和5作为命令的参数被硬连线映射到multi-user.target和graphical.target。systemd-update-utmp 还有一个内部硬接线表。rc不兼容init。systemd-update-utmp命令,在激活的项内部操作的状态rescue.target,multi-user.target和graphical.target。systemd-sysv-generator,systemd 的向后兼容性服务单元生成器,将/etc/rc[234].d目录合并Wanted-By为multi-user.target与生成的服务单元的唯一关系。在生成的服务单元中没有对运行级别的实际引用。(多年前曾经有过,但 systemd 人员发现这出错了,因为他们没有在其他任何地方被引用。)如果一个人是在问他的Arch Linux的是建立一个systemd系统的用户“为什么`初始化0`导致‘过剩参数’上拱安装? ”,一个甚至没有获得兼容性垫片,和这样的命令作为init 0结果,在“本机” systemd行为,这是抱怨命令已被不正确地调用。
runlevel。systemd 手册页。Freedesktop.org。telinit。systemd 手册页。Freedesktop.org。bootup。systemd 手册页。Freedesktop.org。/etc/inittab已成为过去。. 经常给出答案。非常感谢。所以,如果我理解正确:
例如:
ls -ll /usr/lib/systemd/system/runlevel*.target
Run Code Online (Sandbox Code Playgroud)
输出:
/usr/lib/systemd/system/runlevel0.target -> poweroff.target
/usr/lib/systemd/system/runlevel1.target -> rescue.target
/usr/lib/systemd/system/runlevel2.target -> multi-user.target
/usr/lib/systemd/system/runlevel3.target -> multi-user.target
/usr/lib/systemd/system/runlevel4.target -> multi-user.target
/usr/lib/systemd/system/runlevel5.target -> graphical.target
/usr/lib/systemd/system/runlevel6.target -> reboot.target
Run Code Online (Sandbox Code Playgroud)
因此,正如您所看到的,运行级别的概念确实存在,但由于 runlevel.target 文件实际上并不是“真实”文件,而是指向新的、现代的、命名更好的文件方案的软链接,因此它已经过时了。 systemd 喜欢称它们为“目标”。
所以,如果你想做某事telinit 5,就像这样:systemctl isolate runlevel5.target
这与:(systemctl isolate graphical.target我认为推荐)相同。
以防万一您有兴趣了解所有可能的目标:
ls /usr/lib/systemd/system/*.target
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12183 次 |
| 最近记录: |