如何在linux上安装内核头文件

author author     2023-04-28     753

关键词:

当你在编译一个设备驱动模块时,你需要在系统中安装内核头文件。内核头文件同样在你编译与内核直接链接的用户空间程序时需要。当你在这些情况下安装内核头文件时,你必须确保内核头文件精确地与你当前内核版本匹配(比如:3.13.0-24-generic)。

如果你的内核是发行版自带的内核版本,或者使用默认的包管理器的基础仓库升级的(比如:apt-ger、aptitude或者yum),你也可以使用包管理器来安装内核头文件。另一方面,如果下载的是kernel源码并且手动编译的,你可以使用make命令来安装匹配的内核头文件。
现在我们假设你的内核是发行版自带的,让我们看下该如何安装匹配的头文件。
在 Debian、Ubuntu 或者 Linux Mint 上安装内核头文件
假设你没有手动编译内核,你可以使用apt-get命令来安装匹配的内核头文件。
首先,使用dpkg-query命令检查是否有可用的内核头文件。
$ dpkg-query -s linux-headers-$(uname -r)

dpkg-query: package 'linux-headers-3.11.0-26-generic' is not installed and no information is available

接着使用下面的命令安装匹配的内核头文件。
$ sudo apt-get install linux-headers-$(uname -r)

验证头文件是否成功安装。
$ dpkg-query -s linux-headers-$(uname -r)

Package: linux-headers-3.11.0-26-generic
Status: install ok installed

Debian、Ubuntu、Linux Mint默认头文件在/usr/src下。
在 Fedora、CentOS 或者 RHEL 上安装内核头文件
假设你没有手动编译内核,你可以使用yum命令来安装匹配的内核头文件。
首先,用下面的命令检查系统是否已经安装了头文件。如果下面的命令没有任何输出,这就意味着还没有头文件。
$ rpm -qa | grep kernel-headers-$(uname -r)

接着用yum命令安装头文件。这个命令会自动找出合适的头文件并安装。
$ sudo yum install kernel-headers

验证包安装的状态。
$ rpm -qa | grep kernel-headers-$(uname -r)
参考技术A 一般桌面发行版或服务器发行版都自带自带 参考技术B yum install kernel-devel

如何在debian或ubuntu上安装完整的内核源码

...这些都将被下载并存储到当前目录。在.dsc文件中会指出如何给内核源码打补丁。  当下载完成,以上的命令将会自动调用工具dpkg-source将下载的内核源码解压到当前的目录中,与此同时根据.dsc文件来下补丁。  最终完整的... 查看详情

如何在debian或ubuntu上安装完整的内核源码

...这些都将被下载并存储到当前目录。在.dsc文件中会指出如何给内核源码打补丁。当下载完成,以上的命令将会自动调用工具dpkg-source将下载的内核源码解压到当前的目录中,与此同时根据.dsc文件来下补丁。最终完整的内核源码... 查看详情

“找不到 jpeg 的头文件或库文件”在 Alpine Linux 上安装 Pillow

】“找不到jpeg的头文件或库文件”在AlpineLinux上安装Pillow【英文标题】:"Theheadersorlibraryfilescouldnotbefoundforjpeg"installingPillowonAlpineLinux【发布时间】:2017-10-1800:58:48【问题描述】:我正在尝试在基于python:alpine的Docker容器中... 查看详情

如何在 linux 上查找大型项目的头文件依赖项 [关闭]

】如何在linux上查找大型项目的头文件依赖项[关闭]【英文标题】:Howtofindheaderdependenciesforlargescaleprojectsonlinux[closed]【发布时间】:2008-09-1707:51:31【问题描述】:我正在处理一个非常大规模的项目,其中编译时间非常长。我可以... 查看详情

[第一节]wsl2内核编译/安装内核头文件/驱动调试(代码片段)

[第一节]WSL2内核编译/安装内核头文件/驱动调试WSL2下编写内核模块-简书(jianshu.com)1.查看当前系统的内核版本号lim@TIM:~$uname-r5.4.72-microsoft-standard-WSL22.下载内核源码去github下载对应的linux内核源码包wgethttps://github.com/microsoft/WSL2-Li... 查看详情

02设置工作环境与环境

