为什么我的机器上有这么多“linux-”内核包,它们都是做什么的?

为什么我的机器上有这么多“linux-”内核包,它们都是做什么的?

在我使用 Ubuntu 的过程中,我注意到 Linux 内核包的种类繁多,有些列在下面:

  • linux-generic
  • linux-headers-generic
  • linux-headers-generic-pae
  • linux-headers-x.x.xx-xx
  • linux-headers-x.x.xx-xx-generic
  • linux-image-generic
  • linux-image-generic-pae
  • linux-image-x.x.xx-xx-generic
  • linux-image-x.x.xx-xx-generic-pae
  • linux-image-extra-x.x.xx-xx-generic
  • linux-image-extra-x.x.xx-xx-generic-pae

我的问题是,为什么有这么多不同的内核包,通常是相同的版本号(例如,3.5.0-24),它们之间有什么区别?

编辑以删除重复项:这个问题不是询问通用,服务器和虚拟内核包之间的区别;相反,它询问的是什么所有这些包 (以及列表中的包) 都是。

答案1

内核图像软件包与操作系统启动时加载的内核映像和模块相关。标题软件包提供了从源代码构建内核模块和/或其他程序所需的文件。

linux-image-通用

通常,您会安装linux-image-generic软件包。这是一个元软件包,它本身不附带任何文件。相反,它依赖于 Ubuntu 提供的最新内核版本,例如linux-image-3.8.0-19-generic。需要此软件包来接收内核更新。

linux-headers-通用

软件包的情况也类似linux-headers-generic。如果您使用外部内核模块(例如专有视频驱动程序),则需要安装此软件包。软件包linux-generic是一个元软件包,可确保安装linux-headers-generic和软件包。linux-image-generic

-通用-pae

这是-generic软件包的一个变体。请参阅内核版本末尾的“-pae”是什么意思?

Linux 映像额外-*

此软件包随 Ubuntu 12.10 引入,提供额外的内核模块(驱动程序)。请参阅linux-image-extra 包有什么用途?我需要它吗?

为什么多个 Linux 软件包有不同的版本号?

内核是系统的重要组成部分。较新的内核版本可能会引入错误,导致您无法成功启动系统。如果同时安装多个内核,您可以在启动菜单中更改内核版本。

答案2

通常,当您执行 apt-get dist-upgrade 时,它​​将升级所有可用内容,包括您的内核。Ubuntu 通常会保留 3 或 4 版本的内核(如果我没记错的话),以防新内核导致重大问题或故障。如果新内核无法在您的驱动程序等上运行良好,您可以启动回旧内核。这就是它的用途。您可以使用 apt-get remove linux-kernel-* 或使用 Synaptic Package Manager(必须单独安装)删除内核。但保留至少一个旧内核版本作为备份会更安全。

相关内容