From 14d2386717cb93965204d3039b695fefebed18bc Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 4 Nov 2024 17:01:47 +0100 Subject: [PATCH 1/4] Add Script to Refresh Repositories (Update) --- misc/update-repo.sh | 59 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 misc/update-repo.sh diff --git a/misc/update-repo.sh b/misc/update-repo.sh new file mode 100644 index 00000000..db8335ab --- /dev/null +++ b/misc/update-repo.sh @@ -0,0 +1,59 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2024 tteck +# Author: MickLesk +# License: MIT +# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE + +function header_info { + clear + cat <<"EOF" + __ __ __ __ ____ + / / / /___ ____/ /___ _/ /____ / __ \___ ____ ____ + / / / / __ \/ __ / __ `/ __/ _ \ / /_/ / _ \/ __ \/ __ \ +/ /_/ / /_/ / /_/ / /_/ / /_/ __/ / _, _/ __/ /_/ / /_/ / +\____/ .___/\__,_/\__,_/\__/\___/ /_/ |_|\___/ .___/\____/ + /_/ /_/ +EOF +} + +set -eEuo pipefail +BL=$(echo "\033[36m") +RD=$(echo "\033[01;31m") +GN=$(echo "\033[1;92m") +CL=$(echo "\033[m") + +header_info +echo "Loading..." +NODE=$(hostname) + +function update_container() { + container=$1 + os=$(pct config "$container" | awk '/^ostype/ {print $2}') + + if [[ "$os" == "ubuntu" || "$os" == "debian" ]]; then + echo -e "${BL}[Info]${GN} Checking /usr/bin/update in ${BL}$container${CL} (OS: ${GN}$os${CL})" + + if pct exec "$container" -- [ -e /usr/bin/update ]; then + pct exec "$container" -- bash -c "sed -i 's/tteck\\/Proxmox/community-scripts\\/ProxmoxVE/g' /usr/bin/update" + + if pct exec "$container" -- grep -q "community-scripts/ProxmoxVE" /usr/bin/update; then + echo -e "${GN}[Success]${CL} /usr/bin/update updated in ${BL}$container${CL}.\n" + else + echo -e "${RD}[No Change]${CL} No updates made to /usr/bin/update in ${BL}$container${CL}.\n" + fi + else + echo -e "${RD}[Error]${CL} /usr/bin/update not found in container ${BL}$container${CL}.\n" + fi + else + echo -e "${BL}[Info]${GN} Skipping ${BL}$container${CL} (not Debian/Ubuntu)\n" + fi +} + +header_info +for container in $(pct list | awk '{if(NR>1) print $1}'); do + update_container "$container" +done + +header_info +echo -e "${GN}The process is complete. The repositories have been switched to community-scripts/ProxmoxVE.${CL}\n" \ No newline at end of file From 56334616dc486ad92b744a77b7c64a2db0968f27 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 4 Nov 2024 17:08:07 +0100 Subject: [PATCH 2/4] Update update-repo.sh --- misc/update-repo.sh | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/misc/update-repo.sh b/misc/update-repo.sh index db8335ab..38774d0f 100644 --- a/misc/update-repo.sh +++ b/misc/update-repo.sh @@ -35,12 +35,11 @@ function update_container() { echo -e "${BL}[Info]${GN} Checking /usr/bin/update in ${BL}$container${CL} (OS: ${GN}$os${CL})" if pct exec "$container" -- [ -e /usr/bin/update ]; then - pct exec "$container" -- bash -c "sed -i 's/tteck\\/Proxmox/community-scripts\\/ProxmoxVE/g' /usr/bin/update" - if pct exec "$container" -- grep -q "community-scripts/ProxmoxVE" /usr/bin/update; then - echo -e "${GN}[Success]${CL} /usr/bin/update updated in ${BL}$container${CL}.\n" + echo -e "${RD}[No Change]${CL} /usr/bin/update is already up to date in ${BL}$container${CL}.\n" else - echo -e "${RD}[No Change]${CL} No updates made to /usr/bin/update in ${BL}$container${CL}.\n" + pct exec "$container" -- bash -c "sed -i 's/tteck\\/Proxmox/community-scripts\\/ProxmoxVE/g' /usr/bin/update" + echo -e "${GN}[Success]${CL} /usr/bin/update updated in ${BL}$container${CL}.\n" fi else echo -e "${RD}[Error]${CL} /usr/bin/update not found in container ${BL}$container${CL}.\n" From c290c1008335004b125c56ee2d9110be0f3e3f0c Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 4 Nov 2024 17:09:45 +0100 Subject: [PATCH 3/4] Update update-repo.sh --- misc/update-repo.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/misc/update-repo.sh b/misc/update-repo.sh index 38774d0f..0f08e6c9 100644 --- a/misc/update-repo.sh +++ b/misc/update-repo.sh @@ -37,6 +37,8 @@ function update_container() { if pct exec "$container" -- [ -e /usr/bin/update ]; then if pct exec "$container" -- grep -q "community-scripts/ProxmoxVE" /usr/bin/update; then echo -e "${RD}[No Change]${CL} /usr/bin/update is already up to date in ${BL}$container${CL}.\n" + elif pct exec "$container" -- grep -q "tteck" /usr/bin/update; then + echo -e "${RD}[Warning]${CL} /usr/bin/update in ${BL}$container${CL} contains a different entry (${RD}tteck${CL}). No changes made.\n" else pct exec "$container" -- bash -c "sed -i 's/tteck\\/Proxmox/community-scripts\\/ProxmoxVE/g' /usr/bin/update" echo -e "${GN}[Success]${CL} /usr/bin/update updated in ${BL}$container${CL}.\n" From e0dbe419da0ab0d0247dc7646f474a940bd1128a Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 4 Nov 2024 17:11:00 +0100 Subject: [PATCH 4/4] Update update-repo.sh --- misc/update-repo.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/misc/update-repo.sh b/misc/update-repo.sh index 0f08e6c9..aee7b661 100644 --- a/misc/update-repo.sh +++ b/misc/update-repo.sh @@ -41,7 +41,12 @@ function update_container() { echo -e "${RD}[Warning]${CL} /usr/bin/update in ${BL}$container${CL} contains a different entry (${RD}tteck${CL}). No changes made.\n" else pct exec "$container" -- bash -c "sed -i 's/tteck\\/Proxmox/community-scripts\\/ProxmoxVE/g' /usr/bin/update" - echo -e "${GN}[Success]${CL} /usr/bin/update updated in ${BL}$container${CL}.\n" + + if pct exec "$container" -- grep -q "community-scripts/ProxmoxVE" /usr/bin/update; then + echo -e "${GN}[Success]${CL} /usr/bin/update updated in ${BL}$container${CL}.\n" + else + echo -e "${RD}[Error]${CL} /usr/bin/update in ${BL}$container${CL} could not be updated properly.\n" + fi fi else echo -e "${RD}[Error]${CL} /usr/bin/update not found in container ${BL}$container${CL}.\n"