在本教程中,我们将研究apt-get upgrade和apt-get dist-upgrade命令,并试图了解它们的区别以及何时使用它们。
1) apt-get upgrade
根据手册页,命令apt-get upgrade(适用于较旧的 Debian/Ubuntu 版本)或apt upgrade(适用于较新的版本,例如 Ubuntu 18.04 及更高版本和 Debian 10)用于将当前安装的软件包升级到最新版本。在任何情况下都不会删除现有的软件包。如果软件包升级需要删除或安装其他软件包,则已安装软件包的升级将被跳过,并且该软件包在其当前版本中保持不变。
在升级包之前,总是需要先更新包索引。/etc/apt/sources.list这将更新文件和目录中的包列表/etc/apt/sources.list.d。
$ sudo apt-get update
然后
$ sudo apt-get upgrade
如果您想升级特定的并保持其余部分不变,只需使用以下语法:
$ sudo apt-get package-name
2) apt-get dist-upgrade
这是 apt-upgrade 命令的增强版本。除了升级现有的软件包之外,它还会安装和删除一些软件包以满足一些依赖关系。该命令包括一个智能冲突解决功能,可确保首先升级关键软件包,而牺牲那些被认为具有较低优先级的软件包。
为了 100% 安全,请确保在生产环境运行之前对测试环境进行升级。
$ sudo apt-get dist-upgrade
apt-get upgrade 和 apt-get dist-upgrade 的主要区别在于前者不会删除任何软件包。更新版本的软件包会升级,并且不会删除任何内容。在后者中,安装了一些较新的包,并删除了一些以满足某些依赖关系。
结论
如果在存储库中找到更新的版本,apt-upgrade 命令将始终寻求升级已安装的软件包。它不会触发删除任何包。
同时,apt-get dist-upgrade 会在软件包升级过程中根据需要删除一些软件包。我们希望您现在对这两个命令以及它们之间的区别有一个清晰的了解。非常欢迎您对这个简短教程的反馈。