制作本地YUM服务器

局域网里的所有服务器都需要升级、又不能所有服务器都访问外网、或者即使都可以访问外网、但是如果每个服务器都直接外网上下载更新、可能会很慢。所以很有必要为相同OS版本的服务器群制作一个局域网内部的YUM服务器:该服务器定期从指定的官网上下载更新、局域网内其他服务器则从该YUM服务器上下载更新。


一个简易的方法是,制作一个shell(内容是到指定网站下载更新并保存到某一个文件夹,然后制作RPM包存放仓库),把这个shell放在crontab中让其定期执行。

    注:该方法的前提提条件是,本服务器可以使用yum命令从外网下载软件等操作。


crontab的写法在这里就不累述了,主要是shell的内容,


shell1:

#!/bin/bash
/usr/bin/yum --downloadonly --downloaddir=/redhat5 -y update >> /var/log/yum_rh_update

   下载本机安装的所有软件的更新包,保存到目录 /redhat5

    前提是需要安装yum-downloadonly的工具包


shell2:

#!/bin/bash
/usr/bin/nohup \
/usr/bin/yum --downloadonly --downloaddir=/redhat5.4 -y \
 --exclude=ant17* \
 --exclude=bind97* \
 --exclude=freeradius2* \
 --exclude=postgresql-odbc64 \
 install \
 a* b* c* d* e* f* g* h* i* j* k* l* m* n* o* p* q* r* s* t* u* w* x* y* z* \
 A* B* C* D* E* F* G* H* I* J* K* L* M* N* O* P* Q* R* S* T* U* V* W* X* Y* Z* \
 >> /var/log/yum_rh_install

 下载本机没有安装但其他机器可能需要的安装包

   (其实是这个命令:nohup yum --downloadonly --downloaddir=/usr/local/src/rpm-y update &)

     (此命令(nohup)实施yum后台下载。指定yum【-y】option (-y  answer yesfor all questions)。nohup结果log在/root/nohup.out)


shell3:

#!/bin/bash
/usr/bin/createrepo /redhat5 >> /var/log/yum_rh_createrepo

制作yum使用的RPM仓库,目录在redhat5。


接下来还要配置本地YUM服务器可以被其他服务器访问,可以使用http,ftp等方法,具体配置不再累述,目的就是使我们设置的

        本地YUM服务器IP/redhat5/     可以被其他服务器访问。


这样本地的YUM服务器就制作完成了。

接下来就是使用该本地YUM服务器进行下载更新或安装软件了。



在需要使用YUM的服务器上,

把/etc/yum.repos.d/目录下的XX.repo都删除或者重命名为非.repo结尾的文件,

然后制作一个local.repo,里面的内容大致如下

[Local_os]
name=local - ftp
baseurl=ftp://192.168.1.1/redhat5/        /*主要是这里*/
gpgcheck=0

[Local_updates]
name=CentOS-$releasever - Updates
baseurl=ftp://192.168.1.1/redhat5/       /*主要是这里*/
gpgcheck=0  


能够访问到本地YUM服务器的RPM仓库的路径,具体的访问URL在上面的YUM服务器制作时指定的。







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值