前言
RPM(redhat package manager),红帽包管理器
一、软件包分类
- 源码包:需经过GCC、C++编译器环境编译后方能运行
- ./configure,预编译:检测系统基准环境库是否满足gcc环境,生成makefile文件
- make,编译:基于前一步生成的makefile文件,进行源代码的编译
- make install,安装:将编译完成后的可执行文件安装至系统中
- 二进制包:无需编译,可直接安装使用
二、RPM包命名规则
RPM包命名规则:
name-version.rpm
name-version-arch.rpm
name-version-arch.src.rpm
具体含义:
name:软件名称
version:版本号
arch:适用的硬件平台,有i386、i586、i686、x86_64等
.rpm:编译好的二进制包,可用rpm命令直接安装
.src.rpm:源代码包,源码编译生成.rpm格式的RPM包方可使用
el*:软件包发行版本,el6表示该软件包适用于RHEL 6.X/CentOS 6.X
devel:开发包
noarch:软件包可在任何平台上安装
三、RPM包相关命令
3.1 安装
常用的安装命令:
rpm -qa | grep xxx 检查xxx相关的软件是否已安装
rpm -ivh xxx.rpm 安装RPM包
rpm -Uvh xxx.rpm 升级RPM包(若包未安装,则立即安装)
rpm -Fvh xxx.rpm 升级RPM包(若包未安装,则不会进行安装)
rpm -ivh xxx.rpm --nodeps 忽略依赖关系进行安装(不建议)
3.2 查看
rpm -q xxx 检查是否安装
rpm -qi httpd 查看软件安装的版本信息
rpm -qlp xxx.rpm 查看未安装的RPM包里的文件列表
rpm -qa xxx 在已经安装的所有RPM包中查找xxx包
rpm -qa | grep xxx 在已安装包的清单中查找xxx相关的RPM包
rpm -ql xxx.rpm 查看已经安装的软件的文件列表(安装路径下的文件)
[root@localhost ~]#rpm -qa | grep xxx
[root@localhost ~]# rpm -q samba
samba-4.9.1-8.el8.x86_64
[root@localhost ~]#
[root@code ~]# rpm -qi bind
Name : bind
Epoch : 32
Version : 9.11.4
Release : 26.P2.el7_9.7
Architecture: x86_64
Install Date: Sat 11 Sep 2021 01:28:53 AM CST
Group : Unspecified
Size : 5652661
License : MPLv2.0
Signature : RSA/SHA256, Wed 01 Sep 2021 03:03:34 AM CST, Key ID 24c6a8a7f4a80eb5
Source RPM : bind-9.11.4-26.P2.el7_9.7.src.rpm
Build Date : Tue 31 Aug 2021 10:57:16 PM CST
Build Host : x86-01.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org>
Vendor : CentOS
URL : http://www.isc.org/products/BIND/
Summary : The Berkeley Internet Name Domain (BIND) DNS (Domain Name System) server
Description :
BIND (Berkeley Internet Name Domain) is an implementation of the DNS
(Domain Name System) protocols. BIND includes a DNS server (named),
which resolves host names to IP addresses; a resolver library
(routines for applications to use when interfacing with DNS); and
tools for verifying that the DNS server is operating properly.
[root@code ~]#
3.3 卸载
rpm -e xxx.rpm 卸载RPM包
rpm -e xxx.rpm --nodeps 忽略依赖关系进行卸载(强制卸载)