一、安装软件包
# reposync包含在yum-utils中
yum install httpd createrepo yum-utils
二、下载软件包并配置本地仓库
1. 基本yum源
mkdir -p /repos
mkdir -p /repos/www/html/iso
mkdir /tmp/iso
mount -o loop /root/CentOS-7-x86_64-xxx.iso /tmp/iso
cp -r /tmp/iso/ /var/www/html/iso
2. epel源
下载软件包
使用wget
mkdir -p /repos/www/html/epel
wget -np -H --cut-dirs=0 -r -c -L http://dl.fedoraproject.org/pub/epel/7/x86_64 -P /repos/www/html/epel
#
使用reposync
reposync -r epel -p /repos/www/html/
createrepo -v /repos/www/html/epel
#
3. 配置客户端的yum源
先保存原repo配置文件
cd /etc/yum.repos.d/
mkdir bak
mv *.repo bak/
#
客户端通过ip访问
vim /etc/yum.repos.d/epel.repo
[epel]
name=epel
baseurl=http://server_ip/iso
enabled=1
gpgcheck=0
#
客户端本地访问
vim /etc/yum.repos.d/epel.repo
加入
[epel]
name=epel
baseurl=file:///repos/www/html/epel
enabled=1
gpgcheck=0
#
#
4. 客户端服务器测试
yum clean all
yum makecache
yum repolist
#
# 可以将epel本地仓库制作成iso镜像文件
mkisofs -r -o /root/centos7-epel.iso /repos/www/html/epel
#
三、当出现找不到软件包时
处理方法如下
1. 修改yum的配置使保留下载的rpm
vim /etc/yum.conf
修改
keepcache=1
#
#
2. 在yum的缓存目录中找到下载的rpm
cd /var/cache/yum/
3. 拷贝软件包更新本地仓库
cp * /repos/www/html/iso/centos/7/x86_64/Packages/
cp * /repos/www/html/epel/7/x86_64/Packages/
#
每当新增rpm包后需更新本地仓库
createrepo -p -d -o /repos/www/html/iso /var/www/html/iso
createrepo -p -d -o /repos/www/html/epel /var/www/html/epel
或者
createrepo --update /repos/www/html/iso
createrepo --update /repos/www/html/epel
#
四、参考