Bash
為什麼 bash 不通過 yum 更新?
我正在嘗試在 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