| Tested on | Debian 13 (trixie) |
|---|---|
| Package | proxmox-ve 9.2.0 |
| Applies to | Debian |
| Privilege | sudo or root |
| Scope | Install Proxmox VE on Debian, including fix /etc/hosts, the signed repo, proxmox-default-kernel, proxmox-ve, and the Debian kernel. |
| Related guides | Add Apt Repository Command Not Found Apt Install Specific Version |
Proxmox Virtual Environment (Proxmox VE) is an open-source hypervisor platform for KVM virtual machines and LXC containers, managed through a web UI on port 8006. Proxmox ships as Debian packages—you can install it with the bare-metal ISO or on top of an existing Debian 12 (Bookworm) or Debian 13 (Trixie) amd64 system when you need a custom disk layout, dual boot, or a minimal Debian base you configured yourself.
This guide walks through install Proxmox on Debian using the official Install Proxmox VE on Debian procedure: prepare Debian, fix /etc/hosts, add the pve-no-subscription repository, install the Proxmox kernel, install proxmox-ve, remove the stock Debian kernel, open the web UI, and create vmbr0. I ran the repository setup, GPG verification, and apt install -s dry-runs on Debian 13; use a dedicated server or lab VM for the kernel install and reboot steps so you do not disrupt an existing desktop system.
Proxmox ISO installer vs installing on Debian
| Path | Best for | Trade-off |
|---|---|---|
| Proxmox VE ISO (bare metal) | New dedicated servers, homelabs, most production nodes | Less flexibility during base OS partitioning; fastest path to a working cluster node |
| Debian + Proxmox packages | Custom partitions, dual boot, pre-seeded Debian images, VPS with Debian preinstalled | You configure /etc/hosts, bridges, and storage yourself; wrong hostname or kernel leftovers cause subtle failures |
Proxmox VE 9.x aligns with Debian 13 Trixie; Proxmox VE 8.x aligns with Debian 12 Bookworm. Match the suite name in your repository file to the Debian release underneath—do not add the Trixie repository on Bookworm or vice versa.
Prerequisites
- 64-bit amd64 Debian 12 or 13 with a static IP (configure during install or afterward).
- sudo and outbound HTTP/HTTPS to
download.proxmox.comandenterprise.proxmox.com(for the signing key). wgetor cURL to fetch the repository key — see wget command.- Root disk space for the Proxmox kernel, QEMU, LXC, and future VM disks—plan well beyond a minimal Debian netinst.
- 8 GB RAM or more for comfortable VM hosting (less works for a control-plane-only lab).
- Secure Boot disabled if the Proxmox kernel fails with
error: bad shim signature(wiki troubleshooting). - Only standard system utilities and SSH server during Debian install—skip a desktop environment; Proxmox brings its own QEMU and LXC stack.
- For broader CLI reference beyond the
aptandsudosteps below, see the Linux commands.
Step 1: Install a minimal Debian base
Install Debian from the official netinst or full ISO. During software selection, enable SSH server and standard system utilities only.
After first boot, update the system with APT:
sudo apt update && sudo apt full-upgrade -yReboot if the upgrade installed a new Debian kernel:
sudo rebootConfirm architecture and release:
Confirm the Debian architecture before adding repos; the dpkg command covers --print-architecture and multiarch setup.
. /etc/os-release && echo "$PRETTY_NAME"
dpkg --print-architecture
uname -rOn the test host:
Debian GNU/Linux 13 (trixie)
amd64
6.12.94+deb13-amd64Step 2: Map the hostname to your real IP in /etc/hosts
Proxmox expects hostname --ip-address to return a reachable, non-loopback address. A fresh Debian install often leaves only 127.0.1.1:
hostname
hostname --ip-address
cat /etc/hostsBefore fixing hosts, the test machine returned:
debian
127.0.1.1
127.0.0.1 localhost
127.0.1.1 debianEdit /etc/hosts and add your static IP with the short hostname and FQDN. Example when the IP is 192.168.15.77 and the hostname is prox4m1:
sudo nano /etc/hosts127.0.0.1 localhost
192.168.15.77 prox4m1.proxmox.com prox4m1
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allroutersRemove the hostname from the 127.0.1.1 line if it is still there—keeping both invites ambiguity.
Verify:
hostname --ip-addressYou want your LAN IP (for example 192.168.15.77), not 127.0.0.1 or 127.0.1.1 alone.
Step 3: Add the Proxmox VE repository
Proxmox publishes a no-subscription repository for community use. Pick the block that matches your Debian release.
Debian 13 Trixie (Proxmox VE 9.x) — deb822 format
Trixie uses the deb822 .sources format recommended by Proxmox:
sudo mkdir -p /usr/share/keyrings
sudo wget https://enterprise.proxmox.com/debian/proxmox-archive-keyring-trixie.gpg \
-O /usr/share/keyrings/proxmox-archive-keyring.gpgVerify the key fingerprint matches the official Trixie wiki:
sha256sum /usr/share/keyrings/proxmox-archive-keyring.gpg
md5sum /usr/share/keyrings/proxmox-archive-keyring.gpgOn Debian 13:
136673be77aba35dcce385b28737689ad64fd785a797e57897589aed08db6e45 /usr/share/keyrings/proxmox-archive-keyring.gpg
77c8b1166d15ce8350102ab1bca2fcbf /usr/share/keyrings/proxmox-archive-keyring.gpgCreate the repository source:
sudo tee /etc/apt/sources.list.d/pve-install-repo.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.list entries to deb822 with sudo apt modernize-sources before adding Proxmox—see the Debian wiki note.
Debian 12 Bookworm (Proxmox VE 8.x) — one-line list format
For Bookworm, use the .list style from the Bookworm wiki:
sudo wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg \
-O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
sha512sum /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpgExpected checksum:
7da6fe34168adc6e479327ba517796d4702fa2f8b4f0a9833f5ea6e6b48f6507a6da403a274fe201595edc86a84463d50383d07f64bdde2e3658108db7d6dc87 /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpgAdd the repository:
echo "deb [arch=amd64] http://download.proxmox.com/debian/pve bookworm pve-no-subscription" \
| sudo tee /etc/apt/sources.list.d/pve-install-repo.listUse bookworm as the suite on Debian 12—not trixie.
Refresh package indexes
sudo apt update && sudo apt full-upgrade -yConfirm Proxmox packages are visible:
apt-cache policy proxmox-ve proxmox-default-kernelOn Debian 13 with the Trixie repository:
proxmox-ve:
Installed: (none)
Candidate: 9.2.0
Version table:
9.2.0 500
500 http://download.proxmox.com/debian/pve trixie/pve-no-subscription amd64 Packages
proxmox-default-kernel:
Installed: (none)
Candidate: 2.1.0
Version table:
2.1.0 500
500 http://download.proxmox.com/debian/pve trixie/pve-no-subscription amd64 PackagesStep 4: Install the Proxmox kernel and reboot
Install the Proxmox kernel before the full proxmox-ve stack:
sudo apt install proxmox-default-kernel -yDry-run on Debian 13 showed these packages would install:
Installing:
proxmox-default-kernel
Installing dependencies:
proxmox-kernel-7.0 proxmox-kernel-7.0.12-1-pve-signed pve-firmwareReboot into the new kernel:
sudo rebootAfter reboot, confirm you are on a *-pve kernel:
uname -rYou should see a version such as 6.14.x-y-pve or 6.8.x-y-pve depending on the current Proxmox release—not 6.12.x+deb13-amd64.
Step 5: Install Proxmox VE packages
With the PVE kernel running, install the meta package and supporting daemons:
sudo apt install proxmox-ve postfix open-iscsi chrony -y| Package | Role |
|---|---|
proxmox-ve |
Meta package pulling pve-manager, QEMU, LXC, ZFS tools, and cluster services |
postfix |
Mail relay for cron and cluster notifications—choose local only if you have no SMTP relay |
open-iscsi |
iSCSI initiator for shared storage |
chrony |
NTP time sync (Proxmox recommends against systemd-timesyncd on servers) |
During Postfix configuration, pick Satellite system when you have an internal mail relay; otherwise Local only is fine.
A dry-run on Debian 13 resolved proxmox-ve 9.2.0 and pulled pve-manager, qemu-server, pve-container, and related dependencies—hundreds of packages total. Allow time and disk space for the transaction.
List what Proxmox installed afterward with list installed packages on Debian:
dpkg -l 'pve-*' 'proxmox-*' | grep '^ii'Step 6: Remove the Debian stock kernel
Proxmox ships its own kernel. Keeping linux-image-amd64 can cause upgrade conflicts on Debian point releases.
On Debian 13:
sudo apt remove linux-image-amd64 'linux-image-6.12*' -yOn Debian 12:
sudo apt remove linux-image-amd64 'linux-image-6.1*' -yUpdate GRUB when you boot with GRUB (skip on pure systemd-boot installs):
sudo update-grubStep 7: Remove os-prober (recommended)
os-prober scans partitions—including VM disks—and can add unwanted GRUB entries on a dedicated hypervisor:
sudo apt remove os-prober -ySkip this only when Proxmox shares the machine as a dual-boot host beside another OS.
Step 8: Open the Proxmox web interface
From a browser on your network:
https://YOUR-SERVER-IP:8006/Replace YOUR-SERVER-IP with the address you mapped in /etc/hosts. The UI uses a self-signed TLS certificate—accept the browser warning on first visit.
Log in with:
- Username:
root - Realm:
Linux PAM standard authentication - Password: your Debian
rootpassword
If the page does not load, check that port 8006/tcp is allowed on any host firewall—on Debian with UFW, sudo ufw allow 8006/tcp before you enable the firewall remotely—and that pveproxy is running:
Confirm the unit state with systemctl status or is-active; the systemctl command shows exit codes and recent journal lines in one view.
sudo systemctl status pveproxy pvedaemon pve-cluster --no-pagerStep 9: Create the vmbr0 Linux bridge
New installs need a Linux bridge so VMs share the host NIC. In the web UI:
- Select your node → System → Network.
- Add a Linux Bridge named
vmbr0. - Attach your physical interface (for example
enp0s3oreth0). - Apply the configuration.
The default bridge example in the Proxmox wiki shows the usual vmbr0 layout with your static IP on the bridge instead of the raw NIC.
vmbr0 exists, guests may not reach your LAN even though the host SSH session works on the physical interface. For a second isolated bridge (vmbr1) and storage layout on a pentest lab, continue with Proxmox pentest lab setup.
Step 10: Adjust APT repositories after first login
Proxmox enables the enterprise repository during install. Without a subscription key, apt update shows a warning and the web UI nags about licensing.
For homelabs using the community repository, disable enterprise and keep no-subscription:
sudo sed -i 's/^deb/#deb/' /etc/apt/sources.list.d/pve-enterprise.list
sudo apt updateIf you purchase a subscription, upload the key in the web UI under Datacenter → Subscription, then re-enable pve-enterprise and remove the install helper file:
# Trixie (deb822 install helper)
sudo rm /etc/apt/sources.list.d/pve-install-repo.sources
# Bookworm (one-line install helper)
sudo rm /etc/apt/sources.list.d/pve-install-repo.listRun a final upgrade:
sudo apt full-upgrade -yTroubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
ipcc_send_rec[1] failed: Connection refused |
Hostname resolves to loopback | Fix /etc/hosts per Step 2; rerun hostname --ip-address |
| DNS breaks inside Proxmox UI | resolv.conf overwritten |
Remove packages like resolvconf / rdnssd that regenerate /etc/resolv.conf; let Proxmox manage DNS |
Web UI unreachable on :8006 |
Firewall or pveproxy stopped |
Open TCP 8006; sudo systemctl restart pveproxy |
apt update enterprise errors without a key |
pve-enterprise enabled |
Comment out pve-enterprise.list (Step 10) |
References
- Install Proxmox VE on Debian 13 Trixie — official procedure for PVE 9 on Trixie
- Install Proxmox VE on Debian 12 Bookworm — official procedure for PVE 8 on Bookworm
- Proxmox VE Administration Guide — install on Debian
Summary
For most new hardware, start with the Proxmox VE ISO. When you already run Debian 12 or 13 and need full control over partitioning or dual boot, add the official pve-no-subscription repository, verify the GPG key checksum, install proxmox-default-kernel, reboot, then install proxmox-ve. Fix /etc/hosts before you install—127.0.1.1 alone is the usual reason for ipcc_send_rec errors later. Remove the Debian kernel and os-prober, browse to https://your-ip:8006, create vmbr0, and disable pve-enterprise if you rely on the community repository. Once the host is up, import your first guest with Install Kali Linux on Proxmox or another VM workflow. I verified repository setup and package candidates on Debian 13; run the kernel install and reboot on a dedicated lab host so you are not surprised when GRUB switches to the *-pve kernel.
Frequently Asked Questions
Can I install Proxmox VE on top of Debian instead of using the Proxmox ISO?
Yes. Proxmox documents installing on Debian 12 Bookworm and Debian 13 Trixie when you need a custom partition layout or dual boot. The bare-metal Proxmox ISO remains the recommended path for most new servers because networking, storage, and ZFS are preconfigured.
Which Debian release matches Proxmox VE 9?
Proxmox VE 9.x targets Debian 13 Trixie. Install a standard 64-bit Trixie system, add the trixie pve-no-subscription suite, and install proxmox-ve from that repository. Proxmox VE 8.x pairs with Debian 12 Bookworm.
Why must my hostname resolve to a real IP before installing Proxmox?
Proxmox cluster and API services expect hostname --ip-address to return a non-loopback address. Map your static IP in /etc/hosts or DNS. A default 127.0.1.1 entry alone causes ipcc_send_rec failed errors after install.
Do I install proxmox-ve before or after the Proxmox kernel?
Install proxmox-default-kernel first, reboot into the PVE kernel, then run apt install proxmox-ve postfix open-iscsi chrony. Some packages depend on kernel features the Proxmox kernel provides.
Should I remove the Debian kernel after installing Proxmox?
Yes on production nodes. Keeping linux-image-amd64 can break upgrades on Debian point releases. Remove linux-image-amd64 and versioned linux-image-* packages, then run update-grub when you use GRUB.
How do I access the Proxmox web interface after install?
Browse https://YOUR-IP:8006 in a browser, accept the self-signed certificate warning, choose Linux PAM standard authentication, and log in as root with your Debian root password. Create a Linux bridge vmbr0 and attach your physical NIC for VM networking.
What is the difference between pve-no-subscription and pve-enterprise?
pve-no-subscription is the free community repository used during install. pve-enterprise requires a subscription key. After install Proxmox enables the enterprise source; home labs disable pve-enterprise.list and keep pve-no-subscription for updates without a license warning blocking apt.
How much RAM and disk does Proxmox on Debian need?
Plan for at least 8 GB RAM and ample root disk for ISO storage and VM images. A minimal Debian plus proxmox-ve meta package pulls hundreds of megabytes of dependencies; dry-run on Debian 13 reported proxmox-ve 9.2.0 with proxmox-kernel-7.0.12-1-pve-signed as the default kernel metapackage.

