内核头文件是Linux内核的源代码。有时候,用户需要编译内核头文件代码,为以后使用内核头文件做准备,本节将介绍编译内核头文件的详细步骤。

准备内核头文件的具体操作步骤如下所示。

(1)更新软件包列表。执行命令如下所示:

root@Kali:~# apt-get update

输出结果如下所示:

Binary 20130905-08:50] kali/non-free Translation-en
获取:1 http://mirrors.neusoft.edu.cn kali Release.gpg [836 B]
获取:2 http://mirrors.neusoft.edu.cn kali/updates Release.gpg [836 B]
命中 http://mirrors.neusoft.edu.cn kali Release
获取:3 http://mirrors.neusoft.edu.cn kali/updates Release [11.0 kB]
命中 http://mirrors.neusoft.edu.cn kali/main i386 Packages
命中 http://mirrors.neusoft.edu.cn kali/non-free i386 Packages
命中 http://mirrors.neusoft.edu.cn kali/contrib i386 Packages
获取:4 http://security.kali.org kali/updates Release.gpg [836 B]
……
获取:5 http://mirrors.neusoft.edu.cn kali/updates/main i386 Packages [205 kB]
获取:6 http://http.kali.org kali Release.gpg [836 B]
命中 http://mirrors.neusoft.edu.cn kali/updates/contrib i386 Packages
命中 http://http.kali.org kali Release
命中 http://mirrors.neusoft.edu.cn kali/updates/non-free i386 Packages
获取:7 http://security.kali.org kali/updates Release [11.0 kB]
命中 http://http.kali.org kali/main Sources
获取:8 http://security.kali.org kali/updates/main i386 Packages [205 kB]
忽略 http://mirrors.neusoft.edu.cn kali/contrib Translation-zh_CN
忽略 http://mirrors.neusoft.edu.cn kali/contrib Translation-zh

输出的信息是在更新软件源中指定的软件下载链接。此过程中需要等待一段时间,如果网速好的话,更新的速度会快一点。由于篇幅的原因,这里只列出了一少部分的输出 信息。

(2)使用apt-get命令准备内核头文件。执行命令如下所示:

root@Kali:~# apt-get install linux-headers- `uname -r`
正在读取软件包列表… 完成
正在分析软件包的依赖关系树
正在读取状态信息… 完成
Package 'linux-headers' is not installed, so not removed
注意,根据正则表达式 3.12-kali1-686-pae 选中了 nvidia-kernel-3.12-kali1- 686-pae
注意,根据正则表达式 3.12-kali1-686-pae 选中了 linux-image-3.12-kali1-686-pae
注意,根据正则表达式 3.12-kali1-686-pae 选中了 linux-image-3.12-kali1-686- pae-dbg
注意,根据正则表达式 3.12-kali1-686-pae 选中了 linux-modules-3.12-kali1- 686-pae
注意,根据正则表达式 3.12-kali1-686-pae 选中了 linux-latest-modules-3.12- kali1-686-pae
注意,根据正则表达式 3.12-kali1-686-pae 选中了 linux-headers-3.12-kali1- 686-pae
注意,选取 linux-image-3.12-kali1-686-pae 而非 linux-modules-3.12-kali1- 686-pae
注意,选取 linux-image-686-pae 而非 linux-latest-modules-3.12-kali1-686-pae
linux-image-3.12-kali1-686-pae 已经是最新的版本了。
linux-image-3.12-kali1-686-pae 被设置为手动安装。
linux-image-686-pae 已经是最新的版本了。
下列软件包是自动安装的并且现在不需要了:
libmozjs22d libnfc3 libruby libwireshark2 libwiretap2 libwsutil2 python-apsw
ruby-crack ruby-diff-lcs ruby-rspec ruby-rspec-core ruby-rspec-
expectations
ruby-rspec-mocks ruby-simplecov ruby-simplecov-html xulrunner-22.0
Use 'apt-get autoremove' to remove them.
将会安装下列额外的软件包:
glx-alternative-mesa glx-alternative-nvidia glx-diversions
linux-headers-3.12-kali1-common linux-kbuild-3.12 nvidia-alternative
nvidia-installer-cleanup nvidia-kernel-common
建议安装的软件包:
nvidia-driver
下列【新】软件包将被安装:
glx-alternative-mesa glx-alternative-nvidia glx-diversions
linux-headers-3.12-kali1-686-pae linux-headers-3.12-kali1-common
linux-image-3.12-kali1-686-pae-dbg linux-kbuild-3.12 nvidia-alternative
nvidia-installer-cleanup nvidia-kernel-3.12-kali1-686-pae
nvidia-kernel-common
升级了 0 个软件包,新安装了 11 个软件包,要卸载 0 个软件包,有 5 个软件包未被升级。
需要下载 361 MB 的软件包。
解压缩后会消耗掉 1,812 MB 的额外空间。
您希望继续执行吗?[Y/n]y

输出的信息显示了linux-headers相关软件包的一个信息。提示将会安装哪些软件包及软件包的大小等信息。此时输入y,继续安装。安装完后,将退出程序。

(3)复制generated下的所有内容。执行命令如下所示:

root@Kali:~# cd /usr/src/linux-headers-3.12-kali1-686-pae/
root@Kali:/usr/src/linux-headers-3.12-kali1-686-pae# cp -rf include/generated/* include/linux/

