RPM软件包是按照GPL条款发行在各个linux版本上使用。

用途
  • 可以安装、删除、升级、刷新和管理RPM软件包
  • 通过RPM软件包管理能知道软件包包含哪些文件,也能知道系统中的某个文件属于哪个RPM软件包
  • 可以查询系统中的RMP软件包是否安装并查询其安装的版本
  • 开发者可以把自己的查询打包为RPM 软件包并发布
  • 可以实现软件包签名GPG和MD5的导入、验证和签名发布。
  • 依赖性的检查,查看是否有RPM软件包由于不兼容而扰乱系统
管理
  • 安装(添加)
  • 删除(卸载)
  • 刷新
  • 升级
  • 查询 命令语法:rpm [选项] [RPM软件包文件名称]
选项 含义
-i 安装软件包
-v 输出详细信息
-h 安装软件包是打印哈希(hash)标识
--replacepkge 无论软件包是否已被安装,都重新安装软件
--test 只对按进行测试,并不实际安装
--nodeps 不验证软件包的依赖关系
--force 忽略软件包和文件的冲突
--percent 以百分百形式输出安装的进度
--excludedocs 不安装软件包中的文档文件
--ignorearch 不验证软件包的架构
--ignoresize 在安装之前不检查磁盘空间
--justdb 更新数据库,但是不要修改文件系统
--nofiledigest 不验证文件摘要
--noscripts 不执行软件包的脚本
--replacefiles 忽略软件包之间的冲突
-e 删除软件包
-U 升级软件包
-F 刷新软件包
--oldpackage 升级旧版本的软件包
-q 查询软件包
--initdb 初始化RPM数据库
--rebuilddb 从安装数据包头重建RPM数据库

例子1:忽略软件包的依赖关系,强行安装bind-9.9.4-29.el7.x86_64.rpm软件包,并显示安装过程中的详细信息和水平进度条。

[root@localhost Packages]# rpm -ivh --nodeps bind-9.9.4-72.el7.x86_64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:bind-32:9.9.4-72.el7 ################################# [100%]
/var/tmp/rpm-tmp.qmIlvV: line 10: semanage: command not found
/var/tmp/rpm-tmp.qmIlvV: line 29: semanage: command not found
/var/tmp/rpm-tmp.qmIlvV: line 34: /usr/sbin/semanage: No such file or directory
warning: %posttrans(bind-32:9.9.4-72.el7.x86_64) scriptlet failed, exit status 127
删除RPM软件包

命令语法:rpm -e [RPM包名称]

强制删除软件包

[root@localhost Packages]# rpm -e --nodeps bind
升级和刷新RPM软件包
  • 升级RPM软件包:实际是删除和安装的组合,不管早期版本是否已被安装,升级选项都会安装该软件包

命令语法:rpm -Uvh [RPM软件包文件名称]

  • 刷新RPM软件包:系统会比较指定的软件包版本和系统已安装的版本,当有新版本更新时才会更新,当软件包之前没有安装,RPM的刷新选项将不会安装该软件包,这和RPM的升级选项不同。

命令语法:rpm -Fvh [RPM软件包文件名称]

查询RPM软件包
  • 查询指定RPM软件包是否已安装

命令语法:rpm -q [RPM包名称]

  • 查询系统中所有已安装的RPM软件包

命令语法:rpm -qa

  • 查询已安装RPM软件包的描述信息

命令语法:rpm -qi [RPM包名称]

  • 查询指定已安装RPM软件包所包含的文件列表

命令语法:rpm -ql [RPM包名称]

  • 查询RPM软件包的依赖关系

命令语法:rpm -qR [RPM包名称]

  • 查询系统中指定文件属于哪个RPM软件包

命令语法:rpm -qf[文件名]

例如:查询/etc/crontab文件属于哪个软件包

[root@localhost ~]# rpm -qf /etc/crontab
crontabs-1.11-6.20121102git.el7.noarch

注意:当指定文件时,必须指定文件的完整路径(比如/etc/crontab)

摘自:《Linux实用教程》人民邮电出版社出版发行 於岳编著

