• 1 RPM概述
  • 2 为什么使用RPM
  • 3 RPM的功能
  • 4 RPM包的名称格式
  • 5 rpm命令的使用
    • 5.1 rpm命令简介
    • 5.2 rpm命令使用举例
  • 6 参考来源
  • 7 CentOS使用手册导航

RPM概述

RPM是一个开放的软件包管理系统,最初的全称是Red Hat Package Manager。它工作于Red Hat Linux以及其它Linux系统,成为了Linux中公认的软件包管理标准。红帽子软件公司鼓励其他厂商来了解RPM并在自己的产品中使用它。

RPM的发布基于GPL协议。随着RPM在各种发行版本的广泛使用,如今RPM的全称是RPM Package Manager。RPM由RPM社区负责维护,其官方网站:http://www.rpm .org

为什么使用RPM

使用RPM最大的好处在于它提供快速之安装,减少编译安装之侦错困扰。对于最终用户来说,RPM所提供的众多功能使维护系统要比以往容易的多。安装、卸载和升级RPM软件包均只需一条命令即可完成,所有烦琐的细节问题无须您费心。RPM维护一个所有已安装的软件包和文件的数据库,可以让您进行功能强大的软件包查询和验证工作。

在软件包升级过程中,RPM会对配置文件进行特别处理,因此您绝对不会丢失以往的定制信息——这对于直接使用.tar.gz文件是不可能的。对于程序员,RPM可以让您连同软件的源代码打包成源代码和二进制软件包供最终用户使用。这个过程十分简单,整个过程由一个主文件和可能的补丁程序组成。RPM在软件的新版本发布时,这种“原始”源代码,补丁程序和软件生成指令的清晰描述简化了软件包的维护工作。

RPM的功能

简言之,RPM具有如下五大功能:

  • 安装——将软件从包中解出来,并且安装到硬盘。
  • 卸载——将软件从硬盘清除。
  • 升级——替换软件的旧版本。
  • 查询——查询软件包的信息。
  • 验证——检验系统中的软件与包中软件的区别。

RPM包的名称格式

RPM包的名称有其特有的格式,如某软件的RPM包名称由如下部分组成:

name-version.type.rpm

其中:

  • name为软件的名称
  • version为软件的版本号
  • type为包的类型
  • i[3456]86:表示在Intel x86计算机平台上编译的
  • sparc:表示在sparc计算机平台上编译的
  • alpha:表示在alpha计算机平台上编译的
  • src:表示软件源代码
  • rpm 为文件扩展名

例如:

bind-9.2.1-16.i386.rpm:是bind(9.2.1-16)的Intel 386平台编译版本包
bind-9.2.1-16.sparc.rpm:是bind(9.2.1-16)的sparc平台编译版本包
bind-9.2.1-16.alpha.rpm:是bind(9.2.1-16)的alpha平台编译版本包
bind-9.2.1-16.src.rpm:是bind(9.2.1-16)的源代码版本包

因此,看到一个RPM包的文件名之后就可以获得该软件包的大致信息了。

rpm命令的使用

rpm命令简介

在CentOS中升级和安装系统通常使用yum 命令,因为它可以良好的解决包的依赖性问题,即自动安装/处理依赖的其他软件包。但是 rpm 命令还是在某些情况下用得上,比如,查询包信息,安装或卸载一个不在CentOS软件库中的.rpm包等。

常见的用法:

命令 说明
rpm -i <.rpm file name> 安装指定的 .rpm 文件
rpm -U <.rpm file name> 用指定的.rpm文件升级同名包
rpm -e <package-name> 删除指定的软件包
rpm -q <package-name> 查询指定的软件包在系统中是否安装
rpm -qa 查询系统中安装的所有RPM软件包
rpm -qf </path/to/file> 查询系统中指定文件所属的软件包
rpm -qi <package-name> 查询一个已安装软件包的描述信息
rpm -ql <package-name> 查询一个已安装软件包里所包含的文件
rpm -qc <package-name> 查看一个已安装软件包的配置文件位置
rpm -qpi <.rpm file name> 查询一个未安装的 RPM文件的描述信息
rpm -qpl <.rpm file name> 查询一个未安装的 RPM文件里所包含的文件
rpm -qpc <.rpm file name> 查看一个未安装的 RPM文件的配置文件位置
rpm -qpd <.rpm file name> 查看一个未安装的 RPM文件的文档安装位置
rpm -qpR <.rpm file name> 查询一个未安装的 RPM文件的最低依赖要求
rpm -V <package-name> 校验指定的软件包
rpm -V </path/to/file> 校验包含指定文件的软件包
rpm -Vp <.rpm file name> 校验指定的未安装的 RPM文件
rpm -Va 校验所有已安装的软件包
rpm --rebuilddb 重新创建系统的RPM数据库,用于不能安装和查询的情况
rpm --import <key file> 导入指定的签名文件
rpm -Kv --nosignature <.rpm file name> 检查指定的RPM文件是否已损坏或被恶意篡改(验证包的MD5校验和)
rpm -K <.rpm file name> 检查指定RPM文件的GnuPG签名
rpm -qd <package-name> 查看一个已安装软件包的文档安装位置
rpm -qR <package-name> 查询一个已安装软件包的最低依赖要求
  • 在安装/升级时,还可以使用-vh参数,其中:v表示在安装过程中将显示较详细的信息;h表示显示水平进度条
  • 在使用 rpm -qa 命令时,还可以使用 |more 或 |grep 进行过滤
  • 所有的 <.rpm file nam e > 既可以是本地文件,也可以是远程文件
  • 校验软件包将检查软件包中的所有文件是否与系统中所安装的一致性。包括校验码文件大小,存取权限和属主属性都
  • 将根据数据库进行校验。该操作可在用户安装了新程序以后怀疑某些文件遭到破坏时使用。

