diff --git a/scripts/install_pve.sh b/scripts/install_pve.sh index 30db8f8..6f83b5d 100644 --- a/scripts/install_pve.sh +++ b/scripts/install_pve.sh @@ -32,11 +32,21 @@ fi if [ $? -ne 0 ]; then apt-get install gnupg -y fi -output=$(apt-get update 2>&1) -if echo $output | grep -q "NO_PUBKEY"; then - _yellow "try “ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys missing key ” to fix" - exit 1 -fi +if command -v apt-get > /dev/null 2>&1; then + apt_update_output=$(apt-get update 2>&1) + echo "$apt_update_output" > "$temp_file_apt_fix" + if grep -q 'NO_PUBKEY' "$temp_file_apt_fix"; then + public_keys=$(grep -oE 'NO_PUBKEY [0-9A-F]+' "$temp_file_apt_fix" | awk '{ print $2 }') + joined_keys=$(echo "$public_keys" | paste -sd " ") + _yellow "No Public Keys: ${joined_keys}" + apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ${joined_keys} + apt-get update + if [ $? -eq 0 ]; then + _green "Fixed" + fi + fi + rm "$temp_file_apt_fix" +fi if ! command -v wget > /dev/null 2>&1; then apt-get install -y wget fi