From 7e805c7c5284807518c8e73e65342164a28c1042 Mon Sep 17 00:00:00 2001 From: "manuel.maier" Date: Fri, 23 Jan 2026 21:33:41 +0100 Subject: [PATCH] set_repos.sh aktualisiert --- set_repos.sh | 51 +++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 39 insertions(+), 12 deletions(-) diff --git a/set_repos.sh b/set_repos.sh index 47ba372..33f691d 100644 --- a/set_repos.sh +++ b/set_repos.sh @@ -1,10 +1,11 @@ #!/bin/bash # ===================================================== -# Proxmox VE 9 Repository Setup (No-Subscription) +# Proxmox VE 9 Repository Setup # Debian 13 (trixie) | deb822 (.sources) +# Enterprise -> No-Subscription # ===================================================== -# Farben / Layout +# Farben / Layout (Community-Style) BOLD="\033[1m" GREEN="\033[32m" YELLOW="\033[33m" @@ -26,9 +27,9 @@ echo -e "${INDENT} No-Subscription | deb822 Standard" echo -e "${INDENT}==============================================" echo -e "${RESET}" -# OS prüfen +# OS-Check (PVE9 = Debian 13) if ! grep -q "trixie" /etc/os-release; then - echo -e "${RED}${INDENT}Dieses Script ist NUR für Debian 13 (trixie)!${RESET}" + echo -e "${RED}${INDENT}Dieses Script ist NUR für Proxmox VE 9 (Debian 13)!${RESET}" exit 1 fi @@ -37,9 +38,11 @@ BACKUP_DIR="/root/repo-backup-$(date +%F-%H%M)" mkdir -p "$BACKUP_DIR" echo -e "${CYAN}${INDENT}==> Backup vorhandener Repo-Dateien...${RESET}" + +# Alte Repos sichern +[ -f /etc/apt/sources.list ] && mv /etc/apt/sources.list "$BACKUP_DIR/" mv /etc/apt/sources.list.d/*.list "$BACKUP_DIR/" 2>/dev/null mv /etc/apt/sources.list.d/*.sources "$BACKUP_DIR/" 2>/dev/null -[ -f /etc/apt/sources.list ] && mv /etc/apt/sources.list "$BACKUP_DIR/" echo -e "${GREEN}${INDENT}Backup erstellt unter: $BACKUP_DIR${RESET}" @@ -51,16 +54,33 @@ if [[ ! -f "$KEYRING" ]]; then apt install -y proxmox-archive-keyring fi -# Ceph Version dynamisch bestimmen -CEPH_CODENAME="squid" +# ----------------------------------------------------- +# Ceph Codename ermitteln (Major -> Codename) +# ----------------------------------------------------- +CEPH_CODENAME="squid" # Default für PVE9 + if command -v ceph >/dev/null 2>&1; then - CEPH_CODENAME=$(ceph -v | awk '{print $3}' | cut -d. -f1) + CEPH_MAJOR=$(ceph -v | awk '{print $3}' | cut -d. -f1) + + case "$CEPH_MAJOR" in + 16) CEPH_CODENAME="pacific" ;; + 17) CEPH_CODENAME="quincy" ;; + 18) CEPH_CODENAME="reef" ;; + 19) CEPH_CODENAME="squid" ;; + *) + echo -e "${YELLOW}${INDENT}Unbekannte Ceph-Version ($CEPH_MAJOR), nutze 'squid'${RESET}" + CEPH_CODENAME="squid" + ;; + esac fi -echo -e "${CYAN}${INDENT}==> Erkannte Ceph-Version: ${CEPH_CODENAME}${RESET}" +echo -e "${CYAN}${INDENT}==> Ceph Codename: ${CEPH_CODENAME}${RESET}" -# PVE Repo +# ----------------------------------------------------- +# PVE No-Subscription Repo +# ----------------------------------------------------- echo -e "${CYAN}${INDENT}==> Erstelle PVE No-Subscription Repo...${RESET}" + cat < /etc/apt/sources.list.d/pve-no-subscription.sources Types: deb URIs: http://download.proxmox.com/debian/pve @@ -69,8 +89,11 @@ Components: pve-no-subscription Signed-By: ${KEYRING} EOF -# Ceph Repo +# ----------------------------------------------------- +# Ceph No-Subscription Repo +# ----------------------------------------------------- echo -e "${CYAN}${INDENT}==> Erstelle Ceph No-Subscription Repo...${RESET}" + cat < /etc/apt/sources.list.d/ceph-no-subscription.sources Types: deb URIs: http://download.proxmox.com/debian/ceph-${CEPH_CODENAME} @@ -79,9 +102,13 @@ Components: main Signed-By: ${KEYRING} EOF +# ----------------------------------------------------- # APT Update +# ----------------------------------------------------- echo -e "${CYAN}${INDENT}==> APT Update...${RESET}" apt update +echo echo -e "${GREEN}${INDENT}✔ Repositories erfolgreich eingerichtet!${RESET}" -echo -e "${CYAN}${INDENT}PVE 9 + Ceph (${CEPH_CODENAME}) nutzen jetzt No-Subscription.${RESET}" \ No newline at end of file +echo -e "${CYAN}${INDENT}PVE 9 nutzt jetzt No-Subscription Repos.${RESET}" +echo -e "${CYAN}${INDENT}Ceph Repo: ceph-${CEPH_CODENAME}${RESET}"