rpm命令使用举例

安装软件包:

1、安装本地软件包

# rpm -ivh /media/cdrom/CentOS/elinks-0.11.1-5.1.el5.i386.rpm
Preparing... #
1:elinks #

2、安装远程软件包

# rpm -ivh http://centos.candishosting.com.cn/5/os/i386/CentOS/elinks-0.11.1-5.1.el5.i386.rpm
Preparing... #
1:elinks #

3、安装不在CentOS软件库中的软件包

下面以安装Fedora Extras 中的软件包为例。

# rpm --import http://download.fedora.redhat.com/pub/fedora/linux/extras/RPM-GPG-KEY-Fedora-Extras
# wget http://download.fedora.redhat.com/pub/fedora/linux/extras/6/i386/darcs-1.0.9-3.fc6.i386.rpm
# rpm -ivh darcs-1.0.9-3.fc6.i386.rpm
Preparing... #
1:darcs #

升级软件包:

1、从本地文件升级软件包:

# rpm -Uvh elinks-0.11.1-5.1.0.1.el5.i386.rpm
Preparing... #
1:elinks #

2、从远程文件升级软件包:

# rpm -Uvh http://centos.candishosting.com.cn/5/updates/i386/RPMS/elinks-0.11.1-5.1.0.1.el5.i386.rpm
Preparing... #
1:elinks #

卸载软件包:

# rpm -e elinks

查询软件包:

# 查询 elinks 软件包在系统中是否安装
$ rpm –q elinks
# 查询系统中已安装的 elinks 软件包的描述信息
$ rpm –qi elinks
# 查询系统中已安装的 elinks 软件包里所包含的文件
$ rpm –ql elinks
# 查询系统中文件 /etc/passwd 所属的软件包
$ rpm –qf /etc/passwd
# 查询 elinks-0.11.1-5.1.0.1.el5.i386.rpm 包文件中的信息
$ rpm –qp elinks-0.11.1-5.1.0.1.el5.i386.rpm
# 查询系统中已经安装的所有包含名字php的软件包
$ rpm –qa | grep php
# 查询 httpd 包的最低依赖要求
$ rpm -qR httpd

验证软件包:

// 验证 elinks 软件包
# rpm –V elinks
// 验证包含文件 /etc/passwd 的软件包
# rpm –Vf /etc/passwd
// 验证 elinks-0.11.1-5.1.0.1.el5.i386.rpm 包文件
# rpm –Vp elinks-0.11.1-5.1.0.1.el5.i386.rpm
// 验证所有已安装的软件包
# rpm –Va

如果校验一切正常,将没有输出,反之则输出不一致结果,格式为:

xxxxxxxx 文件名

字段1由八个字符组成,每个字符指明该文件与RPM数据库中一致或不一致的地方,单个点(.)说明没有异常,具体含义如下:

  • 5 — 校验和
  • S — 文件大小
  • L — 符合连接
  • T — 文件修改时间
  • D — 设备
  • U — 用户
  • G — 组
  • M — 文件模式
  • ? — 文件不可读

参考来源

http://www.centospub.com/bbs/forumdisplay.php?fid=10

CentOS使用手册导航

CentOS安装

CentOS安装 | 系统安装后的初始环境设置 | 服务器方式安装CentOS 5

CentOS使用手册

使用RPM管理包 | 使用YUM工具更新系统 | 使用rsync服务 | 使用rsync同步 | 使用tar备份 | 使用tar恢复文件 | Samba 服务器的构建 | 用SWAT让Samba服务器的管理温和化 | SMTP服务器的构建 | POP/IMAP服务器的构建 | 病毒查杀系统的构建 | 入侵监测系统的构建 | 用OpenSSH构建SSH服务器 | 用SSH客户端软件登录到服务器 | 让服务器支持安全HTTP协议 | 开放一般用户的网页发布权限 | 虚拟主机的构建 | Servlet/JSP服务器的构建 | 基于日志的站点统计系统的构建 | 构建MySQL数据库服务器 | 用phpMyAdmin让MySQL数据库管理温和化 | 数据库的自动备份与恢复 | 用ProFTPD构建FTP服务器 | 用FTP客户端软件连接到服务器

