3.2. 为选择可安全禁用的服务提供指导信息
您可以通过禁用引导时默认启用的某些服务来缩短系统的引导时间。
列出启用的服务:
systemctl list-unit-files --state=enabled
$ systemctl list-unit-files --state=enabledCopy to Clipboard Copied! Toggle word wrap Toggle overflow 禁用服务:
systemctl disable <service_name>
# systemctl disable <service_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
某些服务必须保持启用状态,以便您的操作系统安全且以您需要的方式工作。
请参阅下表,来作为选择可安全禁用的服务的指南。此表列出了 Red Hat Enterprise Linux 最小安装上默认启用的所有服务。
| 服务名称 | 它可用被禁用吗? | 更多信息 |
|---|---|---|
| auditd.service | 是 |
仅在不需要内核提供审核信息时禁用 |
| autovt@.service | 否 | 这个服务只在真正需要时才运行,因此不需要禁用它。 |
| crond.service | 是 | 请注意,如果您禁用 crond.service,则不会运行 crontab 中的项目。 |
| dbus-org.fedoraproject.FirewallD1.service | 是 |
到 |
| dbus-org.freedesktop.NetworkManager.service | 是 |
到 |
| dbus-org.freedesktop.nm-dispatcher.service | 是 |
到 |
| firewalld.service | 是 |
仅在不需要防火墙时禁用 |
| getty@.service | 否 | 这个服务只在真正需要时才运行,因此不需要禁用它。 |
| import-state.service | 是 |
仅在不需要从网络存储引导时才禁用 |
| irqbalance.service | 是 |
仅在只有一个 CPU 时禁用 |
| kdump.service | 是 |
仅在不需要内核崩溃报告时禁用 |
| loadmodules.service | 是 |
除非 |
| lvm2-monitor.service | 是 |
仅在不使用逻辑卷管理器(LVM)时禁用 |
| microcode.service | 否 | 不要禁用该服务,因为它在 CPU 中提供了 microcode 软件的更新。 |
| NetworkManager-dispatcher.service | 是 |
只在不需要在网络配置更改时通知时才禁用 |
| NetworkManager-wait-online.service | 是 |
只有在引导后不需要工作网络连接时才禁用 |
| NetworkManager.service | 是 |
仅在不需要连接到网络时禁用 |
| nis-domainname.service | 是 |
仅在不使用网络信息服务(NIS)时禁用 |
| rhsmcertd.service | 否 | |
| rngd.service | 是 |
仅在系统上不需要大量熵或者没有任何硬件生成器时才禁用 |
| rsyslog.service | 是 |
仅在不需要持久性日志,或把 |
| selinux-autorelabel-mark.service | 是 |
仅在不使用 SELinux 时禁用 |
| sshd.service | 是 |
仅在不需要 OpenSSH 服务器远程登录时禁用 |
| sssd.service | 是 |
仅在没有通过网络登录系统的用户(例如,使用 LDAP 或 Kerberos)时禁用 |
| syslog.service | 是 |
|
| tuned.service | 是 |
仅在需要使用性能调整时禁用 |
| lvm2-lvmpolld.socket | 是 |
仅在您不使用逻辑卷管理器(LVM)时禁用 |
| dnf-makecache.timer | 是 |
仅在不需要自动更新软件包元数据时禁用 |
| unbound-anchor.timer | 是 |
仅在不需要 DNS 安全扩展(DNSSEC)的 root 信任锚时禁用 |
要查找有关服务的更多信息,请使用以下命令之一:
systemctl cat <service_name>
$ systemctl cat <service_name>
systemctl help <service_name>
$ systemctl help <service_name>
systemctl cat 命令提供相应 /usr/lib/systemd/system/<service> 服务文件的内容,以及所有适用的覆盖。适用的覆盖包括 /etc/systemd/system/<service> 文件中的单元文件覆盖,或者相应 unit.type.d 目录中的临时文件。