apt-get upgrade 不会升级 bash --- 那么为什么重新安装 bash 是一种升级?

apt-get upgrade 不会升级 bash --- 那么为什么重新安装 bash 是一种升级?

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

换句话说,bash16.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 实际上是可行的方法。

相关内容