CentOS8启动过程与服务单元控制systemctl

一、启动过程

        CentOS8采用了systemd,启动过程被大大缩短了。具体启动过程如下:

1、开机自检。

2、从硬盘的MBR中读取引导程序GRUB。

3、引导程序更加配置文件显示引导菜单。

4、如果选择进入Linux系统,此时引导程序就会加载Linux内核文件。

5、当内核全部载入内存后,GRUB的任务完成。此时全部控制权限交给Linux,CPU开始执行Linux内核代码,如初始化任务调度、分配内存、加载驱动等。

6、内核代码执行完成后,开始执行Linux系统第一个进程-systemd,进程号为1.

7、systemd进程启动后读取/etc/systemd/system/default.target(这个文件的作用是设置系统的运行级别)。systemd会根据此文件设置系统的运行级别并启动相应的服务。

8、服务启动完成后,将引导login

二、服务单元控制

        CentOS8使用systemd替换了Sys V,其中最大的改变是控制服务的方式产生了变化。如何在systemd中控制服务,在systemd中通常将服务称为“单元”。systemd单元中包含服务、挂载点、系统设备等。这些都称为单元。

        查看系统中的单元:systemctl 或 systemctl list-units

CentOS8启动过程与服务单元控制systemctl_第1张图片

        查看系统中安装的服务:systemctl list-unit-files

        对系统单元的控制通常有激活单元(相当于启动服务)、停止单元、重启单元以及重新读取配置等。

systemctl status firewalld         查看防火墙状态 
systemctl stop firewalld           关闭 
systemctl start firewalld          启动 
systemctl restart firewalld        重启 
systemctl is-enable firewalld      查看是否开机启动 
systemctl enable firewalld         开机启动 
systemctl disable firewalld        开机不启动

系统关机重启也可以通过systemctl来控制:

  • systemctl poweroff 关机
  • systemctl reboot 重启
  • systemctl suspend 待机

        与Sys V中的服务相似,systemd中的服务也是由文件控制的,不同的是systemd中使用的是单元配置文件而不是脚本。如sshd服务的单元配置文件,路径在/usr/lib/systemd/system

[root@Master system]# cat sshd.service 
[Unit]
Description=OpenSSH server daemon
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target sshd-keygen.service
Wants=sshd-keygen.service

[Service]
EnvironmentFile=/etc/sysconfig/sshd
ExecStart=/usr/sbin/sshd -D $OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target

        通常单元的配置文件放在/usr/lib/systemd/system/(主要存放软件包安装的单元)和/etc/systemd/system/(主要存放由系统管理员安装和系统密切相关的单元)。如果需要添加单元配置文件,只需将配置文件放到相应的目录中,然后执行命令“systemctl daemon-reload”即可。

 

你可能感兴趣的:(linux,运维)