如果需要实时更新仓库,那么就需要用到rsync命令。
rsync使用介绍详情
rsync同步公网yum仓库步骤
如果仅需要使用少量仓库,可用如下方法,如需使用大量仓库需要使用rsync。
如果是阿里云企业服务器,那么阿里云会提供一个阿里自己的内网平台,供下载使用。
第一步需要两个在同一广播域的两台服务器,一个是客户端,一个是服务端(就是主机)。主机要求能和本地互通又和网络互通,本地互通可以使用任何协议:如http、https、ftp
-
步骤
1.将仓库都存放在同一目录(如已有仓库,使用mv,如没有则在该目录下创建和软件包名称对应的目录),建议放在/var/ftp/目录下,因为放在这下面,ftp一旦启动就会将文件暴露在网络下。
2.将需要使用的软件包下载到本地(需要使用脚本),编写脚本前需要提取仓库的软件包名字,方便我们设置变量,
curl -s http://nginx.org/packages/centos/8/x86_64/RPMS/ | grep "=" | awk -F '"' '{print $2}'
命令解析,curl打开链接,-s(-s表示不显示额外信息,只显示网页的源码。)
grep 将有=的过滤出来,awk提取,-F 指定,以"为分隔符,打印第二列。
首先设置变量:
web_site="http://nginx.org/packages/centos/8/x86_64/RPMS/"
(变量名字,随便写,方便区分)
(等号就是将两者划等号)
(软件包仓库的链接通过镜像市场查找)
pkg_name=$(curl -s ${web_site})| grep "=" | awk -F '"' '{print $2}')
$调用变量。
设置循环
for i in ${pkg_name}
指定变量
do
wget -O /var/ftp/nginx/${i} ${web_site}/${i}
将提取到的软件包下载到指定目录,目录需提前创建
done
第三步
createrepo + 仓库 使其成为一个索引。 (每次仓库更新,都需要重新执行一次该命令)
第四步
1. 安装 vsftpd
2. 重启:systemctl restart vsftpd
3. 加入开机自启:systemctl enable vsftpd
4. 查看防火墙状态:setenforce 0
5. 关闭防火墙:systemctl stop firewalld
6.测试服务器的地址是否可以链接查看,centos7 vsftpd 默认可以匿名用户登录,centos8则需要更改vsftpd的配置文件。查询命令的配置文件:rpm -qc vfftpd,找到.conf的文件,查看
是否为允许匿名登陆。
第五步
- 在虚拟机中创建一个新的服务器测试是否可以下载:hostnamectl set-hostname client(自定义主机名称,登录root进行操作)
- 修改客户端的ip地址:vi /etc/sysconfig/network- scripts/ifcfg-ens32(地址必须和主机在同一个广播域)
第六步在客户端配置yum源
- 配置yum源
- 添加一个新仓库。
- vim /etc/yum.repo.d/abc.repo
[base]仓库名称
name = base
baseurl = ftp://10.0.0.200/base
enable = 1
gpgcheck = 0
如需多个仓库,就在该文件中按照格式依次添加创建