centos 安装内核头文件_Linux系统入门学习:如何在Linux上安装内核头文件_weixin_39725924的博客-程序员秘密

技术标签: centos 安装内核头文件  

提问:我在安装一个设备驱动前先要安装内核头文件。怎样安装合适的内核头文件?

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

kernel-headers-3.10.0-123.9.3.el7.x86_64

Fedora、CentOS 或者 RHEL上默认内核头文件的位置是/usr/include/linux。

Ubuntu 13.10 (Saucy Salamander) 内核已升级至 Linux Kernel 3.10 RC5 http://www.linuxidc.com/Linux/2013-06/86110.htm

如何在Ubuntu 14.10,Ubuntu 14.04及其衍生版本安装 3.16.7 CKT2内核 http://www.linuxidc.com/Linux/2014-12/110189.htm

Linux Kernel 的详细介绍:请点这里

Linux Kernel 的下载地址:请点这里

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39725924/article/details/111730207

智能推荐

腾讯内部疯狂传阅的Netty源码剖析笔记,收藏量竟已破‘亿’_普通网友的博客-程序员秘密

Netty到底是什么?有了Netty,你可以实现自己的HTTP服务器,FTP服务器,UDP服务器,RPC服务器,WebSocket服务器,Redis的Proxy服务器,MySQL的Proxy服务器等等。所以今天介绍的这份文档就是围绕着Netty来讲解的《Netty源码剖析与应用》文档的主要特点:本文档包含大量的分布式底层架构的编写,涉及多线程、负载均衡算法、性能调优、线上问题紧急处...

【MATLAB】App Designer程序发布部署打包(打包exe程序)_老子姓李!的博客-程序员秘密_app designer 打包

将写好的程序,打包一下,比如exe程序,这样就可以在别的电脑也可以运行了。matlab打包方式有如下三种打包方式1.打包成MATLAB App1.1打包以matlab小组件方式打包,别的电脑使用需安装matlab输入对应信息1.2 安装1.3 使用在matlab主界面,打开APP列表,点击就能使用了。2.打包成exe程序2.1 点击独立桌面 APP2.2 输入信息输入个人信息2.3 点击package等待打包完成点击exe程序就可以运行了...

cc 和java的最大区别是什么,更好的是ANTLR还是JavaCC?_文强孙的博客-程序员秘密

更好的是ANTLR还是JavaCC?问题是文档/易学性,日食集成,工具,社区支持和性能(大致顺序)。Jason asked 2020-07-22T12:34:16Z8个解决方案28 votes您不应该排除其他几种选择:JParsec是解析器组合器框架,它使您可以完全从代码构造解析器。Scala的解析器组合器框架解决了类似的问题。 但是,Scala的语法使所有这些都更具可读性。然后还有John Me...

nexus服务器搭建_一个CD包的博客-程序员秘密

搭建nexus服务的意义作为内网的统一代理,团队合作开发时不用每人都去外网下载一次;解决部分变态公司内网管制无法访问外网的问题,选一台有外网权限的机器搭建服务器,其余人直接内网访问此服务;团队合作开发时解决maven项目依赖问题;安装nexus# 下载安装包:wget https://sonatype-download.global.ssl.fastly.net/nexus/oss/nex

在vue中使用moment.js格式化时间_罗恩-HAO的博客-程序员秘密

一: 安装npm install moment --save二:在main.js中 导入组件import moment from ‘moment’三:在main.js定义全局过滤器Vue.filter('dateformat', function(dataStr, pattern = 'YYYY-MM-DD HH:mm:ss') {return moment(dataStr)...

2020-HDU 多校训练赛1011 (Lyndon 分解)_Weaver丶的博客-程序员秘密

Minimum IndexTime Limit: 3000/1500 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Others)Total Submission(s): 264 Accepted Submission(s): 56Problem DescriptionLet s=s1 s2⋯sn be a string of length n. For any integer k between 1 to n, the kth

随便推点

史上最详细的webpack 讲解3 (webpack.base.conf.js基础配置)_weixin_33868027的博客-程序员秘密

作者混元霹雳手-Ziksang隔了好几天了,我终于又出来了,今天我给大家讲讲vue-cli中webpack.base.conf.js的基础配置,看看尤大神对这些配置做了那些重要性的处理的,不用看webpack-cli已经是一个很成熟的脚手架了,对于它的配置在webpack的更新中,作者也不停的更新,其中也有其实中的函意和道理首先对引入的模块有那些,那为什么要引入这些模块var path ...

[iOS]UIButton+Badge_风浅月明的博客-程序员秘密

Demo:https://download.csdn.net/download/u012881779/11950106项目中看到大佬写的UIButton+Badge非常不错,这里写个demo修复了一些bug后分享下.示意图:#import "InfoViewController.h"#import "UIButton+Badge.h"@interface InfoViewContr...

时钟频率(HZ)与数据传输速率(bit/s)_Archie_java的博客-程序员秘密_spi时钟频率和数据传输率

时钟频率(HZ)与数据传输速率(bit/s)两者是相同的概念。举例:IIC传输位速率在标准模式下可达100kbit/s,其中100kbit/s 是指1秒钟传输100kbit。1个时钟脉冲只能传输1bit数据。1秒中内要传输100kbit数据,则需要100k个时钟脉冲。每个时钟脉冲的周期 T=1/100 000 = 10us。方波在1秒钟内的重复变化次数称为信号的“频率”,用F表示;而把信号波形变化一次所需的时间称作“周期”,用T表示,以秒为单位。频率和周期有如下的关系:F=1/T因此,如果时钟脉冲周

ElasticFusion之OpenNI2编译_cgnerds的博客-程序员秘密_openni 编译

ElasticFusion之OpenNI2编译最近在看ElasticFusion的文章,打算在Windows平台上进行复现,由于涉及到众多软件,故在此记录一下编译过程,以备后续升级软件使用。

cmake编译opencv,以opencv3.4.0+vs2017为例_liu_otr的博客-程序员秘密

准备:在GitHub上下载opencv和opencv_contrib的源码,下载cmake,安装vs2017先说说我为什么要用cmake去编译opencv。。。一开始心想着用binary distribution安装更简单,当做到用跟踪的功能的时候,却怎么也找不到相关文件了,opencv3提供了很多新的跟踪方法的API,这些在官网的tutorial里面都有介绍点击打开链接为什么我的没有呢,经查说是...

uva 151 - Power Crisis_轩怡沫的博客-程序员秘密

约瑟夫环问题。把第一个去掉,应该找的13就变成了11。#includeusing namespace std;int main(){ int n; while(cin>>n&&n) { int i,j,x; for(i=1;i<n-1;i++) { x=0; for(j=1;j<n;j++)