当前位置: 首页>>技术教程>>正文


为什么我的机器上有这么多“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),它们之间有什么区别?

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

最佳解决办法

内核映像包与引导操作系统时加载的内核映像和模块相关。标头包提供从源构建out-of-tree内核模块和/或某些其他程序所必需的文件。

linux-image-generic

通常您安装linux-image-generic包。这是一个meta-package,它本身不提供任何文件。相反,它取决于Ubuntu提供的最新内核版本,例如linux-image-3.8.0-19-generic。需要此程序包才能接收内核更新。

linux-headers-generic

类似的故事适用于linux-headers-generic包。如果使用外部内核模块(如专有视频驱动程序),则需要安装此软件包。 linux-generic封装是meta-package,可确保安装linux-headers-genericlinux-image-generic封装。

-generic-pae

这是-generic软件包的变体。请参阅What’s the meaning of “-pae” at the end of kernel version?

linux-image-extra- *

这个包是随Ubuntu 12.10引入的,并提供了额外的内核模块(驱动程序)。请参阅What is the linux-image-extra package for and do I need it?

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

内核是系统的关键部分。较新的内核版本可能会引入一个错误,使您无法成功启动系统。同时安装多个内核,您可以在启动菜单中更改内核版本。

次佳解决办法

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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/7168.html,未经允许,请勿转载。