Linux Headers是否默认安装?如何检查它们是否已安装?

  • 默认情况下,Linux Headers 是否已安装?
  • 如何通过命令行检查它们是否已安装?

(在 Ubuntu 和 Lubuntu 14.xx 中)


IMO - 默认情况下不需要内核头文件,除非需要重新构建内核模块、内核或进行调试。 - askb
3个回答

默认情况下,Linux头文件已安装(例如,请参阅14.04清单文件)。 linux-headers-generic软件包将始终依赖于最新可用的通用内核头文件。
要检查当前版本,请打开终端并输入:
$ dpkg-query -s linux-headers-generic
Package: linux-headers-generic
Status: install ok installed
Priority: optional
Section: kernel
Installed-Size: 33
Maintainer: Ubuntu Kernel Team <kernel-team@lists.ubuntu.com>
Architecture: amd64
Source: linux-meta
Version: 3.11.0.20.21
Depends: linux-headers-3.11.0-20-generic
Description: Generic Linux kernel headers
 This package will always depend on the latest generic kernel headers
 available.

你可以直接打开软件中心或Synaptic,确保安装了“linux-headers-generic”软件包。该软件包被标记为依赖于最新可用内核版本的头文件,因此它会拉取另外一个或两个软件包以适配你的特定内核版本。
编辑: 你也可以直接打开命令行并运行:
sudo apt-get install linux-headers-generic

如果已经安装了,它会显示已安装;如果没有安装,它会要求您确认是否要安装该软件包。

不喜欢的原因有两个:1)在大多数情况下可以避免使用sudo命令(毕竟,并不真正想要安装任何东西);2)只为了检查是否已安装而“安装”可能有效,但并不优雅。 - nutty about natty

有点晚了,但我发现这个问题没有什么有趣的答案,所以这是真正的方法,让你知道如何在不安装任何东西的情况下完成,我想这也是你一开始想要的:
apt list linux-headers*

输出将是一个带有一些已安装标识的Linux头文件列表,例如:
linux-headers-5.10.0-kali9-amd64/kali-rolling,now 5.10.46-4kali1 amd64 [installed]
linux-headers-5.10.0-kali9-cloud-amd64/kali-rolling 5.10.46-4kali1 amd64
linux-headers-5.10.0-kali9-common-rt/kali-rolling 5.10.46-4kali1 all
linux-headers-5.10.0-kali9-common/kali-rolling,now 5.10.46-4kali1 all [installed,automatic]
linux-headers-5.10.0-kali9-rt-amd64/kali-rolling 5.10.46-4kali1 amd64
linux-headers-amd64/kali-rolling,now 5.10.46-4kali1 amd64 [installed]
linux-headers-cloud-amd64/kali-rolling 5.10.46-4kali1 amd64
linux-headers-rt-amd64/kali-rolling 5.10.46-4kali1 amd64here