TL;DR
PVE 9 (Debian 13 trixie, deb822 format):
| |
PVE 8 (Debian 12 bookworm, one-line format):
| |
If the host runs Ceph, the Ceph enterprise repo has to be disabled too and swapped for its no-subscription (below).
What each repository does
| Repo | Purpose | Without a subscription |
|---|---|---|
pve-enterprise | Stable packages, the most tested. Needs a subscription key | apt update returns 401 Unauthorized |
pve-no-subscription | Public. Same packages, a bit earlier and with less testing | Works |
pve-test | Bleeding edge, for testing | Works |
Proxmox is clear about it: pve-no-subscription is for testing and non-production use; in production they want you to pay for a subscription and use enterprise. For a lab or a homelab it is the normal repo.
The enterprise 401 does not break anything by itself, but every apt update ends in an error and the other repos are left half refreshed. Disabling it is the fix; there is no need to delete it.
PVE 9: .sources files (deb822)
Since PVE 9 the installer already writes /etc/apt/sources.list.d/pve-enterprise.sources in deb822 format. A .sources file is a block of keys:
| |
Enabled: false keeps it written but inactive. The no-subscription block is the one in the TL;DR; the test one is the same with Components: pve-test.
If you carry .list files from an upgrade off PVE 8, apt 3 converts them for you:
| |
It rewrites each .list as .sources and leaves the original as .list.bak.
PVE 8: .list files
| |
Commenting the enterprise line with # is the deb822 Enabled: false equivalent.
Ceph
The installer also leaves the Ceph enterprise repo. Same treatment; the repo name carries the Ceph release the cluster runs (ceph -v):
PVE 9:
| |
Swap ceph-tentacle for ceph-squid if you are still on Squid. If the original file had Components: enterprise, replace the whole file with this one.
PVE 8:
| |
On bookworm there are ceph-quincy, ceph-reef, and ceph-squid; use the one matching your cluster, not the newest.
Proxmox Backup Server
Identical pattern with pbs in the URI and pbs-no-subscription as the component:
| |
And Enabled: false in pbs-enterprise.sources.
Traps
- Do not mix suites.
bookwormon PVE 8,trixieon PVE 9. One line with the wrong suite breaks the nextfull-upgrade. - The keyring is already there.
/usr/share/keyrings/proxmox-archive-keyring.gpgships with any ISO install. You only need to download it when installing Proxmox on top of a clean Debian (the official guide for that path covers it). Signed-Byis mandatory in deb822; without that line apt ignores the repo with a warning.- If apt fails with
pve-apt-hook: not found, that is not a repo problem: separate post. - The GUI’s “no valid subscription” notice is independent of the repos and is not fixed here; a Community subscription removes it and gives you the enterprise repo as a bonus.
Reference: Package Repositories on the Proxmox wiki.