最初在我的 Ubuntu 上,我必须获取一个以前的版本才能bash 5.1
使用:bashdb
bash 5.0
为了获得bash 5.0
,我去了 bash 的官方网站并手动下载了 5.0 版本,因为 apt 会安装我不需要的最新版本的 bash:5.1 版本。
然后我bash 5.0
用 构建了我自己make
。
make install
然后将命令放入/ bash 5.0
usr/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>
然后将该包的升级置于“暂停”状态以防止更新