以下软件包将被降级

以下软件包将被降级

在装有 LAMP 堆栈的 Ubuntu 18.04.5 LTS(服务器)上,我收到了确认软件包降级的提示:

The following packages will be DOWNGRADED:
  libssl1.1 openssl

这两个包是:

dpkg --list "libssl*"
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                           Version              Architecture         Description
+++-==============================-====================-====================-==================================================================
ii  libssl1.0.0:amd64              1.0.2n-1ubuntu5.6    amd64                Secure Sockets Layer toolkit - shared libraries
ii  libssl1.1:amd64                1.1.1j-1+ubuntu18.04 amd64                Secure Sockets Layer toolkit - shared libraries


dpkg --list "openssl*"
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                           Version              Architecture         Description
+++-==============================-====================-====================-==================================================================
ii  openssl                        1.1.1j-1+ubuntu18.04 amd64                Secure Sockets Layer toolkit - cryptographic utility
un  openssl-blacklist              <none>               <none>               (no description available)

看来我无法继续常规操作apt-get upgrade,也无法选择降级这个包。

我的问题是:有没有办法配置 apt 不强制执行此降级/如何

特别感谢这个答案,它将澄清这种退化是否是一个明智的决定(我对此表示怀疑,但仍然如此),以及如何找出哪个组件可能对此负责。

编辑:每个 pkgs 输出的 apt 策略:

apt policy libssl1.1 openssl
libssl1.1:
  Installed: 1.1.1j-1+ubuntu18.04.1+deb.sury.org+3
  Candidate: 1.1.1-1ubuntu2.1~18.04.8
  Version table:
 *** 1.1.1j-1+ubuntu18.04.1+deb.sury.org+3 100
        100 /var/lib/dpkg/status
     1.1.1-1ubuntu2.1~18.04.8 1000
        500 http://rs.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages
        500 http://rs.archive.ubuntu.com/ubuntu bionic-security/main amd64 Packages
     1.1.0g-2ubuntu4 1000
        500 http://rs.archive.ubuntu.com/ubuntu bionic/main amd64 Packages
openssl:
  Installed: 1.1.1j-1+ubuntu18.04.1+deb.sury.org+3
  Candidate: 1.1.1-1ubuntu2.1~18.04.8
  Version table:
 *** 1.1.1j-1+ubuntu18.04.1+deb.sury.org+3 100
        100 /var/lib/dpkg/status
     1.1.1-1ubuntu2.1~18.04.8 1000
        500 http://rs.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages
        500 http://rs.archive.ubuntu.com/ubuntu bionic-security/main amd64 Packages
     1.1.0g-2ubuntu4 1000
        500 http://rs.archive.ubuntu.com/ubuntu bionic/main amd64 Packages

答案1

您从 Ubuntu 18.04 存储库以外的其他来源安装了 openssl(?),或者保留了 openssl,并且您安装的版本不包含重要的安全补丁。无论版本号是多少,18.04 版本的优先级都高于您的版本。

请将问题结果添加到

apt policy libssl1.1 openssl

这将显示有关软件包的更多信息。包括它的来源:)

接受软件包降级。它将安装比您现在使用的版本更好的版本。

答案2

https://www.patreon.com/posts/enforced-openssl-48703169

引入了自定义 src:openssl 包来升级 PHP、Apache2 和 NGINX 的加密功能,但此后情况有了很大改善。

随着 Ubuntu 16.04 LTS 在大约 2 周内(2021 年 4 月)达到使用寿命,openssl 软件包现在可以“降级”到发行版提供的版本。运行apt upgrade --allow-downgrades以继续。

答案3

我想扩展@M1ke 对 Roger Dueck 的回复的评论:如果您的系统配置为使用可能包含 OpenSSL + 相关包的附加存储库,则此消息很典型;尽管它们的包标识符中的版本号表面上较高,但这些存储库可能并不像它们应该的那样是最新的。

关联Roger 发文提供了更多细节;来自那里:“引入自定义 src:openssl 包是为了升级 PHP、Apache2 和 NGINX 的加密功能”。请注意,该文章是由 Ondřej Surý 撰写的,他为许多 Ubuntu 用户提供了 PHP / Apache / nginx 的附加存储库。Ondřej 指出他提供了更多细节(特别是如果这是您正在使用的存储库)。

就我个人而言,我倾向于apt-get upgrade --dry-run在任何升级之前使用;这有助于向您展示正在发生的事情(apt policy正如@Rinzwind 所建议的,更详细地做了同样的事情):这是在请求的“降级”之前一个系统的输出,

# apt-get upgrade --dry-run
[...snip...]
The following packages will be DOWNGRADED:
  libssl-dev libssl1.1 openssl
0 upgraded, 0 newly installed, 3 downgraded, 0 to remove and 12 not upgraded.
Inst libssl-dev [1.1.1i-1+ubuntu18.04.1+deb.sury.org+4] (1.1.1-1ubuntu2.1~18.04.9 Ubuntu:18.04/bionic-updates, Ubuntu:18.04/bionic-security [amd64]) []
Inst libssl1.1 [1.1.1i-1+ubuntu18.04.1+deb.sury.org+4] (1.1.1-1ubuntu2.1~18.04.9 Ubuntu:18.04/bionic-updates, Ubuntu:18.04/bionic-security [amd64])
Inst openssl [1.1.1i-1+ubuntu18.04.1+deb.sury.org+4] (1.1.1-1ubuntu2.1~18.04.9 Ubuntu:18.04/bionic-updates, Ubuntu:18.04/bionic-security [amd64])
[...snip...]

特别注意当前安装的软件包名称:1.1.1i-1+ubuntu18.04.1+deb.sury.org+4它有助于deb.sury.org指示它可能来自哪里(在本例中是上面提到的 Ondřej Surý 的 repo),以及替换软件包名称 1.1.1-1ubuntu2.1~18.04.9和 repo(主 Ubuntu repos)。

一旦我对所提出的更改感到满意,我就会重新运行apt-get upgrade而不使用--dry-run标志来实际进行升级。

相关内容