yum命令只能操控linux系统里已经认证过的软件,不能安装第三方软件,rpm命令可以手动安装第三方软件,就是需要解决很多依赖关系,要与yum命令相互配合,十分麻烦,还有可能出错,此时搭建个第三方仓库就可以用yum直接操作,它会自动解决依赖关系,不需要手动一个一个解决。
想要使用yum命令就要先有yum源
1.什么是yum源
yum源就是一个软件集合地,你只需要搜索并安装你想要的软件,它会帮你解决大部分软件的依赖问题 本地
yum源:比如说光盘里面一般会附带一些软件,这个时候就可以把光盘当成本地源来安装软件
网络yum源:比如说aliyun的镜像网站,这就属于网络源,可以通过互联网把软件下载下来并安装 yum的
全称是yellow dog updater,modified,是一个shell前端软件包管理器,基于RPM包管理 能够从指定
的服务器下载RPM包并自动安装,可以自动处理依赖性关系 并且一次性安装所有依赖的软件包。
2.搭建本地yum源
在新建的快照里面做实验
1.先把主机里的镜像文件传送到快照里面去
发现存储空间不足,所以用光驱挂载(挂在时挂载的主机一定要关机)
导入镜像,光盘设备
设置好后,快照桌面会显示以下图片
2.挂载镜像
先在根目录下建立一个westos目录,将镜像挂载到/westos下
永久挂载
vim /etc/rc.d/rc.local
在系统开机时自动执行此脚本
3.编辑yum源配置文件
在/etc/yum.repos.d/下放的就是yum源的设定文件
设定一个文件,必须以repo结尾
在这个文件里写入以下内容
命令 | 含义 |
---|---|
[westos] | 软件仓库名字 |
name=westos | 对仓库的描述,可以随便写 |
baseurl=file:///westos | 前面可以写file(本机路径)也可以写http(网络路径),安装源;来自/westos |
gpgcheck=0 | 不检测gpgkey |
enabled=1 | 使语句块生效 |
检测:看在浏览器里能不能搜到本机路径
安装dhcp软件包
成功!本地yum源搭建完毕
3.yum命令
命令 | 含义 |
---|---|
yum clean all | 清除原有yum缓存 |
yum repolist | 列出仓库信息 |
yum install software | 安装软件 |
yum update | 更新(尽量不要用) |
yum list software | 查看软件 |
yum list all | 查看所有软件 |
yum list installed | 列出已安装软件 |
yum list available | 列出可安装软件 |
yum reinstall software | 重新安装 |
yum remove software | 卸载 |
yum search software | 根据软件信息查找软件 |
yum whatprovides file | 根据文件找出包含此文件的软件 |
yum history | 查看系统中管理的历史 |
yum history info id | 查看此id的软件管理历史操作 |
yum groups list | 列出软件组 |
yum groups info | 查看软件组的信息 |
可以根据以上命令对软件做相应操作
例:查看所有软件
yum list all
如果不小心删除了一个功能,用yum whatprovides file找出寒此文件的软件
删除ls命令,删除后ls不可用
然后用命令找出含ls功能的软件
然后用yum reinstall software 重新安装
4.共享yum源的搭建
共享型yum源就是你在一台主机上搭建好yum源,别人可以访问并且使用(使用的话要在本地yum源的设定文件里,将查找软件路径写成网络路径,也就是共享型yum源的路径)
共享型yum源的实现,需要http服务开启,防火墙关闭。
http服务:超文本传输协议。
作用:通过网络访问主机的文件
安装httpd目的:共享yum源
例:1.在本地有yum源的快照node1上安装并启动http服务
2.进入共享目录(/var/www/html),挂载镜像(之后又在这里建立了一个目录westos1,为了区分本地yum源,下面这个图不对,把westos改为westos1)
永久挂载(为例防止下次开机后又找不到yum源了)
3.关闭防火墙
在另一台主机node2上用火狐看能搜到这个yum源
5.rpm命令
rpm命令安装第三方软件,可以与yum命令相互配合,手动解决依赖性
命令 | 含义 |
---|---|
rpm -i | 安装 |
rpm -v | 显示过程 |
rpm -h | hash加密 |
rpm -e | 卸载 |
rpm -q | 查看 |
rpm -ql | 查看软件在系统中的安装文件路径 |
rpm -qlp | 查看未安装的软件包在系统中如果安装后产生文件的路径 |
rpm -p | 软件包 |
rpm -a | 所有 |
rpm -qf | 根据某个文件找出此文件属于哪个安装包 |
rpm -qc | 查看软件的配置文件名称 |
rpm -qd | 查看软件的说明 |
rpm --scritps | 查看脚本 |
rpm --nodeps | 安装软件忽略软件依赖 |
rpm --force | 强行安装软件 |
可以用上面的命令对安装包进行操作
例安装wps
安装失败,因为wps对其他软件有依赖性,需要先装其他软件。
用rpm -iv 软件包 --nodeps命令,在安装时忽略依赖性
虽然安装上了,但由于没有解决依赖性的问题,所以软件不能正常运行,要用yum命令解决这个依赖性。因为上面说安装wps对libpng12.so.0有依赖性,所以先找到它,然后安装这个软件
选黑色部分,因为系统是64位的,然后安装
此时wps就能正常使用了
值得一提的是有时候,安装软件A就要提前安装软件B,但想要安装软件B就先要安装软件A,所以就陷入了死循环,此时想要手动解决依赖关系就用rpm -iv 软件包 --nodeps命令,先忽略依赖性安装一个,然后就可以安装令一个,然后就解决死循环问题了。
安装wps,解决依赖性还是最简单的,有的软件需要解决很多的依赖性,手动解决又麻烦又容易出错,十分不方便,此时就需要第三方软件库了。
6.第三方软件库的搭建
为什么yum可以自动解决依赖性问题,因为本地的软件包都有它的信息,被记录在westos里的repodata里
在安装本地yum源里的软件时可以读取里面的信息,解决依赖性问题
搭建第三方软件库就肯定要有第三方软件
先在真机上把下载好的安装包发送到快照node1上,(在node1上先建立/software目录,将所有安装包都放到这个目录底下)
在传送过程中发现出现了上面的错误,就找到那个提示的那个文件,把上面标示的哪一行删除,再次传送就好了。
软件包名称释义:
kolourpaint-4.10.5-5.el7.x86_64.rpm
[1] [2] [3] [4] [5]
[1]:软件名称
[2]:版本
[3]:使用系统
[4]:架构
[5]:适用rpm体系软件
用createrepo -v 命令生成/software的数据信息
查看目录下已经生成了repodate
进入yum源的设定文件里编辑
检测:
检测到了第三方软件,搭建第三方软件库成功!