当前位置:网站首页>Red Hat安装内核头文件
Red Hat安装内核头文件
2022-07-07 00:25:00 【小立爱学习】
前言
Red Hat版本:
一、The Linux kernel RPM
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.
1.2 安装内核头文件
(1)
编译一个最简单的Hello world模块,编译失败:
Red Hat 头文件在/usr/src/kernels目录下,/usr/src/kernels目录下没有内核头:
内核头内核头文件由kernel-devel软件包提供,安装kernel-devel软件包:
显示:
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/
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.
//允许升级以用较旧的软件包替换较新的软件包。
这样内核头安装完成:
由于我安装了三个包,在/boot/目录下也会生成该内核版本的内核镜像等等。。。
(3)
kernel: Linux内核软件包,包含单、多核和多处理器系统的内核,是任何Linux操作系统的核心,单处理器的系统仅需安装内核包。内核处理操作系统的基本功能: 内存分配、进程分配、设备输入和输出等。
kernel-devel:这个包提供了足以根据内核包构建模块的 kernel headers 和makefile文件(包括了kernel-headers)。
kernel-headers:包括指定 Linux 内核与用户空间库和程序之间的接口的 C 头文件。 头文件定义了构建大多数标准程序所需的结构和常量。
kernel-debug :包含许多对于内核debug诊断和调试的启用选项,只有当我们需要尝试收集额外的内核错误信息时才应该安装它。它是以牺牲性能为代价。
kernel-tools:包含用于操纵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
总结
第一次用Red Hat(当然经常使用centos) ,以上就是Red Hat7.3安装内核头文件的步骤。
参考资料
边栏推荐
猜你喜欢
AI face editor makes Lena smile
SQL query: subtract the previous row from the next row and make corresponding calculations
ForkJoin最全详解(从原理设计到使用图解)
EMMC打印cqhci: timeout for tag 10提示分析与解决
Harmonyos practice - Introduction to development, analysis of atomized services
毕业之后才知道的——知网查重原理以及降重举例
Jhok-zbl1 leakage relay
Message queue: how to deal with message backlog?
分布式事务介绍
[PM products] what is cognitive load? How to adjust cognitive load reasonably?
随机推荐
分布式事务介绍
京东商品详情页API接口、京东商品销量API接口、京东商品列表API接口、京东APP详情API接口、京东详情API接口,京东SKU信息接口
Wechat applet Bluetooth connects hardware devices and communicates. Applet Bluetooth automatically reconnects due to abnormal distance. JS realizes CRC check bit
分布式全局ID生成方案
数据中心为什么需要一套基础设施可视化管理系统
pytorch_ 01 automatic derivation mechanism
[论文阅读] A Multi-branch Hybrid Transformer Network for Corneal Endothelial Cell Segmentation
Mapbox Chinese map address
zabbix_get测试数据库失败
SQLSTATE[HY000][1130] Host ‘host. docker. internal‘ is not allowed to connect to this MySQL server
Dj-zbs2 leakage relay
消息队列:如何确保消息不会丢失
AI人脸编辑让Lena微笑
Flink SQL 实现读写redis,并动态生成Hset key
成为资深IC设计工程师的十个阶段,现在的你在哪个阶段 ?
What are the common message queues?
nodejs获取客户端ip
What is dependency injection (DI)
Flinksql read / write PgSQL
Polynomial locus of order 5