APT: Poruka "The following packages have been kept back"

 Poruku iz naslova povremeno ćete dobiti kod svakodnevnog osvježavanja sustava sa već čuvene dvije naredbe "apt-get update && apt-get upgrade". Iako ne mora značiti da je došlo do neke ozbiljnije greške, razlozi zašto se ova poruka uopće pojavljuje su već sasvim druga stvar. Svakako, problem treba istražiti.

Poruka "The following packages have been kept back" se može pojaviti uglavnom zbog dva razloga: pojavio se problem s ovisnostima (Dependency), ili su se pojavile nove ovisnosti, odnosno promijenile su se međuovisnosti u paketima.

Prvi slučaj znači da se pojavio problem kod definiranja ovisnosti u paketu kojeg osvježavate. Ovo će biti češći slučaj ukoliko kombinirate više izdanja Debiana (što nije preporučljivo činiti u produkcji), nego ukoliko se držite provjerenog stable izdanja. Jedinstvenog odgovora što činiti u ovoj situaciji nema. Treba pažljivo pročitati poruku o greški i pokušati samostalno riješiti problem ili jednostavno ne pokušavati osvježiti problematični paket dok održavatelj sam ne izda zakrpu.

Drugi, ipak češći, slučaj obično se javlja kod modificiranja određenog paketa, koji odjednom može ovisiti o nekom sasvim novom paketu. Ako rabite opciju "upgrade", automatsko osvježavanje s novim paketima se neće dogoditi. Ovaj slučaj možete probati eliminirati sa uporabom:

# apt-get dist-upgrade

Za razliku od običnog "upgrade", opcija "dist-upgrade" će pokušati povući i instalirati nove pakete koji su potrebni da bi ovisnosti vaših paketa bile u potpunosti ispunjene. U svakodnevnom radu svakako preporučujemo da rabite ovaj oblik.

U slučaju da ni ovo ne makne poruku "kept back", treba instalirati svaki "kept back" paket pojedinačno:

# apt-get dist-upgrade
The following packages have been kept back:
  libdmalloc4 libkrb5-17-heimdal
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.

# apt-get install libdmalloc4 libkrb5-17-heimdal
The following extra packages will be installed:
  libroken16-heimdal
The following packages will be REMOVED:
  dmalloc libdmalloc4-dev libgssapi1-heimdal libroken16-kerberos4kth
The following NEW packages will be installed:
  libroken16-heimdal
The following packages will be upgraded:
  libdmalloc4 libkrb5-17-heimdal
2 upgraded, 1 newly installed, 4 to remove and 0 not upgraded.
Need to get 352kB of archives.
After unpacking 1094kB disk space will be freed.

Na gore opisani način možete riješiti problem pojave poruke "kept back". Za kraj, ukoliko i dalje ne možete saznati zašto se neki paket neće osvježiti, probajte uključiti debug opciju:

# apt-get -o Debug::pkgProblemResolver=yes dist-upgrade
Starting 2
Investigating libroken16-kerberos4kth
Package libroken16-kerberos4kth has broken dep on libroken16-heimdal
  Considering libroken16-heimdal 0 as a solution to libroken16-kerberos4kth 1
  Added libroken16-heimdal to the remove list
  Fixing libroken16-kerberos4kth via keep of libroken16-heimdal
...

Dobit ćete, dosta opširno, način na koji APT "razmišlja" kad treba proračunati koje pakete treba obrisati, koje dodati, a koje samo osvježiti. Ove vam informacije mogu pomoći detektirati u čemu je zapravo problem, i je li problem rješiv sa sadašnjim paketima ili treba čekati hitne zakrpe.

 

Kuharice: 
Kategorije: 
Vote: 
5
Vaša ocjena: Nema Average: 5 (2 votes)