相关命令
systemd-analyze
systemctl
查看开机启动项
命令1:systemctl list-unit-files --type=service | grep enable
可以查看开机自启动的服务项;
命令2:systemd-analyze blame
,这条命令根据初始化所用的时间打印所有正在运行的单元的列表;
命令3:systemd-analyze critical-chain
,这条命令类似上一条命令,不过打印出来的是一个树形链表;
命令4:journalctl -b -1
,复审前一次启动,对于了解系统启动流程会有一定作用。
其它:大部分发行版的系统设置里面能够管理一些开机自启动的程序,但不包含服务。
停用不需要的开机启动项
相关命令:
-
systemctl stop xxx.service
,临时停用服务(可以用start
参数恢复); -
systemctl disable xxx.service
,持续停用服务(可以用enable
参数恢复); -
systemctl mask xxx.service
,掩盖服务(可以用unmask
参数恢复) -
systemctl status xxx.service
,查看服务的状态。
通常流程是先stop,然后disable,为了防止再次运行,可以再使用mask,这比直接卸载要安全一点。
注意:一些状态是"static"的服务是不能被禁用的,这些是静态服务,被其它服务所依赖。
可优化项
- bluetooth.service,蓝牙服务。如果不需要蓝牙功能的话就禁了吧;
- accounts-daemon.service,作用是让程序获取操作用户的账户信息,有一定的安全风险,所以mask掉吧;
- avahi-daemon.service,使电脑更容易发现网络中的打印机或其他主机;
- brltty.service,盲文设备支持;
- debug-shell.service,提供一个无密码的root shell,用于帮忙调试systemd问题。对于不经常折腾systemd的人来说,这玩意儿就是个安全漏洞;
- ModemManager.service,提供移动宽频(2G/3G/4G)的接口,没这个接口的话就可以禁掉了;
- pppd-dns.service,用于拨号连接,不需要拨号的话可以禁了;