麒麟服务器【同步外网源到内网】

一、介绍:

该文档在“银河麒麟服务器操作系统V10”系统上同步外网yum源到本地,并部署本地yum源。

二、同步外网源到本地

  1. 确保机器能够正常连接互联网;

  2. 确保机器有足够的磁盘空间;
    注:例如SP1 X86架构所占用的磁盘空间容量大概为13G,而其他版本其他架构的磁盘空间用量大小也不等。所以为了能够顺利同步,应预留足够多的磁盘空间!

  3. 安装本次需要用到的两个软件createrepo 和httpd
    [root@localhost~]# yum -y install createrepo httpd

  4. 同步外网源到本地

    • 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 in ls  ${p};  do createrepo ${p}/${repo} ; done

三、启动web服务

  1. 若本地yum仓库存储位置在http默认的/var/www/html/⽬录下,则直接启动httpd服务即可
    [root@localhost~]# systemctl  start  httpd
    [root@localhost~]# systemctl  enable  httpd

四、浏览器访问及本地测试

  1. 使⽤浏览器访问本地yum源, 使⽤下⾯的url进⾏访问测试
    http://localhost/packages/

  2. 修改内网主机配置,将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`

五、创建定时同步任务

  1. 创建同步任务脚本

    • 注意修改对所需同步的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 in ls  ${p};  do createrepo ${p}/${repo}; done
    • 给同步任务脚本添加可执行权限
      `[root@localhost ~]# chmod +x /opt/update_repo.sh`
  2. 创建定时任务

    • 每天晚上23点同步
      [root@localhost ~]#` crontab -e`

      0  23  *  *  *  /opt/update_repo.sh 
发表回复 0

Your email address will not be published.