基于http配置yum网络源

YUM 光盘源默认只能本机使用,局域网其他服务器无法使用 YUM 光盘源,如果想 使用的话,需要在每台服务器上构建 YUM 本地源,该方案在企业中不可取,所以需要构 建 HTTP 局域网 YUM 源解决,可以通过 CreateRepo 创建本地 YUM 源端,repo 即为 Repository。

构建 HTTP 局域网 YUM 源方法及步骤如下:

1、 挂载光盘镜像文件至/mnt (挂载路径可根据需要自己选择),执行命令如下:

mount  /dev/cdrom  /mnt/cdrom

2、 本地 YUM 源通过 CreateRepo 搭建完毕,需要借助 HTTP WEB 服务器发布 /var/www/html/centos/中所有软件,YUM 或者 RPM 安装 HTTP WEB 服务器,并启 动 httpd 服务。 (不一定是httpd,nginx也可以的) ,安装httpd服务器,可直接执行命令如下:

yum -y install httpd
useradd apache -g apache
systemctl start httpd

3、apache默认安装的目录为/var/www/html,在此目录下创建文件夹centos(目录可根据需要自定义设置),然后拷贝/mnt/Packages 目录下所有软件包至/var/www/html/centos/

cp -a  /mnt/Packages/*    /var/www/html/centos

4、 使用 Createrepo 创建本地源,执行如下命令会在 Centos 目录生成 repodata,如下:

yum -y install  createrepo*          //先安装createrepo
cd  /var/www/html/centos/            //进入创建的目录
createrepo    .                     //创建本地源

此时通过ip地址加后缀centos访问可以看到软件源信息,如图:

5、接下来在同一局域网中其他机器配置yum源,并测试使用,首先进入目录/etc/yum.repos.d/目录中,删除其余的repo文件,命令如下:

cd /etc/yum.repos.d   &&   rm -rf  ./*

6、编辑文件vim httpd.repo ,输入内容如下:

7、编辑完成后测试是否可以正常下载软件,可以正常使用,如图:

8、测试安装软件,如图:

yum源端软件包扩展

默认使用 ISO 镜像文件中的软件包构建的 HTTP YUM 源,会发现缺少很多软件包, 如果服务器需要挂载移动硬盘,Mount 挂载移动硬盘需要 ntfs-3g 软件包支持,而本地 光盘镜像中没有该软件包,此时需要往 YUM 源端添加 ntfs-3g 软件包,添加方法如下:

1、通过网络下载ntfs-3g的rpm包,下载后将其移动到/var/www/html/centos目录中

2、进入到/var/www/html/centos目录中,通过createrepo更新软件包,命令如下:

createrepo  --update  .      //更新软件包,注意有一个.表示当前目录,update前面两个"-"

3、在其他机器上先清楚缓存,然后在通过命令安装即可,如下命令:

yum  clean all
yum -y  install ntfs-3g

注意:如果有其他的rpm包需要扩展都可以通过此方式进行更新(createrepo –update 目录)

同步外网yum源软件包到本地

在企业实际应用场景中,仅仅靠光盘里面的 RPM 软件包是不能满足需要,我们可以 把外网的 YUM 源中的所有软件包同步至本地,可以完善本地 YUM 源的软件包数量及完整性。

获取外网 YUM 源软件常见方法包括 Rsync、Wget、Reposync,三种同步方法的 区别 Rsync 方式需要外网 YUM 源支持 RSYNC 协议,Wget 可以直接获取,而 Reposync 可以同步几乎所有的 YUM 源,下面以 Reporsync 为案例,同步外网 YUM 源软件至本地,步骤如下:

1、 下载 CentOS7 REPO 文件至/etc/yum.repos.d/,并安装 reposync 命令工具:

wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
mv   CentOS7-Base-163.repo   /etc/yum.repos.d/centos.repo
yum clean all
yum install yum-utils createrepo –y 
yum repolist 

2、 通过 reposync 命令工具获取外网 YUM 源所有软件包,-r 指定 repolist id,默认不加-r 表示获取外网所有 YUM 软件包,-p 参数表示指定下载软件的路径,如图:

reposync -r   base   -p    /var/www/html/centos
reposync -r  updates -p   /var/www/html/centos

3、更新完安装包后,需要通过createrepo更新本地yum库,执行命令如下:

createrepo --update   /var/www/html/centos

标签