构建本地Yum源服务器

YUM概述
YUM是YUP工具的改进版,YUM主要用于自动升级,安装/移除RPM软件包,它能够自动查找并解决RPM包之间的依赖关系,而无需管理员逐个,手工的去安装每一个RPM包,使管理员知啊维护大量的Linux主机时更加轻松自如。

要成功使用YUM工具更新系统和软件,需要有一个包含各种RPM软件包的repository(软件仓库),提供软件仓库的服务器习惯称为“源”服务器。软件仓库可以基于HTTP,FTP协议或者本地文件目录提供服务,并收集目录中所有的RPM包的header(头部)信息组成repodata(仓库数据),以供YUM客户端工具查询分析。

构建本地YUM源服务器
通过从DVD光盘,YUM客户端缓存目录(/var/cache/yum/)以及Internet下载等途径获取需要的RPM包,可以组建基于本地文件系统的RPM软件包仓库。

主要步骤推荐:

本例中使用CentOS6.2安装光盘中的软件包组成软件仓库,并结合VSFTPD服务,提供基于FTP方式的简易YUM源。

一.安装vsftpd,createrepo软件包
(createrepo)工具主要用于收集目录中RPM包文件的头信息,以创建repodata软件仓库数据(经gzip压缩的xml文件)。

挂载CentOS6.2光盘到/mnt目录中

[root@11gR2-t2 ~]# mount /dev/cdrom /mnt/
 

切换到光盘中的“Packages/”目录中

[root@11gR2-t2 ~]# cd /mnt/Packages/

安装vsftpd和createrepo软件包

[root@11gR2-t2 Packages]# rpm -ivh vsftpd-2.2.2-6.el6_0.1.x86_64.rpm

[root@11gR2-t2 Packages]# rpm -ivh deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm

[root@11gR2-t2 Packages]# rpm -ivh Python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm

[root@11gR2-t2 Packages]# rpm -ivh createrepo-0.9.8-4.el6.noarch.rpm
 

安装后进行查看验证

[root@11gR2-t2 Packages]# rpm -q  vsftpd createrepo

vsftpd-2.2.2-6.el6_0.1.x86_64

createrepo-0.9.8-4.el6.noarch
 

二.准备软件库目录
新建目录

[root@11gR2-t2 Packages]# mkdir -p/var/ftp/pub/CentOS-6.2

将光盘中的内容拷贝到新建的rhel5目录中

[root@11gR2-t2 Packages]# cp -prf /mnt/*/var/ftp/pub/CentOS-6.2

切换到rhel5目录中进行查看主要的目录结构

[root@11gR2-t2 CentOS-6.2]# ll | grep ^d

drwxr-xr-x. 3 root root  4096 Dec 11 07:38 EFI

drwxr-xr-x. 3 root root  4096 Dec 11 07:38 images

drwxr-xr-x. 2 root root  4096 Dec 11 07:36 isolinux

drwx------. 2 root root 110592 Mar 22 18:20 Packages
 

三.创建repository仓库信息文件
在各个软件包目录中分别执行createrepo命令,生成当前目录下的repodata数据。使用“-g”选项可以指定用于创建组信息的xml文件模板。

[root@11gR2-t2 repodata]# cd /mnt/repodata/

[root@11gR2-t2 repodata]# ll *comps.xml

-rw-r--r--. 1 root root 1101220 Dec 16 10:46 3a27232698a261aa4022fd270797a3006aa8b8a346cbd6a31fae1466c724d098-c6-x86_64-comps.xml

[root@11gR2-t2 repodata]# createrepo -g /mnt/repodata/3a27232698a261aa4022fd270797a3006aa8b8a346cbd6a31fae1466c724d098-c6-x86_64-comps.xml /var/ftp/pub/CentOS-6.2/
 

清除旧的数据文件

yum-arch -l/var/ftp/pub/CentOS-6.2/

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/74303cc5fccdff08f6c86128ae02d090.html