what?

YUM是一种在linux系统中安装软件的方式。

why?

YUM安装软件时可自动考虑软件包的依赖关系,不需要手动安装所需依赖包,使用起来比rpm更加方便,同时也可以实现大量软件的安装部署,所以我们要学会如何部署和使用YUM软件仓库。

where?

YUM软件仓库分为三种方式

  • 本地服务, file:///

  • http服务, http://

  • ftp服务, ftp://

how?

YUM服务器用来提供软件包(rpm包),同时需要提供仓库数据(Repodata),其中收集了所有rpm包的包头信息。

       RHEL6.5及以上的安装光盘已经提供好了仓库数据,因此只需要将光盘中的内容拷贝到指定目录就可以了。


  • 本地服务

1,挂载光盘镜像到/media下

wKiom1djayix1NmOAABZzEDxirg355.jpg

2,删除原有的yum配置文件

wKioL1djbIPCKtTPAAAivq9Zmu4161.jpg

3,创建新的yum配置文件        //名字自定义,但是要以.repo结尾

wKiom1dja_viBGCWAAAnycUMvis719.jpg

wKiom1djc_zjgbkyAACeArBwAEU220.jpg

4,使用yum update命令测试

wKioL1djdbLDooLTAAEEI4JmaNs482.jpg

5,使用yum -y install 软件名 即可安装软件


  • ftp服务

一,YUM仓库端的配置

1,在yum仓库服务器上安装vsftpd

wKioL1djkW-SuNXJAAEcd4PH8vg256.jpg

2,在/var/ftp/创建一个目录用于存放仓库源

wKioL1djkiXToV4tAABGGeUbIBA251.jpg

3,使用createrepo工具来生成仓库数据文件

使用命令:createrepo  --database  /var/ftp/other(软件存放位置)

由于rhel6.5已经包含了数据文件,所以不用单独创建

4,添加防火墙规则

wKiom1djlRTipHl-AAB_IrgwDw0617.jpg


二,YUM客户端的操作

1,在yum客户端安装ftp工具

wKioL1djl37R-sebAAD30acXTcs191.jpg

注意!ftp连接服务器会报错,如下

wKiom1djl0bBHmcjAAA3WDdMVtE231.jpg

此问题是由于服务器的防火墙拦截了ftp被动连接导致

被动式连接:pasv连接的方式即客户端通过ftp的端口号和ftp服务器建立连接,形成一条链路,当需要传输数据的时候,服务器会在链路上通过pasv命令打开一个端口,告诉客户端可以通过这个端口建立连接,传输文件,防火墙设置会多一个步骤。

解决方法:修改vsftpd的配置文件并设置防火墙

wKiom1djmV7zPsxBAAAdLxO4flQ734.jpg

wKiom1djmPyC33kyAAAkyCjlqr8167.jpg

wKiom1djmf7QPE49AACDM7QVU2g448.jpg

2,删除之前的rpm文件并新建

wKioL1djnqCxNj09AABEUHz9Xxc536.jpg

wKiom1djnbqhBuwxAABAXvoAHKg111.jpg

3,测试完成


  • http服务

一,YUM仓库端的配置

1,在yum仓库服务器上安装httpd

wKioL1djoESS2Bk6AAEPsP92qEI555.jpg

2,在/var/www/创建一个目录用于存放仓库源

wKioL1djoDSCFVhbAABFNzdtTNQ985.jpg

3,修改httpd配置文件,将DocumentRoot 修改为"/var/www"

wKiom1djpvLTUrObAAAmYUTfUvw171.jpg

wKiom1djpv2wMk34AAAclb0DDy4408.jpg

4,启动httpd服务和添加防火墙规则

wKiom1djoKvyRm18AAEjd7ShP5Y479.jpg


二,YUM客户端的配置

1,删除之前的rpm文件并新建

wKioL1djnqCxNj09AABEUHz9Xxc536.jpg

wKioL1djow2DJF8eAABC-PtKAk4957.jpg


2,使用yum repolist命令测试 成功

wKioL1djqG-Q2RhYAACWs6RDdg0253.jpg