前言
我们知道yum工具是基于rpm的,其一个重要的特性就是可以自动解决依赖问题,但是yum的本质依旧是把后缀名.rpm的包下载到本地,然后按次序安装之。但是每次执行yum install xxx,会自动安装并且安装完毕后把rpm包自动删除。当我们下载比较大的服务,比如MySQL大约190M,每次都重新下载比较慢,这时我们就可以考虑,搭建本地离线yum仓库,大致需要如下几个步骤
1、把rpm包及其相关依赖全部都下载到本地,保存好。
2、手动在/etc/yum.repos.d/目录下配置本地仓库信息。
3、使用createrepo命令生成repodata信息。
4、使用yum repoinfo检查确认。
环境
VMware-Workstation-15-Pro,Windows-10,CentOS-7.6,Xshell6
需要用到的软件包:vsftp、createrepo
搭建过程
1、创建软件包存放的位置
mkdir -p /var/ftp/pub/Packages
2、将rpm包移动到软件包存放位置
mount /dev/sr0 /mnt
\cp /mnt/Packages/* /var/ftp/pub/Packages/
3、安装服务
yum install -y vsftpd
4、启动服务
systemctl start vsftpd
systemctl enable vsftpd
5、安装createrepo软件包
yum install -y createrepo
6、生成yum仓库
cd /var/ftp/pub
createrepo .
7、清除yum缓存
yum clean all
8、客户机配置
#先备份
mkdir -p /etc/yum.repos.d/back
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/back/#配置本地yum源
cat >/etc/yum.repos.d/CentOS-yum.repo <<EOF
[c7-yum]
name=CentOS-\$releasever - yum
baseurl=ftp://172.16.1.61/pub
gpgcheck=0
enabled=1
gpgkey=ftp://172.16.1.61/pub/RPM-GPG-KEY-CentOS-7
EOF
9、yum命令参数
#新增加了rpm包,需要更新yum仓库
createrepo --update /var/ftp/pub/#只下载不安装,并指定下载存放的路径
yum install --downloadonly --downloaddir=/var/ftp/pub/Packages/ nginx开启yum缓存
vi /etc/yum.conf
#修改keepcache为1keepcache=1
#清空yum缓存yum clean all
将rpm包全部导出
mkdir -p /root/1
find /var/cache/yum/x86_64/7/ -name "*.rpm" -exec cp -a {} /root/1/ \;
网友评论