Upgrade proxmox 8 to 9

🔧 Passo 1: Sostituzione repository in Trixie

Spegnere o migrare le VM in esecuzione .

Dopo aver eseguito la sostituzione del repo attuale in /etc/apt sources.list con il comando :

sed -i 's/bookworm/trixie/g' /etc/apt/sources.list
  1. Apri il file con un editor (es. nano /etc/apt/sources.list):nano /etc/apt/sources.list
  2. Trova la riga 6 (o quella con pve-no-subscription):
    Esempio di riga esistente:deb http://download.proxmox.com/debian/pve trixie pve-no-subscription
  3. Commenta la riga aggiungendo # all’inizio:# deb http://download.proxmox.com/debian/pve trixie pve-no-subscription
  4. Salva e chiudi il file.

📝 Passo 2: Crea il repository corretto (proxmox.sources)

Contenuto esatto del file:

cat > /etc/apt/sources.list.d/proxmox.sources << EOF
Types: deb
URIs: http://download.proxmox.com/debian/pve
Suites: trixie
Components: pve-no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
EOF

✅ Passo 3: Verifica e aggiorna i repository

Esegui questi comandi per confermare la correzione:

apt update && apt policy  # Dovrebbe mostrare "OK" senza warning di duplicati

🔄 Passo 4: Esegui l’upgrade

apt dist-upgrade  # Procedura senza errori (se non compaiono warning)
a fine upgrade eseguire pve8to9

🔍 Passo 5: Riavvia il sistema

🔄 Passo 6 : Creazione Debian.sources

Dopi il riavvio , vuotare il file /etc/apt/sources.list

Creare in /etc/apt/sources.d/debian.sources

Types: deb deb-src
URIs: http://deb.debian.org/debian/
Suites: trixie trixie-updates
Components: main non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

Types: deb deb-src
URIs: http://security.debian.org/debian-security/
Suites: trixie-security
Components: main non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

Controllo finale ed eventuali correzioni

Commentare pve-enterprise.xxx files in :

root@pvetest:/etc/apt/sources.list.d# ls -l
total 10
-rw-r--r-- 1 root root 162 Sep 14 07:37 proxmox.sources
-rw-r--r-- 1 root root  71 Sep 14 11:32 pve-enterprise.list.dpkg-dist
-rw-r--r-- 1 root root 165 Sep 14 11:32 pve-enterprise.sources

Per finire dopo aver riavviato tutto con la nuova versione eseguire :

pve8to9 --full
installare eventuali pacchetti come intel-microcode e chrony 
apt autoremove 
pve8to9 --full

Il file sources.list va lasciato vuoto e non commentato .

Codice in bash per controllo finale repo e versioni proxmox :

#!/bin/bash

echo "🔍 Verifica repository APT (deb822)..."
sources_dir="/etc/apt/sources.list.d"
legacy_sources="/etc/apt/sources.list"

# Check for legacy entries
if grep -q '^deb ' "$legacy_sources"; then
    echo "⚠️  Repository legacy trovati in $legacy_sources"
    grep '^deb ' "$legacy_sources"
else
    echo "✅ Nessun repository legacy in $legacy_sources"
fi

# Check for .list files with legacy format
legacy_list=$(grep -r '^deb ' "$sources_dir"/*.list 2>/dev/null)
if [ -n "$legacy_list" ]; then
    echo "⚠️  Repository legacy trovati in file .list:"
    echo "$legacy_list"
else
    echo "✅ Nessun repository legacy nei file .list"
fi

echo ""
echo "📦 Verifica pacchetti aggiornabili..."
upgradable=$(apt list --upgradable 2>/dev/null | grep -v "Listing...")
if [ -n "$upgradable" ]; then
    echo "⚠️  Pacchetti aggiornabili trovati:"
    echo "$upgradable" | head -n 10
    echo "... (totale: $(echo "$upgradable" | wc -l))"
else
    echo "✅ Tutti i pacchetti sono aggiornati"
fi

echo ""
echo "🔐 Verifica chiavi GPG..."
keyring="/usr/share/keyrings/proxmox-archive-keyring.gpg"
if gpg --quiet --dry-run --import "$keyring" >/dev/null 2>&1; then
    echo "✅ Chiave Proxmox valida: $keyring"
else
    echo "⚠️  Chiave Proxmox non valida o mancante"
fi

echo ""
echo "🧠 Versione Proxmox:"
pveversion

echo ""
echo "🧬 Kernel attivo:"
uname -r

echo ""
echo "✅ Audit completato su $(hostname)"

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *