我希望有更多知识的人可以解释有关apt-get upgrade在 Ubuntu 16.04 及更高版本中执行的操作。
我看到的行为是apt-get upgrade有时不会安装新的内核包,有时会:
即从输出:
The following packages have been kept back:
linux-generic linux-headers-generic linux-image-generic linux-tools-generic
Run Code Online (Sandbox Code Playgroud)
我不知道,做了dist-upgrade将安装这些程序包(所以不要再讲答案:-)。我不知道是什么控制了这些包裹的保留。
有时会在执行时安装新内核apt-get upgrade,有时会保留软件包。
这些保留是否由 Canonical 自己提出,它们是否与对其他软件包的依赖有关?
该apt-get upgrade命令仅将软件包升级到较新的版本,不会安装新软件包或不删除任何升级软件包。
当您升级内核时,您实际上是在安装一个新内核。Ubuntu 不会升级内核,它会在保留旧内核的同时安装新内核。
但为什么?为什么我们安装新版本的内核而不是升级到最新版本?答案是因为稳定性。
您永远不知道内核升级后会发生什么,它可能无法引导您的系统或使您的硬件正常工作。您应该始终保留旧版本,以便在出现任何问题时您仍然拥有一台可以工作的机器。
永远不要升级你的工作内核。
说 Slackware系统升级指南。
man apt-get:
在任何情况下都不会删除当前安装的软件包,或者检索和安装尚未安装的软件包。如果不更改另一个包的安装状态就无法升级当前安装的包的新版本,将保留其当前版本。
但是,如您所知,您也可以使用apt-get dist-upgrade或apt upgrade安装这些“保留”的软件包。
$ apt-cache search linux-image-4.4.*-generic | tail -3
linux-image-4.4.0-75-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
linux-image-4.4.0-77-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
linux-image-4.4.0-78-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
Run Code Online (Sandbox Code Playgroud)
看?这些是不同的包,因此是新安装而不是升级。
| 归档时间: |
|
| 查看次数: |
875 次 |
| 最近记录: |