rpm包管理工具(常用命令)
RPM Package Manager (RPM) 是一个强大的命令行驱动的软件包管理工具,用来安装、卸载、校验、查询和更新 Linux 系统上的软件包。
rpm命令rpm包分为软件包和源码包 源码包以.src.rpm后缀
常用命令
命令大全参考https://.blogs./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 | c -l # 查看包信息 rpm -qi $packet_name rpm -qip $rpm_filename.rpm
# 卸载rpm包 rpm -e $packet_name # 安装rpm包 rpm -ivh $rpm_filename.rpm
# 源码包操作 rpm --repile $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文件