需要尝试安装特定的软件包版本 - 但是 apt-cache madison、apt-cache policy 似乎只列出了最新版本

需要尝试安装特定的软件包版本 - 但是 apt-cache madison、apt-cache policy 似乎只列出了最新版本

其他 SE 帖子,例如,展示如何安装特定版本的软件包。但是,我不确定我想要的版本使用的命名约定/语法到底是什么。

我需要安装 rdiff-backup 版本 1.2.8,但我通过 github 浏览(我是菜鸟)时不清楚完整包版本应该叫什么。编辑:我应该注意,我确实尝试了以下语法,

sudo apt-get install rdiff-backup=1.2.8

sudo apt-get install rdiff-backup=1.2.8-1ubuntu1 \

(后者只是盲目地复制链接示例中显示的语法,希望它能起作用。)

正如标题所述,我查找的人们说应该列出所有或旧版本的软件包的命令似乎不能按预期工作(或者正如我理解的那样)。

谢谢你的时间。

答案1

除非你有具体的下载的软件包版本的.deb文件,您只能获取 Ubuntu 存储库(或系统上配置的第三方存储库或 PPA)中可用的内容,并且通常它们仅在任何给定时间保留 Ubuntu 存储库本身中可用的软件包的最新副本。

这是所有当前版本rmadison的输出:rdiff-backup

$ rmadison -u ubuntu rdiff-backup
 rdiff-backup | 1.2.8-7 | precise/universe | source, amd64, armel, armhf, i386, powerpc
 rdiff-backup | 1.2.8-7 | trusty/universe  | source, amd64, arm64, armhf, i386, powerpc, ppc64el
 rdiff-backup | 1.2.8-7 | xenial/universe  | source, amd64, arm64, armhf, i386, powerpc, ppc64el, s390x
 rdiff-backup | 1.2.8-7 | bionic/universe  | source, amd64, arm64, armhf, i386, ppc64el, s390x
 rdiff-backup | 2.0.0-1 | focal/universe   | source, amd64, arm64, armhf, ppc64el, riscv64, s390x
 rdiff-backup | 2.0.5-1 | groovy/universe  | source, amd64, arm64, armhf, ppc64el, riscv64, s390x

因此,如果您使用的是 20.04 之前的任何版本,那么您只能使用 Nothing(因为 EOL)或 1.2.8-7。20.04 之后的任何版本(包括 20.04),您只能使用 2.0.0 或更高版本。

如果您想要另一个版本,则必须去其他地方挖掘,因为旧版本已经过时,任何比 1.2.8-7 更旧的版本(您可以去寻找并.deb在旧页面等中找到它,或者尝试自己编译旧版本,这两个都是令人讨厌的选择,因为您要进入“不受信任的来源”来获取旧版本。

除非你明确需要对于早于 1.2.8-7 的版本,您应该坚持使用存储库中针对您的特定版本的软件包版本,而不要尝试安装特定的其他版本 -apt如果您的存储库源中没有适用于您的代号版本的其他版本(例如,18.04 的 Bionic、20.04 的 Focal),则无法执行此操作(哦,并且,目前每个版本都没有其他可用的版本rmadison,除了它根据代号列出的版本之外)。

另外,请记住1.2.8-7 版本 1.2.8,但有包级别修订。还请记住,在 1.2.8 时它尚未迁移到 Python 3 支持 - 因此,1.2.8 可能无法在更新由于 Python 2 软件包弃用和 Debian 中的删除,Ubuntu 版本受到影响并延续到 Ubuntu 20.04 及更高版本。

相关内容