Skip to main content

Proxmox VE ohne Subscription: kostenlose Repositories nutzen und Subscription-Hinweis ausblenden

Diese Anleitung beschreibt, wie ein Proxmox VE 9 System aufohne kostenpflichtige Subscription betrieben wird. Dabei werden die offiziellen Enterprise-Repositories deaktiviert und stattdessen die kostenlosen Proxmox- und Debian-Repositories umgestellt wird.verwendet. Zusätzlich wird erklärt, wie die Meldung „No valid subscription - You do not have a valid subscription for this server“ in der Proxmox-Weboberfläche ausgeblendet werden kann.

Wichtig: Die UmstellungNutzung auf dasdes pve-no-subscription-RepositoryRepositories ist einenormal normalemöglich, undaber sauberenicht Repository-Konfiguration.für produktive Systeme mit Support-Anspruch gedacht. Das Entfernen der Subscription-Meldung ist dagegen kein offiziell unterstützteroffizieller Proxmox-Schalter, sondern ein lokaler Patch an einer JavaScript-Datei der Weboberfläche.

Diese Anleitung ist für Proxmox VE 9 auf Debian 13 Trixie geschrieben.


1. Ziel

Nach dieser Anleitung verwendet der Server:

  • Debian 13 Trixie Standard-Repositories
  • Debian Security Repository
  • Proxmox pve-no-subscription Repository
  • optional Proxmox Ceph no-subscription Repository

Nicht verwendet werden:

  • Proxmox Enterprise Repository
  • Proxmox Ceph Enterprise Repository

2. Aktuelle Proxmox-Version prüfen

Zuerst prüfen, welche Proxmox- und Debian-Version installiert ist:

pveversion
cat /etc/os-release

Erwartung beiBei Proxmox VE 9:9 sollte Debian 13 Trixie verwendet werden:

VERSION_CODENAME=trixie

3.2. Proxmox Enterprise Repository deaktivieren

Ohne gültige Proxmox-Subscription erzeugt das Enterprise-Repository Fehler bei apt update. Deshalb wird es deaktiviert.

Datei öffnen:

nano /etc/apt/sources.list.d/pve-enterprise.sources

Falls die Datei existiert, sollte dersie Eintragso entweder entfernt oder deaktiviert werden.

Empfohlene Variante: Enabled: no ergänzen:aussehen:

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

FallsWichtig ist die DateiZeile:

Enabled: no

Alternativ kann der Enterprise-Eintrag entfernt werden. Sauberer ist aber meistens, ihn deaktiviert liegen zu lassen. Dann weiß man später noch, warum das Ding nicht existiert,verwendet istwird. dasDokumentation, ebenfallsdiese inseltene Ordnung.Form Dannvon ist das Enterprise-Repository wahrscheinlich nicht aktiv.Selbstverteidigung.


4.3. Kostenloses Proxmox Repository einrichtenaktivieren

Datei erstellen oder bearbeiten:

nano /etc/apt/sources.list.d/proxmox.sources

Inhalt:Inhalt für Proxmox VE 9 / Debian 13 Trixie:

Types: deb
URIs: http://download.proxmox.com/debian/pve
Suites: trixie
Components: pve-no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg

Das Repository pve-no-subscription benötigt keinen Subscription-Key. Es ist für Homelab, Testsysteme und nicht-produktiveprivate SystemeUmgebungen geeignet.


4. Proxmox Keyring prüfen

Falls der Proxmox-Keyring noch nicht installiert ist, kann er so eingebunden werden:

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

5. Debian Repositories prüfen

Proxmox benötigt zusätzlichbasiert weiterhin gültigeauf Debian. Die Debian-Basis-Repositories.Repositories Beidürfen Debiandeshalb 13nicht entfernt werden. Sonst wird bevorzugt das Deb822-FormatSystem verwendet.irgendwann sehr kreativ kaputt.

Datei prüfen:

nano /etc/apt/sources.list.d/debian.sources

Beispiel für Debian 13 Trixie:

Types: deb
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
URIs: http://security.debian.org/debian-security/
Suites: trixie-security
Components: main non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

Hinweis:Wichtig: Keine Debian-Repositories entfernen, nur weil Proxmox installiert ist. Proxmox basiertbraucht auf Debian und benötigt dieweiterhin Debian-Repositories weiterhin.Pakete.