RPM软件包:Red HatPackage Manager,RPM的更多相关文章

  1. Linux - rpm 软件包管理

    rpm 是 Red-Hat Package Manager(rpm 软件包管理器)的缩写 rpm 的命名规则: 第一部分为 rpm 软件包的名称,第二部分是版本号,第三部分是版本发布次数,第四部分是软 ...

  2. linux光盘使用、rpm软件包、yum软件仓库安装使用

    转至:https://blog.51cto.com/zpeng/1532520 一.光盘文件使用 1,RHEL5(x86_64)光盘结构 Cluster              //集群二进制包 C ...

  3. linux笔记:RPM软件包管理-rpm命令管理

    rpm包命名原则: rpm包的依赖性: 包名和包全名: rpm软件包安装.升级和卸载: rpm软件包查询: 从rpm包中提取指定文件:

  4. 『学了就忘』Linux软件包管理 — 42、对RPM软件包的查询操作

    目录 1.查询RPM软件包是否安装 2.查询系统中所有已安装的RPM软件包 3.查询RPM软件包的详细信息 4.查询RPM软件包中的文件列表 5.查询系统文件属于哪个RPM包 6.查询RPM软件包所依 ...

  5. RPM是RedHat Package Manager(RedHat软件包管理工具)

    RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序” rpm 执行安装包二进制包(Binary)以及源代码包(Source)两种 ...

  6. RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序”

    转自http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/10/08/2203153.html 备忘 rpm 执行安装包 二进制包(Binary ...

  7. Fedora 22中的RPM软件包管理工具

    Introduction The RPM Package Manager (RPM) is an open packaging system that runs on Fedora as well a ...

  8. RPM软件包管理以及使用方法

    Red Hat Package Manager(简称RPM)工具包由于其使用简单操作方便,可以实现软件的查询.安装.卸载.升级和验证等功能,为Linux使用者节省大量的时间,所以被广泛的用于Linux ...

  9. rpm软件包管理/yum软件管理

    绝大数开源软件都是公布源代码的,源代码一般被打包为tar.gz归档压缩文件,然后手工编译为二进制可执行文件 ./configure 检查编译环境/相关库文件/配置参数,生成makefile make ...

  10. Linux下RPM软件包的安装及卸载

    http://os.51cto.com/art/201001/177866.htm 在 Linux 操作系统下,几乎所有的软件均通过RPM 进行安装.卸载及管理等操作.RPM 的全称为Redhat P ...

随机推荐

  1. Git 多账号配置

    本地登录多账号并连接对应的远程仓库,主要就是 密钥配对,我这里刚开始配了密钥也将密钥复制到ssh但是还是连接不到第二个远程仓库,后来发现是需要 密钥代理 1.在当前项目下更改git账号信息: git ...

  2. Hexo博客Next主题DaoVoice实现在线联系

    注册登录DaoVoice 注册地址如下: http://www.daovoice.io/ 在官网注册帐号需要邀请码,可以输入我的邀请码 b69005f1 复制粘贴代码 修改的hexo的文件路劲如下: ...

  3. chrome事件循环的自问自答

    chrome事件循环的自问自答 目录 1. 宏任务有哪些? 2. 微任务有哪些? 3. dom渲染是事件循环的一部分么? 4. requestAnimationFrame的回调是宏任务还是微任务? 5 ...

  4. yum与软件包

    从一个命令开始 yum provides iostat ## 找到软件包名为:sysstat-10.1.5-19.el7.x86_64 安装软件包 yum install sysstat-10.1.5 ...

  5. Redis从入门到放弃(2):数据类型

    在Redis中,数据以键值对的形式存储.Redis支持五种主要的数据类型,每种类型都有不同的用途和特性. 本文将介绍Redis的五种数据类型:字符串(string),哈希(hash),列表(list) ...

  6. Go 语言 select 都能做什么?

    原文链接: Go 语言 select 都能做什么? 在 Go 语言中,select 是一个关键字,用于监听和 channel 有关的 IO 操作. 通过 select 语句,我们可以同时监听多个 ch ...

  7. Pandas:获取Dataframe索引

    解决方案 效果图 参考链接 https://blog.csdn.net/YENTERTAINR/article/details/109254583

  8. VSCode插件:自动生成注释——koroFileHeader

    配置 用户设置打开 settings.json 添加如下代码: "fileheader.cursorMode": { }, "fileheader.customMade& ...

  9. MySQL5.5+配置主从同步并结合ThinkPHP5设置分布式数据库

    前言: 本文章是在同处局域网内的两台windows电脑,且MySQL是5.5以上版本下进行的一主多从同步配置,并且使用的是集成环境工具PHPStudy为例.最后就是ThinkPHP5的分布式的连接,读 ...

  10. [oracle]拆分多用户的公共表空间

    前言 开发环境之前多个用户共用一个表空间,后期维护比较麻烦,因此需要将这些用户拆出来,一个用户一个表空间,以后清理这些用户也更方便. 大致思路:假设A.B.C用户共用一个表空间,将A.B.C的用户数据 ...