RPM Package Manager (RPM) 是一个强大的命令行驱动的软件包管理工具,用来安装、卸载、校验、查询和更新 Linux 系统上的软件包。
rpm命令
rpm包分为软件包和源码包 源码包以.src.rpm
后缀
常用命令
命令大全参考https://www.cnblogs.com/Daniel-G/archive/2012/11/28/2792630.html
# 1、查看所有rpm包
rpm -qa | grep xxx
# 2、查看文件属于哪个rpm包(遍历所有包看哪个包有这个文件)
rpm -qf /path/filename
# 查看rpm包中的所有文件
# 1、已安装的软件包:
rpm -ql $packet_name
# 2、未安装的软件包:
rpm -qlp $rpm_filename.rpm # -p可以省略
# 查看rpm包所依赖的包
rpm -qR $packet_name
rpm -qRp $rpm_filename.rpm
# 统计安装的包数量
rpm -qa | wc -l
# 查看包信息
rpm -qi $packet_name
rpm -qip $rpm_filename.rpm
# 卸载rpm包
rpm -e $packet_name
# 安装rpm包
rpm -ivh $rpm_filename.rpm
# 源码包操作
rpm --recompile $rpm_filename.rpm # 把源码包解包并编译安装
rpm --rebuild $rpm_filename.rpm # 在安装完成后把编译后的可执行文件重新打包(亲测用不了,可能是版本问题?)
命令选项
-q 查询
-l list 列出包中文件列表和软件所安装的目录
-i info 查看信息
-f file 查看哪个包中有这个文件
-p package 查询没安装的软件包信息(好像一般可以省略)
-R requires 查询rpm包的依赖
-s state 状态包括正常,未安装,替换
–scripts 查看安装脚本
-c 查询配置文件
-d 查询安装位置
-ivh install–verbose–hash 安装并显示进度
–test 结合-ivh --test 检查依赖,不是真正的安装
–relocate /=/opt 指定安装的根目录
–replacepkg 无论是否已安装,强行安装
–nodeps 忽略依赖,强行安装
–force 忽略软件包和文件冲突强行安装
-e erase 卸载
-Uvh 升级
–oldpackage 结合-Uvh --oldpackage 新版本降级为旧版本
rpmrebuild
# 抽取包文件为cpio格式(类似解压)
rpm2cpio $rpm_filename.rpm | cpio -div
# 提取rpm包的spec文件
rpm -e -p $rpm_filename.rpm
备份已安装的rpm包
文件变动会有两个选项:1、文件已改动,是否继续 2、是否指定一个新的版本号
-bb batch跳过选项
-ba additional是自增版本号
-e 打开spec编辑(vim)
-e -p package 一般用来提取rpm包的spec文件