#!/bin/bash # ===================================================== # Proxmox VE 9 Repository Setup (No-Subscription) # Debian 13 (trixie) | deb822 (.sources) # ===================================================== # Farben / Layout BOLD="\033[1m" GREEN="\033[32m" YELLOW="\033[33m" RED="\033[31m" CYAN="\033[36m" RESET="\033[0m" INDENT=" " # Root-Check if [[ $EUID -ne 0 ]]; then echo -e "${RED}${INDENT}Bitte als Root ausführen!${RESET}" exit 1 fi echo -e "${BOLD}${CYAN}" echo -e "${INDENT}==============================================" echo -e "${INDENT} Proxmox VE 9 – Repository Setup" echo -e "${INDENT} No-Subscription | deb822 Standard" echo -e "${INDENT}==============================================" echo -e "${RESET}" # OS prüfen if ! grep -q "trixie" /etc/os-release; then echo -e "${RED}${INDENT}Dieses Script ist NUR für Debian 13 (trixie)!${RESET}" exit 1 fi # Backup-Ordner BACKUP_DIR="/root/repo-backup-$(date +%F-%H%M)" mkdir -p "$BACKUP_DIR" echo -e "${CYAN}${INDENT}==> Backup vorhandener Repo-Dateien...${RESET}" 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}" # Proxmox Keyring prüfen KEYRING="/usr/share/keyrings/proxmox-archive-keyring.gpg" if [[ ! -f "$KEYRING" ]]; then echo -e "${CYAN}${INDENT}==> Proxmox Keyring fehlt – installiere...${RESET}" apt update >/dev/null apt install -y proxmox-archive-keyring fi # Ceph Version dynamisch bestimmen CEPH_CODENAME="squid" if command -v ceph >/dev/null 2>&1; then CEPH_CODENAME=$(ceph -v | awk '{print $3}' | cut -d. -f1) fi echo -e "${CYAN}${INDENT}==> Erkannte Ceph-Version: ${CEPH_CODENAME}${RESET}" # PVE 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 Suites: trixie Components: pve-no-subscription Signed-By: ${KEYRING} EOF # Ceph 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} Suites: trixie Components: main Signed-By: ${KEYRING} EOF # APT Update echo -e "${CYAN}${INDENT}==> APT Update...${RESET}" apt update echo -e "${GREEN}${INDENT}✔ Repositories erfolgreich eingerichtet!${RESET}" echo -e "${CYAN}${INDENT}PVE 9 + Ceph (${CEPH_CODENAME}) nutzen jetzt No-Subscription.${RESET}"