当前位置: 首页 > article >正文

编译内核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.kler.cn/news/337669.html

相关文章:

  • 使用Three.js库创建的简单WebGL应用程序,主要用于展示具有不同透明度和缩放比例的圆环列
  • 香橙派如何连接网络,及wiringOP库
  • 如何利用免费工具轻松设计出专业Logo?
  • Python数据分析工具:Statsmodels的用法示例
  • (九)Shell 脚本(四):正则表达式、sed 和 awk 详解
  • 极显然:百年极限论是模糊不清的理论
  • 使用Spring Security实现用户-权限-资源的精细化控制
  • 个人如何申请书号?
  • 第38讲:Ceph分布式存储集群部署
  • Linux 文件管理
  • 大数据新视界 --大数据大厂之 Kafka 性能优化的进阶之道:应对海量数据的高效传输
  • HTTPS介绍 --- 超详细保姆级知识讲解
  • 每日新闻掌握【2024年9月21日 星期六】
  • MyBatis 操作数据库入门
  • 鸿蒙--知乎评论
  • imx6q 的 header.s的理解
  • Redis list 类型
  • 【JVM调优】JVM高频参数和最优实践
  • 超好用的数据库连接工具-DBeaver连接ClickHouse后找不到系统表?
  • agent实现:通过prompt方式实现agent自定义使用