6. Optional: Debian Backports

Backports sind für Proxmox normalerweise nicht zwingend nötig. Wenn sieBackports verwendet werden, sollten siePakete daraus bewusst gesetztinstalliert sein.werden.

Beispiel:Beispiel für Debian 13 Trixie Backports:

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

Backports nicht blind für allesalle Pakete verwenden. PaketeDas ausist Backportskein solltenmagischer gezieltFrische-Spray, installiertsondern werden.eine zusätzliche Paketquelle mit Nebenwirkungen.


7. Optional: Proxmox Ceph No-Subscription Repository

Wenn Ceph auf dem Proxmox-Cluster verwendetgenutzt werden soll, kann das kostenlose Ceph-Repository eingerichteteingebunden werden. BeiFür Proxmox VE 9 ist Ceph Squid relevant.

Datei erstellen oder bearbeiten:

nano /etc/apt/sources.list.d/ceph.sources

Inhalt für Ceph Squid ohne Subscription: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

Falls ein Enterprise-Ceph-Repository vorhanden ist,existiert, sollte es deaktiviert werden:

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

8. Paketlisten aktualisieren

apt update

Wenn alles korrekt eingerichtet ist, sollten keine Fehler wie diese erscheinen:

401 Unauthorized
403 Forbidden
NO_PUBKEY
The repository is not signed
does not have a Release file

EinFalls Hinweisfolgende wieMeldung diesererscheint, ist das bei aktivierter i386-Architektur nicht kritisch:

pve-no-subscription/binary-i386/Packages wird übersprungen, da das Depot die Architektur i386 nicht unterstützt.

Proxmox stellt keine i386-Pakete bereit. Wenn keine 32-bit-Pakete benötigt werden, kann die Architektur später entfernt werden.


9. UpgradeSystem ausführenaktualisieren

apt full-upgrade

Danach prüfen:

dpkg --audit
pveversion
uname -r

dpkg --audit sollte keine Ausgabe liefern. Wenn es doch etwas ausgibt, ist die Paketverwaltung nicht sauber. APT meldet sich dann quasi mit einem Zettel: „Ich habe da was fallen lassen.“


10.

Subscription-Meldung in der Weboberfläche ausblenden

deaktivieren

Wichtig:Achtung: DasDer istfolgende keinTeil offiziell unterstützter Proxmox-Schalter. Dabei wirdverändert eine JavaScript-Datei deraus Proxmox-Weboberflächedem lokal geändert. Nach Updates des PaketsPaket proxmox-widget-toolkit. Diese Änderung ist nicht offiziell supportet und kann dienach MeldungUpdates wiederüberschrieben erscheinen.werden.

BetroffeneDie Datei:betroffene Datei ist:

/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js

Zuerst


10. Backup erstellen:

der Datei erstellen

cp -a /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js.bak


11. Datei öffnen:

bearbeiten

nano /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js

In Nano mit Strg + W nach folgendem Text suchen:

Nochecked_command: validfunction subscription(orig_cmd)

InDer deroriginale Nähe befindet sich eine Abfrage ähnlich zu:

res.data.status.toLowerCase() !== 'active'

Diese Bedingung so ändern, dass sie nie wahr wird:

false

Das ErgebnisBlock sieht dann sinngemäß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 ||
                falseres.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(); 
            }
        },
    });
},

12. Block ersetzen

Den kompletten Block durch diesen kurzen Block ersetzen:

checked_command: function (orig_cmd) {
    orig_cmd();
},

Dadurch bleibt der Code grundsätzlich erhalten, aberwird die Meldung wirdSubscription-Abfrage nicht mehr ausgelöst.ausgeführt. Ja,Die eigentliche Aktion in der Weboberfläche wird direkt gestartet.

Wichtig: Das Komma am Ende muss bleiben. Wenn das istKomma hässlich.entfernt wird, kann die JavaScript-PatchingStruktur inkaputtgehen Vendor-Dateienund die Weboberfläche lädt nicht korrekt. JavaScript ist immer ein bisschenda wie TapeGlas: aufdurchsichtig, einerpraktisch, Warnlampe.und sofort scharfkantig, wenn man es falsch anfasst.


