Red Hat安装内核头文件

本文阅读 5 分钟
首页 Linux,系统 正文

Red Hat版本: img

1.1 rpm

rpm - RPM Package Manager

rpm 是一个功能强大的软件包管理器,可用于build, install, query, verify, update, and erase单个软件包。 一个包由文件存档和用于安装和删除存档文件的metadata组成。 metadata包括helper scripts、 file attributes和关于包的描述信息。

RPM package 是包含其他文件及其元数据(有关系统所需文件的信息)的文件。 具体来说,RPM 包由 cpio 归档文件组成: cpio 归档文件包含: (1)Files (2)RPM header (package metadata) rpm 包管理器使用此metadata来确定依赖关系、安装文件的位置以及其他信息。

Types of RPM packages:有两种类型的 RPM 包。 两种类型共享文件,格式和工具,但有不同的内容和服务于不同的目的: Binary RPM(binary packages): 包含从源代码和补丁构建的二进制文件。 Source RPM(SRPM,source packages):SRPM 包含源代码和 SPEC 文件,该文件描述了如何将源代码构建为二进制 RPM。 可选地,源代码的补丁也包括在内。

QUERY OPTIONS
       The general form of an rpm query command is
       rpm { -q|--query} [select-options] [query-options]
-a, --all
        Query all installed packages.

yum 是基于Red Hat的一种前端工具,yum是基于rpm命令行工具。

1.2 安装内核头文件

(1) img 编译一个最简单的Hello world模块,编译失败: img img Red Hat 头文件在/usr/src/kernels目录下,/usr/src/kernels目录下没有内核头: img

内核头内核头文件由kernel-devel软件包提供,安装kernel-devel软件包: img 显示:

This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.

不能用yum…

(2) 在该网站下载内核头: https://vault.centos.org/7.3.1611/os/x86_64/Packages/ img

rpm -ivh *.rpm --nodeps --force
-i, --info
      Display package information, including name, version, and description.  This uses the --queryformat if one was specified.
//显示包信息,包括名称、版本和描述。
      
 -v   Print verbose information - normally routine progress messages will be displayed.
//打印详细信息 - 通常会显示常规进度消息。

 -h, --hash
     Print 50 hash marks as the package archive is unpacked.  Use with -v|--verbose for a nicer display.
//解压缩包存档时打印 50 hash marks。 与 -v|--verbose 一起使用以获得更好的显示效果。


 --nodeps
     Don't do a dependency check before installing or upgrading a package.
//在安装或升级软件包之前不要进行依赖检查。

 --force
        Same as using --replacepkgs, --replacefiles, and --oldpackage.
       --replacefiles
              Install the packages even if they replace files from other, already installed, packages.
              //安装这些包,即使它们替换了其他已安装包中的文件。

       --replacepkgs
              Install the packages even if some of them are already installed on this system.
              //即使其中一些已安装在此系统上,也要安装这些软件包。
              
       --oldpackage
              Allow an upgrade to replace a newer package with an older one.
              //允许升级以用较旧的软件包替换较新的软件包。

img 这样内核头安装完成: img

/usr/src/kernels/3.10.0-514.el7.x86_64/include/linux //该目录下的内核头文件

img

由于我安装了三个包,在/boot/目录下也会生成该内核版本的内核镜像等等。。。 img

(3) kernel: The Linux kernel. Linux内核软件包,包含单、多核和多处理器系统的内核,是任何Linux操作系统的核心,单处理器的系统仅需安装内核包。内核处理操作系统的基本功能: 内存分配、进程分配、设备输入和输出等。

kernel-devel: Development package for building kernel modules to match the kernel. 这个包提供了足以根据内核包构建模块的 kernel headers 和makefile文件(包括了kernel-headers)。

kernel-headers:Header files for the Linux kernel for use by glibc. 包括指定 Linux 内核与用户空间库和程序之间的接口的 C 头文件。 头文件定义了构建大多数标准程序所需的结构和常量。

kernel-debug :包含许多对于内核debug诊断和调试的启用选项,只有当我们需要尝试收集额外的内核错误信息时才应该安装它。它是以牺牲性能为代价。 有一系列得debug包:

kernel-debug.x86_64 : The Linux kernel compiled with extra debugging enabled
kernel-debug-devel.x86_64 : Development package for building kernel modules to match the debug kernel
kernel-debuginfo.x86_64 : Debug information for package kernel
kernel-debuginfo-common-x86_64.x86_64 : Kernel source files used by kernel-debuginfo packages

kernel-tools:Assortment of tools for the Linux kernel. 包含用于操纵Linux内核和支持文档的工具。

(4) 只是编写内核模块安装kernel-headers-3.10.0-514.el7.x86_64就可以:

rpm -ivh kernel-headers-3.10.0-514.el7.x86_64.rpm --nodeps --force

安装kernel-devel软件包后,就可以在/usr/src/kernels/找到所有的内核头文件,就可以编写内核模块了。

(5) 可以将yum源换位centos源,这样直接就可以通过yum来安装内核头文件了。

yum install kernel-devel
yum install kernel-headers

1.3 安装内核头文件 - updates

在/updates/目录下也有一些小版本安装包: https://vault.centos.org/7.6.1810/updates/x86_64/Packages/ img

第一次用Red Hat(当然经常使用centos) ,以上就是Red Hat7.3安装内核头文件的步骤。

https://access.redhat.com/documentation/enus/red_hat_enterprise_linux/8/html/managing_monitoring_and_updating_the_kernel/

本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://blog.csdn.net/weixin_45030965/article/details/125643091
-- 展开阅读全文 --
BUUCTF Web [极客大挑战 2019]Knife
« 上一篇 06-24
安全面试之XSS(跨站脚本攻击)
下一篇 » 07-24

发表评论

成为第一个评论的人

热门文章

标签TAG

最近回复