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. [ARM 汇编]进阶篇—存储访问指令—2.3.3 栈操作指令

    栈是一种特殊的数据结构,其特点是后进先出(LIFO,Last In First Out).在 ARM 汇编中,栈通常用于保存函数调用时的寄存器状态.局部变量和返回地址等.本节将详细介绍 ARM 汇编中 ...

  2. Grafana 系列-GaC-2-Grafana Terraform Provider 基础

    系列文章 Grafana 系列文章 Terraform 系列文章 概述 前文最后总结了我的工具选型: Grafana Terraform provider Jsonnet 我们今天先简单介绍 Graf ...

  3. SQL Server中的NULL值处理:判断与解决方案

    摘要: 在SQL Server数据库中,NULL是表示缺少数据或未知值的特殊标记.处理NULL值是SQL开发人员经常遇到的问题之一.本文将介绍SQL Server中判断和处理NULL值的不同方法,以及 ...

  4. 即构自研海量有序数据网络MSDN,构建全球可靠的多云通讯链路

    2020是实时音视频技术应用大爆发的一年,电商直播.视频会议.在线课堂等多个场景获得了广泛关注.即构科技作为全球领先的云通讯商,截止目前已服务超过4000家企业客户,每日音视频通话时长超过20亿分钟, ...

  5. windows CMD命令的一些使用方法及注意事项

    windows CMD命令的一些使用方法及注意事项 转载请著名出处:https://www.cnblogs.com/funnyzpc/p/17572397.html 一.执行路径或参数带中文.空格.特 ...

  6. iptables防火墙调试,想打印个日志就这么难

    背景 怎么会讲这个话题,这个说来真的长了.但是,长话短说,也是可以的. 我前面的文章提到,线上的服务用了c3p0数据库连接池,会偶发连接泄露问题,而分析到最后,又怀疑是db侧主动关闭连接,或者是服务所 ...

  7. Openjob 1.0.5 发布,新增 Agent

    什么是 Openjob? Openjob 基于Akka架构的新一代分布式任务调度框架.支持多种定时任务.延时任务.工作流设计,采用无中心化架构,底层使用一致性分片算法,支持无限水平扩容. 完善的任务日 ...

  8. 使用MkDocs搭建个人博客

    使用MkDocs搭建个人博客 接触编程已经好几年了,阅读了无数大佬的博客文章,但是从来没有自己写过.这其中最重要的原因当然是懒惰,觉得写博客太费时间了,对自己的帮助也不大.可是如今发现自己的记性越来越 ...

  9. Tibos.Devops项目介绍

    诞生背景 随着微服务的普及,更多的企业选择迁移到云,传统的部署方式已经无法满足需求,市面上devops产品也应运而生,结合自己使用的经验,也制作了一款同类产品,并开源出来,与大家一起探讨学习 前置条件 ...

  10. 利用pytorch自定义CNN网络(二):数据集的准备

    本文是利用pytorch自定义CNN网络系列的第二篇,主要介绍构建网络前数据集的准备,关于本系列的全文见这里. 笔者的运行设备与软件:CPU (AMD Ryzen 5 4600U) + pytorch ...