当前位置:首页 > Linux 搭建 YUM 服务器
Linux 搭建 YUM 服务器
分类: Linux2011-01-03 17:23 16716人阅读 评论(2) 收藏 举报
服务器linuxcentosserverredhatprocessing
之前写的2篇有关YUM文章: Linux yum 命令介绍
http://blog.csdn.net/tianlesoftware/archive/2009/12/28/5092720.aspx
Linux yum 安装
http://blog.csdn.net/tianlesoftware/archive/2010/03/15/5381522.aspx
YUM是Yellow dog Updater, Modified的缩写,是由Duke University所发起的计划,目的就是为了解决RPM的依赖关系的问题,方便使用者进行软件的安装、升级等等工作。在此在特别说明的是,YUM只是为了解决RPM的依赖关系的问题,而不是一种其它的软件安装模式。当然可以实现这样功能的除了YUM外,还有APT (Advanced Package Tool,是由debian所发展的一个软件管理工具)。
YUM的工作原理,在每一个 RPM软件的头(header)里面都会纪录该软件的依赖关系,那么如果可以将该头的内容纪录下来并且进行分析,可以知道每个软件在安装之前需要额外安装哪些基础软件。也就是说,在服务器上面先以分析工具将所有的RPM档案进行分析,然后将该分析纪录下来,只要在进行安装或升级时先查询该纪录的文件,就可以知道所有相关联的软件。
所以YUM的基本工作流程如下:
服务器端:在服务器上面存放了所有的RPM软件包,然后以相关的功能去分析每个RPM文件的依赖性关系,将这些数据记录成文件存放在服务器的某特定目录内。
客户端:如果需要安装某个软件时,先下载服务器上面记录的依赖性关系文件(可通过WWW或FTP方式),通过对服务器端下载的纪录数据进行分析,然后取得所有相关的软件,一次全部下载下来进行安装。
在这篇文章里,我们配置通过FTP的YUM服务器。 在RHEL的安装盘上有所有的YUM包。 我们只需要把这些YUM 软件放到硬盘上,并配置好FTP。 在客户端修改相关的YUM 参数就可以了。
一. 服务器端配置
1.1 安装FTP 服务,并配置自启动
[root@centos Server]# rpm -ivh vsftpd-2.0.5-16.el5.i386.rpm
warning: vsftpd-2.0.5-16.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:vsftpd ########################################### [100%]
[root@centos Server]# chkconfig vsftpd on [root@centos Server]# chkconfig vsftpd --list
vsftpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off [root@centos Server]# service vsftpd restart
Shutting down vsftpd: [FAILED] Starting vsftpd for vsftpd: [ OK ] [root@centos Server]#
linux FTP 的配置,在下篇文章里会做说明, 这篇只演示如何使用。
1.2 复制RPM 包
将RHEL 5光盘中的Server、VT、Cluster、ClusterStorage四个目录复制到/var/ftp/pub下。
[root@centos RHEL_5.4 i386 DVD]# du -k 253 ./Cluster/repodata 69571 ./Cluster
143 ./ClusterStorage/repodata 10300 ./ClusterStorage 10546 ./Server/repodata
2626369 ./Server 182 ./VT/repodata 47724 ./VT
8512 ./images/pxeboot 8914 ./images/xen 166766 ./images 8646 ./isolinux 2934671 .
[root@centos RHEL_5.4 i386 DVD]# cp -rf Cluster /var/ftp/pub/ [root@centos RHEL_5.4 i386 DVD]# cp -rf ClusterStorage /var/ftp/pub/ [root@centos RHEL_5.4 i386 DVD]# cp -rf VT /var/ftp/pub/ [root@centos RHEL_5.4 i386 DVD]# cp -rf Server/ /var/ftp/pub/
[root@centos pub]# pwd /var/ftp/pub
[root@centos pub]# ls
Cluster ClusterStorage Server VT [root@centos pub]# du -k 276 ./Cluster/repodata 69816 ./Cluster 10584 ./Server/repodata 2638388 ./Server
160 ./ClusterStorage/repodata 10468 ./ClusterStorage 200 ./VT/repodata 47924 ./VT 2766600 .
[root@centos pub]#
1.3. 安装createrepo包,并重建包依赖关系
createrepo包是用来生成RPM 依赖关系及分组信息的。 搭建YUM服务器,必须要重建着2个信息。
1.3.1 检查包安装情况
[root@centos Server]# rpm -q yum yum-3.2.22-20.el5.centos
[root@centos Server]# rpm -q createrepo package createrepo is not installed
[root@centos Server]# rpm -ivh createrepo-0.4.11-3.el5.noarch.rpm warning: createrepo-0.4.11-3.el5.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:createrepo ########################################### [100%]
[root@centos Server]# rpm -q createrepo createrepo-0.4.11-3.el5 [root@centos Server]#
1.3.2 重建分组及依赖关系
在RHEL 5中每个目录下的repodata目录下都有一个repomd.xml,该文件中就记录了rpm包的依赖关系,还有一个comps-rhel5-*.xml文件,这个文件主要记录分组情况,建立yum仓库时,需要先重建该文件。
[root@centos repodata]# pwd /var/ftp/pub/Server/repodata [root@centos repodata]# ls
comps-rhel5-server-core.xml filelists.xml.gz other.xml.gz primary.xml.gz repomd.xml TRANS.TBL
重建Server:
[root@centos pub]# createrepo -g
/var/ftp/pub/Server/repodata/comps-rhel5-server-core.xml /var/ftp/pub/Server/
2292/2292 - xorg-x11-xinit-1.0.2-15.el5.i386.rpm --这里有2千多个包 Saving Primary metadata Saving file lists metadata
共分享92篇相关文档