为什么 bash 不通过 yum 更新?

Ale*_*exH 3 bash yum centos upgrade

我正在尝试在 CentOS 7 上更新 bash - 我的项目至少需要 4.4 并且它的默认 shell 是 4.2。它是一个生产服务器,所以我真的只想要一个新版本的 bash 作为默认 shell,就是这样;我不想乱七八糟或更新其他任何东西。

无论如何,运行:

yum update bash
Run Code Online (Sandbox Code Playgroud)

返回

No packages marked for update
Run Code Online (Sandbox Code Playgroud)

命令:

yum repolist all
Run Code Online (Sandbox Code Playgroud)

显示启用了 CentOS 7 更新存储库(但不是 CentOS 7.* base/updates)。

结果,这个命令:

 yum  --enablerepo=updates update bash
Run Code Online (Sandbox Code Playgroud)

什么也没做。

如果有帮助,我可以分享我的 CentOS-Base.repo 文件。我究竟做错了什么?

Ste*_*ris 10

像 RedHat(以及 CentOS)这样的发行版的重点是它是稳定的;它没有每个软件的最新版本,它有一个一致的版本。CentOS7 的当前版本是bash-4.2.46-33.el7. RedHat 将向后移植安全修复程序,但可能不会向后移植功能增强,因为它们会导致兼容性问题。

如果您需要不同的版本,那么您可能需要从源代码编译它并将其放置在非标准位置(例如$HOME/bin/bash)。不要覆盖,/bin/bash因为操作系统可能随时通过yum update.

相比之下,RedHat 8 (CentOS8) 有 bash 4.4,Debian 10 有 bash 5.0