From 322471f27713b0fa4d8d8d856db9fff060ef3e11 Mon Sep 17 00:00:00 2001 From: Seaton Jiang Date: Sun, 7 Nov 2021 17:00:42 +0800 Subject: [PATCH 1/4] docs: add usage instructions --- migrate2rocky/README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/migrate2rocky/README.md b/migrate2rocky/README.md index 25530d7..f8d47a5 100644 --- a/migrate2rocky/README.md +++ b/migrate2rocky/README.md @@ -13,6 +13,14 @@ Running this script will convert an existing CentOS 8 system to Rocky Linux 8. [!! USE WITH CAUTION !!] ``` +#### Use Mirror URLs of Rocky Linux + +```bash +export ROCKY_LINUX_ENV_MIRROR_URL="https://mirrors.example.org/rocky" + +./migrate2rocky.sh -r +``` + ### Known Issues From b5afd718a0c7a3abf082538386cef175707e6a05 Mon Sep 17 00:00:00 2001 From: Seaton Jiang Date: Sun, 7 Nov 2021 17:11:38 +0800 Subject: [PATCH 2/4] feat: add mirror variables --- migrate2rocky/migrate2rocky.sh | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/migrate2rocky/migrate2rocky.sh b/migrate2rocky/migrate2rocky.sh index cdf3616..d68e5c0 100644 --- a/migrate2rocky/migrate2rocky.sh +++ b/migrate2rocky/migrate2rocky.sh @@ -114,7 +114,11 @@ SUPPORTED_MAJOR="8" SUPPORTED_PLATFORM="platform:el$SUPPORTED_MAJOR" ARCH=$(arch) -gpg_key_url="https://dl.rockylinux.org/pub/rocky/RPM-GPG-KEY-rockyofficial" +# Use Mirror URLs of Rocky Linux from environment if set. +ROCKY_LINUX_DEFAULT_URL="https://dl.rockylinux.org/pub/rocky" +ROCKY_LINUX_MIRROR_URL="${ROCKY_LINUX_ENV_MIRROR_URL:-"${ROCKY_LINUX_DEFAULT_URL}"}" + +gpg_key_url="${ROCKY_LINUX_MIRROR_URL}/RPM-GPG-KEY-rockyofficial" gpg_key_sha512="88fe66cf0a68648c2371120d56eb509835266d9efdf7c8b9ac8fc101bdf1f0e0197030d3ea65f4b5be89dc9d1ef08581adb068815c88d7b1dc40aa1c32990f6a" sm_ca_dir=/etc/rhsm/ca @@ -123,8 +127,8 @@ unset tmp_sm_ca_dir # all repos must be signed with the same key given in $gpg_key_url declare -A repo_urls repo_urls=( - [rockybaseos]="https://dl.rockylinux.org/pub/rocky/${SUPPORTED_MAJOR}/BaseOS/$ARCH/os/" - [rockyappstream]="https://dl.rockylinux.org/pub/rocky/${SUPPORTED_MAJOR}/AppStream/$ARCH/os/" + [rockybaseos]="${ROCKY_LINUX_MIRROR_URL}/${SUPPORTED_MAJOR}/BaseOS/$ARCH/os/" + [rockyappstream]="${ROCKY_LINUX_MIRROR_URL}/${SUPPORTED_MAJOR}/AppStream/$ARCH/os/" ) # The repos package for CentOS stream requires special handling. @@ -845,6 +849,14 @@ EOF done fi + # Replace mirror + if [ -n "$ROCKY_LINUX_ENV_MIRROR_URL" ]; then + sed -e 's|^mirrorlist=|#mirrorlist=|g' \ + -e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl='${ROCKY_LINUX_MIRROR_URL}'|g' \ + -i.bak \ + /etc/yum.repos.d/Rocky-*.repo + fi + # Distrosync infomsg $'Ensuring repos are enabled before the package swap\n' safednf -y --enableplugin=config-manager config-manager \ From bb7509110df3ba02738b1a817dc70fc864db4e82 Mon Sep 17 00:00:00 2001 From: Seaton Jiang Date: Tue, 9 Nov 2021 17:43:47 +0800 Subject: [PATCH 3/4] fix: limit the files in rocky-repos --- migrate2rocky/README.md | 2 +- migrate2rocky/migrate2rocky.sh | 20 +++++++++++--------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/migrate2rocky/README.md b/migrate2rocky/README.md index f8d47a5..beee1c4 100644 --- a/migrate2rocky/README.md +++ b/migrate2rocky/README.md @@ -16,7 +16,7 @@ Running this script will convert an existing CentOS 8 system to Rocky Linux 8. #### Use Mirror URLs of Rocky Linux ```bash -export ROCKY_LINUX_ENV_MIRROR_URL="https://mirrors.example.org/rocky" +export ROCKY_ENV_MIRROR_URL="https://mirrors.example.org/rocky" ./migrate2rocky.sh -r ``` diff --git a/migrate2rocky/migrate2rocky.sh b/migrate2rocky/migrate2rocky.sh index d68e5c0..39b7a04 100644 --- a/migrate2rocky/migrate2rocky.sh +++ b/migrate2rocky/migrate2rocky.sh @@ -115,10 +115,10 @@ SUPPORTED_PLATFORM="platform:el$SUPPORTED_MAJOR" ARCH=$(arch) # Use Mirror URLs of Rocky Linux from environment if set. -ROCKY_LINUX_DEFAULT_URL="https://dl.rockylinux.org/pub/rocky" -ROCKY_LINUX_MIRROR_URL="${ROCKY_LINUX_ENV_MIRROR_URL:-"${ROCKY_LINUX_DEFAULT_URL}"}" +ROCKY_DEFAULT_URL="https://dl.rockylinux.org/pub/rocky" +ROCKY_MIRROR_URL="${ROCKY_ENV_MIRROR_URL:-"${ROCKY_DEFAULT_URL}"}" -gpg_key_url="${ROCKY_LINUX_MIRROR_URL}/RPM-GPG-KEY-rockyofficial" +gpg_key_url="${ROCKY_MIRROR_URL}/RPM-GPG-KEY-rockyofficial" gpg_key_sha512="88fe66cf0a68648c2371120d56eb509835266d9efdf7c8b9ac8fc101bdf1f0e0197030d3ea65f4b5be89dc9d1ef08581adb068815c88d7b1dc40aa1c32990f6a" sm_ca_dir=/etc/rhsm/ca @@ -127,8 +127,8 @@ unset tmp_sm_ca_dir # all repos must be signed with the same key given in $gpg_key_url declare -A repo_urls repo_urls=( - [rockybaseos]="${ROCKY_LINUX_MIRROR_URL}/${SUPPORTED_MAJOR}/BaseOS/$ARCH/os/" - [rockyappstream]="${ROCKY_LINUX_MIRROR_URL}/${SUPPORTED_MAJOR}/AppStream/$ARCH/os/" + [rockybaseos]="${ROCKY_MIRROR_URL}/${SUPPORTED_MAJOR}/BaseOS/$ARCH/os/" + [rockyappstream]="${ROCKY_MIRROR_URL}/${SUPPORTED_MAJOR}/AppStream/$ARCH/os/" ) # The repos package for CentOS stream requires special handling. @@ -850,11 +850,13 @@ EOF fi # Replace mirror - if [ -n "$ROCKY_LINUX_ENV_MIRROR_URL" ]; then + if [[ $ROCKY_ENV_MIRROR_URL ]]; then + local -a repo_files + readarray -t repo_files < <(rpm -ql rocky-repos | grep '\.repo$') sed -e 's|^mirrorlist=|#mirrorlist=|g' \ - -e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl='${ROCKY_LINUX_MIRROR_URL}'|g' \ - -i.bak \ - /etc/yum.repos.d/Rocky-*.repo + -e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl='"$ROCKY_MIRROR_URL"'|g' \ + -i.migrate2rocky \ + "${repo_files[@]}" fi # Distrosync From 4d2c2f21e44ad353a95f552fc6ced35199af1199 Mon Sep 17 00:00:00 2001 From: Seaton Jiang Date: Tue, 22 Feb 2022 23:31:17 +0800 Subject: [PATCH 4/4] fix: shellcheck error --- migrate2rocky/README.md | 3 +-- migrate2rocky/migrate2rocky.sh | 14 +++++++------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/migrate2rocky/README.md b/migrate2rocky/README.md index d2456da..e929dcd 100644 --- a/migrate2rocky/README.md +++ b/migrate2rocky/README.md @@ -16,12 +16,11 @@ Running this script will convert an existing CentOS 8 system to Rocky Linux 8. #### Use Mirror URLs of Rocky Linux ```bash -export ROCKY_ENV_MIRROR_URL="https://mirrors.example.org/rocky" +export ROCKY_REPO_MIRROR_URL="https://mirrors.example.org/rocky" ./migrate2rocky.sh -r ``` - ### Disk Space Requirements Please note the following disk space requirements. These requirements may vary diff --git a/migrate2rocky/migrate2rocky.sh b/migrate2rocky/migrate2rocky.sh index 9a68608..3a4c3e0 100644 --- a/migrate2rocky/migrate2rocky.sh +++ b/migrate2rocky/migrate2rocky.sh @@ -137,10 +137,10 @@ SUPPORTED_PLATFORM="platform:el$SUPPORTED_MAJOR" ARCH=$(arch) # Use Mirror URLs of Rocky Linux from environment if set. -ROCKY_DEFAULT_URL="https://dl.rockylinux.org/pub/rocky" -ROCKY_MIRROR_URL="${ROCKY_ENV_MIRROR_URL:-"${ROCKY_DEFAULT_URL}"}" +ROCKY_REPO_DEFAULT_URL="https://dl.rockylinux.org/pub/rocky" +ROCKY_REPO_URL="${ROCKY_REPO_MIRROR_URL:-"${ROCKY_REPO_DEFAULT_URL}"}" -gpg_key_url="${ROCKY_MIRROR_URL}/RPM-GPG-KEY-rockyofficial" +gpg_key_url="${ROCKY_REPO_URL}/RPM-GPG-KEY-rockyofficial" gpg_key_sha512="88fe66cf0a68648c2371120d56eb509835266d9efdf7c8b9ac8fc101bdf1f0e0197030d3ea65f4b5be89dc9d1ef08581adb068815c88d7b1dc40aa1c32990f6a" sm_ca_dir=/etc/rhsm/ca @@ -149,8 +149,8 @@ unset tmp_sm_ca_dir # all repos must be signed with the same key given in $gpg_key_url declare -A repo_urls repo_urls=( - [rockybaseos]="${ROCKY_MIRROR_URL}/${SUPPORTED_MAJOR}/BaseOS/$ARCH/os/" - [rockyappstream]="${ROCKY_MIRROR_URL}/${SUPPORTED_MAJOR}/AppStream/$ARCH/os/" + [rockybaseos]="${ROCKY_REPO_URL}/${SUPPORTED_MAJOR}/BaseOS/$ARCH/os/" + [rockyappstream]="${ROCKY_REPO_URL}/${SUPPORTED_MAJOR}/AppStream/$ARCH/os/" ) # These are additional packages that should always be installed. @@ -1066,11 +1066,11 @@ EOF fi # Replace mirror - if [[ $ROCKY_ENV_MIRROR_URL ]]; then + if [[ $ROCKY_REPO_MIRROR_URL ]]; then local -a repo_files readarray -t repo_files < <(rpm -ql rocky-repos | grep '\.repo$') sed -e 's|^mirrorlist=|#mirrorlist=|g' \ - -e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl='"$ROCKY_MIRROR_URL"'|g' \ + -e "s|^#baseurl=http://dl.rockylinux.org/\$contentdir|baseurl=${ROCKY_REPO_URL}|g" \ -i.migrate2rocky \ "${repo_files[@]}" fi