[转帖]Linux系统下rpm命令使用详解
简介
rpm命令是RPM软件包的管理工具。rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了Linux的适用度。
rpm命令十分强大,具体使用有如下:
- 查询已安装在linux系统中的rpm软件包的信息
- 查询rpm软件包安装文件的信息
- 安装rpm软件包到当前linux系统
- 从linux系统中卸载已安装的rpm软件包
- 升级当前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
[转帖]Linux系统下rpm命令使用详解的更多相关文章
- linux系统下top命令参数详解
简介 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. top显示系统当前的进程和其他状况,是一个动态显示过程,即可以通过用户按 ...
- Linux系统下chkconfig命令使用详解
chkconfig命令可以用来检查.设置系统的各种服务 使用语法:chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代 ...
- Linux系统下RPM命令和yum的使用
Linux系统下RPM命令和yum的使用 RPM:Redhat Packages Manager (红帽系列软件包的管理),主要用于安装.卸载.升级和管理软件. 一个包由下面几个部分构成: 例如:ht ...
- [转帖]Linux系列之SAR命令使用详解
Linux系列之SAR命令使用详解 sar是System Activity Reporter(系统活动情况报告)的缩写.这个工具所需要的负载很小,也是目前linux中最为全面的性能分析工具之一.此款工 ...
- 【夯实Mysql基础】MySQL在Linux系统下配置文件及日志详解
本文地址 分享提纲: 1. 概述 2. 详解配置文件 3. 详解日志 1.概述 MySQL配置文件在Windows下叫my.ini,在MySQL的安装根目录下:在Linux下叫my.cnf,该文件位于 ...
- Linux系统下DNS主从配置详解
一.DNS概述DNS(Domain Name System),即域名系统.因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串. ...
- [r]Ubuntu Linux系统下apt-get命令详解
Ubuntu Linux系统下apt-get命令详解(via|via) 常用的APT命令参数: apt-cache search package 搜索包 apt-cache show package ...
- 如何解决Linux 系统下 ifconfig 命令无网络接口 ens33
今天我在做Redis的哨兵集群模式的时候,以前都是好的,也不知道从什么时候开始就无法连接Redis服务器了,就是运行如下命令,没有效果:redis-server redis.conf,然后在通过命令查 ...
- 在Linux系统下mail命令的用法
在Linux系统下mail命令的测试 1. 最简单的一个例子: mail -s test admin@aispider.com 这条命令的结果是发一封标题为test的空信给后面的邮箱,如果你有mta并 ...
- Linux系统下 为命令配置别名
1.什么是别名 在管理和维护Linux系统的过程中,将会使用到大量命令,有一些很长的命令或用法经常被用到,重复而频繁的输入某个很长命令或用法是不可取的.这时可以使用 别名 功能将这个过程简单化. Li ...
随机推荐
- Llama2-Chinese项目:2.2-大语言模型词表扩充
因为原生LLaMA对中文的支持很弱,一个中文汉子往往被切分成多个token,因此需要对其进行中文词表扩展.思路通常是在中文语料库上训练一个中文tokenizer模型,然后将中文tokenizer与 ...
- CANN 5.0硬核技术抢先看
摘要:2021年12月,CANN5.0版本也将与大家正式见面,通过软硬件协同优化,该版本将会实现训练性能再翻倍,凭实力展现AI领域的「中国速度」! 本文分享自华为云社区<CANN 5.0硬核技术 ...
- IOS上架流程详解,包含审核避坑指南!
准备 开发者账号 完工的项目 上架步骤 一.创建App ID 二.创建证书请求文件 (CSR文件) 三.创建发布证书 (CER) 四.创建Provisioning Profiles配置文件 (PP ...
- 火山引擎 DataTester 背后,抖音的名字原来是 AB 测试来的
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 抖音的名字是怎么来的? 在字节跳动火山引擎技术开放日上,字节跳动副总裁杨震原曾透露过"抖音"名 ...
- 备份批处理文件 bat 生成 date 取年时,只取到周
备份数据库文件时,发现MySQL备份生成的文件名为 [vipsoft_周三],发现是系统的日期格式问题.需调整日期格式,生成 [vipsoft_20220601.sql] mysqldump -uro ...
- 【GO】Go语言介绍 Go开发环境搭建 第一个helloworld 变量命名规范 变量的定义和使用
今日内容 1 Go语言介绍 #Go语言介绍 Go 即 Golang,是Google公司2009年11月正式对外公开的一门编程语言 Go是[静态 强类型]语言,是区别于解析型语言的编译型语言 静态:类型 ...
- 开源项目因支持乌克兰遭issue刷屏,网友:别用Nginx,别用元素周期表
大家好,我是DD. 昨天,两条科技界的新闻炸了,一条是关于GitHub发文封锁俄罗斯,一条是关于Oracle暂停俄罗斯所有业务.一个是全球最大的开源软件社区,一个是全球最大的数据库软件厂商.似乎巨头的 ...
- element-ui 实现行合并-亲测有效!
目标样式: 首先先来看下我们拿到的返回数据: scheduleList: [ { date: '第一天', journey: '报道', lecturer: '', }, { date: '第二天', ...
- java进阶(13)--int、String、Integer互相转换
一.转换流程图
- Vue第一篇 ES6的常用语法
01-变量的定义 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...