From cb7a7f0c9f7630a503be98da091c9e79f3564320 Mon Sep 17 00:00:00 2001 From: Ladar Levison Date: Wed, 2 Dec 2020 07:40:52 -0600 Subject: [PATCH] Updated the CentOS 6 scripts/config to use Vault repos. --- developer-hyperv.json | 1 + developer-libvirt.json | 1 + developer-ova.json | 1 + developer-virtualbox.json | 1 + developer-vmware.json | 1 + generic-docker.json | 1 + generic-hyperv.json | 1 + generic-libvirt.json | 1 + generic-parallels.json | 1 + generic-virtualbox.json | 1 + generic-vmware.json | 1 + http/magma.centos6.developer.ks | 2 +- magma-docker.json | 1 + magma-hyperv.json | 1 + magma-libvirt.json | 1 + magma-virtualbox.json | 1 + magma-vmware.json | 1 + scripts/centos6/base.sh | 15 --------- scripts/centos6/yum.sh | 58 +++++++++++++++++++++++++++++++++ 19 files changed, 75 insertions(+), 16 deletions(-) create mode 100644 scripts/centos6/yum.sh diff --git a/developer-hyperv.json b/developer-hyperv.json index 76f0ef818..4c5b9c623 100644 --- a/developer-hyperv.json +++ b/developer-hyperv.json @@ -6,6 +6,7 @@ { "type": "shell", "scripts": [ + "scripts/centos6/yum.sh", "scripts/centos6/base.sh", "scripts/centos6/network.sh" ], diff --git a/developer-libvirt.json b/developer-libvirt.json index e7a4e1a22..3f8425b1a 100644 --- a/developer-libvirt.json +++ b/developer-libvirt.json @@ -6,6 +6,7 @@ { "type": "shell", "scripts": [ + "scripts/centos6/yum.sh", "scripts/centos6/base.sh", "scripts/centos6/network.sh" ], diff --git a/developer-ova.json b/developer-ova.json index 67fb0f2d8..db7c67fac 100644 --- a/developer-ova.json +++ b/developer-ova.json @@ -6,6 +6,7 @@ { "type": "shell", "scripts": [ + "scripts/centos6/yum.sh", "scripts/centos6/base.sh", "scripts/centos6/network.sh" ], diff --git a/developer-virtualbox.json b/developer-virtualbox.json index 8a589e2a6..46eea3d9e 100644 --- a/developer-virtualbox.json +++ b/developer-virtualbox.json @@ -6,6 +6,7 @@ { "type": "shell", "scripts": [ + "scripts/centos6/yum.sh", "scripts/centos6/base.sh", "scripts/centos6/network.sh" ], diff --git a/developer-vmware.json b/developer-vmware.json index 4aa2bc2a2..8148a4755 100644 --- a/developer-vmware.json +++ b/developer-vmware.json @@ -6,6 +6,7 @@ { "type": "shell", "scripts": [ + "scripts/centos6/yum.sh", "scripts/centos6/base.sh", "scripts/centos6/network.sh" ], diff --git a/generic-docker.json b/generic-docker.json index 33e56686c..40a6cbb33 100644 --- a/generic-docker.json +++ b/generic-docker.json @@ -10,6 +10,7 @@ { "type": "shell", "scripts": [ + "scripts/centos6/yum.sh", "scripts/centos6/base.sh", "scripts/centos6/network.sh", "scripts/centos6/vga.sh" diff --git a/generic-hyperv.json b/generic-hyperv.json index 6a1fb2d42..6e8c2854b 100644 --- a/generic-hyperv.json +++ b/generic-hyperv.json @@ -200,6 +200,7 @@ { "type": "shell", "scripts": [ + "scripts/centos6/yum.sh", "scripts/centos6/base.sh", "scripts/centos6/network.sh" ], diff --git a/generic-libvirt.json b/generic-libvirt.json index 97c3efce1..afde862cd 100644 --- a/generic-libvirt.json +++ b/generic-libvirt.json @@ -200,6 +200,7 @@ { "type": "shell", "scripts": [ + "scripts/centos6/yum.sh", "scripts/centos6/base.sh", "scripts/centos6/network.sh" ], diff --git a/generic-parallels.json b/generic-parallels.json index ff48d43cb..d279f182a 100644 --- a/generic-parallels.json +++ b/generic-parallels.json @@ -200,6 +200,7 @@ { "type": "shell", "scripts": [ + "scripts/centos6/yum.sh", "scripts/centos6/base.sh", "scripts/centos6/network.sh" ], diff --git a/generic-virtualbox.json b/generic-virtualbox.json index 2f7864d92..5a8014455 100644 --- a/generic-virtualbox.json +++ b/generic-virtualbox.json @@ -200,6 +200,7 @@ { "type": "shell", "scripts": [ + "scripts/centos6/yum.sh", "scripts/centos6/base.sh", "scripts/centos6/network.sh" ], diff --git a/generic-vmware.json b/generic-vmware.json index bd6402ec4..9d2e00c00 100644 --- a/generic-vmware.json +++ b/generic-vmware.json @@ -200,6 +200,7 @@ { "type": "shell", "scripts": [ + "scripts/centos6/yum.sh", "scripts/centos6/base.sh", "scripts/centos6/network.sh" ], diff --git a/http/magma.centos6.developer.ks b/http/magma.centos6.developer.ks index 9187d2bfe..13e887bb9 100644 --- a/http/magma.centos6.developer.ks +++ b/http/magma.centos6.developer.ks @@ -1,5 +1,5 @@ install -url --url=https://mirrors.kernel.org/centos/6/os/x86_64/ +url --url=https://vault.centos.org/6.10/os/x86_64/ repo --name=debug --baseurl=http://debuginfo.centos.org/6/x86_64/ repo --name=extras --baseurl=https://vault.centos.org/6.10/extras/x86_64/ repo --name=updates --baseurl=https://vault.centos.org/6.10/updates/x86_64/ diff --git a/magma-docker.json b/magma-docker.json index bd88b7373..4dc8e9726 100644 --- a/magma-docker.json +++ b/magma-docker.json @@ -10,6 +10,7 @@ { "type": "shell", "scripts": [ + "scripts/centos6/yum.sh", "scripts/centos6/base.sh", "scripts/centos6/network.sh" ], diff --git a/magma-hyperv.json b/magma-hyperv.json index 44b1b2478..e5dab42ef 100644 --- a/magma-hyperv.json +++ b/magma-hyperv.json @@ -48,6 +48,7 @@ { "type": "shell", "scripts": [ + "scripts/centos6/yum.sh", "scripts/centos6/base.sh", "scripts/centos6/network.sh" ], diff --git a/magma-libvirt.json b/magma-libvirt.json index 137d8e2fe..ceb21ef16 100644 --- a/magma-libvirt.json +++ b/magma-libvirt.json @@ -48,6 +48,7 @@ { "type": "shell", "scripts": [ + "scripts/centos6/yum.sh", "scripts/centos6/base.sh", "scripts/centos6/network.sh" ], diff --git a/magma-virtualbox.json b/magma-virtualbox.json index 889c20b74..1b253f69b 100644 --- a/magma-virtualbox.json +++ b/magma-virtualbox.json @@ -48,6 +48,7 @@ { "type": "shell", "scripts": [ + "scripts/centos6/yum.sh", "scripts/centos6/base.sh", "scripts/centos6/network.sh" ], diff --git a/magma-vmware.json b/magma-vmware.json index 58dd23111..eb02ece7c 100644 --- a/magma-vmware.json +++ b/magma-vmware.json @@ -48,6 +48,7 @@ { "type": "shell", "scripts": [ + "scripts/centos6/yum.sh", "scripts/centos6/base.sh", "scripts/centos6/network.sh" ], diff --git a/scripts/centos6/base.sh b/scripts/centos6/base.sh index e44af4618..f0fab7189 100644 --- a/scripts/centos6/base.sh +++ b/scripts/centos6/base.sh @@ -37,24 +37,9 @@ error() { # sure there are good ones available for the package installlation tasks below. printf "nameserver 4.2.2.1\nnameserver 4.2.2.2\nnameserver 208.67.220.220\n" > /etc/resolv.conf -# Tell yum to retry 128 times before failing, so unattended installs don't skip packages when errors occur. -printf "\nretries=128\nmetadata_expire=0\nmirrorlist_expire=0\n" >> /etc/yum.conf - -# Disable the broken repositories. -truncate --size=0 /etc/yum.repos.d/CentOS-Media.repo /etc/yum.repos.d/CentOS-Vault.repo - -# Import the update key. -rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6; error - # Update the base install first. retry yum --assumeyes update; error -# We'll want the EPEL repo installed. -retry yum --assumeyes --enablerepo=extras install deltarpm epel-release; error - -# Import the EPEL key. -rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6; error - # Install the basic packages we'd expect to find. retry yum --assumeyes install deltarpm net-tools sudo dmidecode yum-utils man bash-completion man-pages vim-common vim-enhanced sysstat bind-utils jwhois wget dos2unix unix2dos lsof telnet net-tools coreutils grep gawk sed curl patch sysstat make cmake libarchive texinfo autoconf automake libtool gcc-c++ libstdc++-devel gcc cpp ncurses-devel glibc-devel glibc-headers kernel-headers psmisc; error diff --git a/scripts/centos6/yum.sh b/scripts/centos6/yum.sh new file mode 100644 index 000000000..680f616e2 --- /dev/null +++ b/scripts/centos6/yum.sh @@ -0,0 +1,58 @@ +#!/bin/bash + +retry() { + local COUNT=1 + local RESULT=0 + while [[ "${COUNT}" -le 10 ]]; do + [[ "${RESULT}" -ne 0 ]] && { + [ "`which tput 2> /dev/null`" != "" ] && tput setaf 1 + echo -e "\n${*} failed... retrying ${COUNT} of 10.\n" >&2 + [ "`which tput 2> /dev/null`" != "" ] && tput sgr0 + } + "${@}" && { RESULT=0 && break; } || RESULT="${?}" + COUNT="$((COUNT + 1))" + + # Increase the delay with each iteration. + DELAY="$((DELAY + 10))" + sleep $DELAY + done + + [[ "${COUNT}" -gt 10 ]] && { + [ "`which tput 2> /dev/null`" != "" ] && tput setaf 1 + echo -e "\nThe command failed 10 times.\n" >&2 + [ "`which tput 2> /dev/null`" != "" ] && tput sgr0 + } + + return "${RESULT}" +} + +error() { + if [ $? -ne 0 ]; then + printf "\n\nbase configuration script failure...\n\n"; + exit 1 + fi +} + +# Tell yum to retry 128 times before failing, so unattended installs don't skip packages when errors occur. +printf "\nretries=128\nmetadata_expire=0\nmirrorlist_expire=0\n" >> /etc/yum.conf + +# CentOS Repo Setup +sed -i -e "s/^mirrorlist/#mirrorlist/g" /etc/yum.repos.d/CentOS-Base.repo +sed -i -e "s/^#baseurl=http:\/\/mirror.centos.org\/centos\//baseurl=https:\/\/vault.centos.org\/centos\//g" /etc/yum.repos.d/CentOS-Base.repo + +# Disable the physical media repos, along with fasttrack repos. +sed --in-place "s/^/# /g" /etc/yum.repos.d/CentOS-Media.repo +sed --in-place "s/# #/##/g" /etc/yum.repos.d/CentOS-Media.repo +sed --in-place "s/^/# /g" /etc/yum.repos.d/CentOS-Vault.repo +sed --in-place "s/# #/##/g" /etc/yum.repos.d/CentOS-Vault.repo +sed --in-place "s/^/# /g" /etc/yum.repos.d/CentOS-fasttrack.repo +sed --in-place "s/# #/##/g" /etc/yum.repos.d/CentOS-fasttrack.repo + +# Import the update key. +rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6; error + +# We'll want the EPEL repo installed. +retry yum --assumeyes --enablerepo=extras install deltarpm epel-release; error + +# Import the EPEL key. +rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6; error