一、rpm包
1、过滤系统rpm包,查询已安装的包
rpm -qa | grep htop
2、rpm包导出
yumdownnloader htop-2.2.0.3
3、查看rpm包信息
rpm -qi 包名
二、rpm包列表
1、查看软件包列表
yum list available '*docker*'
2、查看软件包依赖
yum install epel-release
rpm -qR 包名
yum depolist nginxfind / -name libc.so.6rpm -qf /usr/lib64/libc.so.6
3、软件包安装和删除
yum localinstall htop.rpm
rpm -ivh htop.rpm
rpm -e mysql // 普通删除模式
rpm -e --nodeps
三、 某个命令或文件属于哪个 RPM 包
1、已安装包查看
[ root@server ~] $ rpm -qf $( which netstat )
net-tools-2.0-0.54.ky10.x86_64
2、未安装包查看
[ root@server ~] $ yum provides */netstat
上次元数据过期检查:20 days, 14 :23:11 前,执行于 2024 年12月16日 星期一 00时46分14秒。
net-tools-2.0-0.54.ky10.x86_64 : Important Programs for Networking
仓库 :@System
匹配来源:
文件名 :/usr/bin/netstatnet-tools-2.0-0.54.ky10.x86_64 : Important Programs for Networking
仓库 :ks10-adv-os
匹配来源:
文件名 :/usr/bin/netstat
四、rpm包制作
1、有网环境下下载所有依赖到指定目录
yumdownloader --resolve --destdir = /data/yum/ nginx
五、缺少依赖解决方法
1、查看某个可执行文件所依赖的库及其路径。
[ root@localhost bin] linux-vdso.so.1 ( 0x00007ffdf7572000) libtinfo.so.6 = > /usr/lib64/libtinfo.so.6 ( 0x00007f373527b000) libdl.so.2 = > /usr/lib64/libdl.so.2 ( 0x00007f3735276000) libc.so.6 = > /usr/lib64/libc.so.6 ( 0x00007f37350be000) /lib64/ld-linux-x86-64.so.2 ( 0x00007f37353f1000)
2、创建符号链接解决依赖
ln -sf libc-2.27.so libc.so.6
3、查看版本
Error: Dynamic Linking Error: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.27' not found
$ strings libc-2.23.so | grep GLIBC
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_2.13
5、第二种方式:手动安装glbic(不建议)
tar -xf glibc-source.tar.gz
cd glibc-source
mkdir build
cd build
.. /configure --prefix = /path/to/install/dir
make
make install
在运行程序时,确保使用正确的库路径。
LD_LIBRARY_PATH = /path/to/install/dir/lib /path/to/your/program