yum服务器安装和客户端配置(Redhat5)

近期使用Linux系统较多,在进行软件的安装部署时,经常提示无法找到依赖包,很是麻烦,因此一直想找到一种方式解决此问题。

用过yum软件包管理器的人都知道,Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE、CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

yum软件包的工作模式是依存于网络的,但测评中心的网络安全设置过为严格,无法访问互联网,因此网络中的yum源也就无法被使用,所以架设本地的yum服务器势在必行。

此文档主要由三个部分来讲述服务端和客户端的架设,我所介绍的yum安装方法为简易的架设,可能有些高级功能无法实现,但软件安装完全功能不会受到影响。

本地yum服务器安装

我所架设的yum服务器是利用ftp方式实现网络共享的,因此需要以下两种软件。

l vsftpd2.0.5-12.el5

l createrepo-0.4.4-2.fc6.noarch.rpm

 

首先安装vsftp,这个安装很简单。

rpm -ivh vsftpd-2.0.5-12.el5.i386.rpm

warning: vsftpd-2.0.5-12.el5.i386.rpm: Header V3 DSA signature: NOKEY, key    ID 37017186

Preparing...               ########################################### [100%]

vsftp安装完成后,测试安装是否成功:

service vsftpd restart

Shutting down vsftpd:                                  [  OK  ]

Starting vsftpd for vsftpd:                              [  OK  ]

确定vsftpd服务开启后,URL地址进行测试:

ftp://100.154.0.223/pub

vsftp的默认共享路径是:

/var/ftp/pub

确定了vsftp的默认共享路径,为了快速搭建yum服务器,暂时不对vsftp的路径做设置。我们需要将Redhat5光盘中Server目录下的所有文件拷贝至vsftp的默认共享目录/var/ftp/pub中,拷贝完毕后,使用URL路径ftp://100.154.0.223/pub测试是否能够查看共享的文件,如果能够查看所有rpm包,说明ftp共享成功。

 

vsftp安装成功后,接下来安装createrepo。createrepo是linux下的创建仓库的软件包。create是创建的意思,repo是repository的缩写,是仓库的意思。也可以解释为这个软件是整个rpm文件的数据库,通过读取createrepo从而获得rpm的信息。createrepo的安装也比较简单。

rpm -ivh /media/RHEL5\ i386\ DVD/Server/createrepo-0.4.11-3.el5.noarch.rpm

Preparing... ########################################### [100%]

1:createrepo ########################################### [100%]

工具安装完成后,开始创建repository信息库。

# createrepo –g /var/ftp/pub/repodata/comps-rhel5-server-core.xml /var/yum/Server/

/var/ftp/pub目录下的comps-rhel5-server-core.xml为光盘中Server目录复制过来的。

执行创建repository信息库后,运行:

createrepo -v /var/ftp/pub

开始扫描yum源并加入repository信息库。

通过以上配置,yum本地源基本配置完毕了,下面开始在yum本地服务器配置客户端并测试yum执行情况。

创建本地yum客户端的repo文件。

vi /etc/yum.repos.d/rhel5.repo

rhel.repo名字可以随便起,但是要以.repo为后缀。

 

[local]                         # yum块区域

name=aaa                      # 名字可以随便起

baseurl=ftp://100.154.0.70/pub  # 搜索路径,必须指向你本机的yum源路径

gpgcheck=0                                # gpgcheckgpg验证是否开启的选项,1是开启,                                                             0是不开启,一般情况可以关掉

enabled=1                                  # 0为不启用,1为启用,若没这一项,就是启用)

创建完成后,需要对创建的yum源服务器和客户端配置进行测试,我将使用yum的方式安装httpd服务,具体如下:

[root@back Server]# yum install -y httpd

Loaded plugins: rhnplugin, security

This system is not registered with RHN.

RHN support will be disabled.

Setting up Install Process

Parsing package install arguments

Resolving Dependencies

