简介

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. java常用正则表达式工具

    public class RegexUtils { /** * 是否是无效手机格式 * @param phone 要校验的手机号 * @return true:符合,false:不符合 */ publ ...

  2. 技术架构+应用场景揭秘,为什么高斯Redis比开源香?

    摘要:高斯Redis即保留了开源Redis的能力,同时凭借其存算分离的架构,在成本.稳定性.可靠性.一致性等方面做出了新的突破,也更加适用于当下数据规模庞大的互联网业务. 本文分享自华为云社区< ...

  3. 通过windows自带管理工具、系统命令行、快捷键等快速操作

    windows自带管理工具 我们win+R 输入一些命令,可以快速打开一些界面,比如: sysdm.cpl win10.win11 我电脑,属性与之前win7不同了,我希望打开之前的属性打不开了 通过 ...

  4. SyntaxError: Non-ASCII character #-*- coding:utf-8 -*-

    执行python报错 /usr/bin/python2.7 /root/demo.py File "/root/demo.py", line 2 SyntaxError: Non- ...

  5. appuploader不是开发者账号

    Appuploader是一款可以帮助开发者上传iOS应用到Apple App Store的工具.很多开发者都知道,在上传应用到App Store之前,需要创建开发者账号并获得苹果官方的认证才能进行上传 ...

  6. 挖掘优质短视频超百万条,火山引擎DataLeap助力电商平台生态治理

     更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群   在人们的日常生活中,网购已经成为人们生活中不可或缺的购物形式.   根据<中国社交电商行业发展白皮书( ...

  7. 火山引擎 DataLeap 下 Notebook 系列文章二:技术路线解析

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 在 Jupyter 的生态下,除了 Notebook 本身,火山引擎 DataLeap 研发团队还注意到了很多其他 ...

  8. Solon Aop 特色开发(2)注入或手动获取Bean

    Solon,更小.更快.更自由!本系列专门介绍Solon Aop方面的特色: <Solon Aop 特色开发(1)注入或手动获取配置> <Solon Aop 特色开发(2)注入或手动 ...

  9. Solon 开发进阶,二、体外扩展机制

    Solon 开发进阶 一.插件扩展机制 二.体外扩展机制 三.常用配置说明 四.启动参数说明 五.全局异常订阅 Solon 的一个特色:体外扩展机制,用于解决 fatjar 模式部署时的扩展需求.比如 ...

  10. html jquery from 表单提交 application/x-www-form-urlencoded 改成 json

    html jquery from 表单提交 $(form).ajaxSubmit  application/x-www-form-urlencoded  改成 json 要使用 jQuery 根据 n ...