构建本地YUM源服务器
如何构建本地源
通过从 DVD 光盘、YUM 客户端缓存目录(/var/cache/yum/)以及 Internet 下载等途径获取需
要的 rpm 包,可以组建基于本地文件系统的 rpm 软件包仓库.进一步结合使用 HTTP 或 FTP 协议
的服务软件,即可构建一个位于本地局域网的高速 YUM"源"服务器.
本例中使用 RHEL5 安装光盘(DVD)中的软件包组成软件仓库,并结合 VSFTPD 服务,提
供基于 FTP 方式的简易 YUM 源.实现的主要步骤如下.
1. 安装 vsftpd、createrepo 软件包
createrepo 工具主要用于收集目录中 rpm 包文件的头信息,以创建 repodata 软件仓库数
据(经 gzip 压缩的 xml 文件).
[root@yumserver ~]# mkdir -p /media/cdrom
[root@yumserver ~]# mount /dev/cdrom /media/cdrom
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@yumserver ~]# cd /media/cdrom/Server/
[root@yumserver Server]# rpm -ivh createrepo-0.4.4-2.fc6.noarch.rpm
vsftpd-2.0.5-10.el5.i386.rpm
warning: createrepo-0.4.4-2.fc6.noarch.rpm: Header V3 DSA signature: NOKEY, key ID
37017186
Preparing...########################################### [100%]
1:vsftpd########################################### [ 50%]
2:createrepo########################################### [100%]
2. 准备软件库目录
注意要保证/var/ftp/rhel5 目录有足够的可用空间(在本例中最好大于 3GB),以便存放复
制的软件包.必要时可以使用单独的硬盘分区(挂载到/var/ftp/rhel5 目录中).
[root@yumserver Server]# mkdir -p /var/ftp/rhel5/
[root@yumserver Server]# cp -prf /media/cdrom/* /var/ftp/rhel5/
查看复制好的目录结构:Cluster、ClusterStorage、Server、VT——主要是光盘中包含 rpm
软件包的几个文件夹).
[root@yumserver Server]# ls -lh /var/ftp/rhel5/ | grep ^d
drwxr-xr-x 3 root root 6.0K 2007-03-18 Cluster
drwxr-xr-x 3 root root 6.0K 2007-03-18 ClusterStorage
drwxr-xr-x 4 root root 2.0K 2007-03-18 images
drwxr-xr-x 2 root root 2.0K 2007-03-18 isolinux
drwxr-xr-x 3 root root 330K 2007-03-18 Server
drwxr-xr-x 3 root root 6.0K 2007-03-18 VT
3. 创建 repository 仓库信息文件
在各个软件包目录中分别执行 createrepo 命令,生成当前目录下的 repodata 数据.使用
-g 选项可以指定用于创建组信息的 xml 文件模板.
[root@yumserver ~]# cd /var/ftp/rhel5/Cluster/
[root@yumserver Cluster]# createrepo -g repodata/comps-rhel5-cluster.xml ./
[root@yumserver Cluster]# cd /var/ftp/rhel5/ClusterStorage/
[root@yumserver ClusterStorage]# createrepo -g repodata/comps-rhel5-cluster-st.xml ./
[root@yumserver ClusterStorage]# cd /var/ftp/rhel5/Server/
[root@yumserver Server]# createrepo -g repodata/comps-rhel5-server-core.xml ./
[root@yumserver Server]# cd /var/ftp/rhel5/VT/
[root@yumserver VT]# createrepo -g repodata/comps-rhel5-vt.xml ./
[root@yumserver VT]# rm -rf /var/ftp/rhel5/*/.olddata/ //清除旧的数据文件
4. 配置启动 vsftpd 服务(开启默认的匿名 FTP 服务即可)
[root@yumserver ~]# chkconfig --level 2345 vsftpd on
[root@yumserver ~]# service vsftpd start
若 FTP 服务无法访问,请参考以下配置重新启动 vsftpd 服务:
[root@yumserver ~]# vi /etc/vsftpd/vsftpd.conf
anonymous_enable=yes
lo |