--> Running transaction check

---> Package httpd.i386 0:2.2.3-22.el5 set to be updated

--> Finished Dependency Resolution

Dependencies Resolved

===================================================================

Package        Arch           Version                 Repository        Size

===================================================================

Installing:

 httpd           i386           2.2.3-22.el5            Server           1.2 M

Transaction Summary

===================================================================

Install     1 Package(s)

Update      0 Package(s)

Remove      0 Package(s)

Total download size: 1.2 M

Downloading Packages:

httpd-2.2.3-22.el5.i386.rpm                             | 1.2 MB     00:00

Running rpm_check_debug

Running Transaction Test

Finished Transaction Test

Transaction Test Succeeded

Running Transaction

Installing    : httpd                                             [1/1]

Installed: httpd.i386 0:2.2.3-22.el5

Complete!

httpd安装完成,检验一下httpd服务是否安装成功。

[root@back Server]# service httpd restart

Stopping httpd:                                           [FAILED]

Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName              [  OK  ]

安装成功,通过URL来测试一下。

 

如果看到Apache的测试页面,证明httpd服务安装成功。

yum客户端配置

刚才所配置的都是在yum服务器的本地进行测试的,但yum的精髓所在就是通过网络方便的进行软件的安装删除,下面我将使用远程的终端进行yum配置。

yum远程客户端配置更为简单,我已经写好了一个小脚本,直接运行即可,但涉及到其他用户可能需要对yum源的URL地址进行修改,所以还是文字说明一下。

yum客户端在使用yum时,需保证以安装了yum和yum相关的软件包,这个就不细说了,yum的安装网上有很多。此次客户端使用Linux Redhat5系统,该版本已经默认安装了yum程序。

下面开始配置,首先我们找到yum的源配置文件,路径默认为。

/etc/yum.repos.d

Redhat5的/etc/yum.repos.d/文件夹中默认存在了rhel-debuginfo.repo模板,我们只需新建一个结构和默认模板相同的模板即可。

vi /etc/yum.repos.d/rhel5.repo

需要注意的是,模板必须以repo结尾,前面已经说明了。在自定义的模板加入以下内容:

[Server]

name=Server Directory                        # 仓库名称

baseurl=ftp://100.154.0.70/pub            # yum源地址

enabled=1                                             # 是否开启源

gpgcheck=0                                           # 是否开启验证

这个gpgcheck很多人不理解,因为很多的开源软件都是源码包,redhat将其打成rpm,并在其中加入可验证密钥,如果有人在rpm包中动过手脚,在安装的过程中会有一个错误提示,提示已被别人修改过,安装可能不是很安全。

若将gpgcheck设置为1,开启验证的话,就需要指向一个密钥进行验证。

gpgkey=ftp://100.154.0.70/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

到这里,客户端的配置就基本完成了,yum远程安装软件的测试方式和本地源安装测试方式相同,我就不一一说明了。

 

一个批量修改的小语句,里面的baseurl需要改下。

#!/bin/sh

echo "程序正在重写yum源指向,请稍等..."

rm -rf /etc/yum.repos.d/*

touch /etc/yum.repos.d/rhel5.repo

cat > /etc/yum.repos.d/rhel5.repo << EOF

[Server]

name=bjj

baseurl=ftp://100.154.0.70/pub

enabled=1

gpgcheck=0

 

[Cluster]

name=Cluster Directory

baseurl=ftp://100.154.0.70/pub

enabled=1

gpgcheck=0

 

[ClusterStorage]

name=ClusterStorage Directory

baseurl=ftp://100.154.0.70/pub

enabled=1

gpgcheck=0

 

[VT]

name=VT Directory

baseurl=ftp://100.154.0.70/pub

enabled=1

gpgcheck=0

EOF

sleep 2

echo "正在刷新yum..."

sleep 3

yum list

复制到文本中保存成.sh脚本文件,赋权执行即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值