简介¶
有时需要将 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