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-release
As 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-sources
Update and upgrade
The Proxmox way is simply:
apt update && apt -y full-upgrade
The 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.
Excuse limited formatting, absent referencing and missing media content.
Your feedback is welcome in the main GitHub repository.