build multi version repository on rhel9

Posted on 2025-11-18 23:14  k98091518  阅读(12)  评论(0)    收藏  举报

1.Download key

vim 0.download_gpg_key.sh

#!/bin/bash

BASE_DIR="/home/rhel9-local-repo"

echo "=== 下载GPG密钥 ==="

# 下载Red Hat GPG密钥
curl -L -o $BASE_DIR/keys/RPM-GPG-KEY-redhat-release \
https://www.redhat.com/security/data/fd431d51.txt

echo "GPG密钥下载完成: $BASE_DIR/keys/RPM-GPG-KEY-redhat-release"

image

 

2.setup_subscription-manager

vim 2.setup_subscription-manager.sh

#!/bin/bash
# setup-repos.sh - 設定 RHEL 訂閱倉庫

set -e

subscription-manager refresh
subscription-manager repos --disable="*"
subscription-manager repos \
   --enable="rhel-9-for-x86_64-baseos-rpms" \
   --enable="rhel-9-for-x86_64-appstream-rpms"

image

 

3.sync_9.4-9.6

vim 3.sync_9.4-9.6.sh

#!/bin/bash
# sync_9.4-9.6.sh

set -e

BASE_DIR="/home/rhel9-local-repo"

for version in 9.4 9.5 9.6; do
echo "正在同步 RHEL $version..."

# 為每個版本單獨設置 release
subscription-manager release --set=$version

reposync \
--repoid="rhel-9-for-x86_64-baseos-rpms" \
--repoid="rhel-9-for-x86_64-appstream-rpms" \
--download-path="$BASE_DIR/$version" \
--releasever="$version" \
--arch="x86_64,noarch" \
--newest-only \
--delete \
--download-metadata \
--nogpgcheck
done

# 恢復到默認 release
subscription-manager release --unset

image