编译内核lspcu 工具源码 util-linux

1. 获取源码

wget https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.34/util-linux-2.34.tar.xz

2. 解压

tar xvf util-linux-2.34.tar.gz

cd util-linux-2.34

本次实验环境:使用云主机

1.查看Lscpu , dmesg ,lsblk 等版本

我们看到这些指令都是基于Util-linux 2.23.2版本,如何查看这写信息获取方法,如何自己编译这些Tool?

不仅仅是以上几个命令util-linux是Kernel 基本的工具 ,不同版本会增添一些命令。接下来我们会自己编译自己的Tool,一方面Tool和不同Cpu的适配存在问题需要Debug ,一方面有助于我们学习LinuxKernel。

基本介绍:

在 util-linux 工具集中,有一些常用的命令经常被 Linux 系统管理员和用户使用。以下是一些 util-linux 工具中常见的命令及其功能:

1. **fdisk**:用于分区磁盘的命令,常见的操作包括创建、删除、调整磁盘分区。例如:`fdisk /dev/sda`。

2. **mount** 和 **umount**:用于挂载和卸载文件系统的命令。例如:`mount /dev/sdb1 /mnt` 和

`umount /mnt`。

3. **blkid**:用于查看块设备的文件系统类型和属性的命令。例如:`blkid /dev/sda1`。

4. **kill**:用于终止进程的命令,可以通过进程 ID 或名称终止指定的进程。例如:`kill -9 PID`。

5. **more** 和 **less**:用于分页查看文本文件内容的命令。例如:`more file.txt` 和 `less file.txt`。

6. **su** 和 **sudo**:用于切换用户身份或以超级用户权限执行命令的命令。例如:`su username` 和

`sudo command`。

7. **dmesg**:用于查看系统日志的命令,显示内核环缓冲区的内容,用于诊断系统问题。例如:

`dmesg | grep error`。

8. **hwclock**:用于设置和显示系统硬件时钟的命令。例如:`hwclock --show`。

9. **losetup**:用于管理循环设备的命令,允许将文件作为块设备挂载到文件系统中。例如:

`losetup -f file.img`。

10. **rename**:用于批量重命名文件的命令。例如:`rename 's/old/new/' *.txt`。

11.lscpu:该命令用于显示有关 CPU 架构的信息,包括处理器架构、CPU 核心数量、线程数、字节顺序等。运行 lscpu 命令可以查看系统的 CPU 相关信息。

编译方法及报错解决方法

1.执行autogen.sh生成configure

2. 安装依赖包 yum install gettext-devel  // 包含 autopoint

Apt-get install   autopoint 

 Apt-get install    bison 

需要以下依赖包

 需要安装autopoint aclocal autoconf   auto header  auto make libtooliaze 等tool

3.报错line 126: po/update-potfiles: Permission denied

权限报错:直接Chmod 777  -R *,运行成功后生成Configure

4运行 ./configure 出现错误

如果提示configure: error: liblastlog2 selected, but required sqlite3 library not available,禁用liblastlog2

 sudo ./configure --disable-liblastlog2

5. Configure 成功后使用Make Make -j64 使用多核加快编译

报错

在Makefiles找到 CFLAGS  原始没有添加-std=c99  4862行

 CFLAGS = -g -O2 -std=c99

:4862 跳转到 4862行 修改即可

6.make install  //安装到本地  如果不替换本地tool 不需要make install 

Tool 目录下生成各个Tool的原始文件

这个Tool 可以通过./方式运行  例如 ./lscu   ./lsblk 

替换系统下原始的Toll  ,Make install 后: 将自己编译的Tool 替换掉系统下原始的,直接使用lscpu 就是使用刚编译的Tool

整个Tool源码都可以自己适配,编译后可以作为自己的linux Tool,可以自己修改Tool 定制自己的Tool版本 

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

JSP 指令标识和脚本标识的使用

文章目录 前言一、JSP 页面是什么?二、JSP 基本语法 1.指令标识 (1)page 指令(2)include 指令(3)taglib 指令2.脚本标识总结 前言 在进行Java Web 应用开发的过程中,JSP 是必不可少的…

全流程管理的商标管理软件如何实现一站式品牌保护?

如今,企业对于商标管理的需求已不再局限于单一的申请流程,而是扩展到了包括撤三、无效宣告、异议处理、维权行动乃至诉讼解决在内的全业务范畴。面对这一复杂多变的挑战,一款能够灵活应对、全面覆盖的可全业务管理商标管理软件成为了企业品牌…

湖北智彩星科技有限公司:AR共享游乐设备,让快乐加倍升级!

在科技日新月异的今天,娱乐方式正经历着前所未有的变革。湖北智彩星科技有限公司,作为行业内的佼佼者,凭借其创新的AR(增强现实)共享游乐设备,为大众带来了一场前所未有的娱乐盛宴,让快乐体验实…

在项目管理中,项目进度由哪些要素决定?

在项目管理领域,项目进度受到多种要素的综合影响。以下是一些关键的决定要素: 一、项目范围 1、任务清单 明确的任务清单是项目进度的基础。详细列出项目中需要完成的各项任务,包括任务的先后顺序、并行任务等,直接关系到进度规划…

中国土地利用覆盖和变化数据集(1980-2021)

