What to do if you update the "This must be accepted explicitly before updates for this repository can be applied. See apt-secure (8) manpage for details." do we get an error message?

botond published 2022/01/11, k - 13:22 time

Content

 

Introductory

If there is a major change in your Debian system - so you don't just need to upgrade one or two sub-versions - you will get an error message during a smooth upgrade. So it was with me when I picked up the Debian 10 is my perfect server virtual machine and I wanted to update. On the machine a luggage racks they were still up-to-date on March 2021, 6, so my system missed a major update.

 

 

The symptom

When your Debian system is about to upgrade to a larger version and you want to upgrade the repositories rootas

apt-get update

command, you receive the following error message:

"This must be accepted explicitly before updates for this repository can be applied. See apt-secure (8) manpage for details." you receive an error message when updating

[...]
N: Repository 'http://deb.debian.org/debian buster InRelease' changed its 'Version' value from '10.8' to '10.11'
E: Repository 'http://deb.debian.org/debian buster InRelease' changed its 'Suite' value from 'stable' to 'oldstable'
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.
E: Repository 'http://security.debian.org/debian-security buster/updates InRelease' changed its 'Suite' value from 'stable' to 'oldstable'
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.
E: Repository 'http://deb.debian.org/debian buster-updates InRelease' changed its 'Suite' value from 'stable-updates' to 'oldstable-updates'
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.
E: Repository 'https://packages.sury.org/php buster InRelease' changed its 'Suite' value from '' to 'buster'
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.

What happened here was that when I last used this virtual machine, Debian 10 (Buster) was the stable release, but it has been Debian 11 (Bullseye) is out (August 2021, 14), so Debian 10 was moved to the "oldstable" series, and Debian 11 took its place as a stable release. So this corresponds to a major version switch in the repositories, so further interaction is required to update our repositories.

 

The solution

The solution is simple. The The manual page of the apt-get command includes the solution:

man apt-get
[...]
       --allow-releaseinfo-change
           Allow the update command to continue downloading data from a repository which changed
           its information of the release contained in the repository indicating e.g a new major
           release. APT will fail at the update command for such repositories until the change is
           confirmed to ensure the user is prepared for the change. See also apt-secure(8) for
           details on the concept and configuration.

           Specialist options (--allow-releaseinfo-change-field) exist to allow changes only for
           certain fields like origin, label, codename, suite, version and defaultpin. See also
           apt_preferences(5). Configuration Item: Acquire::AllowReleaseInfoChange.
[...]

In short, this switch allows the update command to continue downloading data from repositories where release information has changed. In the present example, for Debian 10, the "stable" version has changed to the "oldstable" version.

Of course, only the names of the releases will change here, and our packages will be updated in the same way as before.

So run the repository update again with the "--allow-releaseinfo-change" option:

apt-get update --allow-releaseinfo-change

The boot database update is now running:

Update the repository database using the --allow-releaseinfo-change option

At the end, you'll even update your release info:

[...]
N: Repository 'http://security.debian.org/debian-security buster/updates InRelease' changed its 'Suite' value from 'stable' to 'oldstable'
N: Repository 'http://deb.debian.org/debian buster InRelease' changed its 'Version' value from '10.8' to '10.11'
N: Repository 'http://deb.debian.org/debian buster InRelease' changed its 'Suite' value from 'stable' to 'oldstable'
N: Repository 'http://deb.debian.org/debian buster-updates InRelease' changed its 'Suite' value from 'stable-updates' to 'oldstable-updates'
N: Repository 'https://packages.sury.org/php buster InRelease' changed its 'Suite' value from '' to 'buster'

From now on, the update will go as usual. For example, if you run the refresh command again smoothly:

apt-get update

It will update as smoothly as before:

The update will run as usual to run again

Then you can upgrade your standard packages:

apt-get upgrade

Updating packages

Updating packages

Here it is clear that this system has not been updated for a very long time, so now you have quite a few packages to deal with.

 

 

Conclusion

So it's a good idea to keep your system up to date at all times, because then updates before major changes already include the required boot release information for the subsequent migration. So, for example, on my desktop Debian 10 machine, I didn't get this error message, but it switched nicely to the "oldstable" release when the time came. But if we don't have the ability to update often, it's not a problem either, because this "--allow-releaseinfo-change" switch can easily fix this little inconvenience.