什么时候升级更新Ubuntu内核?

我对Ubuntu / Linux内核更新有点困惑。 来自Windows后台,我期望所有的更新都可以通过更新pipe理器,在Ubuntu apt/aptitude的情况下。

然而,如果我看看我们所有服务器的内核版本(其中大约60个),我发现许多内核在3.13.0-24-generic3.13.0-52-generic之间有不同的内核,即使它们都运行Ubuntu 14.04.2 。

如果我以3.13.0-24-generic运行login到服务器并运行升级,则不会提供对内核的更新。

为什么不通过apt-get upgrade来安装/应用新的内核版本,为什么没有do-release-upgrade将内核更新到同一个(最新的)内核呢?

有人可以给一点背景介绍如何Linux / Ubuntu的内核更新工作?

请注意,在apt-get upgrade之前,我正在运行apt-get update ,但没有安装内核更新。

非常感谢!

由于内核版本中的第四个数字通常被认为是一个补丁…我假设系统确定你不需要这个补丁 – 也就是说,系统上安装的软件没有内核补丁版本作为依赖。 它也告诉我,这不是一个安全更新。

所以,如果没有软件依赖于52补丁,并且安装的所有软件都可以使用24,那么我认为它不会被安装,系统将仅仅离开24内核。

你的问题可能与关于apt错误理解有关。 Ubuntu软件库只保存一个软件包的当前版本。

在运行apt-get upgrade ,您需要更新apt的包caching。 它必须向存储库询问最新的元数据。 否则, apt将不会识别有新版本的包(在你的情况下,linux内核包)可用。 因此,要将服务器上的软件包实际升级到更新的版本,您必须运行

 sudo apt-get update && sudo apt-get upgrade 

每个Ubuntu版本都包含一个预装内核列表,以便知道已安装的内核,在terminal执行以下命令:

 dpkg -l | grep -Ei "linux-headers|linux-image" 

内核由以下文件组成:

 linux-headers-<version>_<version>_all.deb linux-headers-<version>-generic_<version>_<architecture>.deb linux-image-<version>-generic_<version>_<architecture>.deb linux-image-extra-<version>-generic_<version>_<architecture>.deb 

根据系统架构(x86或x64),do-release-upgrade或apt-get upgrade会升级所有安装的包,包括内核包,但是我们应该select合适的内核从

下载新的内核,请到kernel.ubuntu.com
下载文件并使用dpkg -i安装

您也可以执行以下操作:

 apt-cache search linux-image 

select一个你想要的,然后做:

 sudo apt-get install linux-image-your_version_choice 

一旦重新启动,该框将只会选取新的内核。 你可能已经安装了一个新的内核,但是如果该盒子没有重新启动,它还没有机会切换到它。 最近的Linux内核正在开发允许实时内核升级的技术,但这仍然是非常尖端的。

我不记得在哪个版本发生了变化,但几年前,apt-get和aptitude默认停止提供内核更新,除非您在本地login到服务器。 如果您远程login服务器(通过ssh),则可以使用该命令

 sudo apt-get update && sudo apt-get dist-upgrade 

包括内核更新。