Linux系统下rpm命令使用详解

简介

rpm命令是RPM软件包的管理工具。rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了Linux的适用度。
rpm命令十分强大,具体使用有如下:

  1. 查询已安装在linux系统中的rpm软件包的信息
  2. 查询rpm软件包安装文件的信息
  3. 安装rpm软件包到当前linux系统
  4. 从linux系统中卸载已安装的rpm软件包
  5. 升级当前linux系统的rpm软件包

查询/验证软件包选项:

参数说明
-a, --all查询/验证所有软件包
-f, --file查询/验证文件属于的软件包
-g, --group查询/验证组中的软件包
-p, --package查询/验证一个软件包
–whatrequires查询/验证软件包需要的依赖

查询选项:

参数说明
-c, --configfiles列出所有配置文件
-d, --docfiles列出所有程序文档
-L, --licensefiles列出所有许可证文件
–dump转储基本文件信息
-l, --list列出软件包中的文件
–queryformat=QUERYFORMAT使用这种格式打印信息
-s, --state显示列出文件的状态

验证选项:

参数说明
–nofiledigest不验证文件摘要
–nofiles不验证软件包中文件
–nodeps不验证包依赖
–noscript不执行验证脚本

安装/升级/擦除选项:

参数说明
–allfiles安装全部文件,包含配置文件,否则配置文件会被跳过
-e, --erase=+清除 (卸载) 软件包
–excludedocs不安装程序文档
–excludepath= 略过以 开头的文件
–force–replacepkgs --replacefiles 的缩写
-F, --freshen=+如果软件包已经安装,升级软件包
-i, --install安装软件包
–justdb更新数据库,但不修改文件系统
–nodeps不验证软件包依赖
–nofiledigest不验证文件摘要
–nocontexts不安装文件的安全上下文
–noorder不对软件包安装重新排序以满足依赖关系
–noscripts不执行软件包脚本
–notriggers不执行本软件包触发的任何脚本
–oldpackage更新到软件包的旧版本(带 --force自动完成这一功能)
–percent安装软件包时打印百分比
–prefix= 如果可重定位,便把软件包重定位到
–relocate==将文件从 重定位到
–replacefiles忽略软件包之间的冲突的文件
–replacepkgs如果软件包已经有了,重新安装软件包
–test不真正安装,只是判断下是否能安装
-U, --upgrade=+升级软件包
–reinstall=+重新安装软件包
–quiet提供更少的详细信息输出
-v, --verbose提供更多的详细信息输出
–version打印使用的 rpm 版本号
–scripts列出安装/删除包中的脚本内容
–conflicts列出与此包冲突的功能
–provides列出此包提供的功能
–requires列出程序包所需的功能
–changelog列出此包的更改日志

包管理的查询功能: 命令格式

[root@localhost /]# rpm {-q|--query} [select-options] [query-options]
RPM的查询功能是极为强大,是极为重要的功能之一;举几个常用的例子,更为详细的具体的,请参考#man rpm 
#查询系统所有已安装的软件;
[root@localhost /]# rpm -qa
#如果分页查看,再加一个管道 |和more命令;
[root@localhost /]# rpm -qa |more
#查询系统是否安装Xorg包 
[root@localhost /]# rpm -qa |grep Xorg
#查询一个已经安装的文件属于哪个软件包;
语法 rpm -qf 文件名
[root@localhost /]# rpm -qf /usr/bin/alsa-info
alsa-utils-1.0.28-2.nd7.1.x86_64
注:文件名所在的绝对路径要指出 
#查询已安装软件包都安装到何处;
语法:rpm -ql 软件名 或 rpm rpmquery -ql 软件名
[root@localhost /]# rpm -ql Xorg
#查询一个已安装软件包的信息
语法格式: rpm -qi 软件名
[root@localhost /]# rpm -qi Xorg
#查看一下已安装软件的配置文件;
语法格式:rpm -qc 软件名
[root@localhost RPMS]# rpm -qc Xorg
#查看一个已经安装软件的文档安装位置:
语法格式: rpm -qd 软件名
[root@localhost /]# rpm -qd Xorg
#查看一下已安装软件所依赖的软件包及文件; 
语法格式: rpm -qR 软件名
[root@localhost /]# rpm -qR rpm-python
[root@localhost /]# rpm -qpl alsa-utils-1.0.28-2.nd7.1.x86_64.rpm
#查看软件包的文档所在的位置;
语法: rpm -qpd xxx.rpm
[root@localhost RPMS]# rpm -qpd alsa-utils-1.0.28-2.nd7.1.x86_64.rpm
#查看一个软件包的配置文件;
语法: rpm -qpc xxx.rpm
[root@localhost RPMS]# rpm -qpc alsa-utils-1.0.28-2.nd7.1.x86_64.rpm
#查看一个软件包的依赖关系
语法: rpm -qpR alsa-utils-1.0.28-2.nd7.1.x86_64.rpm
[root@localhost archives]# rpm -qpR alsa-utils-1.0.28-2.nd7.1.x86_64.rpm
#软件包的安装、升级、删除等;
#安装和升级一个rpm 包;
[root@localhost /]#rpm -ivh xxx.rpm 注:这个是用来安装一个新的rpm 包; [root@localhost /]#rpm -Uvh xxx.rpm 注:这是用来升级一个rpm 包;
#如果有依赖关系的,请解决依赖关系,其实软件包管理器能很好的解决依赖关系,请看前面的软件包管理器的介绍;如果您在软件包管理器中也找不到依赖关系的包;那只能通过编译他所依赖的包来解决依赖关系,或者强制安装;
语法结构:
[root@localhost /]# rpm -ivh xxx.rpm --nodeps --force 
#删除一个rpm 包;
[root@localhost RPMS]# rpm -e alsa-utils
#导入签名: [root@localhost RPMS]# rpm --import 签名文件
[root@localhost fc40]# rpm --import RPM-GPG-KEY-x86_64
关于RPM的签名功能,详情请参见 man rpm 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值