RPM软件包是各种Linux发行版本中应用较为广泛的软件包之一。RPM软件包以其强大的功能得到了多数Linux发行版本的支持和广大Linux使用者的爱护。
RPM软件包管理机制最早是由 Red Hat公司提出的,后来随着版本的升级逐渐融入更多的优秀特性,称为众多Linux发行版中公认的软件包管理标准,官方站点https://www.rpm.org
使用RPM软件包管理器通过建立统一的文件数据库,对在Linux操作系统中安装、卸载、升级的各种.rpm软件包进行详细的记录,并能够自动分析软件包之间的依懒关系,保持各应用程序在一个写提哦啊、有序的整体环境中运行。
使用RPM软件包管理命令——rpm
rpm命令的格式
[[email protected] ~]# man rpm
#查看rpm命令的使用详解
rpm(8) Red Hat Linux rpm(8)
NAME
rpm - Red Hat 包管理器
总览
rpm [选项]
描述
rpm是一个很有用的包管理器, 可以用于生成, 安装, 查询, 核实, 更新以及卸载单个软件包.
一个包通常包括一个文件档以及关于包 的信息, 比如名字, 版本, 描述等.
必须选取下列基本模式中一个: 初始化数据库, 重新生成数据库, 生成包, 重新编译包,
从Tar包生成RPM包, 查询, 显示查询标签, 安装, 更新, 卸载, 核实, 签名检查, 再签名,
添加签名, 设置所有者和组 以及 显示配置.
数据库维护:
rpm -i [--initdb]
rpm -i [--rebuilddb]
生成:
rpm [-b|t] [package_spec]+
rpm [--rebuild] [sourcerpm]+
rpm [--tarbuild] [tarredsource]+
查询:
rpm [--query] [queryoptions]
rpm [--querytags]
维护已安装的包:
rpm [--install] [installoptions] [package_file]+
rpm [--freshen|-F] [installoptions] [package_file]+
rpm [--uninstall|-e] [uninstalloptions] [package]+
rpm [--verify|-V] [verifyoptions] [package]+
从rpm命令手册中可以看出,rpm命令具有非常强大的功能,结合不同的命令选项可以实现以下三类功能:
- 查询、验证RPM软件包的相关信息;
- 安装、升级、卸载RPM软件包;
- 维护RPM数据库信息等综合操作。
查询RPM软件包信息
1.查询已安装的RPM软件包信息,常用的参数有:
(使用-qf选项时必须跟绝对路径)
不带子选项的“-q”选项用于查询已知名称的软件包是否安装,需要使用准确地软件包名称作为参数(可以多个)
[[email protected] ~]# rpm -q elinks lynx
未安装软件包 elinks
未安装软件包 lynx
当需要知道系统中的某个文件是由那个软件包生成的,使用“-qf”选项:
[[email protected] ~]# which vim #查看vim程序的位置
/usr/bin/vim
[[email protected] ~]# rpm -qf /usr/bin/vim
vim-enhanced-7.4.160-1.el7.x86_64
使用rpm命令只能查询RPM方式安装的软件包信息,对通过其他路径安装的软件包,rpm命令无法获取相应的信息。
2.查询RPM软件包文件中的相关信息,常用的参数有:
使用“-qp”选项时,必须以RPM软件包的路径作为参数(可以有多个),而不是软件包名称。
[[email protected] ~]# rpm -qpi /mnt/Packages/ethtool-4.5-3.el7.x86_64.rpm
警告:/mnt/Packages/ethtool-4.5-3.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
Name : ethtool
Epoch : 2
Version : 4.5
Release : 3.el7
Architecture: x86_64
Install Date: (not installed)
Group : Applications/System
Size : 344591
License : GPLv2
Signature : RSA/SHA256, 2016年11月21日 星期一 01时36分38秒, Key ID 24c6a8a7f4a80eb5
Source RPM : ethtool-4.5-3.el7.src.rpm
Build Date : 2016年11月06日 星期日 10时05分23秒
Build Host : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org>
Vendor : CentOS
URL : http://ftp.kernel.org/pub/software/network/ethtool/
Summary : Settings tool for Ethernet NICs
Description :
This utility allows querying and changing settings such as speed,
port, auto-negotiation, PCI locations and checksum offload on many
network devices, especially of Ethernet devices.
3.安装、升级、卸载RPM软件包,常用的参数有:
安装软件包时,必须输入绝对路径和软件包的完成名称;
卸载软件包时,只需打上软件名称即可。
4.维护RPM数据库
重建数据库
当RPM数据库发生损坏,且Linux系统无法自动完成修复石,将导致无法使用rpm命令进行查询、安装等功能,就需要使用命令重建RPM数据库
[[email protected] ~]# rpm --rebuilddb
或者
[[email protected] ~]# rpm --initdb
导入验证公钥
在Linux/UNIX应用领域,相当一部分厂商会对发布的软件包进行数字签名,以确保软件的完整性、合法性。对于用户来说,可以使用官方提供的公钥文件,自动对下载的软件包进行验证,若在安装软件是出现验证失败的提示,则表示该软件可能已经被非法篡改。
向RPM数据库中到导入公钥文件时:
[[email protected] ~]# rpm --import /mnt/RPM-GPG-KEY-CentOS-7
#将光盘中的公钥文件导入RPM数据库中
原文地址:https://blog.51cto.com/14157628/2417042