制作本地yum源,并同步更新其它源到本地
2023年5月22日...大约 2 分钟
制作本地yum源,并同步更新其它源到本地
准备工作
- 1、ftp、http、nfs等网络服务
- 2、reposync、createrepo 工具
- 3、yum的真实网络源
- 4、创建yum的repo文件
安装
yum install vsftpd -y
vim /etc/vsftpd/vsftpd.conf
……
#修改配置文件,添加anon_root=dir ,指向你的yum源包的目录
安装reposync,createrepo
yum install yum-utils createrepo -y
配置常用的网络源
- 阿里云提供了很多的源,我们可以从上面下载依赖
以centos 7 为例,此方法也同样适应于其它系统:
wget http://mirrors.aliyun.com/repo/Centos-7.repo -O /etc/yum.repos.d/Centos-7.repo
#下载存放到目录中
yum clean all
yum repolist
#清空缓存,更新一下就可
#如果只执行以上步骤,你的server 就已经可以使用阿里云的源了,其他源的方法也差不多
另外还以下源:
# docker ce
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# epel
rpm -ivh https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
#另外,nginx,php,mysql,zabbix,k8s等等请自己去官方下载配置,方便下面的缓存使用
设置缓存同步
上面已经配置好了源,我们只需要根据需要去缓存同步即可。
#yum repolist 可以看到如下的界面
我们需要根据自己的需要去同步
reposync 常用参数
-r 指定yum源名称
-p 指定目标目录
-n 只同步新的
-q 安静模式
--allow-path-traversal 允许存在外部目录
#假设/data是我们存放源的位置
reposync -p /data
# -p 会在/data 目录下自动生成base,extras,zabbix等在yum repolist中出现的源。
reposync -r base -p /data/
# -r 指定需要同步的源
上图的提示就是因为源的目录是 ../../pool ,我们当前指定的/data已经出了低线了,所以我们要想同步,需要指定–allow-path-traversal ,然后等同步完成后,我们移动过去,或者我们在/data上创建目录,如,/data/kubernetes/1/,使用 reposync -r kubernetes -p /data/kubernets/1/ –allow-path-traversal 这样它会在/data/kubernetes/下创建一个pool目录来存储文件.
上面的这个方法我没有验证过,我是同步到pool。然后移动到kubernets,再生成的数据库
生成源信息数据库
createrepo /data/kubernets
#有几个目录就要操作几次
配置repo文件
拷贝一份阿里的Centos-7.repo 然后修改其中的baseurl 即可。
贡献者
change