
Proxmox VE 9 basiert auf Debian 13 (Trixie) und bringt einen neueren Kernel, aktualisierte Versionen von LXC und QEMU sowie einen verbesserten Virtualisierungs-Stack mit. Dieser Leitfaden beschreibt eine vereinfachte und automatisierte Methode zur Installation von Proxmox VE 9 auf einem sauberen Debian-13-System mithilfe von zwei Installationsskripten.
Die Methode folgt demselben Ansatz wie mein früherer Leitfaden zur Installation von Proxmox 8 auf Debian 12, wurde jedoch an Debian 13 und Proxmox VE 9 angepasst.
Voraussetzungen
- Frische Installation von Debian 13 (Trixie)
- Root-Zugriff
- Internetverbindung
Alle Befehle müssen als root ausgeführt werden.
Teil 1 – Systemvorbereitung & Installation des Proxmox-Kernels
Lade das erste Skript herunter:
|
1 2 3 |
wget http://soban.pl/bash/install-proxmox9-part1.sh chmod +x install-proxmox9-part1.sh ./install-proxmox9-part1.sh |
Dieses Skript:
- Setzt den Hostnamen und aktualisiert die Datei /etc/hosts
- Installiert den Proxmox-Archive-Keyring (SHA512-verifiziert)
- Fügt das Proxmox VE 9 Repository für Debian 13 hinzu
- Führt ein vollständiges System-Upgrade durch
- Installiert proxmox-default-kernel
- Startet das System neu
Inhalt von install-proxmox9-part1.sh
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
#!/usr/bin/env bash set -euo pipefail # Part 1/2: Debian 13 (Trixie) -> Proxmox VE 9 # - sets /etc/hosts # - adds PVE repo + installs Proxmox archive keyring (verified by SHA512) # - full-upgrade # - installs proxmox-default-kernel # - reboots log() { echo "[$(date '+%F %T')] $*"; } die() { echo "ERROR: $*" >&2; exit 1; } if [[ "$(id -u)" -ne 0 ]]; then die "Run as root." fi log "=== Proxmox VE 9 install (part 1/2) on Debian 13 Trixie ===" if ! grep -qi 'trixie' /etc/os-release; then log "WARNING: This does not look like Debian 13 (Trixie). Continue at your own risk." fi log "Network interfaces (for reference):" ip -br -c a || true CURRENT_HOSTNAME="$(hostname)" CURRENT_IP="$(hostname -I | awk '{print $1}')" read -r -p "Hostname for this node [${CURRENT_HOSTNAME}]: " HOSTNAME HOSTNAME="${HOSTNAME:-$CURRENT_HOSTNAME}" read -r -p "Primary IP for /etc/hosts [${CURRENT_IP}]: " IPADDR IPADDR="${IPADDR:-$CURRENT_IP}" if [[ -z "${HOSTNAME}" || -z "${IPADDR}" ]]; then die "Hostname/IP cannot be empty." fi log "Setting hostname to: ${HOSTNAME}" hostnamectl set-hostname "${HOSTNAME}" log "Backing up /etc/hosts -> /etc/hosts.backup" cp -a /etc/hosts /etc/hosts.backup log "Writing /etc/hosts (makes hostname resolvable locally)" cat > /etc/hosts <<EOT 127.0.0.1 localhost ${IPADDR} ${HOSTNAME} # IPv6 ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters EOT log "Installing prerequisites" apt update apt install -y wget ca-certificates gnupg log "Installing Proxmox archive keyring to /usr/share/keyrings/proxmox-archive-keyring.gpg" KEYRING="/usr/share/keyrings/proxmox-archive-keyring.gpg" wget -q https://enterprise.proxmox.com/debian/proxmox-release-trixie.gpg -O "${KEYRING}" log "Verifying SHA512 of keyring" EXPECTED_SHA512="8678f2327c49276615288d7ca11e7d296bc8a2b96946fe565a9c81e533f9b15a5dbbad210a0ad5cd46d361ff1d3c4bac55844bc296beefa4f88b86e44e69fa51" ACTUAL_SHA512="$(sha512sum "${KEYRING}" | awk '{print $1}')" if [[ "${ACTUAL_SHA512}" != "${EXPECTED_SHA512}" ]]; then die "Keyring SHA512 mismatch! Expected: ${EXPECTED_SHA512} Actual: ${ACTUAL_SHA512}" fi log "Adding Proxmox VE 9 no-subscription repo (Trixie)" cat > /etc/apt/sources.list.d/pve-install-repo.list <<EOT deb [arch=amd64 signed-by=/usr/share/keyrings/proxmox-archive-keyring.gpg] http://download.proxmox.com/debian/pve trixie pve-no-subscription EOT log "Updating + full-upgrade" apt update apt full-upgrade -y log "Installing Proxmox kernel meta-package: proxmox-default-kernel" apt install -y proxmox-default-kernel log "Part 1 done. Rebooting now. After reboot run: ./install-proxmox9-part2.sh" reboot |
Teil 2 – Installation von Proxmox VE 9
Nach dem Neustart herunterladen und ausführen:
|
1 2 3 |
wget http://soban.pl/bash/install-proxmox9-part2.sh chmod +x install-proxmox9-part2.sh ./install-proxmox9-part2.sh |
Inhalt von install-proxmox9-part2.sh
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
#!/usr/bin/env bash set -euo pipefail # Part 2/2: Debian 13 (Trixie) -> Proxmox VE 9 # - verifies running PVE kernel (unless FORCE=1) # - installs proxmox-ve + required packages # - removes Debian kernel packages (keeps pve) # - updates grub # - removes os-prober # - prints URL to GUI log() { echo "[$(date '+%F %T')] $*"; } die() { echo "ERROR: $*" >&2; exit 1; } FORCE="${FORCE:-0}" if [[ "$(id -u)" -ne 0 ]]; then die "Run as root." fi log "=== Proxmox VE 9 install (part 2/2) ===" KERNEL="$(uname -r || true)" if ! echo "${KERNEL}" | grep -qi 'pve'; then if [[ "${FORCE}" != "1" ]]; then die "You are NOT running a PVE kernel (uname -r: ${KERNEL}). Reboot and select the Proxmox kernel first. If you really want to continue anyway: FORCE=1 ./install-proxmox9-part2.sh" else log "WARNING: Continuing despite not running PVE kernel because FORCE=1" fi else log "OK: running PVE kernel: ${KERNEL}" fi log "Update package lists" apt update log "Install Proxmox VE packages" DEBIAN_FRONTEND=readline apt install -y proxmox-ve postfix open-iscsi chrony log "Upgrade remaining packages" apt full-upgrade -y log "Removing Debian kernel meta-package and non-PVE kernels (best-effort)" apt remove -y linux-image-amd64 || true mapfile -t KPKGS < <(dpkg -l | awk '/^ii linux-image-/{print $2}' | grep -vE 'pve|proxmox' || true) if (( ${#KPKGS[@]} > 0 )); then log "Purging non-PVE kernel packages: ${KPKGS[*]}" apt purge -y "${KPKGS[@]}" || true fi log "Update grub" update-grub || true log "Remove os-prober (recommended for servers; avoids odd grub side effects)" apt remove -y os-prober || true log "Done. Proxmox UI should be available at:" IP="$(hostname -I | awk '{print $1}')" echo "https://${IP}:8006" log "Login: root + your root password" |
Zugriff auf die Weboberfläche
Nach Abschluss des zweiten Skripts öffnen Sie:
|
1 |
https://YOUR_SERVER_IP:8006 |
Melden Sie sich mit dem Benutzer root und Ihrem Root-Passwort an. Eine Zertifikatswarnung ist bei einer frischen Installation normal.
Fazit
Diese Methode bietet eine saubere und kontrollierte Möglichkeit, Proxmox VE 9 direkt auf Debian 13 bereitzustellen, ohne den ISO-Installer zu verwenden. Besonders geeignet ist sie für automatisierte Umgebungen, Labore und individuelle Infrastruktur-Setups.