apt-get upgrade
不会将 bash 从 4.3 升级到 4.4。因此,从bash --version
)看来
那么为什么重新安装 bash 是一种升级?
apt-get install --only-upgrade bash
或者它只是一种表示“仅重新安装 Bash”的奇怪术语。
答案1
您可以使用以下命令检查预期的升级
apt-cache policy bash
我运行的是 Ubuntu 16.04 LTS,输出是
bash:
Installed: 4.3-14ubuntu1.2
Candidate: 4.3-14ubuntu1.2
Version table:
*** 4.3-14ubuntu1.2 500
500 http://se.archive.ubuntu.com/ubuntu xenial-updates/main i386 Packages
500 http://security.ubuntu.com/ubuntu xenial-security/main i386 Packages
100 /var/lib/dpkg/status
4.3-14ubuntu1 500
500 http://se.archive.ubuntu.com/ubuntu xenial/main i386 Packages
换句话说,bash
16.04 别名 xenial 的存储库中没有更新版本。这就是它不会被升级的原因。
通常有不在这种情况下升级程序包的理由,但如果您可以找到较新的版本,例如通过 PPA,这是可能的。
答案2
apt-get install --only-upgrade <package>
不会重新安装软件包,它仅升级指定的软件包,并且仅当安装了该软件包时才升级,请参阅man apt-get
:
--only-upgrade
不安装新软件包;与一起使用时install
,only-upgrade 将仅为已安装的软件包安装升级,并忽略安装新软件包的请求。
作为Xenial 存储库仅支持 bash 4.3它不会被更新apt
。当然你可以手动安装 bash 4.4,但摆弄像 bash 这样重要的核心程序根本不是一个好主意。
如果你确实需要升级 bash 我建议采用以下方法:
sudo at 27.04.2018 update-manager --proposed
这将升级您的系统至Ubuntu 18.042018 年 4 月 27 日,我正在更新 bash 到 4.4-5 版本。当然,我在这里并不是很认真,但如果你急需 bash 4.4,更新 Ubuntu 实际上是可行的方法。