我收到了这样的消息:"更新Ubuntu 22.04时,以下安全更新需要启用' esm-apps '的Ubuntu Pro"

我使用的是texlive-full软件包,它会安装imagemagick和其他相关的软件包。当我检查更新时,会收到以下提示信息:
The following security updates require Ubuntu Pro with 'esm-apps' enabled:
  imagemagick libopenexr25 libmagick++-6.q16-8 libmagickcore-6.q16-6-extra
  libmagickwand-6.q16-6 imagemagick-6.q16 libmagickcore-6.q16-6
  imagemagick-6-common

这意味着如果我想在Ubuntu 22.04上使用texlive-full,我必须每年支付500美元来获得一个安全的发行版,就我理解所写的而言。
有没有办法避免这个问题,比如不安装texlive-full中的所有内容?
编辑:
gaucher@mars:~$ apt policy texlive-full
texlive-full:
  Installé : 2021.20220204-1
  Candidat : 2021.20220204-1
 Table de version :
 *** 2021.20220204-1 500
        500 http://fr.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
        500 http://fr.archive.ubuntu.com/ubuntu jammy/universe i386 Packages
        100 /var/lib/dpkg/status

我的配置(是的,我正在使用Ubuntu 22.04):

enter image description here

按要求添加:

gaucher@mars:~$ apt policy imagemagick
imagemagick:
  Installé : 8:6.9.11.60+dfsg-1.3ubuntu0.22.04.1+esm1
  Candidat : 8:6.9.11.60+dfsg-1.3ubuntu0.22.04.1+esm1
 Table de version :
 *** 8:6.9.11.60+dfsg-1.3ubuntu0.22.04.1+esm1 500
        500 https://esm.ubuntu.com/apps/ubuntu jammy-apps-security/main amd64 Packages
        100 /var/lib/dpkg/status
     8:6.9.11.60+dfsg-1.3build2 500
        500 http://fr.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages

评论已被移至聊天室,请不要在此处继续讨论。在发表下面的评论之前,请先阅读评论的目的。通常,不要求澄清或提出改进建议的评论应该作为一个答案,在[元数据]中,或者在[聊天室]中。继续讨论的评论可能会被删除。 - andrew.46
8个回答

这里有一个解决方案,不需要订阅或注册。它会移除那个有用的“看看如果你注册会得到什么”的消息。这并不是最优雅的方法,但它解决了即时的问题:
文件/etc/apt/apt.conf.d/20apt-esm-hook.conf提供了调用营销信息生成的钩子。删除它是一个选择。
mkdir -p relocated_apt
sudo mv /etc/apt/apt.conf.d/20apt-esm-hook.conf ~/relocated_apt/.

现在当你运行apt upgrade时,消息不会显示。

请注意,如果新版本放在那里,这个功能可能无法保留更新,随着新功能的推出/更新,这种情况可能更频繁发生。


9虽然这可能会删除该消息,但它并不能修复消息所警示的您受到的安全漏洞。 - Joseph Sible-Reinstate Monica
5这个解决方案解决了收到被视为错误的消息的问题。如果原帖作者不想订阅(或者以一种令人困惑的方式被提醒),这将移除该消息。 - John Manecke
7帮助我更好地理解这个问题。这里存在安全漏洞吗?如果我正在运行Debian稳定版,那么我拥有的imagemagick版本与我从universe获取的版本是相同的,没有esm-apps。从安全角度来看,我通常认为Debian稳定版已经得到了很好的更新。同意转向esm-apps可以提供增强安全性的途径,但我不确定没有它是否意味着我正在运行存在安全漏洞的系统?这个问题是否会引起您修改apt的输出? - John Manecke
是的,看起来20.04和22.04确实存在一些只有ESM提供更新的漏洞。至于Debian,你需要与Debian核实是否也适用相同情况,因为Debian提供的软件包版本可能有所不同,可能已经修复了这些漏洞。 - mchid
1就像这个CVE一样,旧稳定版(buster)已经修补,但是稳定版(bullseye)还没有。 - mchid
相信只要你将钩子从“true”更改为“false”,它就可以在更新后存活下来(或者至少在进行更改之前会提示您)。例如:sudo sed -i 's/true/false/g' /etc/apt/apt.conf.d/20apt-esm-hook.conf - mchid

我已经找到解决方案。运行:
sudo pro enable esm-apps

然后使用常规方法更新,imagemagick和所有相关软件包将会被更新。
如果在您的Ubuntu桌面上启用了Ubuntu Pro支持,您可以转到软件和更新并打开Ubuntu Pro选项卡。

