大家好!我是书记,今天给大家带来的是YUM服务器的配置方法:
首先,我们现在做一个简单的概述
 Yum(Yellow dog updater ,modified)是在Fedora(功能强大的社区版本)中的SheLL前端软件包管理器,而且是基于RPM包管理,能够从自定义的服务器中自动的下载RPM包且安装,最大的亮点就是可以自动的处理软件包之间的依赖关系,可以一次性的安装所有依赖的软件包。(通过RPM包管理器可以处理大部分的包依赖关系,但是很繁琐,费时)要成功的使用Yum工具更新系统和软件,需要有一个包含各种RPM软件包的repository(软件仓库),这个仓库我们习惯上称之为“源”服务器。软件仓库可以是基于HTTP,ftp协议或者是本地文件服务器提供服务的,并且收集目录中所有的RPM包的头部信息组成了repodata(仓库数据),提供给YUM客户端查询和分析。
特点:本地YUM源服务器在于局域网中的快速网络连接和稳定性,有个本地的YUM源服务器即使在Internet连接中断的情况下,与不会影响其他YUM客户端的软件的升级和安装。
YUM服务器配置详解:
Server:
一,安装FTP服务(软件包来源是通过光盘介质)
[root@server ~]# mount /dev/cdrom /mnt/
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@server ~]# rpm -ivh /mnt/Server/vsftpd-2.0.5-16.el5.i386.rpm
warning: /mnt/Server/vsftpd-2.0.5-16.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing...                 ########################################### [100%]
   1:vsftpd                 ########################################### [100%]
[root@server ~]# service vsftpd start
为 vsftpd 启动 vsftpd:                                    
[root@server ~]# chkconfig vsftpd on
 
二,允许匿名用户上传
对于匿名用户的上传功能,不单要修改配置文件,而且还有队匿名目录赋予写的权限,或者指定匿名用户的属主位ftp
第一步:
#vi /etc/vsftpd/vsftpd.conf
//在配置文件中添加一行内容
anon_upload_enable=YES,让后重启服务器 /etc/init.d/vsftpd reload
第二步:
Chown ftp /var/ftp/pub ; chown o+w /var/ftp/pub ;chown 757 /var/ftp/pub
以上的三种方式都是可以的。
 
 
三,拷贝软件包,生成软件包仓库(repository)
[root@server ~]# cp -r /mnt/Server/ /var/ftp/pub/
[root@server ~]# cp -r /mnt/VT/ /var/ftp/pub/
 
四,使用createrepo 软件包生成Yum数据库
Crateprepo工具主要用于收集目录中的RPM包文件的头信息,以创建软件仓库数据(就是所谓经gzip压缩的xml文件)
安装:cd /mnt/Server ; rpm -ivh createrepo-0.4.11-3.el5.noarch.rpm
安装完成后,就可以进入软件仓库中去,生成软件仓库头信息即xml文件;
# cd /var/ftp/pub/Server
# createrepo -g /var/ftp/pub/Server/repodata/comps-rhel5-server-core.xml
/var/ftp/pub/Server/
# cd ../VT
# createrepo -g /var/ftp/pub/VT/repodata/comps-rhel5-server-core.xml
/var/ftp/pub/VT/ VT 支持了虚拟化技术。
 
 其中的-g 选项可以指定用于创建组信息的xml文件模板。其实呢,还有一个简单的命令,实现的效果是一样的。
# cd /var/ftp/pub ; # createrepo . 即可
 
服务器配置结束===================================
 
Client:
编辑目录 /etc/yum.repos.d 中的rhel-debuginfo.repo,当然我们是可以直接编辑的,或者是copy一份来做操作也是可以的,
Eg: [root@server1 ~]# cd /etc/yum.repos.d/
[root@server1 yum.repos.d]# ll
total 16
-rw-r--r-- 1 root root 127 Aug 27 11:26 exam.repo
-rw-r--r-- 1 root root 561 Mar 10 2010 rhel-debuginfo.repo
[root@server1 yum.repos.d]# cp rhel-debuginfo.repo shuji.repo
下面是shuji.repo文件中的内容:
[root@sina yum.repos.d]# cat shuji.repo
[rhel-lookginfo]
name=Welcome to shuji's space ! Best wishes for everyone!!!
baseurl=ftp://192.168.2.1/pub/Server
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[rhel-haorenfo]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=ftp://192.168.2.1/pub/VT
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
 
配置文件内容概述:
[ ]表示的是仓库的名字
Name 仓库的描述信息,可自定义。
Baseurl 表示的是YUM的源地址,因为是使用的FTP服务,所以路径如此。
Enabled 是否启用这个仓库,1 表示启用, 0 表示的禁用。
Gpgcheck 是否检查GPG签名(说白了,就是安装包是不是红帽官方的)
 
YUM常用的命令:
yum list –测试的命令 显示所有已经安装和可以安装的程序包
yum instll 软件包名(不用写完整的名字) eg: yum install vim*
yum remove 软件包名 (删除软件)
yum update 软件包名 (用于更新软件包,如果不加软件包的话,表示更新所有的软件包)
yum info 软件包名    显示软件包的信息;《 èyum list 软件包
yum search 软件包名     表示查找软件包
注意:yum 会把下载的软件包和头部信息存储在缓存中,而不会自动的删除,时间久了会占用了磁盘的空间,我们可以通过yum clearn 命令进行清除。
Yum clean headers ; yum clean packages;
以上的两个 命令分别清除了头部信息,和下载的RPM包
个人比较喜欢用的一条命令分享一下:

yum clean all 清除header 和 RPM包,方便简单高效,这也是技术人员追求,呵呵!好了,到此就结束了