是否可以使用 apt 安装软件包的先前版本?

是否可以使用 apt 安装软件包的先前版本?

最初在我的 Ubuntu 上,我必须获取一个以前的版本才能bash 5.1使用:bashdbbash 5.0

为了获得bash 5.0,我去了 bash 的官方网站并手动下载了 5.0 版本,因为 apt 会安装我不需要的最新版本的 bash:5.1 版本。

然后我bash 5.0用 构建了我自己make

make install然后将命令放入/ bash 5.0usr/local

我的问题是:

这是正确安装软件包先前版本的正确方法吗?我认为这样手动安装软件包有点不方便。而且更容易出错... 不能apt这样做吗?

答案1

是的,你可以使用它apt来安装以前版本的软件包它位于你的 Ubuntu 版本的存储库中。这句话的最后一部分很重要。

请参见这个现有的问答containerd作为如何由于最新版本的回归而回退(降级并保留)到以前版本的示例。

对于您而言bash,相同的逻辑并不适用,因为bash 5.0它不在 Ubuntu 22.04 的存储库中。

在这种情况下你还有其他选择:

  • 更新并编译该工具(bashdb)以适应最新版本的bash (首选 - 根据本报告
  • bash编译你自己的另一个版本
  • 使用 Ubuntu 20.04(具有bash 5.0)运行容器或虚拟机,以满足您的需要

如果你有技能,那么选项 1 是最好的。如果不是这样,那么我建议选择选项 3,因为这似乎是最安全的选择。

将 Ubuntu 20.04 的存储库添加到你的 22.04 安装中不建议,因为这可能会导致不良后果。

答案2

您必须指定“包名称”=版本

sudo apt-get install <package name>=<version>

然后将该包的升级置于“暂停”状态以防止更新

相关内容