Bash

為什麼 bash 不通過 yum 更新?

  • October 29, 2020

我正在嘗試在 CentOS 7 上更新 bash - 我的項目至少需要 4.4,並且它的預設 shell 是 4.2。它是一個生產伺服器,所以我實際上只是想要一個新版本的 bash 作為預設 shell,僅此而已;我不想搞得太亂或更新其他任何東西。

無論如何,執行:

yum update bash

返回

No packages marked for update

命令:

yum repolist all

顯示 CentOS 7 更新軟體庫已啟用(但不是 CentOS 7.* base/updates)。

結果,這個命令:

yum  --enablerepo=updates update bash

什麼也沒做。

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

像 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

引用自:https://unix.stackexchange.com/questions/571815