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-RepositoriesDebian Security RepositoryProxmoxpve-no-subscriptionRepositoryoptional Proxmox Cephno-subscriptionRepository
Nicht verwendet werden:
Proxmox Enterprise RepositoryProxmox 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:
falseDas 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 einemprivatenFensterTab ö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 updateläuft ohne Enterprise-Fehler durch.apt full-upgradeläuft sauber durch.dpkg --auditgibt nichts aus.pveproxyläuft.pvedaemonläuft.pve-clusterlä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-subscriptionRepository wurde aktiviert. - Debian 13 Trixie Repositories bleiben aktiv.
- Optional
wurdekann das kostenlose Ceph Repositoryaktiviert.aktiviert werden. - Die Subscription-Meldung wurde durch
einenErsetzenlokalenvonPatchchecked_commandinproxmoxlib.jsausgeblendet.deaktiviert. Der Patch kann nachNach Updates vonproxmox-widget-toolkitkann der Patch erneut nötig sein.