Package: apt Version: 2.2.2 Severity: minor Dear Maintainer,
On some of my hosts I have a single or a very small number of packages that I am only allowed to upgrade with specific procedures, pre-arranged maintenance window and so on. But for the rest of the packages I want to install Debian (security) updates as soon as possible. "apt-mark hold" sounds exactly like what I want. I hold the package, and with normal upgrade/dist-upgrade it works exactly as expected. But when I then upgrade these single package later using --ignore-hold, the hold flag is lost afterwards. The flag is documented in "man apt-get" as --ignore-hold Ignore package holds; this causes apt-get to ignore a hold placed on a package. This may be useful in conjunction with dist-upgrade to override a large number of undesired holds. Configuration Item: APT::Ignore-Hold. So I expect the flag on the package to be ignored for this apt-get execution, not changed or removed. Example with docker-ce packages (just because they have multiple versions in their repository so it was easy to get back to an old release to show here): ==> Starting with an oudated package version installed # apt-mark hold docker-ce docker-ce-cli docker-ce set on hold. docker-ce-cli set on hold. # apt-mark showhold docker-ce docker-ce-cli ==> Hold flags set # apt-get dist-upgrade Reading package lists... Done Building dependency tree... Done Reading state information... Done Calculating upgrade... Done The following packages have been kept back: docker-ce docker-ce-cli 0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded. ==> A normal dist-upgrade does not touch them, as they are held. # apt-get install --ignore-hold docker-ce docker-ce-cli Reading package lists... Done Building dependency tree... Done Reading state information... Done Suggested packages: aufs-tools cgroupfs-mount | cgroup-lite Recommended packages: apparmor docker-ce-rootless-extras The following held packages will be changed: docker-ce docker-ce-cli The following packages will be upgraded: docker-ce docker-ce-cli 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 66.2 MB of archives. After this operation, 0 B of additional disk space will be used. Do you want to continue? [Y/n] ... ==> apt called with --ignore-hold ignores the hold, and upgrades them. # apt-mark showhold # ==> But afterwards hold flag is lost! ==> Now whenever the next package release comes out every ==> "apt-get dist-upgrade" will upgrade them, easy to miss ==> and abort when processing a bigger number of hosts. Greetings, Haegar -- Package-specific info: -- (/etc/apt/preferences present, but not submitted) -- -- (/etc/apt/preferences.d/kde-experimental.disabled present, but not submitted) -- -- (/etc/apt/sources.list present, but not submitted) -- -- System Information: Debian Release: bullseye/sid APT prefers unstable APT policy: (500, 'unstable'), (500, 'oldstable'), (101, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 5.10.0-3-amd64 (SMP w/4 CPU threads) Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=en_US.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), LANGUAGE=en_US Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages apt depends on: ii adduser 3.118 ii debian-archive-keyring 2021.1.1 ii gpgv 2.2.27-1 ii libapt-pkg6.0 2.2.2 ii libc6 2.31-9 ii libgcc-s1 10.2.1-6 ii libgnutls30 3.7.1-1 ii libseccomp2 2.5.1-1 ii libstdc++6 10.2.1-6 ii libsystemd0 247.3-3 Versions of packages apt recommends: ii ca-certificates 20210119 Versions of packages apt suggests: ii apt-doc 2.2.2 ii aptitude 0.8.13-3 ii dpkg-dev 1.20.7.1 ii gnupg 2.2.27-1 ii gnupg1 1.4.23-1.1 ii gnupg2 2.2.27-1 ii powermgmt-base 1.36 ii synaptic 0.90.2 -- debconf-show failed