systemd是一个启动管理程序,系统运行后由他来管理一系列进程和服务,即进程树的根。
systemd工具中最常用的是systemctl
命令
操作的对象称为单元(unit),常见的unit后缀有
- .target(启动目标,类似于旧的运行级别)
- .service(服务,守护进程,Deamons)
- .timer(定时器,可以部分替代systemd)
我们可以通过
$ man 5 systemd.unit
来查看systemd的所有单元
控制服务运行(.service)
服务(Services)也叫守护进程(Deamons)
用法示例:
# systemctl start httpd.service 启动httpd服务
# systemctl restart httpd.service 重启httpd服务
# systemctl stop httpd.service 关闭httpd服务
# systemctl reload httpd.service 重新加载httpd服务配置
# systemctl enable sshd.service 设置ssh服务为开机启动
# systemctl disable sshd.service 禁止ssh服务开机启动
# systemctl mask gdm.service 屏蔽对ssh服务的调用
# systemctl umask gdm.service 取消对ssh服务的屏蔽
注意:由于systemd不输入单元后缀名默认为.service,故上述后缀也可以省略,同时,systemd的单元文件是可以通过bash或者zsh的tab键补全的
切换运行级别(.target)
假设用户处于图形界面环境下,想切换到纯TTY环境,已减少图形界面对资源的占用,可以通过Ctrl + Alt + F1 – F6切换到另一个TTY中
输入
# systemctl isolate multi-user.target
即可关闭所有图形界面下的程序,并腾出TTY
后续可以通过
# systemctl isolate graphical.target
回到图形界面
或者直接启用Display Manager
# systemctl start gdm (Gnome桌面)
# systemctl start sddm (KDE桌面)
# systemctl start lxdm (LXDE桌面)
因此,后续如果不满意发行版的Gnome设定,我们可以直接禁用GDM服务,使得开机不自动启用图形界面
# systemctl mask graphical.target
或者
# systemctl disable gdm
之后通过相反的命令恢复即可
# systemctl umask graphical.target
或者
# systemctl enable gdm