1.RPM基本概述
1.什么是rpm
RPM全称 RPM Package Manager 缩写,由红帽开发用于软件包的安装升级卸载与查询
2.rpm包名组成部分
RPM包命名以-将软件分成了若干部分bash-4.2.46-28.el7.x86_64.rpm
3.如何获取rpm包
本地光盘ISO 数量有限 版本过低 适合刚开始接触
联网获取 很多地方都可以获取到软件包 版本较新
我们先通过虚拟机加载镜像,然后在linux中执行 mount /dev/cdrom /mnt,此时你会在/mnt/Packages目录下看到很多rpm的包文件。
4.扩展: Linux中除了rpm安装软件,是否还有安装软件方式
分类 安装 版本
rpm包 预先编译打包,安装简单 软件版本偏低
源码包 手动编译打包,安装繁琐 软件版本随意
二进制包 解压即可使用, 安装简单 不能修改源码
5. rpm 软件安装、解决依赖、升级、卸载、查询等操作
安装
# -i 安装软件包
# -v 显示过程
# -h 显示进度条
安装本地的包
[root@oldboy ~]# mount /dev/cdrom /mnt
[root@oldboy ~]# rpm -ivh /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm
[root@oldboy ~]# rpm -ivh /mnt/Packages/vsftpd
依赖
出现依赖,就要安装相应的依赖
升级
# 直接安装联网的软件包
[root@oldboy ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-agent-3.0.9-1.el7.x86_64.rpm
#模拟升级 直接升级 先卸载旧版本-->在安装新版本
[root@oldboy ~]# rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/4.2/rhel/7/x86_64/zabbix-agent-4.2.5-1.el7.x86_64.rpm
卸载
# rpm -e zabbix-agent #卸载无依赖的没问题(很少删除软件)
查询
rpm -q #查询系统中是否已经安装过该软件包
rpm -qa #列出所有已安装的软件包 (可以使用grep进行模糊匹配)
rpm -ql #列出软件包所有的文件所在路径
rpm -qc #查看指定软件包的配置文件
rpm -qf #查询系统已安装的命令属于哪个软件包 (文件)
6.RPM包小结
1.如何查询 util-linux 软件包安装了哪些文件? rpm -ql util-linux
2.如何查询 mkdir 命令是由哪个 RPM 软件包安装的? rpm -qf /usr/bin/mkdir
3.安装 .rpm 软件包时,-i、-U、选项有何区别? -i是安装 -U是升级
2.YUM基本介绍
1.什么是YUM
Yum是RedHat以及CentOS中的软件包管理器。能够通过互联网下载 .rpm 包并且安装,并可以自动处理依赖性关系,无须繁琐地一次次下载、安装。
2.YUM源是什么
1要成功的使用 YUM 工具安装更新软件或系统,就需要有一个包含各种 rpm 软件包的repository(软件仓库),这个软件仓库我们习惯称为 yum 源。
配置仓库
1.vim 手动编写.repo文件
2.wget下载已编写好的.repo文件
3.安装 zabbix-release软件. 会释放一个.repo文件至/etc/yum.repos.d/目录
如果在安装软件时,提示没有该软件
1.软件名写错了
2.当前系统仓库中搜索不到该软件
3.yum的基本使用、安装、卸载、升级、查询等操作
安装
[root@oldboy ~]# yum install sl -y
[root@oldboy ~]# yum install vim wget unzip tree lrzsz -y
#本地安装 localinstall 当安装本地软件包时,本地软件包如果有依赖,则自动通过本地仓库搜索软件包依赖进行安装. 如果搜索不到? 报错
# yum localinstall xxxx.rpm
升级
[root@oldboy ~]# yum check-updates #查看系统中哪些软件包可以更新
[root@oldboy ~]# yum update openssl 升级已安装的软件包
#适合刚装完系统使用
[root@oldboy ~]# yum update
卸载(不要随便使用)
[root@oldboy ~]# yum remove samba -y
查询
[root@oldboy ~]# yum list #列出所有的已安装和未安装的软件包
[root@oldboy ~]# yum list installed #列出系统中已成功安装的软件包
yum provides 查询未安装的命令的安装包的名字