Linux如何安装kernel-debuginfo包以支持获取未压缩内核映像vmlinux?(yum | wget、rpm -ivh)

基础信息

  • 本文以AnolisOS为例子,Centos和Ubuntu类似,核心都是安装kernel-debuginfo和kernel-debuginfo-common的rpm包 并且需要和内核版本子版本完全一致(本质是使用同一份代码编译的)
  • 假设系统安装的是8.6版本:比如https://mirrors.openanolis.cn/anolis/8.6/isos/GA/x86_64/ 下面的AnolisOS-8.6-x86_64-dvd.iso
  • 一般kernel-debuginfo可以通过 yum install -y kernel-debuginfo进行安装
  • 如果不行就需要自行下载rpm包,然后安装。
  • 那么对应的kernel-debuginfo可以在安装包路径进行寻找,比如8.6对应的就在镜像网站的地址:https://mirrors.openanolis.cn/anolis/8.6/BaseOS/x86_64/debug/Packages/ 其实就是8.6下面相对路径的BaseOS找到对应架构的debug包里面
mirrors anolis
8.6
isos 下载镜像
GA表示 普遍可用稳定版
isos/GA/x86_64
AnolisOS-8.6-x86_64-dvd.iso
全量安装包括支持GNU模式
AnolisOS-8.6-x86_64-minimal.iso
进包括基础安装主要服务器命令行模式
AnolisOS-8.6-x86_64-boot.iso
从网络安装
BaseOS 包括源码独立包等
x86_64/debug/Packages/安装包
8.7
...

找到对应的kernel-debuginfo文件

https://mirrors.openanolis.cn/anolis/8.6/BaseOS/x86_64/debug/Packages/

  1. 根据uname查看系统的内核详细版本包括子版本,比如这里4.18.0-372.9.1
    在这里插入图片描述
  2. 根据详细版本,在网页所有2个包
    一个是以kernel-debuginfo开头的
    一个是以kernel-debuginfo-common的
    复制链接地址,然后下一步使用wget下载到本地
    在这里插入图片描述

下载rpm包与安装

# 下载rpm包
wget https://mirrors.openanolis.cn/anolis/8.6/BaseOS/x86_64/debug/Packages/kernel-debuginfo-4.18.0-372.9.1.an8.x86_64.rpm
wget https://mirrors.openanolis.cn/anolis/8.6/BaseOS/x86_64/debug/Packages/kernel-debuginfo-common-x86_64-4.18.0-372.9.1.an8.x86_64.rpm# 安装rpm包
rpm -ivh *.rpm

实操

下载:
在这里插入图片描述
安装:
在这里插入图片描述
确认是否正确安装:
在/usr/lib/debug/lib/modules/4.18.0-372.9.1.an8.x86_64/ 目录下查看是否有vmlinux文件,因为kernel-debuginfo有一个非常重要的功能就是提供vmlinux的内核二进制文件,这也是经常需要安装kernel-debuginfo的核心需求
在这里插入图片描述

综述

  • 熟悉rpm yum原理,以及kernel-debuginfo的依赖包情况
  • 虽然yum无法使用,使用底层分析逻辑,下载rpm包,并且找到对应文件进行安装
  • 这里最难的是找到对应rpm包,这一点可以站在设计者角度,找安装系统的路径,并且多看看,想想他们会怎么维护,应该就能找到对应的debug包
  • 吐槽:目前遇到很多系统包括Centos、Ubuntu、AnolisOS对于安装kernel-debuginfo都不友好
  • 确认kernel-debuginfo是否成功安装的一个方法:/usr/lib/debug/lib下面会根据安装的kernel-debuginfo的版本创建目录,站在这个kernel-debuinfo设计者角度看,他也需要考虑多个版本的问题,那么就是创建多个版本目录,并且放到/usr/lib/debug下面,并且是作为一个库的形式提供。
  • 尝试去理解kernel-debuginfo对于成功安装他非常重要

参考

https://mirrors.openanolis.cn/anolis/8.6/BaseOS/x86_64/debug/Packages/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/814257.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【软件设计师】计算机软考下午题试题六,Java设计模式之简单工厂模式。

【软件设计师】计算机软考下午题试题六,Java设计模式之简单工厂模式。 代码如下: //简单工厂模式 public class SimpleFactory {public static void main(String[] args) {Product ProductAFactory.createProduct("A");ProductA.info();Produc…

C++11 数据结构2 线性表的链式存储,实现,测试

线性表的链式存储 --单链表 前面我们写的线性表的顺序存储(动态数组)的案例,最大的缺点是插入和删除时需要移动大量元素,这显然需要耗费时间,能不能想办法解决呢?链表。 链表为了表示每个数据元素与其直接后继元素之间的逻辑关系…

-bash:./app:没有那个文件或目录(已解决)

目录下有文件,并且权限也是够的,都是就是是没有。 解决方法: 进入/bin,执行命令 file bash 如上图,可以发现,bash是32-bit, 进入app所在目录,执行 file app 如上图&#xff0…

Java 基于微信小程序的校园失物招领小程序,附源码

博主介绍:✌程序员徐师兄、8年大厂程序员经历。全网粉丝15w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

设计模式学习笔记 - 设计模式与范式 -行为型:16.解释器模式:如何设计实现一个自定义接口告警规则功能?

概述 上篇文章,我们学习了命令模式。本章,我们来学习解释器模式,它用来描述如何构建一个简单的 “语言” 解释器。比如命令模式,解释器模式更加小众,只在一些特定的领域内会被用到,比如编译器、规则引擎、…

