day16-rpm与yum
1、什么是rpm,rpm软件包的组成部分有哪些?
redhat packages manager 红帽推出软件包管理工具
rpm工具 xxxxx.rpm
bash-4.2.46-28.el7.x86_64.rpm
2、如何获取rpm软件包,本地获取,联网获取
本地光盘ISO数量有限版本过低适合刚开始接触
联网获取 很多地方都可以获取到软件包 版本较新
3、除了rpm安装软件以外是否还有其他方式安装软件
1565764651782.png
4、rpm软件安装、依赖、升级、卸载、查询等操作
安装
-i #安装软件包
-v #显示过程
-h #显示进度条
[root@wzz ~]#mount /dev/cdrom /mnt
[root@wzz ~]#rpm -ivh /mnt/Packages/tree-1.6.0.10/el7.x86_64.rpm
依赖
A依赖B依赖C依赖D依赖,所以需要安装依赖包
升级
#直接安装联网的软件包
[root@wzz ~]#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@wzz ~]#rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/4.2/rhel/7 /x86_64/zabbix-agent-4.2.5-1.el7.x86_64.rpm
卸载
[root@wzz ~]# rpm -e 软件包 #卸载无法删除依赖的问题
查询
rpm -q #查询系统中是否已经安装过该软件
rpm -qa #列出所有已安装的软件包(可以使用grep进行模糊匹配)
rpm -ql #列出软件所有的文件所在路径
rpm -qc #查询软件包的配置文件
rpm -qf #查询系统已安装的命令属于哪个软件包(文件)
ps:1.如何查询util-linux软件包安装了哪些文件?
[root@wzz ~]#rpm -ql util-linux
2.如何查询mkdir命令是由哪个rpm软件包安装的?
[root@wzz ~]#*rpm -qf
/usr/bin/mkdir
3.安装.rpm软件包时,-i 、 -U选项有何区别?
-i是安装 -U是升级
5、什么是yum源? 什么yum是仓库?
yum源是:软件包管理器,能自动处理依赖关系
yum仓库:源就可以说就是仓库
配置仓库
1.vim手动编写.repo文件
2.wget下载以编写好的.repo文件
3.安装zabbix-release软件,会释放一个.repo文件至/etc/yum.repos.d/目录
ps:如果在安装软件时,提示没有该软件
1.软件名写错
2.当前系统仓库中搜索不到该文件
1565767599187.png
6、yum的基本使用、安装、卸载、升级、查询操作?
安装
[root@wzz ~]#yum install sl -y
[root@wzz ~]#yum install vim wget unzip tree lrzsz -y
#当安装本地localinstall软件包时,如果出现依赖,则自行搜索本地仓库安装相应软件,如果没有则会报错。
[root@wzz ~]# yum localinstall xxxxx.rpm
升级
[root@wzz ~]#yum check-updates #查看系统中哪些软件包可以更新
[root@wzz ~]#yum update openssl #升级已安装的软件包
ps:适合刚装完系统使用
[root@wzz ~]# yum update -y && reboot
卸载
[root@wzz ~]# yum rmove samba -y
查询
[root@wzz ~]#yum list 列出所有的已安装和未安装的软件包
[root@wzz ~]#yum list installed #列出系统中已成功安装的软件包
7、小结
#1.什么是rpm包,什么是rpm工具?
linux系统只有rpm包 源码包 二进制包
rpm包可以通过工具来安装rpm工具
rpm工具实现安装、升级、卸载、查询
#2、rpm工具最大的问题?
无法解决依赖问题
无法同时安装N多个软件包
#3、yum工具能自动解决依赖问题
yum仓库需要在系统中配置/etc/yum.repos.d/xx.repo文件进行指定
yum 实现安装、升级、卸载、查询