CentOS/使用RPM管理包相关推荐

  1. CentOS 下 yum(基于rpm的包管理工具) 命令详解

    Yum: 即Yellowdog Update Modifier,是一种基于rpm的包管理工具 yum命令使用示例(转载自:https://www.cnblogs.com/vathe/p/6736094 ...

  2. centos之rpm包管理器全解

    文章目录 rpm包命名规则 rpm数据库 安装程序包 升级 卸载 查询 select-options query-options 校验 数字签名 公钥 数据库重建 获取需要的程序包 在centos上安 ...

  3. Linux学习笔记:rpm程序包管理

    以CentOS为例,rpm程序包管理器的相关内容如下: CentOS的程序包管理器:     程序包的命名规则:         源代码包:             software_name-VER ...

  4. centos 系统软件包管理 yum 本地yum配置 扩展源epel rpm 清除yum缓存 yum provides */vim 第十节课...

    centos  系统软件包管理  yum 本地yum配置  扩展源epel  rpm  清除yum缓存  yum provides "*/vim"   第十节课 你不能保证可逆化操 ...

  5. CentOS安装rpm包时遇到Header V3 DSA signature: NOKEY时解决办法

    2019独角兽企业重金招聘Python工程师标准>>> 最近在centos安装rpm包,但是在安装时提示有 warning: rpmts_HdrFromFdno: Header V3 ...

  6. linux 卸载yum源,CentOS下rpm包与yum安装与卸载更新系统源

    CentOS下rpm包与yum安装与卸载 一.rpm包的安装: 1.安装一个包 # rpm -ivh 2.升级一个包 # rpm -Uvh 3.移走一个包 # rpm -e 4.安装参数 --forc ...

  7. CentOS下rpm命令使用

    CentOS下rpm命令详解 rpm,Redhat Package Manager,即为红帽公司为RHEL开发的专用包管理器,后来更改为RPM Package Manager,类似于GNU项目,使用递 ...

  8. CentOS下rpm命令详解

    CentOS下rpm命令详解 rpm,Redhat Package Manager,即为红帽公司为RHEL开发的专用包管理器,后来更改为RPM Package Manager,类似于GNU项目,使用递 ...

  9. 【编译打包】twemproxy-0.4.0-2.el7.centos.src.rpm

    twemproxy 又叫netcracker,是一个高性能的协议路由器(代理服务器),可用于memcached/redis 集群,支持数据分片. 在国外兜了一圈也没发现有人对其进行rpm打包,估计大家 ...

最新文章

  1. MFC调用批处理文件(.bat)
  2. python数据预测模型算法_如何对时间序列预测问题计算基准预测(python)
  3. Xcode5搭建Python开发环境
  4. PDF:解决从PDF中复制文字时出现的空方框问题
  5. 批量更改数据库COLLATION
  6. python基础——python容器的有序性和可变性总结
  7. 来到深圳奋斗的这些年(不断更新!)
  8. AWS SageMaker 基于Random Cut Forest 的异常值检测 随机森林
  9. 马里兰大学calce电池循环测试数据集_锂电池极片:机械性能测试是门学问,要搞懂真不容易...
  10. 色斑图制作及后端无人值守自动出图kriging.js+chrome+html2canvas.js+DOS+BIGEMAP超低成本实现气象要素色斑图
  11. 30个必会的Axure小技巧
  12. vue插入阿里巴巴矢量图标
  13. 美团 2021 届秋季校园招聘—小团的 AB 队(排序)
  14. 通过计算机管理看主板型号,电脑主板型号在哪里看? 每日一答
  15. U盘全新安装High sierra及打造mac,win10双系统
  16. 设计模式之九原型模式
  17. 使用python turtle绘制简笔画大白
  18. ZOJ4105 Abbreviation
  19. 6.在SAP Web上实现Punchout目录采购(第一部分)
  20. 海思 Hi3516 使用 gpac 库把 H265 和 AAC 封装成 MP4

热门文章

  1. 快讯 | 公链专场,四位大咖分享了些什么(附PPT)
  2. 移动硬盘(USB3.0)1TB 在自己电脑上突然识别不了
  3. 一入编码深似海,在达观数据做程序员是怎样一种体验?
  4. PTA换硬币【满分】
  5. c语言放空一个数组,数组越界真可怕,莫名就闯到了别人家
  6. 如何在表格里做计算机统计表,excel怎么制作统计表格 excel统计表怎么添加标题...
  7. 申论公文题-方案类-1
  8. 【PPT】绘制表格和多样式圆圈
  9. 以太网交换机可以家用吗_以太网交换机是什么? 以太网交换机的使用方法
  10. The 10th Zhejiang Provincial Collegiate Programming Contest 蒻菜的水题题解。