mirror of https://github.com/tteck/Proxmox.git
				
				
				
			
							parent
							
								
									d8809c9e80
								
							
						
					
					
						commit
						899c015fb9
					
				| 
						 | 
					@ -5,7 +5,8 @@
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT
 | 
				
			||||||
# https://github.com/tteck/Proxmox/raw/main/LICENSE
 | 
					# https://github.com/tteck/Proxmox/raw/main/LICENSE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					header_info() {
 | 
				
			||||||
 | 
					  clear
 | 
				
			||||||
  cat <<"EOF"
 | 
					  cat <<"EOF"
 | 
				
			||||||
    ____ _    _____________   ____             __     ____           __        ____
 | 
					    ____ _    _____________   ____             __     ____           __        ____
 | 
				
			||||||
   / __ \ |  / / ____/__  /  / __ \____  _____/ /_   /  _/___  _____/ /_____ _/ / /
 | 
					   / __ \ |  / / ____/__  /  / __ \____  _____/ /_   /  _/___  _____/ /_____ _/ / /
 | 
				
			||||||
| 
						 | 
					@ -15,120 +16,219 @@ function header_info {
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
set -euo pipefail
 | 
					
 | 
				
			||||||
shopt -s inherit_errexit nullglob
 | 
					 | 
				
			||||||
YW=$(echo "\033[33m")
 | 
					 | 
				
			||||||
BL=$(echo "\033[36m")
 | 
					 | 
				
			||||||
RD=$(echo "\033[01;31m")
 | 
					RD=$(echo "\033[01;31m")
 | 
				
			||||||
BGN=$(echo "\033[4;92m")
 | 
					YW=$(echo "\033[33m")
 | 
				
			||||||
GN=$(echo "\033[1;92m")
 | 
					GN=$(echo "\033[1;92m")
 | 
				
			||||||
DGN=$(echo "\033[32m")
 | 
					 | 
				
			||||||
CL=$(echo "\033[m")
 | 
					CL=$(echo "\033[m")
 | 
				
			||||||
BFR="\\r\\033[K"
 | 
					BFR="\\r\\033[K"
 | 
				
			||||||
HOLD="-"
 | 
					HOLD="-"
 | 
				
			||||||
CM="${GN}✓${CL}"
 | 
					CM="${GN}✓${CL}"
 | 
				
			||||||
CROSS="${RD}✗${CL}"
 | 
					CROSS="${RD}✗${CL}"
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "${BL}This script will Perform Post Install Routines.${CL}"
 | 
					 | 
				
			||||||
while true; do
 | 
					 | 
				
			||||||
    read -p "Start the PVE7 Post Install Script (y/n)?" yn
 | 
					 | 
				
			||||||
    case $yn in
 | 
					 | 
				
			||||||
    [Yy]*) break ;;
 | 
					 | 
				
			||||||
    [Nn]*) exit ;;
 | 
					 | 
				
			||||||
    *) echo "Please answer yes or no." ;;
 | 
					 | 
				
			||||||
    esac
 | 
					 | 
				
			||||||
