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:
[...] 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:
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:
Ezután jöhet a szokásos csomagok frissítése:
apt-get upgrade
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.
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
- 744 megtekintés