Centos7搭建yum仓库
centos7搭建yum仓库全过程
实验环境:主yum服务器:10.103.16.132
客户端:10.103.16.131
系统版本:centos linux release 7.6.1810(core)
二边服务器都需要关闭防火墙和selinux,具体操作方法这里不细讲。
yum仓库服务器搭建
说明:这里以网页形式来创建yum仓库
1.配置第三方源:
yum install -y epel-release
ll /etc/yum.repos.d
2.准备软件:createrepo,httpd(或nginx)二个软件,这里以httpd为准
yum install -y httpd createrepo
3.创建yum仓库源
cd /var/www/html
mkdir {base,epel}
4.初始化yum仓库
createrepo -pdo /var/www/html/base /var/www/html/base
createrepo -pdo /var/www/html/epel /var/www/html/epel
5.去掉httpd的欢迎页面,让yum以目录形式显示出来
mkdir -p /root/yum.repo
cd /etc/httpd/conf.d/
mv welcome.conf /root/yum.repo
6.启动网页httpd服务
systemctl start httpd && systemctl enable httpd
并查看显示页面
7.执行yum repolist来查看有多少个仓库及有多少包
yum repolist all
8.制作客户端所需的repo包
cd /var/www/html/
vim luxshare.repo
[base]
name=CentOS-$releasever-Base
baseurl=http://10.103.16.132/base/
path=/
enabled=1
gpgcheck=0
[epel]
name=epel
baseurl=http://10.103.16.132/epel
path=/
enabled=1
gpgcheck=0
9.做shell脚本让它自动下载rpm包
cd /var/www/html/
vim reposync.sh
#Author:Gordon.Wang
DOWNLOAD_PATH=’/var/www/html’ #rpm包存放位置
/usr/bin/reposync -n –download_path=${DOWNLOAD_PATH} \ #只更新新的包
–download-metadata \ #下载元数据
–downloadcomps \ #下载comps.xml
–delete #删除不存在的
for repodir in $(ls ${DOWNLOAD_PATH});do
echo “—“
echo “Updating ${repodir}”
echo “—“
cd ${DOWNLOAD_PATH}/$repodir
mv -fv productid ./repodata/
mv -fv .xml ./repodata/
/usr/bin/createrepo .
done
10.服务器查看下载的包
yum客户端配置并连接安装
1.移除多余的repo源
cd /etc/yum.repos.d/
mkdir -p /root/repo
mv *.repo /root/repo
2.拷贝yum服务器的repo
scp -rp 10.103.16.132:/var/www/html/luxshare.repo /etc/yum.repos.d/
3.测试是否可以拉到相应的包
yum clean all #删除所有缓存数据
yum makecache #创建元数据缓存,也就是现在的repo包
yum repolist all #显示已配置的源
4.客户端查看
本地yum仓库搭建就完成了。