done
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
if ! command -v pveversion >/dev/null 2>&1; then
 | 
					set -euo pipefail
 | 
				
			||||||
    echo -e "\n🛑  No PVE Detected, Wrong Script!\n"
 | 
					shopt -s inherit_errexit nullglob
 | 
				
			||||||
    exit 1
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
if [ $(pveversion | grep "pve-manager/7" | wc -l) -ne 1 ]; then
 | 
					msg_info() {
 | 
				
			||||||
    echo -e "\n${RD}⚠ This version of Proxmox Virtual Environment is not supported"
 | 
					 | 
				
			||||||
    echo -e "Requires PVE Version: 7.XX${CL}"
 | 
					 | 
				
			||||||
    echo -e "\nExiting..."
 | 
					 | 
				
			||||||
    sleep 3
 | 
					 | 
				
			||||||
    exit
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function msg_info() {
 | 
					 | 
				
			||||||
    local msg="$1"
 | 
					    local msg="$1"
 | 
				
			||||||
    echo -ne " ${HOLD} ${YW}${msg}..."
 | 
					    echo -ne " ${HOLD} ${YW}${msg}..."
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function msg_ok() {
 | 
					msg_ok() {
 | 
				
			||||||
    local msg="$1"
 | 
					    local msg="$1"
 | 
				
			||||||
    echo -e "${BFR} ${CM} ${GN}${msg}${CL}"
 | 
					    echo -e "${BFR} ${CM} ${GN}${msg}${CL}"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					msg_error() {
 | 
				
			||||||
 | 
					  local msg="$1"
 | 
				
			||||||
 | 
					  echo -e "${BFR} ${CROSS} ${RD}${msg}${CL}"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					exit_script() {
 | 
				
			||||||
  clear
 | 
					  clear
 | 
				
			||||||
 | 
					  echo -e "⚠  User exited script \n"
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					start_routines() {
 | 
				
			||||||
  header_info    
 | 
					  header_info    
 | 
				
			||||||
read -r -p "Disable Enterprise Repository? <y/N> " prompt
 | 
					  CHOICE=$(
 | 
				
			||||||
if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
 | 
					    whiptail --title "Proxmox VE 7 Post Install" --menu "\nDisable Enterprise Repository?" 11 58 2 \
 | 
				
			||||||
 | 
					      "yes" " " \
 | 
				
			||||||
 | 
					      "no" " " 3>&2 2>&1 1>&3
 | 
				
			||||||
 | 
					  )
 | 
				
			||||||
 | 
					  exit_status=$?
 | 
				
			||||||
 | 
					  if [ $exit_status == 1 ]; then
 | 
				
			||||||
 | 
					    exit_script
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  case $CHOICE in
 | 
				
			||||||
 | 
					  yes)
 | 
				
			||||||
    msg_info "Disabling Enterprise Repository"
 | 
					    msg_info "Disabling Enterprise Repository"
 | 
				
			||||||
    sleep 2
 | 
					 | 
				
			||||||
    sed -i 's/^deb/#deb/g' /etc/apt/sources.list.d/pve-enterprise.list
 | 
					    sed -i 's/^deb/#deb/g' /etc/apt/sources.list.d/pve-enterprise.list
 | 
				
			||||||
    msg_ok "Disabled Enterprise Repository"
 | 
					    msg_ok "Disabled Enterprise Repository"
 | 
				
			||||||
fi
 | 
					    ;;
 | 
				
			||||||
 | 
					  no)
 | 
				
			||||||
 | 
					    msg_error "Selected no to Disabling Enterprise Repository"
 | 
				
			||||||
 | 
					    ;;
 | 
				
			||||||
 | 
					  esac
 | 
				
			||||||
 | 
					
 | 
				
			||||||
read -r -p "Add/Correct PVE7 Sources (sources.list)? <y/N> " prompt
 | 
					  CHOICE=$(
 | 
				
			||||||
if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
 | 
					    whiptail --title "Proxmox VE 7 Post Install" --menu "\nAdd/Correct PVE7 Sources (sources.list)?" 11 58 2 \
 | 
				
			||||||
 | 
					      "yes" " " \
 | 
				
			||||||
 | 
					      "no" " " 3>&2 2>&1 1>&3
 | 
				
			||||||
 | 
					  )
 | 
				
			||||||
 | 
					  exit_status=$?
 | 
				
			||||||
 | 
					  if [ $exit_status == 1 ]; then
 | 
				
			||||||
 | 
					    exit_script
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  case $CHOICE in
 | 
				
			||||||
 | 
					  yes)
 | 
				
			||||||
    msg_info "Adding or Correcting PVE7 Sources"
 | 
					    msg_info "Adding or Correcting PVE7 Sources"
 | 
				
			||||||
    cat <<EOF >/etc/apt/sources.list
 | 
					    cat <<EOF >/etc/apt/sources.list
 | 
				
			||||||
deb http://ftp.debian.org/debian bullseye main contrib
 | 
					deb http://ftp.debian.org/debian bullseye main contrib
 | 
				
			||||||
deb http://ftp.debian.org/debian bullseye-updates main contrib
 | 
					deb http://ftp.debian.org/debian bullseye-updates main contrib
 | 
				
			||||||
deb http://security.debian.org/debian-security bullseye-security main contrib
 | 
					deb http://security.debian.org/debian-security bullseye-security main contrib
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
    sleep 2
 | 
					 | 
				
			||||||
    msg_ok "Added or Corrected PVE7 Sources"
 | 
					    msg_ok "Added or Corrected PVE7 Sources"
 | 
				
			||||||
 | 
					    ;;
 | 
				
			||||||
 | 
					  no)
 | 
				
			||||||
 | 
					    msg_error "Selected no to Correcting PVE7 Sources"
 | 
				
			||||||
 | 
					    ;;
 | 
				
			||||||
 | 
					  esac
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  CHOICE=$(
 | 
				
			||||||
 | 
					    whiptail --title "Proxmox VE 7 Post Install" --menu "\nEnable No-Subscription Repository?" 11 58 2 \
 | 
				
			||||||
 | 
					      "yes" " " \
 | 
				
			||||||
 | 
					      "no" " " 3>&2 2>&1 1>&3
 | 
				
			||||||
 | 
					  )
 | 
				
			||||||
 | 
					  exit_status=$?
 | 
				
			||||||
 | 
					  if [ $exit_status == 1 ]; then
 | 
				
			||||||
 | 
					    exit_script
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					  case $CHOICE in
 | 
				
			||||||
 | 
					  yes)
 | 
				
			||||||
read -r -p "Enable No-Subscription Repository? <y/N> " prompt
 | 
					 | 
				
			||||||
if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
 | 
					 | 
				
			||||||
    msg_info "Enabling No-Subscription Repository"
 | 
					    msg_info "Enabling No-Subscription Repository"
 | 
				
			||||||
    cat <<EOF >>/etc/apt/sources.list
 | 
					    cat <<EOF >>/etc/apt/sources.list
 | 
				
			||||||
deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription
 | 
					deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
    sleep 2
 | 
					 | 
				
			||||||
    msg_ok "Enabled No-Subscription Repository"
 | 
					    msg_ok "Enabled No-Subscription Repository"
 | 
				
			||||||
fi
 | 
					    ;;
 | 
				
			||||||
 | 
					  no)
 | 
				
			||||||
 | 
					    msg_error "Selected no to Enabling No-Subscription Repository"
 | 
				
			||||||
 | 
					    ;;
 | 
				
			||||||
 | 
					  esac
 | 
				
			||||||
 | 
					
 | 
				
			||||||
read -r -p "Add (Disabled) Beta/Test Repository? <y/N> " prompt
 | 
					  CHOICE=$(
 | 
				
			||||||
if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
 | 
					    whiptail --title "Proxmox VE 7 Post Install" --menu "\nAdd (Disabled) Beta/Test Repository?" 11 58 2 \
 | 
				
			||||||
 | 
					      "yes" " " \
 | 
				
			||||||
 | 
					      "no" " " 3>&2 2>&1 1>&3
 | 
				
			||||||
 | 
					  )
 | 
				
			||||||
 | 
					  exit_status=$?
 | 
				
			||||||
 | 
					  if [ $exit_status == 1 ]; then
 | 
				
			||||||
 | 
					    exit_script
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  case $CHOICE in
 | 
				
			||||||
 | 
					  yes)
 | 
				
			||||||
    msg_info "Adding Beta/Test Repository and set disabled"
 | 
					    msg_info "Adding Beta/Test Repository and set disabled"
 | 
				
			||||||
    cat <<EOF >>/etc/apt/sources.list
 | 
					    cat <<EOF >>/etc/apt/sources.list
 | 
				
			||||||
