红帽RHCE之软件包与RPM

软件包与RPM:

RPM软件包管理器最先由红帽开发,该程序提供了一种标准的方式来打包软件进行分发与使用,
从归档提取到文件系统的软件(源代码安装)相比,采用RPM软件包形式管理软件要简单得多。
管理员可以跟踪软件包所安装的文件。已安装软件包的信息存储在本地RPM数据库中。

RPM软件包文件名由四个元素组成:name-version-release.architecture

1. NAME:描述软件名
2. VERSION:原始软件版本号
3. RELEASE:基于该版本的软件包的发行版号,由软件打包商设置,不一定是原始
软件开发商。
4. ARCH:编译软件包的CPU处理器架构,noarch表示不限定架构。

基于yum安装软件包时,只需要软件包的名称。
如果存在多个版本,默认安装最高版本(latest)。
每个RPM软件包包含3部分内容:

 1. 安装的文件
 2. 元数据(metadata):
 如name、version、release和arch;软件包的摘要和描述;依赖关系;授权许可信息;软件包更改日志。
 3. 安装、更新或删除软件包时可能运行的脚本。
RPM软件包验证原理:该过程类似Chrome Mailvelope邮件签名过程
 1. 红帽使用相应的GPG私钥对RPM软件包进行数字签名(digitally sign)。
 2. 安装RPM软件包的主机的RPM系统使用GPG公钥(/etc/pki/rpm-gpg/RPM-GPGKEY-*)解密由GPG私钥
 加密的签名,通过签名来验证软件包的完整性。
 3. 如果GPG数字签名不匹配,RPM系统拒绝安装软件包。

通过RPM包更新软件:

红帽默认安装最新版本软件,更新软件时,将先卸载旧版本,再安装新版本(通常保留配置文件)。通常只能安装一个版本的软件包。
个别软件可以同时安装多个版本,如kernel。 若新版本kernel安装失败而无法引导系统时,可切换至旧版本kernel重新引导系 统。 检查RPM软件包:
rpm命令可以用于管理rpm软件包,也可以查询rpm软件包信息。
rpm命令默认从本地rpm数据库查询软件包信息,但 -p 选项可以指定未安装的rpm软件包。

常用rpm查询命令示例:

 $ rpm -qa:查询所有已安装的rpm软件包
 $ rpm -qf <filename>:查询指定文件所属的rpm软件包
 $ rpm -q <package_name>:查看当前已安装的rpm软件包版本
 $ rpm -qi <package_name>:查看当前已安装的rpm软件包详细信息
 $ rpm -ql <package_name>:查看当前已安装的rpm软件包中的所有文件
 
 
 $ rpm -qc <package_name>:查看当前已安装的rpm软件包中的配置文件
 $ rpm -qd <package_name>:查看当前已安装的rpm软件包中的文档
 $ rpm -q --changelog <package_name>:查看当前已安装的rpm软件包更改信息
 $ rpm -q --scripts <package_name>:查看当前已安装的rpm软件包中安装、升
级与卸载过程中运行的脚本

$ rpm -qpl <uninstalled_package_name>.rpm:查看未安装rpm软件包的所有
文件

安装RPM软件包:

$ rpm -ivh <package_name>.rpm:安装rpm软件包
  • 注意:
 1. 安装第三方软件包时,RPM软件包可能会含有在安装过程中以root用户运行任
意脚本。
 2. 可以从RPM软件包中提取文件,而不安装此软件包。
 3. rpm2cpio程序可以将RPM的内容传递给cpio归档工具,后者可以提取所有文 件或单个文件。
 4. rpm2cpio命令示例:
 $ rpm2cpio <package_name>.rpm | cpio -it:查看未安装的rpm软件包
中的文件
 $ rpm2cpio <package_name>.rpm | cpio -id:提取rpm软件包文件至当
前工作目录中
 $ rpm2cpio <package_name>.rpm | cpio -id "*txt":提取rpm软件包
中的指定文件
  • 56
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 36
    评论
评论 36
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海鸥爱上鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值