Skip to main content

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.sources

Optional, 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 dem Screenshot erklären

Im Screenshot sind mehrere Dinge sichtbar:

  • /etc/apt/sources.list enthält viele alte oder doppelte Debian-Einträge.
  • /etc/apt/sources.list.d/debian.sources enthält ebenfalls Debian-Einträge.
  • Dadurch sind Debian-Repositories teilweise doppelt vorhanden.
  • pve-no-subscription ist aktiv. Das ist für Homelab okay, erzeugt aber eine Proxmox-Warnung.
  • ceph no-subscription ist aktiv. Auch das erzeugt eine Proxmox-Warnung.
  • pve-enterprise ist 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.list

Docker 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.list

Nur 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.list

Auf 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.list

Ein 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.disabled

Optional auch Docker deaktivieren, falls nicht benötigt:

mv /etc/apt/sources.list.d/docker.list /etc/apt/sources.list.d/docker.list.disabled

Optional 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.disabled

Nur 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. Paketlisten aktualisieren

apt update

Gute Ausgabe:

  • Keine 401 Unauthorized
  • Keine 403 Forbidden
  • Keine NO_PUBKEY
  • Keine doppelten Repository-Warnungen
  • Keine falschen Suites wie bookworm auf einem trixie-System

Wenn apt update sauber ist:

apt full-upgrade

Danach prüfen:

dpkg --audit
pveversion
uname -r

17. 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. 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. 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. 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. 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. Proxmox Webproxy neu starten

systemctl restart pveproxy

Danach im Browser:

  • Mit Strg + F5 hart 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. Ä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. 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. /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. /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. /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. /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. /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. /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 update läuft ohne Enterprise-Fehler durch.
  • Keine doppelten Debian-Repositories.
  • Keine falschen Suites wie bookworm auf einem trixie-System.
  • dpkg --audit gibt nichts aus.
  • pveproxy, pvedaemon und pve-cluster laufen.
  • Das Subscription-Popup erscheint nach dem Patch nicht mehr.

Zusammenfassung

  • Debian-Repositories wurden aus /etc/apt/sources.list entfernt und sauber in debian.sources gepflegt.
  • Doppelte Debian-Einträge wurden beseitigt.
  • Das Proxmox Enterprise Repository wurde deaktiviert.
  • Das kostenlose pve-no-subscription Repository 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_command in proxmoxlib.js deaktiviert.
  • Gelbe Repository-Warnungen für no-subscription sind bei kostenloser Nutzung normal und nicht dasselbe wie das Subscription-Popup.