11.13. Vollständiger Zielausschnitt

Der Bereich um alertResponseFailure und checked_command sollte danach ungefähr 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();
},

Es ist nicht nötig, andere Subscription-Funktionen zu verändern. Dieser Patch reicht aus, um den störenden Hinweis beim Login beziehungsweise bei Aktionen in der Weboberfläche zu unterdrücken.


14. Proxmox Webproxy neu starten

systemctl restart pveproxy

Danach die Weboberfläche neu laden.

Am besten:

  • Browser-Cache leeren
  • oder die Proxmox-Weboberfläche in einem privaten FensterTab öffnen.

    ffnen
  • oder hart neu laden mit Strg + F5

Weboberfläche:

https://SERVER-IP:8006/

12.15. Änderung rückgängig machen

WennFalls die Weboberfläche Probleme macht oder die Änderung zurückgenommen werden soll:

cp -a /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js.bak /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
systemctl restart pveproxy

Alternativ kann das Paket neu installiert werden:

apt install --reinstall proxmox-widget-toolkit
systemctl restart pveproxy

13.16. Nach Updates prüfen

Wenn das Paket proxmox-widget-toolkit aktualisiert wird, kann die Datei proxmoxlib.js überschrieben werden. Dann erscheint die Subscription-Meldung wieder.

Nach Updates prüfen:

apt list --upgradable
dpkg -l proxmox-widget-toolkit

Falls die Meldung wieder erscheint, den Patch erneut anwenden.


14.17. Empfohlene Repository-ZielstrukturStruktur

Für ein Proxmox VE 9 Homelab ohne Subscription:Subscription sollten typischerweise diese Dateien aktiv sein:

/etc/apt/sources.list.d/debian.sources
/etc/apt/sources.list.d/proxmox.sources

Optional bei Ceph:

/etc/apt/sources.list.d/ceph.sources

Nicht aktiv ohne Subscription:

/etc/apt/sources.list.d/pve-enterprise.sources
/etc/apt/sources.list.d/ceph-enterprise.sources

Enterprise-Dateien können vorhanden sein, sollten aber deaktiviert sein:

Enabled: no

15.18. Kontrollbefehle

apt update
apt full-upgrade
dpkg --audit
pveversion
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.
  • apt full-upgrade läuft sauber durch.
  • dpkg --audit gibt nichts aus.
  • pveproxy läuft.
  • pvedaemon läuft.
  • pve-cluster läuft.
  • Die Proxmox-Weboberfläche ist erreichbar.
  • Die Subscription-Meldung erscheint nach dem Patch nicht mehr.

16.19. Typische Probleme

apt update zeigt 401 Unauthorized

Dann ist sehr wahrscheinlich noch ein Enterprise-Repository aktiv.

Prüfen:

ls /etc/apt/sources.list.d/

Enterprise-Dateien öffnen und mit Enabled: no deaktivieren.

Proxmox meldet i386 wird übersprungen

Beispiel:

pve-no-subscription/binary-i386/Packages wird übersprungen

Das ist kein kritischer Fehler. Proxmox bietet keine i386-Pakete an.

Subscription-Meldung erscheint nach Update wieder

Dann wurde proxmoxlib.js durch ein Update überschrieben. Den Patch erneut anwenden. Willkommen bei Vendor-Dateien, der Tapete der Systemadministration.

Weboberfläche lädt nach Änderung nicht mehr

Dann wurde wahrscheinlich JavaScript-Syntax beschädigt. Backup zurückspielen:

cp -a /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js.bak /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
systemctl restart pveproxy

20. Zusammenfassung

  • Das Proxmox Enterprise Repository wurde deaktiviert.
  • Das kostenlose pve-no-subscription Repository wurde aktiviert.
  • Debian 13 Trixie Repositories bleiben aktiv.
  • Optional wurdekann das kostenlose Ceph Repository aktiviert.aktiviert werden.
  • Die Subscription-Meldung wurde durch einenErsetzen lokalenvon Patchchecked_command in proxmoxlib.js ausgeblendet.deaktiviert.
  • Der Patch kann nachNach Updates von proxmox-widget-toolkit kann der Patch erneut nötig sein.