令½绍时,你会发现
systemd
的
PID
号码是一号啦。
systemd
最主要的功能就是准备软件执行的
环境,包括系统的主机名、网络设定、语系处理、文件系统格式及其他服务的启动等。
而所有的动
作都会透过
systemd
的默认启动服务集合,亦即是
/etc/systemd/system/default.target
来规划。
另外,
systemd
已经舍弃沿用多年的
system V
的
runlevel
了喔!
.
常见的操作环境
target
与兼容于
runlevel
的等级
可以作为预设的操作环境
(default.target)
的主要项目有:
multi-user.target
以及
graphical.target
这两
个。当然还有某些比½特殊的操作环境,
包括在第十七章里面谈到的
rescue.target, emergency.target,
shutdown.target
等等,以及本章在
initramfs
里面谈到的
initrd.target
啰!
但是过去的
systemV
使用的是一个称为
runlevel (
执行等级
)
的概念来启动系统的,
systemd
为了兼
容于旧式的
systemV
操作行为,
所以也½
runlevel
与操作环境做个½合喔!你可以使用底下的方
式来查询两者间的对应:
[root@study ~]#
ll
-
d
/usr/lib/systemd/system/runlevel*.target | cut
-
c 28
-
May 4 17:52 /usr/lib/systemd/system/runlevel0.target
-
> poweroff.target
May 4 17:52 /usr/lib/systemd/system/runlevel1.target
-
> rescue.target
May 4 17:52 /usr/lib/systemd/system/runlevel2.target
-
> m
ulti
-
user.target
May 4 17:52 /usr/lib/systemd/system/runlevel3.target
-
> multi
-
user.target
May 4 17:52 /usr/lib/systemd/system/runlevel4.target
-
> multi
-
user.target
May 4 17:52 /usr/lib/systemd/system/runlevel5.target
-
> graphical.target
May 4 17:52 /u
sr/lib/systemd/system/runlevel6.target
-
> reboot.target
如果你之前已经使用过
systemV
的方式来管理系统的话,那应该会知道切换执行等级可以使用『
init
3
』转成文字½面,『
init 5
』转成图形½面吧?
这个
init
程序依旧是保留下来的,只是
init 3
会
相当于
systemctl isolate multi-user.target
就是了!如果做个完整的迭代,这两个东西的对应为:
SystemV
systemd
init
0
systemctl poweroff
init 1
systemctl rescue
init [234]
systemctl isolate multi
-
user.target
init 5
systemctl isolate graphical.target
init 6
systemctl reboot
.
systemd
的处理流程
如前所述,当我们取得了
/etc/systemd/system/default.target
这一个预设操作½面的设定之后,½下来
系统帮我们做了什么呢?
首先,它会链½到
/usr/lib/systemd/system/
这个目录下去取得
multi-user.target
或
graphical.target
这两个其中的一
(
当然,
鸟哥说的是正常的½入
Linux
操作环境