# deb http://download.proxmox.com/debian/pve bullseye pvetest
 | 
					# deb http://download.proxmox.com/debian/pve bullseye pvetest
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
    sleep 2
 | 
					 | 
				
			||||||
    msg_ok "Added Beta/Test Repository"
 | 
					    msg_ok "Added Beta/Test Repository"
 | 
				
			||||||
fi
 | 
					    ;;
 | 
				
			||||||
 | 
					  no)
 | 
				
			||||||
 | 
					    msg_error "Selected no to Adding Beta/Test Repository"
 | 
				
			||||||
 | 
					    ;;
 | 
				
			||||||
 | 
					  esac
 | 
				
			||||||
 | 
					
 | 
				
			||||||
read -r -p "Disable Subscription Nag? <y/N> " prompt
 | 
					  CHOICE=$(
 | 
				
			||||||
if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
 | 
					    whiptail --title "Proxmox VE 7 Post Install" --menu "\nDisable Subscription Nag?" 11 58 2 \
 | 
				
			||||||
 | 
					      "yes" " " \
 | 
				
			||||||
 | 
					      "no" " " 3>&2 2>&1 1>&3
 | 
				
			||||||
 | 
					  )
 | 
				
			||||||
 | 
					  exit_status=$?
 | 
				
			||||||
 | 
					  if [ $exit_status == 1 ]; then
 | 
				
			||||||
 | 
					    exit_script
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  case $CHOICE in
 | 
				
			||||||
 | 
					  yes)
 | 
				
			||||||
    msg_info "Disabling Subscription Nag"
 | 
					    msg_info "Disabling Subscription Nag"
 | 
				
			||||||
    echo "DPkg::Post-Invoke { \"dpkg -V proxmox-widget-toolkit | grep -q '/proxmoxlib\.js$'; if [ \$? -eq 1 ]; then { echo 'Removing subscription nag from UI...'; sed -i '/data\.status.*{/{s/\!//;s/active/NoMoreNagging/}' /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js; }; fi\"; };" >/etc/apt/apt.conf.d/no-nag-script
 | 
					    echo "DPkg::Post-Invoke { \"dpkg -V proxmox-widget-toolkit | grep -q '/proxmoxlib\.js$'; if [ \$? -eq 1 ]; then { echo 'Removing subscription nag from UI...'; sed -i '/data\.status.*{/{s/\!//;s/active/NoMoreNagging/}' /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js; }; fi\"; };" >/etc/apt/apt.conf.d/no-nag-script
 | 
				
			||||||
    apt --reinstall install proxmox-widget-toolkit &>/dev/null
 | 
					    apt --reinstall install proxmox-widget-toolkit &>/dev/null
 | 
				
			||||||
    msg_ok "Disabled Subscription Nag (Delete browser cache)"
 | 
					    msg_ok "Disabled Subscription Nag (Delete browser cache)"
 | 
				
			||||||
