Proxmox VE ohne Subscription: kostenlose Repositories nutzen und Subscription-Hinweis ausblenden
Diese Anleitung beschreibt, wie ein Proxmox VE 9 System unter Debian 13 Trixie sauber auf kostenlose Repositories umgestellt wird. Zusätzlich wird erklärt, wie die Popup-Meldung „No valid subscription - You do not have a valid subscription for this server“ in der Proxmox-Weboberfläche ausgeblendet wird.
Wichtig: Das Verwenden von pve-no-subscription und ceph no-subscription ist für Homelab- und Testsysteme normal. Proxmox zeigt dafür aber weiterhin Warnungen in der Repository-Ansicht an, weil diese Repositories nicht für produktive Systeme mit Support-Anspruch empfohlen werden.
Nicht verwechseln: Die gelben Repository-Warnungen unter Updates → Repositories sind nicht dieselbe Meldung wie das Popup „No valid subscription“. Der JavaScript-Patch entfernt nur das Popup, nicht die Repository-Warnungen.
1. Zielzustand
Am Ende sollen nur noch die wirklich benötigten Paketquellen aktiv sein.
Für ein normales Proxmox VE 9 Homelab ohne Subscription:
/etc/apt/sources.list.d/debian.sources
/etc/apt/sources.list.d/proxmox.sources
Optional, wenn Ceph verwendet werden soll:
/etc/apt/sources.list.d/ceph.sourcesOptional, wenn diese Programme wirklich benötigt werden:
/etc/apt/sources.list.d/docker.list
/etc/apt/sources.list.d/nvidia-container-toolkit.list
/etc/apt/sources.list.d/spotify.list
/etc/apt/sources.list.d/vivaldi.list
Nicht aktiv ohne Subscription:
/etc/apt/sources.list.d/pve-enterprise.sources
/etc/apt/sources.list.d/ceph-enterprise.sources
Die Datei /etc/apt/sources.list sollte auf einem aufgeräumten Proxmox VE 9 System idealerweise leer sein oder nur Kommentare enthalten. Die eigentlichen Debian-Repos liegen dann sauber im Deb822-Format in /etc/apt/sources.list.d/debian.sources.
2. Aktuelle Version prüfen
pveversion
cat /etc/os-release
uname -r
Bei Proxmox VE 9 sollte Debian 13 Trixie verwendet werden:
VERSION_CODENAME=trixie
3. Vor Änderungen Backups erstellen
Vor dem Aufräumen der Repositories werden die vorhandenen APT-Dateien gesichert. Das ist langweilig, aber deutlich besser als später aus Terminal-Asche rekonstruieren zu müssen, was man vor fünf Minuten zerstört hat.
mkdir -p /root/apt-repo-backup
cp -a /etc/apt/sources.list /root/apt-repo-backup/sources.list.bak 2>/dev/null || true
cp -a /etc/apt/sources.list.d /root/apt-repo-backup/sources.list.d.bak
4. Repository-Dateien ansehen
Alle vorhandenen Repository-Dateien anzeigen:
ls -la /etc/apt/
ls -la /etc/apt/sources.list.d/
Typische Dateien:
/etc/apt/sources.list
/etc/apt/sources.list.d/debian.sources
/etc/apt/sources.list.d/proxmox.sources
/etc/apt/sources.list.d/pve-enterprise.sources
/etc/apt/sources.list.d/ceph.sources
/etc/apt/sources.list.d/docker.list
/etc/apt/sources.list.d/nvidia-container-toolkit.list
/etc/apt/sources.list.d/spotify.list
/etc/apt/sources.list.d/vivaldi.list
5. Problem aus demder ScreenshotProxmox-Repository-Ansicht erklären
ImIn Screenshotder sindProxmox-GUI unter Updates → Repositories können mehrere Dinge sichtbar:sichtbar sein:
/etc/apt/sources.listenthältvielealte oder doppelte Debian-Einträge./etc/apt/sources.list.d/debian.sourcesenthält ebenfalls Debian-Einträge.- Dadurch sind Debian-Repositories teilweise doppelt vorhanden.
pve-no-subscriptionist aktiv. Das ist für Homelab okay, erzeugt aber eine Proxmox-Warnung.ceph no-subscriptionist aktiv. Auch das erzeugt eine Proxmox-Warnung.pve-enterpriseist deaktiviert. Das ist ohne Subscription korrekt.Fremdrepos wie Docker, NVIDIA, Spotify und Vivaldi sind zusätzlich aktiv.
Die Warnungen „The no-subscription repository is not recommended for production use“ und „The Ceph no-subscription/main repository is not recommended for production use“ sind bei kostenloser Repo-Nutzung normal. Sie bedeuten nicht automatisch, dass apt update kaputt ist.
6. /etc/apt/sources.list aufräumen
Auf einem sauberen Proxmox VE 9 System sollten Debian-Repositories im Deb822-Format in /etc/apt/sources.list.d/debian.sources stehen. Die alte Datei /etc/apt/sources.list sollte deshalb keine aktiven Debian-Repos mehr enthalten.
Datei öffnen:
nano /etc/apt/sources.list
Empfohlener Inhalt:
# Debian repositories are managed in:
# /etc/apt/sources.list.d/debian.sources
#
# This file is intentionally left without active repository entries.
Dadurch werden doppelte Einträge zwischen /etc/apt/sources.list und /etc/apt/sources.list.d/debian.sources vermieden.
7. Debian-Repositories sauber setzen
Datei öffnen:
nano /etc/apt/sources.list.d/debian.sources
Empfohlener Inhalt für Debian 13 Trixie:
Types: deb
URIs: http://deb.debian.org/debian/
Suites: trixie trixie-updates
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
Types: deb
URIs: http://security.debian.org/debian-security/
Suites: trixie-security
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
contrib, non-free und non-free-firmware sind sinnvoll, wenn Firmware, NVIDIA-Komponenten oder andere nicht vollständig freie Pakete benötigt werden.
Keine Debian-Repositories entfernen, nur weil Proxmox installiert ist. Proxmox basiert weiterhin auf Debian und braucht Debian-Pakete.
8. Debian Backports optional setzen
Backports sind optional. Wenn sie verwendet werden, sollten sie bewusst und nicht als wilde Paket-Fundgrube genutzt werden.
Falls Backports gewünscht sind, kann eine separate Datei genutzt werden:
nano /etc/apt/sources.list.d/debian-backports.sources
Inhalt:
Types: deb
URIs: http://deb.debian.org/debian/
Suites: trixie-backports
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
Wenn Backports nicht benötigt werden, Datei weglassen. Weniger Repos bedeutet weniger Möglichkeiten für APT, sich wie ein überforderter Einkaufswagen zu benehmen.
9. Proxmox Enterprise Repository deaktivieren
Ohne Subscription darf das Enterprise-Repository nicht aktiv sein.
Datei öffnen:
nano /etc/apt/sources.list.d/pve-enterprise.sources
Empfohlener Inhalt:
Types: deb
URIs: https://enterprise.proxmox.com/debian/pve
Suites: trixie
Components: pve-enterprise
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
Enabled: no
Wichtig ist:
Enabled: no
Wenn die Datei nicht existiert, ist das ebenfalls okay. Dann ist das Enterprise-Repository nicht konfiguriert.
10. Kostenloses Proxmox Repository aktivieren
Datei öffnen oder erstellen:
nano /etc/apt/sources.list.d/proxmox.sources
Inhalt:
Types: deb
URIs: http://download.proxmox.com/debian/pve
Suites: trixie
Components: pve-no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
Architectures: amd64
Die Zeile Architectures: amd64 verhindert Warnungen, wenn auf dem System zusätzlich die Architektur i386 aktiviert ist. Proxmox stellt keine i386-Pakete bereit.
11. Proxmox Keyring prüfen
Falls der Proxmox-Keyring noch nicht vorhanden ist:
apt install -y wget ca-certificates
wget https://enterprise.proxmox.com/debian/proxmox-archive-keyring-trixie.gpg -O /usr/share/keyrings/proxmox-archive-keyring.gpg
Hash prüfen:
sha256sum /usr/share/keyrings/proxmox-archive-keyring.gpg
Erwarteter Hash:
136673be77aba35dcce385b28737689ad64fd785a797e57897589aed08db6e45 /usr/share/keyrings/proxmox-archive-keyring.gpg
12. Ceph Repository aufräumen
Ceph wird nur benötigt, wenn auf dem Proxmox-Cluster wirklich Ceph verwendet werden soll. Wenn Ceph noch nicht genutzt wird, kann das Ceph-Repository deaktiviert werden.
Variante A: Ceph wird aktuell nicht genutzt
Datei öffnen:
nano /etc/apt/sources.list.d/ceph.sources
Inhalt zum Deaktivieren:
Types: deb
URIs: http://download.proxmox.com/debian/ceph-squid
Suites: trixie
Components: no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
Architectures: amd64
Enabled: no
Damit verschwindet auch die Ceph-no-subscription-Warnung, weil das Ceph-Repository nicht mehr aktiv ist.
Variante B: Ceph wird genutzt oder vorbereitet
Datei öffnen:
nano /etc/apt/sources.list.d/ceph.sources
Inhalt:
Types: deb
URIs: http://download.proxmox.com/debian/ceph-squid
Suites: trixie
Components: no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
Architectures: amd64
Wenn das Ceph-no-subscription-Repository aktiv ist, zeigt Proxmox in der Repository-Ansicht eine Warnung an. Das ist bei kostenloser Nutzung normal.
Ceph Enterprise Repository deaktivieren
Falls vorhanden:
nano /etc/apt/sources.list.d/ceph-enterprise.sources
Inhalt:
Types: deb
URIs: https://enterprise.proxmox.com/debian/ceph-squid
Suites: trixie
Components: enterprise
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
Enabled: no
13. Fremdrepositories prüfen
Im Screenshot sind zusätzliche Drittanbieter-Repositories sichtbar. Diese sind nicht Teil von Proxmox und sollten nur aktiv bleiben, wenn sie wirklich benötigt werden.
Docker
Datei:
/etc/apt/sources.list.d/docker.listDocker kann auf einem Proxmox-Host funktionieren, sollte aber bewusst installiert sein. Für Containerisierung ist Proxmox selbst primär auf LXC und VMs ausgelegt. Wenn Docker nicht direkt auf dem Host benötigt wird, besser in einer VM betreiben.
NVIDIA Container Toolkit
Datei:
/etc/apt/sources.list.d/nvidia-container-toolkit.listNur behalten, wenn wirklich NVIDIA Container Toolkit direkt auf dem Proxmox-Host benötigt wird. Für GPU-Passthrough an VMs ist dieses Repository oft nicht nötig.
Spotify
Datei:
/etc/apt/sources.list.d/spotify.listAuf einem Proxmox-Server ist Spotify meistens, sagen wir, ein mutiger Lebensentwurf. Wenn es nicht aktiv gebraucht wird, Datei deaktivieren.
Vivaldi
Datei:
/etc/apt/sources.list.d/vivaldi.listEin Browser auf einem Hypervisor ist selten nötig. Wenn der Host wirklich als Desktop mitgenutzt wird, kann es bleiben. Für einen sauberen Server besser deaktivieren.
14. Fremdrepositories deaktivieren statt löschen
Zum sicheren Deaktivieren werden Dateien nicht gelöscht, sondern umbenannt. So kann man sie später wiederherstellen, ohne in Foren nach uralten Installationsbefehlen zu graben.
Beispiele:
mv /etc/apt/sources.list.d/spotify.list /etc/apt/sources.list.d/spotify.list.disabled
mv /etc/apt/sources.list.d/vivaldi.list /etc/apt/sources.list.d/vivaldi.list.disabledOptional auch Docker deaktivieren, falls nicht benötigt:
mv /etc/apt/sources.list.d/docker.list /etc/apt/sources.list.d/docker.list.disabledOptional NVIDIA Container Toolkit deaktivieren, falls nicht benötigt:
mv /etc/apt/sources.list.d/nvidia-container-toolkit.list /etc/apt/sources.list.d/nvidia-container-toolkit.list.disabledNur deaktivieren, wenn die Pakete daraus wirklich nicht benötigt werden. Wenn installierte Pakete aus einem Fremdrepo stammen, erhalten sie danach eventuell keine Updates mehr.
15. i386-Architektur prüfen
Wenn apt update meldet, dass Proxmox keine i386-Pakete anbietet, ist das meist harmlos. Sauberer ist aber, entweder in den Proxmox- und Ceph-Repos Architectures: amd64 zu setzen oder i386 zu entfernen.
Aktive Architekturen anzeigen:
dpkg --print-architecture
dpkg --print-foreign-architectures
Wenn i386 nicht benötigt wird:
dpkg --remove-architecture i386
apt update
i386 nur entfernen, wenn keine 32-bit-Pakete benötigt werden. Auf einem reinen Proxmox-Server ist das meistens der Fall.
16.14. Paketlisten aktualisieren
apt update
Gute Ausgabe:
Wenn apt update sauber ist:
apt full-upgrade
Danach prüfen:
dpkg --audit
pveversion
uname -r
17.15. Repository-Warnungen in der Proxmox-GUI verstehen
Unter Updates → Repositories kann Proxmox weiterhin Warnungen anzeigen. Diese sind nicht immer Fehler.
| Meldung | Bedeutung | Was tun? |
|---|---|---|
The no-subscription repository is not recommended for production use |
pve-no-subscription ist aktiv. |
Für Homelab okay. Für Produktivsystem Subscription nutzen. |
The Ceph no-subscription/main repository is not recommended for production use |
Ceph no-subscription ist aktiv. | Für Homelab okay. Wenn Ceph nicht genutzt wird, Ceph-Repo deaktivieren. |
Some suites are misconfigured |
Eine Quelle verwendet eine unerwartete Suite oder ist doppelt/falsch eingetragen. | Repository-Dateien prüfen und doppelte Einträge entfernen. |
pve-enterprise aktiv ohne Subscription |
Enterprise-Repository ist aktiv. | Mit Enabled: no deaktivieren. |
Subscription-Popup in der Weboberfläche deaktivieren
Achtung: Dieser Teil verändert eine Datei aus dem Paket proxmox-widget-toolkit. Das ist kein offiziell unterstützter Proxmox-Schalter. Nach Updates kann die Änderung überschrieben werden.
Betroffene Datei:
/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
18.16. Backup der JavaScript-Datei erstellen
cp -a /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js.bak
19.17. JavaScript-Datei bearbeiten
nano /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
In Nano mit Strg + W nach folgendem Text suchen:
checked_command: function (orig_cmd)
Der originale Block sieht ungefähr so aus:
checked_command: function (orig_cmd) {
Proxmox.Utils.API2Request({
url: '/nodes/localhost/subscription',
method: 'GET',
failure: function (response, opts) {
Ext.Msg.alert(gettext('Error'), response.htmlStatus);
},
success: function (response, opts) {
let res = response.result;
if (
res === null ||
res === undefined ||
!res ||
res.data.status.toLowerCase() !== 'active'
) {
Ext.Msg.show({
title: gettext('No valid subscription'),
icon: Ext.Msg.WARNING,
message: Proxmox.Utils.getNoSubKeyHtml(res.data.url),
buttons: Ext.Msg.OK,
callback: function (btn) {
if (btn !== 'ok') {
return;
}
orig_cmd();
},
});
} else {
orig_cmd();
}
},
});
},
20.18. checked_command-Block ersetzen
Den kompletten Block durch diesen kurzen Block ersetzen:
checked_command: function (orig_cmd) {
orig_cmd();
},
Das Komma am Ende muss bleiben. Wenn das Komma fehlt, kann die JavaScript-Struktur kaputtgehen und die Weboberfläche lädt nicht mehr korrekt.
21.19. Vollständiger Zielausschnitt
Der Bereich um alertResponseFailure und checked_command sollte danach so aussehen:
// can be useful for catching displaying errors from the API, e.g.:
// Proxmox.Async.api2({
// ...
// }).catch(Proxmox.Utils.alertResponseFailure);
alertResponseFailure: (res) =>
Ext.Msg.alert(gettext('Error'), res.htmlStatus || res.result.message),
checked_command: function (orig_cmd) {
orig_cmd();
},
Alte Code-Blöcke nicht nur auskommentieren, sondern wirklich entfernen. Auskommentierter Vendor-Code ist wie ein alter Teppich im Serverraum: irgendwann stolpert jemand darüber und keiner weiß mehr, warum er da liegt.
22.20. Proxmox Webproxy neu starten
systemctl restart pveproxy
Danach im Browser:
- Mit
Strg + F5hart neu laden - oder Browser-Cache leeren
- oder privates Fenster öffnen
Wenn weiterhin gelbe Warnungen unter Updates → Repositories erscheinen, ist das nicht das Subscription-Popup. Diese Warnungen kommen von der Repository-Konfiguration und bleiben bei no-subscription-Repos teilweise normal.
23.21. Änderung rückgängig machen
Falls die Weboberfläche Probleme macht:
cp -a /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js.bak /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
systemctl restart pveproxy
Alternativ Paket neu installieren:
apt install --reinstall proxmox-widget-toolkit
systemctl restart pveproxy
24.22. Nach Updates erneut prüfen
Wenn proxmox-widget-toolkit aktualisiert wird, kann der Patch überschrieben werden. Danach kann das Popup wieder erscheinen.
Prüfen:
apt list --upgradable
dpkg -l proxmox-widget-toolkit
Falls nötig, den Patch erneut setzen.
Beispiel: Saubere minimale Repository-Struktur
25.23. /etc/apt/sources.list
# Debian repositories are managed in:
# /etc/apt/sources.list.d/debian.sources
#
# This file is intentionally left without active repository entries.
26.24. /etc/apt/sources.list.d/debian.sources
Types: deb
URIs: http://deb.debian.org/debian/
Suites: trixie trixie-updates
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
Types: deb
URIs: http://security.debian.org/debian-security/
Suites: trixie-security
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
27.25. /etc/apt/sources.list.d/proxmox.sources
Types: deb
URIs: http://download.proxmox.com/debian/pve
Suites: trixie
Components: pve-no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
Architectures: amd64
28.26. /etc/apt/sources.list.d/pve-enterprise.sources
Types: deb
URIs: https://enterprise.proxmox.com/debian/pve
Suites: trixie
Components: pve-enterprise
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
Enabled: no
29.27. /etc/apt/sources.list.d/ceph.sources ohne aktive Ceph-Nutzung
Types: deb
URIs: http://download.proxmox.com/debian/ceph-squid
Suites: trixie
Components: no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
Architectures: amd64
Enabled: no
30.28. /etc/apt/sources.list.d/ceph.sources mit aktiver Ceph-Nutzung
Types: deb
URIs: http://download.proxmox.com/debian/ceph-squid
Suites: trixie
Components: no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
Architectures: amd64
Kontrollbefehle
apt update
apt full-upgrade
dpkg --audit
pveversion
uname -r
systemctl status pveproxy --no-pager
systemctl status pvedaemon --no-pager
systemctl status pve-cluster --no-pager
Erwartung:
apt updateläuft ohne Enterprise-Fehler durch.- Keine doppelten Debian-Repositories.
- Keine falschen Suites wie
bookwormauf einemtrixie-System. dpkg --auditgibt nichts aus.pveproxy,pvedaemonundpve-clusterlaufen.- Das Subscription-Popup erscheint nach dem Patch nicht mehr.
Zusammenfassung
- Debian-Repositories wurden aus
/etc/apt/sources.listentfernt und sauber indebian.sourcesgepflegt. - Doppelte Debian-Einträge wurden beseitigt.
- Das Proxmox Enterprise Repository wurde deaktiviert.
- Das kostenlose
pve-no-subscriptionRepository wurde aktiviert. - Das Ceph Repository wurde je nach Nutzung aktiviert oder deaktiviert.
Fremdrepositories wie Docker, NVIDIA, Spotify und Vivaldi wurden bewusst geprüft.- Das Subscription-Popup wurde durch Ersetzen von
checked_commandinproxmoxlib.jsdeaktiviert. - Gelbe Repository-Warnungen für
no-subscriptionsind bei kostenloser Nutzung normal und nicht dasselbe wie das Subscription-Popup.