构建本地YUM源服务器

构建本地YUM源服务器
1.1 YUM概述
  YUM主要用于自动升级、安装\移除rpm软件包,它能自动查找并解决rpm包之间的依赖关系,而无需管理员逐个、手动的去安装每一个rpm包,使管理员在维护大量的linux主机时更加轻松自如。
  要成功的使用YUM工具更新系统和软件,需要有一个包含各种rpm软件包的repository(软件仓库),提供软件仓库的服务器习惯上成为“源”服务器。软件仓库可以基于HTTP、FTP协议或者本地文件目录提供服务,并收集目录中所有rpm包的header(头部)信息组成repodata(仓库数据),以供YUM客户端工具查询分析。
1.2 构建本地YUM源服务器
1.2.1为什么要构建本地源
  在linux主机中使用YUM 工具在线升级、安装软件时,往往受到网络连接速度、带宽的限制,导致软件安装耗时过长甚至失败。特别是当有大量服务器大量软件包需要升级时,更新的缓慢程序令人难以忍受。
  相比较而言,本地YUM源服务器最大优点在局域网的快速网络连接和稳定性。有了局域网中的YUM源服务器,即便在Internet连接中断的情况下,也不会影响其他YUM客户端的软件升级和安装。
1.2.2 如何构建本地源
  通过从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@localhost~]#mkdir -p /media/cdrom
[root@localhost~]#mount /dev/cdrom /media/cdrom
[root@localhost~]#cd /media/cdrom/Server/
[root@localhost Server]#rpm -ivh createrepo-0.4.4-2.fc6.noarch.rpm
[root@localhost Server]#rpm -ivh vsftpd-2.0.5-10.el.i386.rpm
  2.准备软件库目录
注意要保证/var/ftp/YUM/目录有足够的可用空间,以便存放复制的软件包。必要时可以使用单独的硬盘分区(挂载到/var/ftp/YUM/目录中)。
[root@localhost Server]#mkdir -p /var/ftp/YUM
[root@localhost Server]#cp -prf /media/cdrom/* /var/ftp/YUM
查看复制好的目录结构:Cluster、ClusterStorage、Server、VT——主要是光盘中包含rpm软件包的文件夹。
[root@localhost Server]#ls -lh /var/ftp/YUM/ | grep ^d
  3.创建repository仓库信息文件
在各个软件包目录中分别执行createrepo命令,生成当前目录下的repodata数据。使用-g选项可以指定用于创建组信息的xml文件模板。
[
root@localhost~]#cd /var/ftp/YUM/Cluster 
[root@localhost Cluster]#createrepo -g repodata/comps-rhel5-cluster.xml ./
[root@localhost Cluster]#cd /var/ftp/YUM/ClusterStorage/
[root@localhost ClusterStorage]#createrepo -g repodata/comps-rehl5-cluster-st.xml ./
[root@localhost ClusterStorage]#cd /var/ftp/YUM/Server
[root@localhost Server]#createrepo -g /repodata/comps-rhel5-sever-core.xml ./
 
[root@localhost Server]#cd /var/ftp/YUM/VT
[root@localhost VT]#createrepo -g repodata/comps-rhel5-vt.xml ./
[root@localhost VT]#rm -rf /var/ftp/YUM/*/.olddata/......清除旧的数据文件
  4.配置启动vsftpd服务(开启默认的匿名FTP服务即可)
[root@localhost~]#chkconfig --level 2345 vsftpd on
[root@localhost~]#server vsftpd start
  若FTP服务无法访问,可以重新配置启动vsftpd服务:
[root@localhost~]#vi /etc/vsftpd/vsftpd.conf
anonymous_enable=yes
local_enable=NO
write_enable=no
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
pasv_enable=YES
pasv_max_port=3200
pasv_min_port=3100
xferlog_std_format=YES
listen=YES
listen_address=192.168.0.1   //服务器IP地址
pam_service_name=vsftpd
tcp_wrappers=yes
[root@localhost~]#service vsftpd restart
1.3 使用yum工具安装软件
  最常用的YUM客户端工具是字符模式下的yum命令,在RHEL5系统中由默认安装的yum-3.0.1-5.el5软件包提供。RHEL5系统还提供了一个图形YUM工具pirut,该工具只是yum工具的一个X图形。
1.3.1 设置YUM源位置
  使用YUM源服务器之前,必须为客户端建立指定的配置文件,设置好源服务器的位置和可用目录等选项。
[root@localhost~]#cd /etc/yum.repos.d/
[root@localhost yum.repos.d]#vi rhel5-pkgs-yumsvr.repo
[Cluster]
name=Cluster Directory
baseurl=ftp://192.168.0.1/YUM/Cluster
enabled=1
gpgcheck=0
[ClusterStorage]
name=ClusterStorage Directory
baseurl=ftp://192.168.0.1/YUM/ClusterStorage
enabled=1
gpgcheck=0
[Server]
name=Server Directory
baseurl=ftp://192.168.0.1/YUM/Server
enabled=1
gpgcheck=0
[VT]
name=VT Directory
baseurl=ftp://192.168.0.1/YUM/VT
enabled=1
gpgcheck=0
[root@localhost yum.repos.d]#yum clean all    //更新缓存
1.3.2使用YUM命令
 1.使用list选项查看软件包的相关信息
[root@localhost~]#yum list updates         //查看有哪些可用于升级的软件包
[root@localhost~]#yum list installed       //查看本机已安装的软件包
[root@localhost~]#yum list available       //查看yum源中所有可用的软件包
[root@localhost~]#yum list available lynx*  //查看yum源中以lynx开头的软件包
[root@localhost~]#yum info installed bind   //查看已安装的bind软件包信息
2.软件包升级、卸载、安装
  升级、卸载、安装软件包时,系统会自动检查并解决软件包之间的依赖关系。开始各项操作前,系统会提示用户按y键进行确认,也可以加-y选项,让系统自动回答y
[root@localhost~]#yum -y update   //升级所以可用的软件包,由系统自动确认
[root@localhost~]#yum update bind  //升级bind软件包
[root@localhost~]#yum remove net-snmp-utils   //卸载net-snmp-utils软件包
[root@localhost~]#yum install lynx  //安装lynx软件包
1.3.3使用图形工具“添加删除程序”
 在RHEL5系统中,进入X-Windows图形模式以后,可用使用系统自带的“添加删除程序”工具
(pirut)进行软件包的升级、安装、卸载等管理。
 点击GNOME面板菜单组“应用程序”中的“添加删除程序”,或者运行“pirut”就可以打开该工具。运行RHEL5提供的系统配置连接“system-config-packages”也可以打开该工具。

你可能感兴趣的:(构建本地YUM源服务器)