Mit tegyünk, ha a csomagtár frissítésekor a "This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details." hibaüzenetet kapjuk?

botond küldte be 2022. 01. 11., k – 13:22 időpontban

Tartalom

 

Bevezető

Ha a Debian rendszerében nagyobb változás történik - tehát nem csak egy-két al-verziót kell frissítenie a rendszernek -, akkor a sima frissítéskor előjön egy hibaüzenet. Így volt ez nálam is, amikor előszedtem a Debian 10-es tökéletes szerver virtuális gépemet és frissíteni akartam. A gépen a csomagtárak még 2021. március 6-ai frissességűek voltak, ezért a rendszerem lemaradt egy nagyobb frissítésről.

 

 

A hibajelenség

Amikor Debian rendszerünk egy nagyobb verzió frissítés előtt áll, és frissíteni szeretnénk a csomagtárakat root-ként az

apt-get update

paranccsal, akkor az alábbi hibaüzenetet kapjuk:

"This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details." hibaüzenetet kapjuk frissítéskor

[...]
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.

Itt lényegében annyi történt, hogy amikor a legutóbb használtam ezt a virtuális gépet, akkor még a Debian 10 (Buster) volt a stabil kiadás, viszont azóta már kijött a Debian 11 (Bullseye) (2021. augusztus 14-én), így a Debian 10 átkerült az "oldstable" szériába, és a Debian 11 vette át a helyét, mint stabil kiadás. Ez tehát egy fő verzió váltásnak felel meg a csomagtárakban, így a csomagtáraink frissítéséhez további interakció szükséges.

 

A megoldás

A megoldás egyszerű. Az apt-get parancs manual oldala tartalmazza a megoldást:

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.
[...]

Ennek a kapcsolónak röviden az a lényege, hogy a frissítéskor engedélyezi az update parancsnak, hogy folytassa az adatok letöltését az olyan csomagtárakból is, ahol megváltoztak a kiadási információk. A jelen példában itt a Debian 10 esetében a "stable" kiadás "oldstable" kiadássá változott.

Persze itt most csak a kiadások elnevezéseiben történik változás, a csomagjaink ezután ugyanúgy fognak frissülni mint korábban.

Futtassuk tehát újból a csomagtár frissítését, kiegészítve a "--allow-releaseinfo-change" kapcsolóval:

apt-get update --allow-releaseinfo-change

Ekkor már lefut a csomagtár adatbázis frissítése:

Csomagtár adatbázis frissítése a --allow-releaseinfo-change kapcsoló segítségével

Itt a végén még elvégzi a kiadási infók frissítését is:

[...]
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'

Innentől tehát már a megszokott módon megy a frissítés. Ha például újra lefuttatjuk simán a frissítő parancsot:

apt-get update

Akkor már simán frissül, mint korábban:

A frissítés újbóli futtatásra már a megszokott módon lefut

Ezután jöhet a szokásos csomagok frissítése:

apt-get upgrade

Csomagok frissítése

Csomagok frissítése

Itt most jól látszik, hogy ez a rendszer már nagyon rég nem volt frissítve, ezért most elég sok csomaggal volt dolga.

 

 

Konklúzió

Célszerű tehát mindig naprakészen tartani rendszerünket, mert akkor a nagyobb változások előtti frissítések már tartalmazzák a szükséges csomagtár kiadási adatokat az utána lévő átállásra. Így például nálam az asztali Debian 10-es gépemen nem jött elő ez a hibaüzenet, hanem szépen átállította a Debian-t "oldstable" kiadásra, amikor eljött az ideje. De ha nincs módunk gyakran frissíteni, akkor sincs gond, mert ezzel a "--allow-releaseinfo-change" kapcsolóval könnyen orvosolható ez az apró kellemetlenség.

 

Kapcsolódó tartalom, hasznos linkek: