1、RPM是什么。
RPM全称 RedHat Package Manager 的缩写,是有红帽开发
用于软件包的安装,升级卸载使用的。用rpm安装软件之前必须要找到指
定的安装包,一种是挂载光盘,另一种是去源码网站下载rpm包,用绝对
路径进行安装。
格式:xxx.rpm
命令:rpm
2、RPM包名组成部分。
3、RPM包的管理命令。
i 安装软件包
v 显示安装过程
h 显示安装进度条
实例:
①挂载光盘
[root@oldchen ~]# mount /dev/cdrom /mnt/ ---->先挂载光盘
mount: /dev/sr0 写保护,将以只读方式挂载
[root@oldchen ~]# rpm -ivh /mnt/Packages/zip-3.011.el7.x86_64.rpm
准备中... ################################# [100%]
软件包 zip-3.0-11.el7.x86_64 已经安装
②从网络下载rpm包,在用命令进行安装。
[root@oldchen ~]# wget https://mirrors.aliyun.com/zabbix/zabbix/5.4/rhel/7/x86_64/zabbix-agent- 5.4.0-8.el7.x86_64.rpm
--2021-07-26 17:44:00--https://mirrors.aliyun.com/zabbix/zabbix/5.4/rhel/7/x86_64/zabbix-agent-5.4.0-8.el7.x86_64.rpm
正在解析主机 mirrors.aliyun.com (mirrors.aliyun.com)... 119.188.121.241, 119.188.121.239, 221.196.251.240, ...
正在连接 mirrors.aliyun.com (mirrors.aliyun.com)|119.188.121.241|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:484920 (474K) [application/x-redhat-package-manager]
正在保存至: “zabbix-agent-5.4.0-8.el7.x86_64.rpm”
100%[==========================================>] 484,920 --.-K/s 用时 0.1s
2021-07-26 17:44:01 (4.24 MB/s) - 已保存 “zabbix-agent-5.4.0-8.el7.x86_64.rpm” [484920/484920])
最后用rpm命令进行安装
[root@oldchen ~]# rpm -ivh zabbix-agent-5.4.0-8.el7.x86_64.rpm
4、RPM依赖包安装。
依赖包就是一个软件包的运行所需要运行的其他包,这里以samba包举例子:
[root@oldchen ~]# rpm -ivh
/mnt/Packages/samba-4.8.3-4.el7.x86_64.rpm
error: Failed dependencies:
libxattr-tdb-samba4.so()(64bit) isneeded by samba-0:4.8.3-4.el7.x86_64
libxattr-tdb-samba4.so(SAMBA_4.8.3)(64bit) is needed by samba-0:4.8.3-4.el7.x86_64
samba-common-tools = 4.8.3-4.el7 isneeded by samba-0:4.8.3-4.el7.x86_64
samba-libs = 4.8.3-4.el7 is neededby samba-0:4.8.3-4.el7.x86_64
尝试安装依赖包 "samba-common-tools"
[root@oldchen ~]# rpm -ivh/mnt/Packages/samba-common-
tools4.8.3-4.el7.x86_64.rpm
尝试安装依赖包"samba-libs"
[root@oldchen ~]# rpm -ivh/mnt/Packages/samba-libs-4.8.3-
4.el7.x86_64.rpm
最后尝试安装主程序
[root@oldxu ~]# rpm -ivh/mnt/Packages/samba-4.8.3-4.el7.x
86_64.rpm
5、RPM升级包。
下载 zabbix-agent 软件包,分别下载 3.0 低版本、然后下载 4.2 高版来进行测试与实验。
[root@oldchen ~]#wget https://mirrors.aliyun.com/zabbix/zabbix
/3.0/rhel/7/x86_64/zabbix-agent-3.0.9-1.el7.x86_64.rpm
[root@oldchen ~]# wget https://mirrors.aliyun.com/zabbix/zabbix
/4.2/rhel/7/x86_64/zabbix-agent-4.2.0-1.el7.x86_64.rpm
先安装"zabbix"3.0版本
[root@oldchen ~]# rpm -ivh zabbix-agent3.0.9-1.el7.x86_64.rpm
尝试使用 rpm -ivh 安装 zabbix-agent-4.2 高版本(会出现报错)
[root@oldchen ~]# rpm -ivh zabbix-agent4.2.0-1.el7.x86_64.rpm
使用 rpm -Uvh 升级 zabbix-agent 至 4.2 版本。(完美解决)
[root@oldchen ~]# rpm -Uvh zabbix-agent4.2.0-1.el7.x86_64.rpm
6、RPM卸载包。
如果需要卸载 rpm 包,可以先查看该包是否存系统中,然后在进行卸载操作。
1.使用 rpm -q 查询软件包是否存在系统
[root@oldchen ~]# rpm -q zsh
2.使用 rpm -e 卸载软件包
[root@oldchen ~]# rpm -e zsh
7、RPM相关查询命令。
-q 查看指定软件包是否安装
-qa 查看系统中已安装的所有RPM软件包列表
-qi 查看指定软件的详细信息
-ql 查询指定软件包所安装的目录、文件列表
-qc 查询指定软件包的配置文件
-qf 查询文件或目录属于哪个RPM软件
实例:
①查看是否安装:
[root@oldchen ~]# rpm -q vim
未安装软件包 vim
②查看已安装软件:
[root@oldchen ~]# rpm -qa
dracut-network-033-463.el7.x86_64
filesystem-3.2-21.el7.x86_64
ebtables-2.0.10-15.el7.x86_64
bind-license-9.9.4-37.el7.noarch
libsoup-2.48.1-6.el7.x86_64
NetworkManager-1.4.0-12.el7.x86_64
........................
③查看指定软件的详细信息:
[root@oldchen ~]# rpm -qi bash
Name : bash
Version : 4.2.46
Release : 20.el7_2
Architecture: x86_64
Install Date: 2021年07月23日 星期五 18时46分41秒
Group : System Environment/Shells
Size : 3663634
License : GPLv3+
Signature : RSA/SHA256, 2016年08月03日 星期三 04时36分07秒,
Key ID 24c6a8a7f4a80eb5
Source RPM : bash-4.2.46-20.el7_2.src.rpm
Build Date : 2016年08月03日 星期三 00时02分28秒
Build Host : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org>
Vendor : CentOS
URL : http://www.gnu.org/software/bash
Summary : The GNU Bourne Again shell
④查询指定软件包安装的路径:
[root@oldchen ~]# rpm -ql bash
/etc/skel/.bash_logout
/etc/skel/.bash_profile
/etc/skel/.bashrc
/usr/bin/alias
/usr/bin/bash
/usr/bin/bashbug
/usr/bin/bashbug-64
...........
⑤查询指定安装包的配置文件:
[root@oldchen ~]# rpm -qc bash
/etc/skel/.bash_logout
/etc/skel/.bash_profile
/etc/skel/.bashrc
⑥查询配置文件或系统命令是由哪个rpm包提供:
[root@oldchen ~]# rpm -qf /usr/bin/ls
coreutils-8.22-18.el7.x86_64
查询未安装的 rpm 包会产生哪些文件
[root@oldchen ~]# rpm -qlp/mnt/Packages/samba-3.6.23-
41.el6.x86_64.rpm