数字经济专家高泽龙担任工信部元宇宙标准化委员会委员

数字经济专家高泽龙受聘担任工信部元宇宙标准化委员会委员,出席工作组成立大会暨第一次全体委员会议。 第一届元宇宙国标、团标以及标委会工作组会议顺利召开! 同时,正式成为工信部中国人工智能产业发展联盟科技伦理工作组成员!

jmeter使用之生成html测试报告

测试的最终结果是需要给出一份报告,那么在用jmeter测试时怎么生成一份报告呢,以下针对jmeter如何生成html报告进行简单介绍 一、首先把测试脚本写好二、利用命令生成html报告 命令:jmeter -n -t 【Jmx脚本位置】-l 【结果文件result.jtl存放…

区块链、web3.0、元宇宙的基本概念

目录 区块链 起源 发展现状 相关技术 智能合约 加密算法 共识算法 对等网络 web3.0 应用 DeFi 去中心化金融 NFT 非同质化代币 DAO 去中心化自治组织 底层技术 元宇宙 文章部分内容来自网络及AIGC,仅供学习 区块链 起源 区块链的起源可以追溯到21世纪初,当…

C#, 查找同一个进程显示在任务栏上的多个窗口

有的程序可以打开多个窗口并显示在任务栏上。某些情况下,我们需要找到窗口做些事情时,可以参考下面的代码。 public static class Win32Api{[DllImport("user32.dll", SetLastError true)]public static extern bool EnumWindows(EnumWindows…

HTML5媒体元素

video元素 视频元素&#xff0c;可以用来插入电影片段或其他视频流。 支持的视频格式是MP4&#xff0c;WebM&#xff0c;Ogg source元素 定义媒体的资源 src属性 规定媒体资源的URL type属性 规定媒体资源的MIME类型 <video controls><source src"../v…

桥接模式:解耦抽象与实现的设计艺术

在软件设计中&#xff0c;桥接模式是一种结构型设计模式&#xff0c;旨在将抽象部分与其实现部分分离&#xff0c;使它们可以独立地变化。这种模式通过提供更加灵活的代码结构帮助软件开发人员处理不断变化的需求&#xff0c;特别是在涉及多平台应用开发时。本文将详细介绍桥接…

kubeadm部署kubernetes1.29

一、kubernetes集群节点准备 1.1、服务器要求 两台或多台安装linux服务器&#xff0c;此处使用vmware安装虚拟服务器 硬件配置&#xff1a;2GB或更多RAM&#xff0c;2个CPU或更多CPU 需要拉取镜像&#xff0c;如果服务器不能上网&#xff0c;需要提前下载镜像并导入节点 1.2…

爬虫开发教程

一、爬虫概述 爬虫&#xff08;也称为网络爬虫或蜘蛛&#xff09;是一种自动化程序&#xff0c;能够模拟人类在互联网上浏览和抓取数据的行为。它通过发送HTTP请求&#xff0c;获取网页的HTML代码&#xff0c;然后解析这些代码以提取有用的数据。爬虫在数据分析、价格监测、竞…

sql注入之宽字节注入

1.1 宽字节注入原理 宽字节注入&#xff0c;在 SQL 进行防注入的时候&#xff0c;一般会开启 gpc&#xff0c;过滤特殊字符。 一般情况下开启 gpc 是可以防御很多字符串型的注入&#xff0c;但是如果数据库编码不 对&#xff0c;也可以导致 SQL 防注入绕过&#xff0c;达到注入…

【网站项目】农产品自主供销小程序

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

英特尔、联想等服务器曝出难以修复的漏洞

文章目录 前言一、漏洞潜伏六年,服务器供应链安全堪忧二、漏洞广泛存在但难以修复前言 近日,英特尔、联想等多个厂商销售的服务器硬件曝出一个难以修复的远程可利用漏洞。该漏洞属于供应链漏洞,源自一个被多家服务器厂商整合到产品中的开源软件包——Lighttpd。 Lighttpd是…

SpringMVC之响应

1.SpringMVC响应常用注解 注解名称注解类型位置作用RestController类注解SpringMVC控制器类上定义设置当前类为SpringMVC控制器类&#xff0c;且设置当前控制器类中所有方法的返回值为响应内容&#xff08;该注解包含ResponseBody注解&#xff09;ResponseBody方法注解SpringM…

Vue3——html-doc-ja(html导出为word的js库)

一、下载 官方地址 html-doc-js - npm npm install html-doc-js 二、使用方法 // 使用页面中引入 import exportWord from html-doc-js// 配置项以及实现下载方法 const wrap document.getElementById(test)const config {document:document, //默认当前文档的document…

初识SpringMVC(SpringMVC学习笔记一)

1 、还是熟悉的配方&#xff0c;先创建一个父Maven项目&#xff08;忘记怎么创建项目了就去前面翻笔记&#xff09;&#xff0c;导入通用的配置依赖 <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instan…

Vitis HLS 学习笔记--ap_int.h / ap_fixed.h(1)

目录 目录 1. 概述 2. 简要规则 3. 浮点运算的复杂性 2.1 对阶 3.2 尾数运算 3.3 规格化和舍入 3.4 特殊值的处理 4. 示例&#xff08;ap_fixed.h&#xff09; 5. 量化模式&#xff08;ap_fixed.h&#xff09; 5.1 AP_SAT* 模式会增加资源用量 1. 概述 ap_int.h 和…