Created
November 25, 2022 05:18
-
-
Save andrewiadevaia/62932a78b3efc62df6605702d66fd662 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash -ex | |
set -euo pipefail | |
shopt -s inherit_errexit nullglob | |
YW=$(echo "\033[33m") | |
BL=$(echo "\033[36m") | |
RD=$(echo "\033[01;31m") | |
BGN=$(echo "\033[4;92m") | |
GN=$(echo "\033[1;92m") | |
DGN=$(echo "\033[32m") | |
CL=$(echo "\033[m") | |
BFR="\\r\\033[K" | |
HOLD="-" | |
CM="${GN}✓${CL}" | |
CROSS="${RD}✗${CL}" | |
clear | |
if ! command -v pveversion >/dev/null 2>&1; then | |
echo -e "\n🛑 No PVE Detected, Wrong Script!\n" | |
exit 1 | |
fi | |
if [ $(pveversion | grep "pve-manager/7" | wc -l) -ne 1 ]; then | |
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 header_info { | |
echo -e "${RD} | |
____ _ _____________ ____ __ ____ __ ____ | |
/ __ \ | / / ____/__ / / __ \____ _____/ /_ / _/___ _____/ /_____ _/ / / | |
/ /_/ / | / / __/ / / / /_/ / __ \/ ___/ __/ / // __ \/ ___/ __/ __ / / / | |
/ ____/| |/ / /___ / / / ____/ /_/ (__ ) /_ _/ // / / (__ ) /_/ /_/ / / / | |
/_/ |___/_____/ /_/ /_/ \____/____/\__/ /___/_/ /_/____/\__/\__,_/_/_/ | |
${CL}" | |
} | |
function msg_info() { | |
local msg="$1" | |
echo -ne " ${HOLD} ${YW}${msg}..." | |
} | |
function msg_ok() { | |
local msg="$1" | |
echo -e "${BFR} ${CM} ${GN}${msg}${CL}" | |
} | |
clear | |
header_info | |
read -r -p "Disable Enterprise Repository? <y/N> " disable_enterprise | |
read -r -p "Add/Correct PVE7 Sources (Also Enables No-Sub Repo)? <y/N> " update_repo | |
read -r -p "Disable Subscription Nag? <y/N> " disable_nag | |
read -r -p "Update Proxmox VE 7 and Reboot? <y/N> " update_prompt | |
if [[ $disable_enterprise == "y" || $disable_enterprise == "Y" || $disable_enterprise == "yes" || $disable_enterprise == "Yes" ]]; then | |
msg_info "Disabling Enterprise Repository" | |
sleep 2 | |
sed -i "s/^deb/#deb/g" /etc/apt/sources.list.d/pve-enterprise.list | |
msg_ok "Disabled Enterprise Repository" | |
fi | |
if [[ $update_repo == "y" || $update_repo == "Y" || $update_repo == "yes" || $update_repo == "Yes" ]]; then | |
msg_info "Adding or Correcting PVE7 Sources" | |
cat <<EOF >/etc/apt/sources.list | |
deb http://ftp.debian.org/debian bullseye main contrib | |
deb http://ftp.debian.org/debian bullseye-updates main contrib | |
deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription | |
deb http://security.debian.org/debian-security bullseye-security main contrib | |
EOF | |
sleep 2 | |
msg_ok "Added or Corrected PVE7 Sources" | |
fi | |
if [[ $disable_nag == "y" || $disable_nag == "Y" || $disable_nag == "yes" || $disable_nag == "Yes" ]]; then | |
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 | |
apt --reinstall install proxmox-widget-toolkit &>/dev/null | |
msg_ok "Disabled Subscription Nag (Delete browser cache)" | |
fi | |
if [[ $update_prompt == "y" || $update_prompt == "Y" || $update_prompt == "yes" || $update_prompt == "Yes" ]]; then | |
msg_info "Updating Proxmox VE 7 (Patience)" | |
apt-get update &>/dev/null | |
apt-get -y dist-upgrade &>/dev/null | |
msg_ok "Updated Proxmox VE 7 (⚠ Reboot Recommended)" | |
msg_info "Rebooting Proxmox VE 7" | |
sleep 2 | |
msg_ok "Completed Post Install Routines" | |
reboot | |
fi | |
sleep 2 | |
msg_ok "Completed Post Install Routines" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment