En corto

PVE 9 (Debian 13 trixie, formato deb822):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
cat > /etc/apt/sources.list.d/proxmox.sources <<'EOF'
Types: deb
URIs: http://download.proxmox.com/debian/pve
Suites: trixie
Components: pve-no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
EOF

# Apagar enterprise (sin suscripción devuelve 401 en cada apt update)
grep -q '^Enabled:' /etc/apt/sources.list.d/pve-enterprise.sources \
  || echo 'Enabled: false' >> /etc/apt/sources.list.d/pve-enterprise.sources

apt update && apt full-upgrade

PVE 8 (Debian 12 bookworm, formato de una línea):

1
2
3
4
5
echo 'deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription' \
  > /etc/apt/sources.list.d/pve-no-subscription.list
sed -i 's/^deb /# deb /' /etc/apt/sources.list.d/pve-enterprise.list

apt update && apt full-upgrade

Si el host tiene Ceph, el repo enterprise de Ceph también hay que apagarlo y cambiarlo por su no-subscription (abajo).

Qué hace cada repositorio

RepoPara quéSin suscripción
pve-enterprisePaquetes estables, los más probados. Requiere clave de suscripciónapt update da 401 Unauthorized
pve-no-subscriptionPúblico. Mismos paquetes, un poco antes y con menos pruebasFunciona
pve-testLo más nuevo, para probarFunciona

Proxmox lo dice claro: pve-no-subscription es para pruebas y uso no productivo; en producción quieren que pagues la suscripción y uses enterprise. Para un lab o un homelab es el repo normal.

El 401 de enterprise no rompe nada por sí mismo, pero cada apt update termina con error y el resto de repos queda a medio refrescar. Apagarlo es el arreglo; no hace falta borrarlo.

PVE 9: archivos .sources (deb822)

Desde PVE 9 el instalador ya escribe /etc/apt/sources.list.d/pve-enterprise.sources en formato deb822. Un .sources es un bloque de claves:

1
2
3
4
5
6
7
# /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: false

Enabled: false lo deja escrito pero inactivo. El de no-subscription es el bloque del En corto; el de test es igual con Components: pve-test.

Si arrastras archivos .list de una actualización desde PVE 8, apt 3 los convierte solo:

1
apt modernize-sources

Reescribe cada .list como .sources y deja el original como .list.bak.

PVE 8: archivos .list

1
2
3
4
5
# /etc/apt/sources.list.d/pve-enterprise.list
# deb https://enterprise.proxmox.com/debian/pve bookworm pve-enterprise

# /etc/apt/sources.list.d/pve-no-subscription.list
deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription

Comentar la línea enterprise con # equivale al Enabled: false de deb822.

Ceph

El instalador también deja el repo enterprise de Ceph. Mismo tratamiento; el nombre del repo lleva la versión de Ceph que corre el clúster (ceph -v):

PVE 9:

1
2
3
4
5
6
# /etc/apt/sources.list.d/ceph.sources
Types: deb
URIs: http://download.proxmox.com/debian/ceph-tentacle
Suites: trixie
Components: no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg

Cambia ceph-tentacle por ceph-squid si sigues en Squid. Si el archivo original tenía Components: enterprise, reemplázalo entero por este.

PVE 8:

1
2
3
# /etc/apt/sources.list.d/ceph.list
# deb https://enterprise.proxmox.com/debian/ceph-squid bookworm enterprise
deb http://download.proxmox.com/debian/ceph-squid bookworm no-subscription

En bookworm existen ceph-quincy, ceph-reef y ceph-squid; usa el que corresponda a tu clúster, no el más nuevo.

Proxmox Backup Server

Idéntico patrón con pbs en la URI y pbs-no-subscription como componente:

1
2
3
4
5
6
# /etc/apt/sources.list.d/proxmox.sources (PBS 4, trixie)
Types: deb
URIs: http://download.proxmox.com/debian/pbs
Suites: trixie
Components: pbs-no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg

Y Enabled: false en pbs-enterprise.sources.

Trampas

  • No mezcles suites. bookworm en PVE 8, trixie en PVE 9. Una línea con la suite equivocada rompe el siguiente full-upgrade.
  • El keyring ya está. /usr/share/keyrings/proxmox-archive-keyring.gpg viene con cualquier instalación desde ISO. Solo hace falta descargarlo cuando instalas Proxmox encima de un Debian limpio (lo explica la guía oficial de esa vía).
  • Signed-By es obligatorio en deb822; sin esa línea apt ignora el repo con un aviso.
  • Si apt falla con pve-apt-hook: not found, no es un problema de repos: ese es otro post.
  • El aviso de “no valid subscription” de la GUI es independiente de los repos y no se arregla aquí; una suscripción Community lo quita y de paso te da el repo enterprise.

Referencia: Package Repositories en la wiki de Proxmox.