From fc48d3957e3011e51e5a0d0b4849ba99b0488ab4 Mon Sep 17 00:00:00 2001 From: spiritlhl <103393591+spiritLHLS@users.noreply.github.com> Date: Sat, 3 Jun 2023 13:37:24 +0800 Subject: [PATCH] Update install_pve.sh --- scripts/install_pve.sh | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) 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