How to configure apt in Debian Buster after release

I currently run Debian Buster on my computer as testing. Now that Buster has become stable, how should I update my system?

Specifically, how do I configure /etc/apt/sources.list?

Currently, it looks like this:

# deb cdrom:[Official Debian GNU/Linux Live 9.9.0 xfce 2019-04-27T10:47]/ stretch main
# deb cdrom:[Official Debian GNU/Linux Live 9.9.0 xfce 2019-04-27T10:47]/ stretch main

deb http://ftp.uk.debian.org/debian/ buster main
deb-src http://ftp.uk.debian.org/debian/ buster main
deb http://security.debian.org/debian-security/ buster/updates main
deb-src http://security.debian.org/debian-security/ buster/updates main

#stretch-updates, previously known as 'volatile'
deb http://ftp.uk.debian.org/debian/ buster-updates main
deb-src http://ftp.uk.debian.org/debian/ buster-updates main

And when I run sudo apt-get update I get this output:

Ign:1 http://deb.debian.org/debian stretch InRelease
Get:2 http://security.debian.org/debian-security buster/updates InRelease [31.1 kB]
Get:3 http://ftp.uk.debian.org/debian buster InRelease [118 kB]                  
Get:4 http://deb.debian.org/debian stretch Release [118 kB]
Get:5 http://ftp.uk.debian.org/debian buster-updates InRelease [46.8 kB]
Get:6 http://deb.debian.org/debian stretch Release.gpg [2,434 B]
Reading package lists... Done          
E: Repository 'http://security.debian.org/debian-security buster/updates InRelease' changed its 'Suite' value from 'testing' to 'stable'
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.
N: Repository 'http://ftp.uk.debian.org/debian buster InRelease' changed its 'Version' value from '' to '10.0'
E: Repository 'http://ftp.uk.debian.org/debian buster InRelease' changed its 'Suite' value from 'testing' to 'stable'
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.
E: Repository 'http://ftp.uk.debian.org/debian buster-updates InRelease' changed its 'Suite' value from 'testing-updates' to 'stable-updates'
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 stretch Release' 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.

Update: I ran sudo apt update and had this dialog with the update manager:

geoff@geoff-debian:/etc/apt$ sudo apt update
Get:1 http://ftp.uk.debian.org/debian buster InRelease [118 kB]
Get:2 http://security.debian.org/debian-security buster/updates InRelease [31.1 kB]                
E: Repository 'http://security.debian.org/debian-security buster/updates InRelease' changed its 'Suite' value from 'testing' to 'stable'
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.
Do you want to accept these changes and continue updating from this repository? [y/N] y
Get:3 http://ftp.uk.debian.org/debian buster-updates InRelease [46.8 kB]                                                 
Ign:4 http://deb.debian.org/debian stretch InRelease                                                                     
Get:5 http://deb.debian.org/debian stretch Release [118 kB]                                                              
Get:6 http://security.debian.org/debian-security buster/updates/main Sources [1,688 B]                                   
Get:7 http://deb.debian.org/debian stretch Release.gpg [2,434 B]                                                         
Get:8 http://security.debian.org/debian-security buster/updates/main amd64 Packages [1,448 B]                            
Get:9 http://security.debian.org/debian-security buster/updates/main Translation-en [1,364 B]                            
N: Repository 'http://ftp.uk.debian.org/debian buster InRelease' changed its 'Version' value from '' to '10.0'           
E: Repository 'http://ftp.uk.debian.org/debian buster InRelease' changed its 'Suite' value from 'testing' to 'stable'
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.
Do you want to accept these changes and continue updating from this repository? [y/N] y
E: Repository 'http://ftp.uk.debian.org/debian buster-updates InRelease' changed its 'Suite' value from 'testing-updates' to 'stable-updates'
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.
Do you want to accept these changes and continue updating from this repository? [y/N] y
E: Repository 'http://deb.debian.org/debian stretch Release' 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.
Do you want to accept these changes and continue updating from this repository? [y/N] y
Fetched 171 kB in 1min 6s (2,594 B/s)                                                                                    
Reading package lists... Done
Building dependency tree       
Reading state information... Done
159 packages can be upgraded. Run 'apt list --upgradable' to see them.
geoff@geoff-debian:/etc/apt$ 

Is this fine? I am particularly concerned with the old-stable message. Am I supposed to have this repository still?


Solution 1:

tl;dr : run once apt-get update --allow-releaseinfo-change

Edit: Same thing again for bullseye in 2021.

What happens here, is that the local apt database remembered your package-sources "release-information" to be "busterAsTesting", and when updating now "busterAsStable" is returned.

This results in the error, and the indication, that you need to "allow the change of the release version information".

Luckily, apt-get has an option for that, aptly named allow-releaseinfo-change

When running apt-get with this option, it notices -as without- the version discrepancy (the N: -lines), but now accepts it as told to do, and then updates the local database.

Solution 2:

  1. open synaptic
  2. in menu select settings-->repositories
  3. in tabs uncheck everything
  4. close the tabs and let it make the update
  5. open again the repositories dialog and check everything you want
  6. close the tabs and update again and it is OK

Solution 3:

I suggest using

apt update --allow-releaseinfo-change

This was because apt-get update --allow-releaseinfo-change did not work for me.

I cant comment on the accepted answer above. So if all else fails, use my answer.