fi
 | 
					    ;;
 | 
				
			||||||
 | 
					  no)
 | 
				
			||||||
 | 
					    msg_error "Selected no to Disabling Subscription Nag"
 | 
				
			||||||
 | 
					    ;;
 | 
				
			||||||
 | 
					  esac
 | 
				
			||||||
 | 
					
 | 
				
			||||||
read -r -p "Update Proxmox VE 7 now? <y/N> " prompt
 | 
					  CHOICE=$(
 | 
				
			||||||
if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
 | 
					    whiptail --title "Proxmox VE 7 Post Install" --menu "\nUpdate Proxmox VE 7 now?" 11 58 2 \
 | 
				
			||||||
 | 
					      "yes" " " \
 | 
				
			||||||
 | 
					      "no" " " 3>&2 2>&1 1>&3
 | 
				
			||||||
 | 
					  )
 | 
				
			||||||
 | 
					  exit_status=$?
 | 
				
			||||||
 | 
					  if [ $exit_status == 1 ]; then
 | 
				
			||||||
 | 
					    exit_script
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  case $CHOICE in
 | 
				
			||||||
 | 
					  yes)
 | 
				
			||||||
    msg_info "Updating Proxmox VE 7 (Patience)"
 | 
					    msg_info "Updating Proxmox VE 7 (Patience)"
 | 
				
			||||||
    apt-get update &>/dev/null
 | 
					    apt-get update &>/dev/null
 | 
				
			||||||
    apt-get -y dist-upgrade &>/dev/null
 | 
					    apt-get -y dist-upgrade &>/dev/null
 | 
				
			||||||
    msg_ok "Updated Proxmox VE 7 (⚠ Reboot Recommended)"
 | 
					    msg_ok "Updated Proxmox VE 7 (Reboot Recommended)"
 | 
				
			||||||
