企业需求,需要在不对外开放的网络中,部署内部yum源,可以让内部的服务器通过这台镜像yum源,安装日常所需软件。
一、准备:
1).安装http服务器
使用Nginx服务器提供http服务
安装所需软件
yum install rsync createrepo httpd -y
2).Nginx配置
#vi/usr/local/nginx/conf/nginx.conf
server {
listen 80;
server_name local_yum;
root /var/repos/;
location / {
autoindexon;
autoindex_exact_size off;
autoindex_localtime on;
}
}
#service nginx reload
三、部分公共yum 镜像,支持rsync,以mirrors.ustc.edu.cn为例,编写脚本vim copy_yum.sh,
内容如下:
localpath="/mirrors/CentOS"
mirror="mirrors.ustc.edu.cn/centos"
rsync="rsync -avzH"
verlist="7 6"
baselist="centosplus extras fasttrack os updates"
archlist="x86_64 i386"
for ver in $verlist
do
for base in $baselist
do
for arch in $archlist
do
remote=rsync://rsync.$mirror/$ver/$base/$arch/
mkdir -pv $localpath/$ver/$base/$arch/
$rsync $remote $localpath/$ver/$base/$arch/
done
done
done
三、执行脚本,sh copy_yum.sh,同步相关文件
四、针对镜像文件,删除原有repodata文件
find /mirrors -type d -name repodata -exec rm -rf {} \;
五、生成自己的repodata索引文件,注意:是两个版本的文件,其他方式,亲测不行
createrepo -pdo /mirrors/CentOS/6/ /mirrors/CentOS/6/
createrepo -pdo /mirrors/CentOS/7/ /mirrors/CentOS/7/
createrepo -pdo /mirrors/epel/6/x86_64/ /mirrors/epel/6/x86_64/
createrepo -pdo /mirrors/epel/6/i386/ /mirrors/epel/6/i386/
六、客户端配置
方法一:
vim /etc/yum.repos.d/CentOS-Base.repo
清空里面内容,粘贴如下内容:
[local_yum]
name=yum_resource
baseurl=http://(你yum源服务器IP地址)/CentOS/7
gpgcheck=0
enabled=1
方法二:
yum源服务器端:
mkdir /mirrors/repo -p
vim /mirrors/repo/Centos-7.repo
内容如下:
[local_yum]
name=yum_resource
baseurl=http://(yum源服务器IP地址)/CentOS/7
gpgcheck=0
enabled=1
epel源,请修改baseurl为:http://(yum源服务器IP地址)/epel/6/$basearch/
客户端操作:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://(yum源服务器IP地址)/repo/Centos-7.repo
测试:
yum clean all
yum list telnet
列出yum源中可用的软件包
#yum repolist
参考链接:
http://www.centoscn.com/CentOS/config/2014/1225/4368.html
http://blog.csdn.net/cy309173854/article/details/52621192
本文出自 “那些年,学习的IT知识” 博客,请务必保留此出处http://johnzheng.blog.51cto.com/1978756/1904756
原文地址:http://johnzheng.blog.51cto.com/1978756/1904756