Upgrades and repositories
Proxmox VE ships preset with software package repositories access to which is subject to subscription. Unless you have one, this would leave you without upgrades. Rather than following the elaborate manual editing of files after every new install, you can achieve the same with the following:
Tip
You are welcome to give a try to a ready-made tool for streamlining Proxmox setups with no subscription .
No-subscription repositories
First, we populate a variable ($VERSION_CODENAME) with current Debian codename:
source /etc/os-releaseAs a result, the following will universally work on e.g. PVE 8 or 9 alike:
cat > /etc/apt/sources.list.d/pve.list \
<<< "deb http://download.proxmox.com/debian/pve $VERSION_CODENAME pve-no-subscription"If using Ceph, also:
cat > /etc/apt/sources.list.d/ceph.list \
<<< "deb http://download.proxmox.com/debian/ceph-squid $VERSION_CODENAME no-subscription"Caution
Ceph codename needs to be correctly set, such as ceph-squid at the end of the URL above. Adjust accordingly.
This respects the Debian way
of setting custom APT data sources, i.e. not changing the /etc/apt/sources.list file itself.
It removes pre-existing (non-Debian) lists first, then determines current system’s VERSION_CODENAME from /etc/os-release information,
which are then used to correctly populate the separate pve.list and ceph.list files.
Note
The above describes the long-standing .list format which will continue to work on Debian 13 (PVE 9), but you may want to make use of the newer .sources format, in which case simply follow the above with an additional command:
apt modernize-sourcesUpdate and upgrade
The Proxmox way is simply:
apt update && apt -y full-upgradeThe update merely synchronises the package index by fetching it from the specified remote sources. It is the upgrade that installs actual packages.
Notes
upgrade or full-upgrade (dist-upgrade)
The difference between regular upgrade (as commonly used with plain Debian installs) and full-upgrade lies in the additional possibility of some packages getting REMOVED during full-upgrade which Proxmox, unlike Debian, may need during their regular release cycle. Failing to use full-upgrade instead of upgrade could result in partially upgraded system, or in case of present bugs,
inoperable system, remedy of which lies in the eventual use of full-upgrade.
The options of full-upgrade and dist-upgrade are equivalent, the latter becoming obsolete. You would have found dist-upgrade in older official Proxmox docs which still also mention apt-get.
apt or apt-get
Interestingly, the apt and apt-get are a bit different still, with the latter being a lower level utility.
Default apt behaviour follows that of apt-get with --with-new-pkgs switch:
Allow installing new packages when used in conjunction with upgrade. This is useful if the update of an installed package requires new dependencies to be installed. Instead of holding the package back upgrade will upgrade the package and install the new dependencies. Note that upgrade with this option will never remove packages, only allow adding new ones. Configuration Item: APT::Get::Upgrade-Allow-New.
Furthermore, apt (unlike apt-get) will NOT keep .deb package files in /var/cache/apt/archives after installation, this corresponds to APT::Keep-Downloaded-Packages NOT set.
pveupdate and pveupgrade
These are just Proxmox wrappers that essentially tuck in update
and dist-upgrade
with further elaborate actions tossed in, such as subscription information updates or ACME certificate renewals.