Software & Updates

在这个背景下,应该注意到“ESM Apps”涵盖了来自“宇宙”软件库的应用程序。
请注意,需要在ubuntu.com上拥有一个帐户,并且此功能对最多5台机器是免费的。
请参阅关于Ubuntu Pro的问答

46当目标是继续使用一个系统而不需要转订阅时,这并不像是一个解决方案。 - Dario Petrillo
2@DarioPetrillo 你说得对。解决方案还不完整。首先需要在ubuntu.com上注册一个账户。免费账户最多可以连接5台设备:我有一台台式电脑和两台笔记本电脑,都安装了Ubuntu 22.04。 - Philippe Gaucher
2创建所需的账户并获取令牌后,仍然无法正常工作。 - Bytor
1当然,它是免费的,但你忽略了一件非常重要的事情:层级:更新(免费使用;此机器用于测试新补丁。) - Yarek T
这个不起作用。一个启用了它,状态还是一样的。禁用的。 - Antonio J. de Oliveira

这是一个额外的支持流

来自reddit.com/r/linux/, 用户Patch86UK

为了明确起见:这不是对现有支持流的阻碍,而是一个新的支持流。以前,Ubuntu没有为“Universe”存储库中的软件包提供安全补丁(而是依赖于上游补丁何时发生)。Ubuntu安全团队现在正在为这些软件包制作内部安全补丁,但仅限于已选择Pro版本(个人使用免费)。

如果您不想选择Pro版本,您仍然拥有之前相同级别的支持(与其他99%的发行版相同级别的支持)。


8我现在正在考虑使用Debian 11。这是Ubuntu团队的一个糟糕的主意。 - Gary
17是时候考虑放弃Ubuntu了... - Kaspacainoombro
32我觉得这将会被广泛误解。之前没有这类更新。这些更新只适用于Ubuntu,因为这是他们额外做的工作。Debian在社区修补这些更新之前将不会收到它们,届时它们将在“非付费”版本的Ubuntu中可用。所以这是除了Debian上已有的内容之外的额外更新。 - s3v3n
2@Gary,实际上Debain没有什么区别,因为Imagemagick漏洞还没有被修补(据我所知,除了旧的稳定版本)。这与以前宇宙软件库无异,只是现在Imagemagick已经被移动到宇宙软件库,考虑到这一组软件包中出现的所有漏洞,我认为这是一个糟糕的决定。 - mchid
1@Gary另外,我认为需要指出的是,在22.10版本中,ImageMagick似乎已经完全修补,而在18.04版本中也是如此(因为在18.04中,ImageMagick仍然位于主要存储库而不是宇宙存储库)。 - mchid
1@s3v3n 是的和不是的。ImageMagick在20.04版本中从主要存储库移动到了宇宙存储库中。 - mchid
实际上,我不确定为什么安全更新已经提供给 22.10,但没有提供给 Jammy - mchid
我认为消息应该写成:“通过启用'esm-apps',通过Ubuntu Pro获得更快的安全更新:”。 - Hugo Cox
4Ubuntu仍然拖延安全补丁的发布。这种做法在道德上极具争议性。他们基本上就像那些出售漏洞利用的“安全”公司(如NSO等)所做的一样。想象一下,一个邪恶的黑客拥有“专业”订阅,这基本上就是为他们提供可利用的漏洞的源泉。我不再使用Ubuntu了。 - CR.
1我不同意,Ubuntu是一家必须雇人来修补别人源代码中的漏洞的公司,为了能够做到这一点,他们需要找到一种收入来源来支付雇佣这些人的成本。为什么不对编写原始软件的人感到愤怒,而忽视他们存在安全漏洞的事实,可能是因为他们也处于同样的困境,他们也编写开源软件,并没有大量的收入来调查和修复这些问题,有些软件包只由一个人维护。 - undefined
@CR. 我怀疑Ubuntu是否在秘密地发现新的漏洞并修补它们,而没有通知受影响的项目。他们可能只是在实际开发团队开始处理之前,修补公开已知的漏洞。将这些内容放在付费墙后面对我来说是可以接受的。黑客通过订阅Ubuntu Pro并不会学到任何新的东西。 - undefined
@nog642 如果你正在使用Ubuntu 22.04,这个最新的长期支持版本,尽管已经完全更新和修补,但实际上并没有。目前有数十个安全补丁存在,但只能通过Pro版本获得。我已经向组织展示了这一点,轻松地侵入了他们完全更新但仍然得到全面支持的系统。像我一样,他们很快就放弃了Ubuntu。 - undefined
@CR。这些补丁只适用于Ubuntu Pro。如果你放弃Ubuntu,你将无法获得它们。一旦这些补丁在其他发行版上可用,它们也应该会在免费版本的Ubuntu上提供。根据我的理解。 - undefined
@nog642,所以你的意思是你在我原始帖子中所说的。好的。 - undefined

