麒麟服务器【同步外网源到内网】
一、介绍:
该文档在“银河麒麟服务器操作系统V10”系统上同步外网yum源到本地,并部署本地yum源。
二、同步外网源到本地
-
确保机器能够正常连接互联网;
-
确保机器有足够的磁盘空间;
注:例如SP1 X86架构所占用的磁盘空间容量大概为13G,而其他版本其他架构的磁盘空间用量大小也不等。所以为了能够顺利同步,应预留足够多的磁盘空间! -
安装本次需要用到的两个软件createrepo 和httpd
[root@localhost~]#yum -y install createrepo httpd -
同步外网源到本地
-
1) 进入yum.repos.d目录:
[root@localhost ~]#cd /etc/yum.repos.d/ -
2) 备份原repo文件:
[root@localhost ~]#mv kylin_x86_64.repo kylin_x86_64.repo.bak -
3) 生成并编辑一个新文件(按实际需要添加或者删除仓库):
注:下面的配置包含了麒麟所有的服务器软件仓库地址,把需要同步的enabled字段设为1(启用状态)
[root@localhost ~]#vi kylin_all.repo#########V10-SP1-X86######### [ks10-adv-os-sp1x86] name = Kylin Linux Advanced Server 10 - Os sp1x86 baseurl = https://update.cs2c.com.cn/NS/V10/V10SP1/os/adv/lic/base/x86_64/ gpgcheck = 0 enabled = 1 # [ks10-adv-updates-sp1x86] name = Kylin Linux Advanced Server 10 - Updates sp1x86 baseurl = https://update.cs2c.com.cn/NS/V10/V10SP1/os/adv/lic/updates/x86_64/ gpgcheck = 0 enabled = 1 # #########V10-SP2-X86######### [ks10-adv-os-sp2x86] name = Kylin Linux Advanced Server 10 - Os sp2x86 baseurl = https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/ gpgcheck = 0 enabled = 1 # [ks10-adv-updates-sp2x86] name = Kylin Linux Advanced Server 10 - Updates sp2x86 baseurl = https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/updates/x86_64/ gpgcheck = 0 enabled = 1 # #########V10-SP3-X86######### [ks10-adv-os-sp3x86] name = Kylin Linux Advanced Server 10 - Os sp3x86 baseurl = https://update.cs2c.com.cn/NS/V10/V10SP3/os/adv/lic/base/x86_64/ gpgcheck = 0 enabled = 1 # [ks10-adv-updates-sp3x86] name = Kylin Linux Advanced Server 10 - Updates sp3x86 baseurl = https://update.cs2c.com.cn/NS/V10/V10SP3/os/adv/lic/updates/x86_64/ gpgcheck = 0 enabled = 1 # #########V10-SP1-Arm64######### [ks10-adv-os-sp1arm] name = Kylin Linux Advanced Server 10 - Os sp1arm baseurl = https://update.cs2c.com.cn/NS/V10/V10SP1/os/adv/lic/base/aarch64/ gpgcheck = 0 enabled = 0 # [ks10-adv-updates-sp1arm] name = Kylin Linux Advanced Server 10 - Updates sp1arm baseurl = https://update.cs2c.com.cn/NS/V10/V10SP1/os/adv/lic/updates/aarch64/ gpgcheck = 0 enabled = 0 # #########V10-SP2-Arm64######### [ks10-adv-os-sp2arm] name = Kylin Linux Advanced Server 10 - Os sp2arm baseurl = https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/aarch64/ gpgcheck = 0 enabled = 0 # [ks10-adv-updates-sp2arm] name = Kylin Linux Advanced Server 10 - Updates sp2arm baseurl = https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/updates/aarch64/ gpgcheck = 0 enabled = 0 # #########V10-SP3-Arm64######### [ks10-adv-os-sp3arm] name = Kylin Linux Advanced Server 10 - Os sp3arm baseurl = https://update.cs2c.com.cn/NS/V10/V10SP3/os/adv/lic/base/aarch64/ gpgcheck = 0 enabled = 0 # [ks10-adv-updates-sp3arm] name = Kylin Linux Advanced Server 10 - Updates sp3arm baseurl = https://update.cs2c.com.cn/NS/V10/V10SP3/os/adv/lic/updates/aarch64/ gpgcheck = 0 enabled = 0 -
4) 重建yum 缓存:
[root@localhost ~]#yum clean all && yum makecache -
5) 同步外网软件源到本地,存储位置可⾃定义,本次将存储在/var/www/html/packages/;
# 1) 创建目录 [root@localhost ~]# mkdir -p /var/www/html/packages/ # 2) 使⽤reposync命令,同步外⽹源仓库到本地,默认同步repo文件里enable为1的源。 [root@localhost ~]# reposync -n -p /var/www/html/packages/ # 3) 如果只想同步指定的源到本地,可以指定需要同步的repoid reposync -n --repoid=ks10-adv-os-sp2x86 --repoid=ks10-adv-os-sp2arm -p /var/www/html/packages/ -
6) 使⽤createrepo命令创建本地索引⽂件
[root@localhost~]# p=/var/www/html/packages ; for repo inls ${p}; do createrepo ${p}/${repo} ; done
-
三、启动web服务
- 若本地yum仓库存储位置在http默认的/var/www/html/⽬录下,则直接启动httpd服务即可
[root@localhost~]# systemctl start httpd [root@localhost~]# systemctl enable httpd
四、浏览器访问及本地测试
-
使⽤浏览器访问本地yum源, 使⽤下⾯的url进⾏访问测试
http://localhost/packages/ -
修改内网主机配置,将baseurl指向到yum源地址,以V10-SP2-x86_64为例,配置如下:
- 创建新的测试repo⽂件,ip地址和源路径根据实际修改
[root@localhost ~]# ` vi /etc/yum.repos.d/server.repo`[ks10-adv-os] name=Kylin Linux Advanced Server 10 - OS baseurl= http://192.168.x.x/packages/ks10-adv-os-sp2x86/ gpgcheck=0 enable=1 # [ks10-adv-updates] name = Kylin Linux Advanced Server 10 - Updates baseurl = http://192.168.x.x/packages/ks10-adv-updates-sp2x86/ gpgcheck = 0 enabled = 1 - 清理yum元数据缓存,查看是否成功重建yum元数据
[root@localhost ~]# ` yum clean all && yum makecache`
- 创建新的测试repo⽂件,ip地址和源路径根据实际修改
五、创建定时同步任务
-
创建同步任务脚本
- 注意修改对所需同步的repoid和yum源仓库存储位置
[root@localhost ~]# ` vi /opt/update_repo.sh `#!/bin/bash reposync -n -p /var/www/html/packages/ p=/var/www/html/packages; for repo inls ${p}; do createrepo ${p}/${repo}; done - 给同步任务脚本添加可执行权限
`[root@localhost ~]# chmod +x /opt/update_repo.sh`
- 注意修改对所需同步的repoid和yum源仓库存储位置
-
创建定时任务
- 每天晚上23点同步
[root@localhost ~]#` crontab -e`0 23 * * * /opt/update_repo.sh
- 每天晚上23点同步