🔧 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
- Apri il file con un editor (es.
nano /etc/apt/sources.list):nano /etc/apt/sources.list - 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 - Commenta la riga aggiungendo
#all’inizio:# deb http://download.proxmox.com/debian/pve trixie pve-no-subscription - 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)"