你有没有真的试过去https://ubuntu.com/pro? 我刚刚试了一下,登录后,我收到了一个永不过期且包含最多5台机器的“免费个人令牌”。
然后你只需要运行“sudo pro attach your-personal-token”,就这样 :)

1是的,这差不多就是我在我的另一台Ubuntu电脑上所做的事情 :-). 我已经注册了Livepatch,所以我在ubuntu.com上有一个账户。这也是为什么我提供的解决方案有效;否则,第一步就是在ubuntu.com上注册一个账户。 - Philippe Gaucher
3我现在必须付款。也许最近有所变动。 - hongo
2@hongo 这是个人使用的免费服务,最多可用于5台设备。 - Philippe Gaucher
1@PhilippeGaucher 今天一年的费用是25美元。个人使用不免费。 - Ofek Shilon
@OfekShilon 个人使用最多可免费安装在五台设备上。我有五个永不过期的个人免费令牌... - Philippe Gaucher
@PhilippeGaucher 我觉得你今天可能买不到新的了 - Ofek Shilon
@OfekShilon 这是一个非常糟糕的消息! - Philippe Gaucher
1@OfekShilon 或许你仍然可以。我没有尝试获取订阅,但提示已隐藏在注释中。请在 https://ubuntu.com/pro/subscribe 选择“myself”。 - undefined

有两种可能的解决方案。
解决方案1:启用专业仓库。
该仓库不是公开的,对于最多5台机器是免费的,需要设置一个账户(电子邮件、用户名、密码),并提供额外的安全更新。要做到这一点,请在https://ubuntu.com/pro注册,获取您的个人令牌,然后运行以下命令:
    sudo pro attach your-personal-token

这是Ubuntu自己推荐的做法。
解决方案2:移除广告。
sudo dpkg-divert --divert /etc/apt/apt.conf.d/20apt-esm-hook.conf.bak --rename --local /etc/apt/apt.conf.d/20apt-esm-hook.conf

这将有效地给配置文件添加一个.bak后缀,立即禁用它。这也将在未来的apt升级中继续起作用。
为了确认它是否工作正常,请运行apt upgrade命令。如果一切正常,你将不再看到额外的文本。

2记住,只有解决方案1才能获得安全更新。解决方案2只是掩盖了你没有安全更新的事实。 - Joseph Sible-Reinstate Monica

大多数答案都讨论了ESM,但是没有(Ubuntu版本的)imagemagick的TeXLive本身可能是一个合理的目标。
关于texlive-full中实际需要imagemagick的软件包,你可以在安装完texlive-full后执行sudo apt remove imagemagick-6-common。
但是如果你计划使用tlmgr,你应该避免安装texlive-full,只需按照这个tex.stackexchange上的指南操作。然而,其他与TeX相关的软件包可能仍会引入imagemagick,例如,在我的系统上,kbibtex建议安装latex2rtf(不是TeXLive的一部分,但在CTAN上),它需要imagemagick-6-common。

这些方法对我没有帮助(它们不持久):
1. 移动/删除 `/etc/apt/apt.conf.d/20apt-esm-hook.conf` 文件 2. 将 `/etc/apt/apt.conf.d/20apt-esm-hook.conf` 文件中的令牌从 `true` 改为 `false`
至今为止,我还没有找到一个持久的解决方法。然而,我在 reddit 的讨论中注意到以下内容: > 我们不再在 apt-get 中显示它,因为脚本会解析 apt-get 的输出并导致错误,而 apt 的输出只供人类阅读。
我可以确认,在使用 `apt-get` 或者使用 `nala` 作为前端时,并没有调用该消息。
虽然这并不是一个真正的“解决方案”,但它确实让我每次运行更新时不再被提醒我有多么讨厌 Ubuntu :)

禁用方法:
chmod a-x /usr/lib/ubuntu-advantage/apt-esm-json-hook
sudo pro disable esm-apps

启用:
chmod a+x /usr/lib/ubuntu-advantage/apt-esm-json-hook
sudo pro enable esm-apps
sudo pro attach XXXXXXXXXXXXXX  << your token got from ubuntu.com/pro