RPM

本文深入解析了RPM包管理系统的使用,涵盖了软件包分类、常用命令详解、包依赖性和查询方法等内容,旨在帮助读者掌握RPM包的安装、删除、升级、查询和校验等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 软件包分类

1.1 源码包

  • 脚本安装包

1.2 二进制包(RPM包 )

  • 包命名规则
    • 包名-版本-发布次数-适合Linux版本-适合硬件平台.rpm
    • httpd-2.2.15-15.el7.centos.i686.rpm
  • 包依赖性
    • 树形依赖:a --> b --> c
    • 环形依赖:a --> b --> c --> a
    • 模块依赖:http://www.rpmfind.net/(模块依赖查询网站)
  • 包全名和包名
    • 操作的包是未安装包时使用包全名,注意路径
    • 操作的包是已安装包时使用包名,从/var/lib/rpm数据库搜索
  • 命令管理
  • Yum管理(在线管理)

3. 解压RPM包

RPM包括是使用cpio格式打包的,因此可以先转成cpio然后解压,如下所示:

  • 解压整个RPM:rpm2cpio xxx.rpm | cpio -div
  • 提取指定文件:rpm2cpio xxx.rpm | cpio -div . 文件全路径名

4. 常用的RPM软件包命令

说明命令
安装rpm -ivh filename.rpm
升级rpm -Uvh filename.rpm
卸载rpm -e filename.rpm
查询所有已安装软件包rpm -qa
查询软件包是否被安装rpm -q < rpm package name >
rpm -qa | grep < rpm package name >
查询已安装软件包描述信息rpm -qi < rpm package name >
查询未安装软件包描述信息rpm -qpi filename.rpm
查询已安装软件包文件列表信息rpm -ql < rpm package name >
查询未安装软件包文件列表信息rpm -qpl filename.rpm
查询文件属于哪个软件包rpm -qf filename
查询已安装包软件依赖性rpm -qR < rpm package name >
查询未安装包软件依赖性rpm -qpR filename
查询已安装软件包校验rpm -V < rpm package name >
查询软件包安装脚本rpm -qp --scripts filename.rpm

5. 命令详解

5.1 安装

命令格式:

rpm -i ( or --install) options file1.rpm … fileN.rpm

参数:

file1.rpm … fileN.rpm 将要安装的RPM包的文件名

详细选项:

-h (or --hash) 安装时输出hash记号 (``#’’)
–test 只对安装进行测试,并不实际安装。
–percent 以百分比的形式输出安装的进度。
–excludedocs 不安装软件包中的文档文件
–includedocs 安装文档
–replacepkgs 强制重新安装已经安装的软件包
–replacefiles 替换属于其它软件包的文件
–force 忽略软件包及文件的冲突
–noscripts 不运行预安装和后安装脚本
–prefix 将软件包安装到由 指定的路径下
–ignorearch 不校验软件包的结构
–ignoreos 不检查软件包运行的操作系统
–nodeps 不检查依赖性关系
–ftpproxy 用 作为 FTP代理
–ftpport 指定FTP的端口号为

通用选项

-v 显示附加信息
-vv 显示调试信息
–root 让RPM将指定的路径做为"根目录",这样预安装程序和后安
装程序都会安装到这个目录下
–rcfile 设置rpmrc文件为
–dbpath 设置RPM 资料库存所在的路径为

5.2 删除

命令格式:

rpm -e ( or --erase) options pkg1 … pkgN

参数

pkg1 … pkgN :要删除的软件包

详细选项

–test 只执行删除的测试
–noscripts 不运行预安装和后安装脚本程序
–nodeps 不检查依赖性

通用选项

-vv 显示调试信息
–root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装
程序都会安装到这个目录下
–rcfile 设置rpmrc文件为
–dbpath 设置RPM 资料库存所在的路径为

5.3 升级

命令格式

rpm -U ( or --upgrade) options file1.rpm … fileN.rpm

参数

file1.rpm … fileN.rpm 软件包的名字

详细选项

-h (or --hash) 安装时输出hash记号 (``#’’)
–oldpackage 允许"升级"到一个老版本
–test 只进行升级测试
–excludedocs 不安装软件包中的文档文件
–includedocs 安装文档
–replacepkgs 强制重新安装已经安装的软件包
–replacefiles 替换属于其它软件包的文件
–force 忽略软件包及文件的冲突
–percent 以百分比的形式输出安装的进度。
–noscripts 不运行预安装和后安装脚本
–prefix 将软件包安装到由 指定的路径下
–ignorearch 不校验软件包的结构
–ignoreos 不检查软件包运行的操作系统
–nodeps 不检查依赖性关系
–ftpproxy 用 作为 FTP代理
–ftpport 指定FTP的端口号为

通用选项

-v 显示附加信息
-vv 显示调试信息
–root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
–rcfile 设置rpmrc文件为
–dbpath 设置RPM 资料库存所在的路径为

5.4 查询

命令格式:

rpm -q ( or --query) options

参数:

pkg1 … pkgN :查询已安装的软件包

详细选项

-p (or ``-’’) 查询软件包的文件
-f 查询属于哪个软件包
-a 查询所有安装的软件包
–whatprovides 查询提供了 功能的软件包
-g 查询属于 组的软件包
–whatrequires 查询所有需要 功能的软件包

信息选项

显示软件包的全部标识
-i 显示软件包的概要信息
-l 显示软件包中的文件列表
-c 显示配置文件列表
-d 显示文档文件列表
-s 显示软件包中文件列表并显示每个文件的状态
–scripts 显示安装、卸载、校验脚本
–queryformat (or --qf) 以用户指定的方式显示查询信息
–dump 显示每个文件的所有已校验信息
–provides 显示软件包提供的功能
–requires (or -R) 显示软件包所需的功能

通用选项

-v 显示附加信息
-vv 显示调试信息
–root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
–rcfile 设置rpmrc文件为
–dbpath 设置RPM 资料库存所在的路径为

5.5 校验已安装的软件包

命令格式:

rpm -V ( or --verify, or -y) options

参数

pkg1 … pkgN 将要校验的软件包名

软件包选项

-p Verify against package file
-f 校验所属的软件包
-a Verify 校验所有的软件包
-g 校验所有属于组 的软件包

详细选项

–noscripts 不运行校验脚本
–nodeps 不校验依赖性
–nofiles 不校验文件属性

通用选项

-v 显示附加信息
-vv 显示调试信息
–root 让RPM将指定的路径做为"根目录",这样预安装程序和后安装程序都会安装到这个目录下
–rcfile 设置rpmrc文件为
–dbpath 设置RPM 资料库存所在的路径为

5.6 校验软件包中的文件

语法:

rpm -K ( or --checksig) options file1.rpm … fileN.rpm

参数:

file1.rpm … fileN.rpm 软件包的文件名

Checksig–详细选项

–nopgp 不校验PGP签名

通用选项

-v 显示附加信息
-vv 显示调试信息
–rcfile 设置rpmrc文件为

5.7 其它RPM选项

–rebuilddb 重建RPM资料库
–initdb 创建一个新的RPM资料库
–quiet 尽可能的减少输出
–help 显示帮助文件
–version 显示RPM的当前版本

如果想查看rpm包里面的内容使用命令:
rpm -qpl xxxx.rpm

如果想查看rpm包里面的内容导出,而不是安装,使用命令:
rpm2cpio xxx.rpm | cpio -idv

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值