银河麒麟高级V10 SP1服务器系统同步外网源到本地

银河麒麟V10SP1服务器系统同步外网源到本地

配置环境:

服务器系统:Kylin-Server-10-SP1-Release-Build20-20210518-x86_64

本文同步的是外网x86的yum源仓库,若需要同步arm的yum源仓库,则需要修改yum配置文件的架构为aarch64,其他配置不变。

1、配置系统环境

a)确定系统版本及网络情况

首先确定服务器环境是否可以连接外网,若在受限的网络中,请确保可以不受限访问源地址。

使用下面的命令确定系统版本情况

[root@localhost ~]# nkvers
############## Kylin Linux Version #################
Release:
Kylin Linux Advanced Server release V10 (Tercel)
Kernel:
4.19.90-23.8.v2101.ky10.x86_64
Build:
Kylin Linux Advanced Server
release V10 (SP1) /(Tercel)-x86_64-Build20/20210518
#################################################

b)关闭系统防火墙和 selinux

[root@localhost ~]# systemctl stop firewalld

[root@localhost ~]# systemctl disable firewalld

[root@localhost ~]# vim /etc/sysconfig/selinux

SELINUX=disable

2、配置外网yum源

a)备份原yum配置文件

[root@localhost ~]# cd /etc/yum.repos.d/

[root@localhost ~]# cp kylin_x86_64.repo   kylin_x86_64.repo_bak

b)yum配置

# 清理yum缓存文件

[root@localhost ~]# yum clean all

# 重新创建 yum 元数据

[root@localhost ~]# dnf makecache

Kylin Linux Advanced Server 10 - Os          27 kB/s | 3.7 kB     00:00    

Kylin Linux Advanced Server 10 - Updates     18 kB/s | 2.9 kB     00:00    

Metadata cache created.

3、搭建本地yum源

a)安装所需软件包

1 [root@localhost ~]# yum -y install createrepo httpd

b)同步外网源仓库到本地

# 创建仓库存储路径

# 仓库存储位置可自定义,但是为了方便,本次将存储路径在/var/www/html/

# V10SP1 X86_64源仓库同步到本地后需要占用13G以上的磁盘空间,请注意磁盘剩余空间进行选择仓

库存储位置

# 创建packages目录作为yum仓库存储位置,若是同步arm的yum源,则将下面x86_64换成aarch64

mkdir  -p /var/www/html/packages/x86_64

# 使用reposync命令同步外网源仓库到本地,若是同步arm的yum源,则将下面x86_64换成aarch64

reposync -n --repoid=ks10-adv-os \

 --repoid=ks10-adv-updates \

 -p /var/www/html/packages/x86_64/

############################################

reposync参数:

Options:

 -h, --help           显示此帮助消息并退出

 -c CONFIG, --config=CONFIG

                      要使用的配置文件(默认为/etc/yum.conf)

 -a ARCH, --arch=ARCH 像运行指定的arch一样(默认值:current

                      arch,注意:不会覆盖$releasever。 x86_64是一个

                      i * 86的超集。)

 --source             在源包上运行

 -r REPOID, --repoid=REPOID

                      指定repo id来查询,可以指定多个次(默认全部启用)

 -e CACHEDIR, --cachedir=CACHEDIR 用于存储元数据的目录

 -t, --tempcache       使用临时目录存储/访问yum-cache

 -d, --delete         删除存储库中不再存在的本地包

 -p DESTDIR, --download_path=DESTDIR 下载包的路径:默认为当前目录

 --norepopath         不要将reponame添加到下载路径。只可以

                      在同步单个存储库时使用(默认为

                      添加reponame)

 -g, --gpgcheck       删除未通过GPG签名检查的软件包

 -u, --urls           只列出要下载的URL,不要下载

 -n, --newest-only     仅下载per-repo的最新软件包

 -q, --quiet           尽可能少地输出

 -l, --plugins         启用yum插件支持

 -m, --downloadcomps   下载comps.xml

 --download-metadata   下载所有非默认元数据

 --allow-path-traversal

                      允许存储在其repo目录之外的包

                      同步(UNSAFE,小心使用!)

c)创建本地索引文件

# 使用createrepo命令创建本地索引文件,若是同步arm的yum源,则将下面x86_64换成aarch64

createrepo   /var/www/html/packages/x86_64/ks10-adv-os/

createrepo   /var/www/html/packages/x86_64/ks10-adv-updates/

d) 启动httpd服务

# 若本地yum仓库存储位置在http默认的/var/www/html/目录下,则直接启动httpd服务即可

systemctl  start httpd

systemctl enable httpd

# 若本地yum仓库存储位置在自定义的路径下,需手动配置httpd。

e)浏览器访问及本地测试

# 使用浏览器访问本地 yum 源, 使用下面的url进行访问测试

http://localhost/packages/x86_64/

# 创建新的测试repo文件,

[root@localhost ~]# cat /etc/yum.repos.d/server.repo

[test]

name=test repo

baseurl= http://192.168.66.122/packages/x86_64/ks10-adv-os/

gpgcheck=0

enable=1

# 清理yum元数据缓存,查看是否成功重建yum元数据

[root@localhost ~]# yum clean all

[root@localhost ~]# yum repolist

4.创建定时同步任务

a)创建同步任务脚本

# 注意修改对所需同步的repoid和yum源仓库存储位置

[root@localhost ~]# vim /opt/update_repo.sh

#!/bin/bash

reposync -n --repoid=ks10-adv-os \

 --repoid=ks10-adv-updates \

 -p /var/www/html/packages/x86_64/

createrepo --update /var/www/html/packages/x86_64/ks10-adv-os/

createrepo --update /var/www/html/packages/x86_64/ks10-adv-updates/

[root@localhost ~]# chmod +x /opt/update_repo.sh

b)创建定时任务 

[root@localhost ~]# crontab -e

[root@localhost ~]# crontab -l

0 20 * * * /opt/update_repo.sh  ## 每天晚上8点同步

  • 21
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值