定义:yum源是一个软件集合地,只需要搜索并安装你想要的软件。yum的全称是Yellowdog Updater Modified,是一个shell前端软件包管理器,基于RPM包管理。从指定的服务器下载RPM包并自动安装,可以自动处理依赖性关系,并且一次性安装所有依赖的软件包,无需一次次频繁的下载和安装。
本地yum源:光盘镜像里面一般会附带一些软件,这个时候就可以把光盘镜像当成本地源来安装软件。 网络yum源:例如aliyun的镜像网站,可以通过互联网下载软件并安装 。
实验大致过程: 给desktop一个安装软件的仓库,desktop才可以安装软件,先配置本地yum源只能安装官方软件 再搭建第三方仓库之后才可以安装第三方软件。 本实验是通过配置本地yum源来安装官方的软件。 实验步骤: step1.挂载光盘镜像
挂载的目的:挂载就是把光盘镜像放在一个目录下,好让系统读取镜像里的资源。
注意:选择镜像资源时一定要选择和自己系统版本匹配的镜像资源版本,可用hostnamectl 查看系统版本
1|mkdir /iso 2|scp root@172.25.254.2:/镜像路径 /iso #把真机的镜像拷贝至虚拟机的/iso目录下,便于之后的挂载 1|cd /iso 2|ls 3|cd 4|mkdir /haha 5|mount /iso/rhel-server-7.0-x86_64-dvd.iso /haha/ #挂载光盘镜像放在自定义的目录下,好让系统读取镜像里的资源 6|ls /haha/ 7|mount 1|cd /haha/Packages/ 2|ls #可以看到仓库里的官方软件安装包,说明挂载成功step2.设置系统安装源指向(指向刚才挂载的自定义的目录) 系统安装源指向实际上是一个命名以repo结尾的文件,里面存放的是本地yum源软件仓库的一些信息
1|cd /etc/yum.repos.d/ 2|ls 3|vim haha.repo 4|在文件里面添加 5|[haha] #仓库的名字 6|name=haha #对仓库的描述,可以随便写 7|baseurl=file:///haha 8|gpgcheck=0 不检测gpgkey,不让红帽检测虚拟机要下载的第三方软件是否授权。 9|enabled=1 使安装源语句生效step3.设定永久挂载 使虚拟机重启之后依然有本地yum源 编辑以下的配置文件: vim /etc/rc.d/rc.local 添加 mount /iso/rhel-server-7.3-x86_64-dvd.iso /haha
chmod 755 /etc/rc.d/rc.local
step4.检测是否配置成功
1|gpk-application #图形化安装界面 或者 2| yum install dhcp -y #-y表示执行过程中yes/no选择yes,避免之后的选择给虚拟机配置好本地yum源之后,虚拟机就可以安装红帽公司官方的软件了。
以 kolourpaint-4.10.5-4.el7.x86_64.rpm 为例:
kolourpaint软件名称4.10.5版本4.el7适用系统x86_64架构rpm适用rpm体系软件部署步骤 实验配置环境:一台虚拟机 step1.在一台已经配置好本地yum源的主机中安装httpd
yum install httpd的路径 #httpd属于官方软件,有本地yum源就可以直接安装step2.配置网络yum源 实现的条件:只有开启httpd服务,将desktop的本地yum源挂载在/var/www/html/下才能实现yum源共享,需要注意的是:desktop共享/haha/下的文件给其它主机时,必须关闭防火墙.
1|systemctl start httpd #启动apache的服务httpd 2|systemctl enable httpd #设置开机启动 3|systemctl stop firewalld #关闭火墙 4|systemctl disable firewalld #设置为开机自动关闭 5|systemct mask firewalld 6| mkdir /var/www/html/xixi #var/www/html在apache安装后会自动产生 7|mount /iso/rhel-server-7.3-x86_64-dvd.iso /var/www/html/xixi以上方法存在着一些局限性,配置的网络yum源是临时的,重启后设定就会消失
在其中写入:mount /iso/rhel-server-7.3-x86_64-dvd.iso /var/www/html/xixi 3.测试 网页搜索 ip/xixi,出现以下的目录
在另一台主机里
1|cd /etc/yum.repo.d/ 2| vim haha.repo在其中写入: [rhel7.3] name=rhel.3 baseurl=http://ip/xixi gpgcheck=0
第三方软件不可以直接yum安装的原因 因为不能识别有的第三方软件的依赖性 ,但是qq,wps(libpng12的依赖性,仓库解决了)等,例如画图软件 KolourPaint 系统解决不掉依赖性。 由于yum源软件仓库里面没有第三方软件的安装包。 只能先在官方浏览器里面下载第三方软件的安装包,然后再用yum命令安装 但是利用下载下来的第三方软件安装包安装第三方软件时要处理依赖性关系
依赖性关系就是安装软件1时会提醒你需要软件2,但安装软件2时,又提示需要安装软件1,陷入死循环。 当提示需要依赖性软件时,可以在跳过能跳过的,将不能跳过的,在浏览器中搜索rpmsearch
例如: 安装qq的软件
当我们在浏览器下载第三方软件后,有些软件在安装的时候需要处理依赖性的关系。此时无法利用yum命令进行安装。所以我们需要搭建第三方软件库,并且完成相应的配置使其可以自动地处理依赖性的关系,然后就可以使用yum命令来安装相应的软件。
实验的目的 让虚拟机在安装有依赖性的第三方软件时,可以直接使用yum命令进行安装 实验的步骤 step1把需要安装的东西放到一个目录底下,例如创建一个software目录,放入其中 step2
1| createrepo -v /software可以观察到software目录下出现repodata step3 在本地yum源仓库指向的文件里添加第三方软件仓库的指向信息。也可以新建一个repo文件,不过/etc/yum.repo.d/目录下的repo文件都必须可用 step4 查看依赖性的关系 cd /software/repodata/
step5
1| yum install kolourpaint.x86_64总结: 当执行完createrepo之后,/software升级为软件仓库了 生成的repodata目录中有primary.xml文件,文件中有软件的元数据,数据中有软件的依赖性
注意:共享第三方软件
把/software传入到其他机器的/var/www/html目录下