为什么软件包版本会过时并变得不可用?

Bit*_*eak 1 package-management 16.04

我们正在构建基于 Ubuntu xenial(我知道 EOL 04/21)的docker 镜像,我们正在使用curl=7.47.0-1ubuntu2.14openssh-server=1:7.2p2-4ubuntu2.8现在两者都不可用。

curl 包现在curl=7.47.0-1ubuntu2.15是 ssh-server openssh-server=1:7.2p2-4ubuntu2.10。我想知道为什么会这样以及两个原始软件包是如何变得不可用的?

如果需要,有没有办法我仍然可以获得旧包裹?如果有,在哪里?

use*_*733 5

让我们使用rmadison包数据库查询和http://changelogs.ubuntu.com来找出这些包被取代的原因。

我们先来看看curl:

$ rmadison curl | grep xenial
 curl | 7.47.0-1ubuntu2    | xenial           | source, amd64, arm64, armhf, i386, powerpc, ppc64el, s390x
 curl | 7.47.0-1ubuntu2.15 | xenial-security  | source, amd64, arm64, armhf, i386, powerpc, ppc64el, s390x
 curl | 7.47.0-1ubuntu2.15 | xenial-updates   | source, amd64, arm64, armhf, i386, powerpc, ppc64el, s390x
Run Code Online (Sandbox Code Playgroud)

啊哈:看看 -security 和 -updates 是如何推动 2.15 的?这意味着它可能是一个安全补丁。具体的可以看 https://changelogs.ubuntu.com/changelogs/binary/c/curl/7.47.0-1ubuntu2.15/changelog

curl (7.47.0-1ubuntu2.15) xenial-security;紧急=中等

  • 安全更新:curl 用 -J 覆盖本地文件
    • debian/patches/CVE-2020-8177.patch:如果在 src/tool_cb_hdr.c、src/tool_getparam.c 中使用 -J,则 -i 不合适。
    • CVE-2020-8177

-- Marc Deslauriers marc.deslauriers@ubuntu.com 2020 年 6 月 17 日星期三 09:21:55 -0400


现在让我们看看openssh-server:

$ rmadison openssh-server | grep xenial
 openssh-server | 1:7.2p2-4           | xenial           | amd64, arm64, armhf, i386, powerpc, ppc64el, s390x
 openssh-server | 1:7.2p2-4ubuntu2.8  | xenial-security  | amd64, arm64, armhf, i386, powerpc, ppc64el, s390x
 openssh-server | 1:7.2p2-4ubuntu2.10 | xenial-updates   | amd64, arm64, armhf, i386, powerpc, ppc64el, s390x

Run Code Online (Sandbox Code Playgroud)

看看 -updates 是如何有更高版本的?这意味着新软件​​包可能是错误修复而不是安全补丁。让我们看看https://changelogs.ubuntu.com/changelogs/binary/o/openssh-server/1:7.2p2-4ubuntu2.10/changelog怎么说:

openssh (1:7.2p2-4ubuntu2.10) xenial;紧急=中等

  • 当 AuthorizedKeysCommand 产生大量输出时修复死锁。(LP:#1877454)
    • d/p/authkeyscommand-deadlock-01.patch:确保调用 fclose(2) 并将 NULL 分配给用于读取“Authorized{Keys,Principal}Command”指令的文件处理程序。
    • d/p/authkeyscommand-deadlock-02.patch:使用“Authorized{Keys,Principal}Command”指向的命令生成的整个输出,以避免向进程发送 SIGPIPE。

-- Sergio Durigan Junior sergio.durigan@canonical.com 2020 年 5 月 13 日星期三 10:12:28 -0400