(4)编译内核头文件代码。

Kali-linux准备内核头文件的更多相关文章

  1. linux 内核头文件 linux kernel header

    概述:在进行有关系统软件的安装的时候(编译一个新的驱动,或者安装一个系统级别的测试工具,例如systemtap),经常需要重新编译内核,相应的问题往往与内核头文件有关.那么,什么是内核头文件,为什么需 ...

  2. Linux内核头文件与内核与库的关系

    看上一篇文章中对buildroot的介绍,里面的文档第 3.1.1.1 Internal toolchain backend 节内容 C库会去访问Linux kernel headers(*.h)文件 ...

  3. Linux中常用头文件的作用--转

    http://blog.sina.com.cn/s/blog_5c93b2ab0100q62k.html 1. Linux中一些头文件的作用: <assert.h>:ANSI C.提供断言 ...

  4. Linux C语言头文件搜索路径

    本文介绍在linux中头文件的搜索路径,也就是说你通过include指定的头文件,linux下的gcc编译器它是怎么找到它的呢.在此之前,先了解一个基本概念. 头文件是一种文本文件,使用文本编辑器将代 ...

  5. linux下的头文件和库文件搜索路径 (转)

     GCC 找头文件有三种策略: 1. 会在默认情况下指定到 /usr/include 文件夹 ( 更深层次的是一个相对路径, GCC 可执行程序的路径是 /usr/bin ,那么它在实际工作时指定头文 ...

  6. 使用当前平台的 gcc 编译内核头文件

    [arm@localhost tchain3.4.4]#cd ${KERNEL} [arm@localhost kernel]#tar xvfz linux­2.6.14.1.tar.gz [arm@ ...

  7. centos8 安装vmware需要的内核头文件 kernel-headers.

    centos8 安装vmware需要的内核头文件 kernel-headers. uname -r (查看内核版本) rpm -qa kernel-headers (查看kernel-headers版 ...

  8. 对Linux下常用头文件总结

    asm.current.h    定义全局项current ,其指向结构体struct  task_struct linux/sched.h    定义结构体task_struct ,只要包含此头文件 ...

  9. Linux下包含头文件的路径问题与动态库链接路径问题

    C/C++程序在linux下被编译和连接时,GCC/G++会查找系统默认的include和link的路径,以及自己在编译命令中指定的路径.自己指定的路径就不说了,这里说明一下系统自动搜索的路径. [1 ...

随机推荐

  1. group by 语句

    user E_book go 这样的程序会出错,因为play没有使用sum,所以要分组. group by play 有函数的和没有函数的表一起使用要用 GROUP BY .AVG 求平均值,只能与数 ...

  2. 微信小程序开发框架整理

    目前除了原生的微信小程序开发外,各大厂商陆续造了自己的开发框架,现整理如下: WePY 腾讯官方开源的小程序组件化开发框架,目前有15K+Star ,一直在更新着,社区活跃,掉坑能快速的找到方法爬出来 ...

  3. 三:Maven创建问题

    1.httpServlet was not found 设置server为tomcat,jre设置为安装的jdk的jre java build path 添加server runtime为tomcat ...

  4. Java 基础(6)——关键字 & 标识符 & 转义字符

    依然是基础的一天,看一看就好~ 关键字 之前就有说过关键字哦~ 注:关键字就是程序发明者规定的有特殊含义的单词. from Java基础(2) Java 中除了关键字以外还有暂时没有成为关键字的保留字 ...

  5. 前端(三):JavaScript基础

    JavaScript是一种属于网络的脚本语言,常用来为网页添加各式各样的动态功能,是一种动态类型.弱类型.基于原型的语言.它包括三个部分:ECMAScript.BOM和DOM.ECMAScript描述 ...

  6. Hibernate 性能优化一对一关联映射

    概述: hibernate提供了两种映射一对一关联的方式:按照外键映射和按照主键映射. 下面以员工账号和员工档案为例 ,介绍两种映射方式,并使用这两种映射方式分别完成以下持久化操作: (1)保存员工档 ...

  7. 利用setTimeoutc处理javascript ajax请求超时

    用过jquery的人都知道里面的$.ajax能设置超时处理及各种错误的抛出,确实好用.原生的js没有对应的方法,还得写各种兼容.在实际运用中,不管请求是否成功都应该做容错处理, 不然用户不知道到底发生 ...

  8. CSS性能优化新属性:will-change

    ---恢复内容开始--- will-change属性通过告诉浏览器什么属性.什么元素将会发生变化,可以对这些操作进行可能性的优化,由此提高CSS动画的执行效率. 这个属性可以有4个值: auto: 实 ...

  9. Java从入门到精通——数据库篇Mongo DB 导出,导入,备份

    一.概述    本篇博客为大家讲述一下Mongo DB是如何导入导出数据,还有就是备份数据的.    在下面操作的时候需要把Mongo DB的服务端打开才能操作. 二.导出.    MongoDB的导 ...

  10. Windows系统中Oracle11g R2 版本数据库卸载

    1. 停止"服务"中所有的ORCLE服务. 进入服务的方法很多,如: (1)在运行中输入services.msc,然后找到所有跟oracle 有关的服务. (2)开始->设置 ...