简介

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]
  • 1
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

文章知识点与官方知识档案匹配,可进一步学习相关知识
CS入门技能树Linux进阶新增用户30494 人正在系统学习中

[转帖]Linux系统下rpm命令使用详解的更多相关文章

  1. linux系统下top命令参数详解

    简介 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. top显示系统当前的进程和其他状况,是一个动态显示过程,即可以通过用户按 ...

  2. Linux系统下chkconfig命令使用详解

    chkconfig命令可以用来检查.设置系统的各种服务 使用语法:chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代 ...

  3. Linux系统下RPM命令和yum的使用

    Linux系统下RPM命令和yum的使用 RPM:Redhat Packages Manager (红帽系列软件包的管理),主要用于安装.卸载.升级和管理软件. 一个包由下面几个部分构成: 例如:ht ...

  4. [转帖]Linux系列之SAR命令使用详解

    Linux系列之SAR命令使用详解 sar是System Activity Reporter(系统活动情况报告)的缩写.这个工具所需要的负载很小,也是目前linux中最为全面的性能分析工具之一.此款工 ...

  5. 【夯实Mysql基础】MySQL在Linux系统下配置文件及日志详解

    本文地址 分享提纲: 1. 概述 2. 详解配置文件 3. 详解日志 1.概述 MySQL配置文件在Windows下叫my.ini,在MySQL的安装根目录下:在Linux下叫my.cnf,该文件位于 ...

  6. Linux系统下DNS主从配置详解

    一.DNS概述DNS(Domain Name System),即域名系统.因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串. ...

  7. [r]Ubuntu Linux系统下apt-get命令详解

    Ubuntu Linux系统下apt-get命令详解(via|via) 常用的APT命令参数: apt-cache search package 搜索包 apt-cache show package ...

  8. 如何解决Linux 系统下 ifconfig 命令无网络接口 ens33

    今天我在做Redis的哨兵集群模式的时候,以前都是好的,也不知道从什么时候开始就无法连接Redis服务器了,就是运行如下命令,没有效果:redis-server redis.conf,然后在通过命令查 ...

  9. 在Linux系统下mail命令的用法

    在Linux系统下mail命令的测试 1. 最简单的一个例子: mail -s test admin@aispider.com 这条命令的结果是发一封标题为test的空信给后面的邮箱,如果你有mta并 ...

  10. Linux系统下 为命令配置别名

    1.什么是别名 在管理和维护Linux系统的过程中,将会使用到大量命令,有一些很长的命令或用法经常被用到,重复而频繁的输入某个很长命令或用法是不可取的.这时可以使用 别名 功能将这个过程简单化. Li ...

随机推荐

  1. 在线编辑Word——插入内容控件

    内容控件是可添加和自定义的以在模板.窗体和文档中使用的单个控件.Word中支持添加多种类型的控件用于不同文档的设计需求.本文,将通过在线编辑的方式展示如何在Word中插入内容控件,这里使用的在线编辑器 ...

  2. 关于GO语言,这篇文章讲的很明白

    摘要:本文从Go的语法,类型系统,编码风格,语言工具,编码工具和使用案例等几方面对Go语言进行了学习和探讨. Go语言发布之后,很多公司特别是云厂商也开始用Go语言重构产品的基础架构,而且很多企业都是 ...

  3. 厚积薄发!华为云7篇论文被AAAI收录,2021年AI行业技术风向标看这里!

    摘要:近期,全球人工智能领域的顶级学术会议AAAI 2021将于2月2日-9日在线上召开,华为云的7篇AI科研成果被收录. 全球人工智能领域的顶级学术会议AAAI 2021将于2月2日-9日在线上召开 ...

  4. 云小课|教你如何使用RDS for PostgreSQL插件

    摘要:本文介绍RDS for PostgreSQL支持的插件及不同插件的创建.删除或使用方法. 本文分享自华为云社区<[云小课][第42课]RDS for PostgreSQL插件介绍>, ...

  5. 详解4种微服务框架接入Istio方案

    摘要:使用k8s和lstio网格进行开发,将服务发现.服务治理留给基础设施,可以将开发人员从复杂的服务中解脱出来,专注于业务开发,是当前来说比较好的解决方案. 本文分享自华为云社区<传统微服务框 ...

  6. Solon2 之基础:三、启动参数说明

    启动参数,在应用启动后会被静态化(为了内部更高效的利用).比如,想通过体外扩展加载配置,是不能改掉它们的. 1.启动参数 启动参数 对应的应用配置 描述 --env solon.env 环境(可用于内 ...

  7. Ansible--批量创建lvm

    --- - hosts: all tasks: - block: - name: 创建1000M的逻辑卷lv1 lvol: vg: vg0 lv: lv1 size: 1000 - name: 逻辑卷 ...

  8. Markdown 语法:高级技巧

    Markdown 高级技巧 支持的 HTML 元素 不在 Markdown 涵盖范围之内的标签,多可以直接在文档里面用 HTML 撰写. 目前支持的 HTML 标签有 <kbd>,< ...

  9. #627 DIV3 题解

    A. 每组给一个和个数(),每次操作可以给一个加2,求是否能使n个数相等 4 3 1 1 3 4 1 1 2 1 2 11 11 1 100 YES NO YES YES 直接扫一遍,记录最大值与当前 ...

  10. POJ2431 优先队列+贪心

    题目大意: 见<挑战程序设计竞赛>P74. 我的理解: 优先队列+贪心 注意把输入的距离(加油站到终点)改为起点到加油站. 因为求得是最优解,需要尽可能少的加油站,所以我们每次希望去加油的 ...