我在 grub 中使用以下内核命令行参数(Ubuntu 18.04)
nomodeset iommu=off transparent_hugepage=never systemd.mask=ModemManager.service systemd.mask=whoopsie.service systemd.mask=irqbalance service systemd.mask=cups.socket systemd.mask=cups.path systemd.mask=cups.service systemd.mask=cups-browsed.service systemd.mask=packagekit.service systemd.mask=unattended-upgrades.service systemd.mask=speech-dispatcher.service systemd.mask=setvtrgb.service systemd.mask=kerneloops.service systemd.mask=apport.service systemd.mask=apt-daily-upgrade.timer systemd.mask=apt-daily.timer systemd.mask=motd-news.timer system.mask=systemd-tmpfiles-clean.timer systemd.mask=ua-timer.timer 3
有没有办法将所有这些单独的 systemd.mask= 参数组合起来?
谢谢!
答案1
无需使用 grub 即可屏蔽服务。只需在普通 shell 中执行以下命令即可屏蔽您认为不需要的服务:
systemctl mask any.service
其中“any”是要屏蔽的服务的名称。Systemd 将存储此信息,因此无需在每次启动后执行这些命令或使用内核命令行(例如 grub)将信息传递给 systemd。
不过,禁用服务就足够了:一旦服务被禁用,它将不会在启动时自行启动,但您可以手动启动它,或者另一个 systemd 单元(如服务、套接字等)可以通过要求它来启动它。屏蔽服务将阻止您和 systemd 单元启动它(以防您在极少数情况下需要它)。要禁用(而不是屏蔽)服务,请执行以下操作:
systemctl disable any.service
start
例如,如果您突然决定打印,则可以使用cups 服务。(它不会在下次启动时启动,因为它仍处于禁用状态)