linux自学心得之--安装内核头文件

对于linux初学者来说有很多的问题需要去探索,不能完全按照书本上的章节顺序学习,有些知识和问题就像是安装软件一样有依赖关系。刚安装linux系统需要安装驱动,安装驱动就要提前安装内核头文件,不然会报各种错误,比如找不到目录,xxx不存在。安装内核头文件的时候可能又会遇到“未发现软件包。。。。。。”

    废话少说,下面就讲一下如何安装内核头文件,本文以kali linux为例,kali linux是基于Debian的Linux发行版,本文章适用于其他基于Debian的linux。
 安装之前需要准备以下工作:
 1、确保机器可以正常上网
 2、确保有正确的源
确保能否正常上网就不用说了,添加能正常使用的源是重点,需要修改/etc/apt/sources.list文件。使用一下步骤:
在终端中输入:

nano /etc/apt/sources.list

打开sources.list文件讲之前的源用“#”注释。添加以下源(不用的系统对应的源是不一样的,不能混用,后期我会整理关于源的知识)
deb http://mirrors.ustc.edu.cn/kali kali main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali main non-free contrib
deb http://mirrors.ustc.edu.cn/kali-security kali/updates main contrib non-free
deb http://mirrors.aliyun.com/kali kali main non-free contrib
deb-src http://mirrors.aliyun.com/kali kali main non-free contrib
deb http://mirrors.aliyun.com/kali-security kali/updates main contrib non-free
按ctrl+x 选择y文件名不变保存并退出。
在终端中运行

apt-get update

命令刷新源
然后使用

apt-get dist-upgrade

命令更新系统
最终使用

apt-get install linux-headers-`uname -r`

(注意这里的标点是键盘Esc件下面的那个按键)或者使用apt-get install linux-headers-$(uname -r)命令安装内核头文件。
安装完成后使用

dpkg-query -s linux-headers-`uname -r`

或者dpkg-query -s linux-headers-$(uname -r) 命令检查内核头文件是否成功安装

在这里,我们需要去扩展了解的知识点有:linux下的软件依赖关系、nano工具的使用方法、源sources.list文件的格式 、apt-get常用命令、apt-get dist-upgrade与apt-get upgrade的区别。

时间: 2024-10-13 11:52:43

linux自学心得之--安装内核头文件的相关文章

VMVare9.0, Ubuntu12.04安装VMWare Tools找不到内核头文件解决方案

VMVare9.2, Ubuntu14.04安装VMWare Tools 遇到一点问题,提示找不到内核头文件,于是baidu之,作如下总结. 首先执行: sudo apt-get install build-essential linux-headers-$(uname -r) sudo cp /lib/modules/3.13.0-24-generic/build/include/generated/uapi/linux/version.h /lib/modules/3.13.0-24-gen

linux内核头文件kdev_t.h 宏定义解析

kdev_t.h 宏定义解析 这个header file反正不多,直接原因是--遇到了,就搞定它! dev_t 类型的变量定义在linux/types.h 用来保存设备编号--包括主设备号和次设备号.dev_t 是一个32位的数,其中12位用来表示设备号,其余20位用来表示次设备号. 始终不要对这32位是高12位是主设备号还是低2位是主设备号做出假定,不利于代码的可移植性,始终记得使用宏定义来处理dev_t ! 都在这里了: #define MINORBITS 20 //次设备号的占位数目 #d

linux内核头文件 cdev.h 解析

遇到一个内核API--cdev_init 就找到这里来了. #ifndef _LINUX_CDEV_H #define _LINUX_CDEV_H #include <linux/kobject.h #include <linux/kdev_t.h> #include <linux/list.h> struct file_operations; struct inode; struct module; struct cdev { struct kobject kobj; st

整理Linux下gcc编译中关于头文件与库文件搜索路径相关问题

分类: MakeFile/Make/GCC/LD2010-11-20 23:15 535人阅读 评论(0) 收藏 举报 转者的话: 本文详细介绍了gcc 编译时 搜索头文件的路径以及方式, 编译时寻找lib库的方式, 以及运行时加载库的寻找方式!!!非常之经典啊!以后有新的知识都汇总到这里来了! 在交叉编译的时候我们需要用到其他的库,在config时候可以通过“-I”来指定头文件目录,但是每次都需要设置的话难免有些麻烦,找到一个简单的方法. 看下文的红色部分. 有大量的环境变量可供设置以影响 G

linux设备驱动程序该添加哪些头文件以及驱动常用头文件介绍(转)

原文链接:http://blog.chinaunix.net/uid-22609852-id-3506475.html 驱动常用头文件介绍 #include <linux/***.h> 是在linux-2.6.29/include/linux下面寻找源文件.#include <asm/***.h> 是在linux-2.6.29/arch/arm/include/asm下面寻找源文件.#include <mach/***.h> 是在linux-2.6.29/arch/ar

转载:Linux 下C编程常用的头文件

头文件主目录include 头文件目录中总共有32个.h头文件.其中主目录下有13个,asm子目录中有4个,linux子目录中有10个,sys子目录中有5个.这些头文件各自的功能如下,具体的作用和所包含的信息请参见第14章. <a.out.h>:a.out头文件,定义了a.out执行文件格式和一些宏. <const.h>:常数符号头文件,目前仅定义了i节点中i_mode字段的各标志位. <ctype.h>:字符类型头文件,定义了一些有关字符类型判断和转换的宏. <

Linux学习笔记——例说makefile 头文件查找路径

0.前言 从学习C语言开始就慢慢开始接触makefile,查阅了很多的makefile的资料但总感觉没有真正掌握makefile,如果自己动手写一个makefile总觉得非常吃力.所以特意借助博客总结makefile的相关知识,通过例子说明makefile的具体用法. 例说makefile大致分为4个部分 1.只有单个C文件 2.含有多个C文件 3.需要包括头文件路径 4.一个较为复杂的例子 [代码仓库]--makefile-example 代码仓库位于bitbucket,可借助Tortoise

linux 内核头文件及内核库文件

与用户空间应用不同的是,内核不能调用标准C库或其它任何不属于内核的库.主要原因是,速度及大小的限制. 标准C库对内核而言实在是太大了. 许多常用的的 libc 函数已经在内核中实现了.内核中的库文件是在内核的根目录下 lib 目录下存放. 如常用的字符串操作函数是在 lib/string.c 中定义的,调用时主需要将头文件 <linux/string.h>包含进即可. 关于内核的头文件,内核是不能包含内核之外的头文件的,如同内核不能调用内核之外的库一样. 1)基本的头文件放在内核的 inclu

Linux设备驱动程序学习随笔1--从头文件 linux/moudle.h开始

所有的程序员入门的第一个程序都是从 Holle World 开始,linux嵌入式驱动开发也不例外,<Linux设备驱动程序>这本书的第一个程序就是hello world.然而,人生写驱动程序的第一次编译就异常的艰难. 以下是hello world 的程序,很简单,基本上学过C就能看懂,该程序包括两个头文件,引用了4个外部函数,内建2个函数. 1 #include <linux/init.h> 2 #include <linux/module.h> 3 4 MODULE