...化设备,建立EXT4文件系统;mount命令挂载设备;3、正常安装的时候,Linux会把GRUB安装在物理硬盘上,现在要把它安装在我们的虚拟硬盘上;上一步把挂载虚拟硬盘文件为loop0回环设备;接着安装GRUB;4、将硬盘原来的二进制格式... 查看详情

[第一节]wsl2内核编译/安装内核头文件/驱动调试(代码片段)

[第一节]WSL2内核编译/安装内核头文件/驱动调试WSL2下编写内核模块-简书(jianshu.com)1.查看当前系统的内核版本号lim@TIM:~$uname-r5.4.72-microsoft-standard-WSL22.下载内核源码去github下载对应的linux内核源码包wgethttps://github.com/microsoft/WSL2-Li... 查看详情

centos 上带有 gcc 内核头文件的 yum repo

...正确名称)但是如果该默认存储库中未提供软件包,那么如何首先添加存储库 查看详情

Linux 内核头文件中的错误

】Linux内核头文件中的错误【英文标题】:ErrorsinLinuxKernelheaders【发布时间】:2011-08-2911:51:40【问题描述】:我正在尝试编译一个库,其中包含来自kernel-devel包的一些头文件。我链接了适当的头文件,但现在我在这些头文件中遇... 查看详情

教你如何快速编译安装新内核

...有些低了呢?如果有的话,没关系,今天小编就来教大家如何编译安装新的内核。在编译安装内核之前先检查我们的虚拟机所在的磁盘空间,预留空间10G以上,不然编译安装内核无法完成。下面我们就开始内核的编译安装吧。&nb... 查看详情

问一下,为啥代码在redhat里面gcc编译出错,提示找不到module.h等头文件

...e/linux的module.h先删除了,根本不是在这个目录你需要首先安装对应内核版本的头文件,不是随便一个版本就可以~一般情况下内核头文件放在/usr/src/下面。你这个钩子函数一看就知道是运行在内核空间的,以模块的方式安装使用... 查看详情

如何在linux上使用相关的头文件编译这个c++代码?(代码片段)

我正在尝试使用thisC++code在我的Linux框中编译g++但它失败并出现以下错误:enigma/Enigma#g++-I.main.cpp-omainInfileincludedfrommachine.h:14:0,fromtests.h:13,frommain.cpp:10:plug.h:13:2:warning:#importisadeprecatedGCCextension[-Wde 查看详情

如何在linux上安装oracle?

简单的说就是先准备安装源文件,上传到LINUX服务器,viprofile文件在安装目录下,用远Xmanager连接,这样就可以实现图形化安装。profile文件要定义配置。参考技术A下载linux版的oracle 查看详情

如何在linux中curl.h相关的头文件和库?

rt,在编译一段用到curl.h的代码时,提示找不到curl/curl.h我想问下如何安装相关的头文件和库?参考技术Ayuminstalllibcurl-devel本回答被提问者采纳 查看详情

在 ubuntu 上使用 linux 源码编译模块

...6-2816:48:46【问题描述】:04.2,4.8.0-36-generickernel,由于缺少内核源代码中包含的文件,我无法仅使用linux头文件编译模块,我已使用apt-getsourcelinux-image-$(uname-r)下载了内核源代码生成文件obj-m+ 查看详情

linuxcontainer安装,或者说如何在android平台上安装linux软件

...,在adbshell中运行./configure显示permissiondenied,不知道应该如何解决?然后我再模拟器上安装了terminalemulator,在terminalemulator中再次执行./configure显示bin/sh:badinterpreter:permissiondenied,在网上查找的解决方法是执行sh./configure结果是workingd... 查看详情

在 Linux Mint LMDE 上安装 Chez Scheme 9.4

】在LinuxMintLMDE上安装ChezScheme9.4【英文标题】:InstallingChezScheme9.4onLinuxMintLMDE【发布时间】:2016-10-2009:17:15【问题描述】:我正在尝试在LinuxMintLMDE系统上安装ChezScheme9.4。ChezScheme需要GNUmake、gcc、ncurses的头文件和库,以及Xwindows的... 查看详情

Docker 如何在 macOS 主机下运行 Linux 内核?

】Docker如何在macOS主机下运行Linux内核?【英文标题】:HowdoesDockerrunaLinuxkernelundermacOShost?【发布时间】:2017-09-0901:05:15【问题描述】:我在我的macOSSierra上安装了Docker,如下所示。注意我没有安装VirtualBox。brewcaskuninstallvirtualboxbrew... 查看详情