该数据集通过融合森林资源清查数据和20种遥感土地利用产品,重建生成了1980-2015年中国森林覆盖数据集,空间分辨率为11公里。并且在此基础上进一步获得高精度森林覆被信息和土地利用覆盖数据集相融合,生成了中国1980-2021年土地利用覆盖和变化…

Vue3 + Vite Web项目 Electron 打包桌面应用程序

在根目录下创建 electron 文件夹 创建 electron/main.js 文件: // 导入模块 const { app, BrowserWindow ,Menu } require(electron) const path require(path)// 创建主窗口 const createWindow () > {const mainWindow new BrowserWindow({width: 1440…

RHEL7(RedHat红帽)软件安装教程

目录 1、下载RHEL7镜像 2、安装RedHat7 注:如果以下教程不想看,可以远程控制安装V:OYH-Cx330 【风险告知】 本人及本篇博文不为任何人及任何行为的任何风险承担责任,图解仅供参考,请悉知!本次安装图解是在一个全新的演…

【网络安全】TCP和UDP

一、TCP/UDP对比 1.共同点: 都是工作在TCP/IP体系结构的传输层的协议 工作主要都是把端口号往原始数据封装 在 TCP 协议中,原始数据指的是应用程序产生的需要通过网络进行传输的数据。这些数据可以是各种类型的信息,例如文本、图像、音频、…

【项目】多设计模式下的同步异步日志系统

文章目录 项目介绍开发环境核心技术日志系统介绍为什么需要日志系统日志系统技术实现同步写日志异步写日志 相关技术知识补充不定参函数不定参宏函数的使用C中不定参函数的使用C中不定参函数的使用 设计模式单例模式工厂模式建造者模式代理模式 日志系统框架设计模块划分日志等…

高校大数据实训管理平台怎么选择?

泰迪智能科技大数据实训管理平台分为多个方向包括:人工智能方向、大数据方向、商务数据分析方向,不同高校可以结合高校情况选择合适自己院校的相关产品平台。 高校实训管理平台是实验室模块的核心母平台,对实验室的所有课程及实训资源进行统…

【Linux】手把手教你制作一个简易shell——(进程创建fork进程替换wait与进程等待exec的应用)(自定义shell程序设计)

前言 大家好吖,欢迎来到 YY 滴Linux系列 ,热烈欢迎! 本章主要内容面向接触过C Linux的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! YY的《C》专栏YY的《C11》专栏YY的…

HTTP协议:发展、请求响应、状态码 等

文章目录 HTTP发展历程HTTP请求URL和URIHTTP协议版本HTTP请求方法GET 和 POST 区别HTTP状态码HTTP 请求与响应报文HTTP 请求流程 HTTP 超文本传输协议(Hypertext Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在…

快速数据检索最佳闪存驱动器恢复下载

当你意识到你的闪存盘丢失了重要文件时,你是否曾有过心脏停跳的时刻?丢失数据可能会毁掉你的一天,并带来很大的压力,无论是重要的工作文件,你喜欢的照片,还是备份你需要保持。好消息是,在闪存驱…

Leetcode 合并区间

我们借助一个辅助链表(元素类型是一维数组)来进行结果统计。 这个算法解决了“合并区间”的问题,具体要求是给定一组区间(每个区间有开始和结束位置),如果两个区间有重叠,那么需要将它们合并成一个区间,并…

Cisco Packet Tracer超详细下载安装教程(附中文版插件)

一、安装包下载: 链接:https://pan.baidu.com/s/1RK8iQ9lJG__vBEGCYVYNSA 提取码:1lvb 压缩包解压密码:66668888,不能正常解压的,推荐使用360压缩解压 二、安装教程: 1.双击启动安装包 2.点击N…

使用功率谱密度 (PSD) 表征噪声

传递函数塑造噪声 图 1 显示了假设噪声源的频谱,该噪声源在所有频率下均表现出相同的平均功率,即 ,其中 η 是常数。 假设噪声源的频谱。 图 1. 假设噪声源的频谱。 如果我们将此噪声应用于 LTI 系统,系统的传递函数将决定不同…

基于丹摩智算平台-手把手拿下经典目标检测模型 Faster-Rcnn

文章目录 1. 前言1. 1 丹摩智算平台1.2 经典目标检测模型 Faster-Rcnn 2. 前置准备2.1 WindTerm(远程连接服务器)2.2 项目源码 3. 服务器平台配置3.1 创建实例3.2 远程链接 4. Faster-rcnn 的环境配置4.1 上传文件,解压4.2 安装所需环境 5. 数…

springboot框架VUE3学院网站系统开发mysql数据库设计java编程计算机网页源码maven项目

博主介绍:专注于Java vue .net php phython 小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟 我的博客空间发布了1000毕设题目 方便大家学习使用 感兴趣的…

专业软件测试服务机构介绍:软件确认测试的类型和方法

随着现代科技的迅猛发展,软件开发逐渐成为各类企业发展的核心。然而,软件的质量直接关系到企业的运营效率和用户体验。因此,软件确认测试作为确保软件质量的重要环节,正受到越来越多的关注。 软件确认测试是指在软件开发周期的最…

tensorboard展示不同运行的曲线结果

运行tensorboard曲线如下: tensorboard --logdir .有时候,曲线图会展示多条曲线,以至于我们想分辨哪条线来自哪次训练都做不到了。如下图是设置smoothing-0.6的结果: smoothing可以在页面找到设置按钮,呼出设置侧边…