教你配置yum局域网本地源

发布时间:2020-10-10编辑:脚本学堂
由于网络速度等原因,CentOS中的yum源,以及RHEL使用CentOS的yum源作为升级源,都会占用太多的时间。为解决上述问题,特制作yum局域网内的升级源。

一、yum本地源
由于网络速度等原因,centos中的yum源,以及RHEL使用CentOS的yum源作为升级源,都会占用太多的时间。
也有人会用光盘作为本地的yum源,但是每次将光盘传到服务器上挂载也是比较麻烦的。
为解决上述问题,特制作yum局域网内的升级源。有需要的朋友可以参考下。

二、Yum简介原理
yum 是 yellowdog updater modified 的缩写。yellowdog 是一个 linux 的 distribution(分布),RH 将这种升级技术利用到自己的 distribution 形成了现在的 yum。

yum 的理念是使用一个中心仓库(repository)管理一部分甚至一个 distribution 的应用程序相互关系,根据计算出来的软件依赖关系进行相关的升级、安装、删除等等操作,减少了 Linux 用户一直头痛的 dependencies 的问题。

一般这类软件通过一个或者多个配置文件描述对应的 repository 的网络地址,通过 http 或者 ftp 协议在需要的时候从 repository 获得必要的信息,下载相关的软件包。这样,本地用户通过建立不同的repository 的描述说明,在有 Internet 连接时就能方便进行系统的升级维护工作。

repository 是用 yum-arch 或者 createrepo 命令创建的,也可以用别人已有的 repository 作为镜像,这里部探讨如何建立一个 repository。

三、所需软件
createrepo.noarch --- 用于生成repodata 数据库,生成依赖性关系
vsftpd --- 用户提供局域网的FTP服务

四、安装createrepo和vsftpd并配置FTP服务器

1、安装
rpm -ivh createrepo-0.4.11-3.el5.noarch.rpm
rpm -ivh vsftpd-2.0.5-16.el5_4.1.i386.rpm
上面的软件包在光盘或者是网上都有,可以直接下载使用。

2、配置
vsftp的匿名用户为linux系统的ftp用户,可以修改/etc/passwd,将ftp用户的home目录从/var/ftp更改为你的目标路径。这里改为/usr/ISO
启动vsftp:service vsftpd start;chkconfig vsftp -lists 35 on
注意:注意修改/usr/ISO的目前权限。

有关vsftpd虚拟用户的配置,请参考如下文章:
vsftpd虚拟用户创建实例
vsftpd配置虚拟用户无法登录(530 Login incorrect)的解决方法
vsftpd虚拟用户配置的总结
CentOS 5.3建立Vsftpd虚拟用户
CentOS6.2 x64 下 配置vsftpd虚拟用户服务器
vsftpd下创建虚拟用户的方法
vsftpd+pam创建虚拟用户登录FTP服务器
vsftpd+mysql 虚拟用户认证配置实例
vsftp 虚拟用户高级设置

五、生成yum源
1、CentOS
挂载镜像文件:mount -o loop /usr/linuxiso/CentOS-5.5-x86_64-bin-DVD.iso /mnt/
复制镜像文件:cp -r /mnt/* /usr/ISO/5-64/CentOS/
注意:因为centos的光盘中默认有repodata这个目录和下面的文件了,因此这里不需要再生成了。

2、RHEL
挂载镜像文件:mount -o loop rhel-server-5.5-x86_64-dvd.iso /mnt1
复制镜像文件:cp -r /mnt1/* /usr/ISO/5-64/RHEL/

生成repodata:
#cd /usr/ISO/5-64/RHEL/
#createrepo .

默认就会在/usr/ISO/5-64/RHEL/中生成repodata,下面有filelists.xml.gz other.xml.gz primary.xml.gz repomd.xml四个文件。
对于其他光盘也可以采用类似的方式实现,这里不再赘述。

3、对局域网内yum的解释和说明
ftp://192.168.5.118/4-32/CentOS --centos 4 32位的升级源
ftp://192.168.5.118/4-32/RHEL --RHEL 4 32 位的升级源
ftp://192.168.5.118/5-32/CentOS --centos 5 32位的升级源
ftp://192.168.5.118/5-32/RHEL --RHEL 5 32 位的升级源
ftp://192.168.5.118/4-64/CentOS --centos 4 64位的升级源
ftp://192.168.5.118/4-64/RHEL --RHEL 4 64 位的升级源
ftp://192.168.5.118/5-64/CentOS --centos 5 64位的升级源
ftp://192.168.5.118/5-64/RHEL --RHEL 5 64 位的升级源

六、客户端的配置

1、安装yum包
这里不在赘述,对centos默认安装就有,但是对于RHEL的,请在网上下载相应的yum套装进行安装。

2、配置客户端
 

复制代码 代码如下:
#rm -rf /etc/yum.repos.d/* ---清楚/etc/yum.repos.d/下面的文件
#vi /etc/yum.repos.d/yum-Media.repo 添加以下内容
[c4-media]
name=RHEL4 - Media
baseurl=ftp://192.168.5.118/4-32/RHEL
gpgcheck=0
enabled=1
gpgkey=ftp://192.168.5.118/4-32/RHEL/RPM-GPG-KEY
#yum clean all

此后,即可以轻松使用yum进行升级了。

注意:系统的yum配置文件,请根据自己系统的版本,在 五-3 中选择自己的升级源。

3、对以上配置文件的注释
[c4-media]
name=RHEL-4 - Media

# 192.168.5.118是Yum源地址
baseurl=ftp://192.168.5.118/4-32/RHEL

# 是否开启源
enabled=1

#是否验证. 可不要
gpgcheck=1

#验证的密钥. 可不要
gpgkey=ftp://192.168.5.118/4-32/RHEL/RPM-GPG-KEY