跳到内容

简介

有时您需要将 Rocky 存储库本地化以构建虚拟机、实验室环境等。如果带宽有限,这也有助于节省带宽。本文将引导您使用 `rsync` 将 Rocky 存储库复制到本地 Web 服务器。构建 Web 服务器超出了本文档的范围。

要求

  • 一个 Web 服务器

代码

#!/bin/bash
repos_base_dir="/web/path"

# Start sync if base repo directory exist
if [[ -d "$repos_base_dir" ]] ; then
  # Start Sync
  rsync  -avSHP --progress --delete --exclude-from=/opt/scripts/excludes.txt rsync://ord.mirror.rackspace.com/rocky  "$repos_base_dir" --delete-excluded
  # Download Rocky 8 repository key
  if [[ -e /web/path/RPM-GPG-KEY-rockyofficial ]]; then
     exit
  else
      wget -P $repos_base_dir https://dl.rockylinux.org/pub/rocky/RPM-GPG-KEY-rockyofficial
  fi
fi

细分

这个简单的 shell 脚本使用 `rsync` 从最近的镜像中提取存储库文件。它还使用“排除”选项,该选项在文本文件中定义,形式为不应包含的关键字。如果您磁盘空间有限或只是不想包含所有内容,排除非常有用。我们可以使用 `*` 作为通配符。小心使用 `*/ng`,因为它将排除任何匹配这些字符的内容。以下是一个示例

*/source*
*/debug*
*/images*
*/Devel*
8/*
8.4-RC1/*
8.4-RC1

结束

一个可以帮助节省带宽或让构建实验室环境更容易的简单脚本。

作者: codedude

贡献者: Steven Spencer