前言
- 在Linux系统中,最常用的软件包是RPM包和tar包
- 要管理RPM软件包可以使用rpm和yum命令(centos8使用dnf命令管理)
- yum命令自动化地收集RPM软件包的相关信息,检查依赖性,并且一次性安装所有依赖的软件包,无须繁琐地一次次安装
- dnf是新一代的RPM软件包管理器。DNF包管理器克服了YUM包管理器的一些瓶颈,提升了包括用户体验,内存占用,依赖分析,运行速度等多方面的内容
一、RPM软件包管理
graph LR
A(安装RPM软件包) --> B(由系统判断是否满足安装条件)
B --> C(具备安装条件)
C --> C_1(安装RPM软件包)
B --> D(RPM软件包不满足依赖条件)
D --> D_1(不安装RPM软件包)
D --> D_2(解决安装依赖条件)
D_2 --> B
1、 安装RPM软件包
-
安装 example.rpm 包
- rpm -i example.rpm
-
安装 example.rpm 包并在安装过程中显示正在安装的文件信息
- rpm -iv example.rpm
-
安装 example.rpm 包并在安装过程中显示正在安装的文件信息及安装进度
- rpm -ivh example.rpm
-
只对安装进行测试,并不实际安装软件包
- rpm -ivh --test example.rpm
-
在软件包已经安装的情况下仍旧安装该软件
- rpm -ivh --replacepkgs example.rpm
-
忽略软件包依赖关系,强行安装软件包
- rpm -ivh --nodeps example-xxx.rpm
2、 卸载RPM软件包
-
卸载已安装软件包
- rpm -e example
- 卸载时需要使用包名称,而非文件包名称,通常需要使用
rpm -q
…命令查出需要卸载的安装包名称
- 卸载时需要使用包名称,而非文件包名称,通常需要使用
- rpm -e example
-
强制卸载软件包
- rpm -e --nodeps example
- 由于软件包存在依赖关系,所以部分卸载时会提示依赖检测失败,此时忽略依赖关系强制卸载
- rpm -e --nodeps example
3、 升级刷新RPM软件包
- 升级
- rpm -Uvh example.rpm
- 实际上是先卸载后安装的组合
- 不管该软件早期版本是否已被安装,升级选项都会安装该软件包
- rpm -Uvh example.rpm
- 刷新
- rpm -Fvh example.rpm
- 刷新软件包时,系统会比较指定的软件包版本与系统软件包版本
- 如果软件包没有预先安装,RPM的刷新选项将不会安装该软件包
- rpm -Fvh example.rpm
4、查询RPM软件包
- 查看 tomcat4 是否被安装
- rpm -qa | grep example
- 查看 example.rpm 安装包的信息
- rpm -qip example.rpm
- 查看/bin/df 文件所在安装包的信息
- rpm -qif /bin/df
- 查看/bin/df 文件所在安装包中的各个文件分别被安装到哪个目录下
- rpm -qlf /bin/df