fi
 | 
					    ;;
 | 
				
			||||||
 | 
					  no)
 | 
				
			||||||
 | 
					    msg_error "Selected no to Updating Proxmox VE 7"
 | 
				
			||||||
 | 
					    ;;
 | 
				
			||||||
 | 
					  esac
 | 
				
			||||||
 | 
					
 | 
				
			||||||
read -r -p "Reboot Proxmox VE 7 now? <y/N> " prompt
 | 
					  CHOICE=$(
 | 
				
			||||||
if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
 | 
					    whiptail --title "Proxmox VE 7 Post Install" --menu "\nReboot Proxmox VE 7 now?" 11 58 2 \
 | 
				
			||||||
 | 
					      "yes" " " \
 | 
				
			||||||
 | 
					      "no" " " 3>&2 2>&1 1>&3
 | 
				
			||||||
 | 
					  )
 | 
				
			||||||
 | 
					  exit_status=$?
 | 
				
			||||||
 | 
					  if [ $exit_status == 1 ]; then
 | 
				
			||||||
 | 
					    exit_script
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  case $CHOICE in
 | 
				
			||||||
 | 
					  yes)
 | 
				
			||||||
    msg_info "Rebooting Proxmox VE 7"
 | 
					    msg_info "Rebooting Proxmox VE 7"
 | 
				
			||||||
    sleep 2
 | 
					    sleep 2
 | 
				
			||||||
    msg_ok "Completed Post Install Routines"
 | 
					    msg_ok "Completed Post Install Routines"
 | 
				
			||||||
    reboot
 | 
					    reboot
 | 
				
			||||||
 | 
					    ;;
 | 
				
			||||||
 | 
					  no)
 | 
				
			||||||
 | 
					    msg_error "Selected no to Rebooting Proxmox VE 7"
 | 
				
			||||||
 | 
					    msg_ok "Completed Post Install Routines"
 | 
				
			||||||
 | 
					    ;;
 | 
				
			||||||
 | 
					  esac
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					header_info
 | 
				
			||||||
 | 
					echo -e "\nThis script will Perform Post Install Routines.\n"
 | 
				
			||||||
 | 
					while true; do
 | 
				
			||||||
 | 
					  read -p "Start the PVE7 Post Install Script (y/n)?" yn
 | 
				
			||||||
 | 
					  case $yn in
 | 
				
			||||||
 | 
					  [Yy]*) break ;;
 | 
				
			||||||
 | 
					  [Nn]*) exit_script ;;
 | 
				
			||||||
 | 
					  *) echo "Please answer yes or no." ;;
 | 
				
			||||||
 | 
					  esac
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if ! command -v pveversion >/dev/null 2>&1; then
 | 
				
			||||||
 | 
					  header_info
 | 
				
			||||||
 | 
					  msg_error "\n No PVE Detected!\n"
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
sleep 2
 | 
					if [ $(pveversion | grep "pve-manager/7" | wc -l) -ne 1 ]; then
 | 
				
			||||||
msg_ok "Completed Post Install Routines"
 | 
					  header_info
 | 
				
			||||||
 | 
					  msg_error "This version of Proxmox Virtual Environment is not supported"
 | 
				
			||||||
 | 
					  echo -e "  Requires PVE Version: 7.XX"
 | 
				
			||||||
 | 
					  echo -e "\nExiting..."
 | 
				
			||||||
 | 
					  sleep 3
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					start_routines
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue