“apt-news”和“esm-cache”服务是什么,如何禁用它们?

“apt-news”和“esm-cache”服务是什么,如何禁用它们?

最近,我注意到,当我运行 时sudo apt update,每次都会有额外的 6 行写入我的系统日志:

Jan 29 21:17:01 xb systemd[1]: Starting Update APT News...
Jan 29 21:17:01 xb systemd[1]: Starting Update the local ESM caches...
Jan 29 21:17:02 xb systemd[1]: apt-news.service: Deactivated successfully.
Jan 29 21:17:02 xb systemd[1]: Finished Update APT News.
Jan 29 21:17:02 xb systemd[1]: esm-cache.service: Deactivated successfully.
Jan 29 21:17:02 xb systemd[1]: Finished Update the local ESM caches.

此外,我可以看到和的apt-news.service日期esm-cache.service都是 2023-01-19,这意味着它们是我系统上引入的相对较新的服务。

我认为这些服务在我的系统日志中发出噪音,而我的机器实际上并不需要它们。那么如何禁用它们,以便它们不会在您每次使用时触发apt update

答案1

让我们探索服务文件以查看可用的信息:

$ cat /lib/systemd/system/apt-news.service
[Unit]
Description=Update APT News

[Service]
Type=oneshot
ExecStart=/usr/bin/python3 /usr/lib/ubuntu-advantage/apt_news.py

$ cat /lib/systemd/system/esm-cache.service
# The ESM apt cache will maintain information about what ESM updates are
# available to a system. This information will be presented to users in the apt
# output, or when running pro security-status. These caches are maintained
# entirely outside the system apt configuration to avoid interference with user
# definitions. This service updates those caches. This will only have effect
# on releases where ESM is applicable, starting from Xenial: esm-apps for
# every LTS, and esm-infra for systems in expanded support period after the LTS
# expires.

[Unit]
Description=Update the local ESM caches

[Service]
Type=oneshot
ExecStart=/usr/bin/python3 /usr/lib/ubuntu-advantage/esm_cache.py

esm-cache.service对其用途的信息稍微慷慨一些,而 并没有apt-news.service真正阐明太多。然而,“APT新闻”最近在另一个问题中被提及,并且可以得出结论,它与这个apt提示有关。

进一步检查apt历史记录,这些服务似乎是使用ubuntu-advantage-tools27.13.X 版本安装的。(对我而言,这是在 2023-01-27 推出的 27.13.1 版本,arm64以及在 2023-01-29 推出的 27.13.2 版本x64。)

apt由于这些服务似乎仅提供与运行(和)相关的附加信息pro security-status,因此禁用它们应该是安全的。

只需屏蔽服务单元即可完成systemd,如下所示:

$ sudo systemctl mask apt-news.service
$ sudo systemctl mask esm-cache.service

此外,您可以apt通过执行以下操作来禁用整个 ESM 挂钩:(感谢 Daniel T)

$ sudo dpkg-divert --rename --divert /etc/apt/apt.conf.d/20apt-esm-hook.conf.disabled --add /etc/apt/apt.conf.d/20apt-esm-hook.conf

(请注意,--rename在 Ubuntu 22.04 及更高版本中可以省略该选项,因为这是默认设置。)

通过移动此文件,整个aptESM 挂钩将被禁用并且永远不会运行。这dpkg-divert将确保此文件始终被重定向,即使在ubuntu-advantage-tools升级并尝试再次安装该文件时也是如此。

相关内容