Capita che malauguratamente il filesystem si corrompa durante l’aggiornamento, l’effetto scontato è l’impossibilità di aggiornare il sistema o installare nuovi package.

Si ottengono errori del tipo:

pi@xxxx ~ $ sudo apt-get update
Fetched 9,087 kB in 57s (158 kB/s)
Reading package lists… Error!
E: Problem parsing dependency Depends
E: Error occurred while processing libtdb1 (NewVersion2)
E: Problem with MergeList /var/lib/dpkg/status
E: The package lists or status file could not be parsed or opened.
Reading package lists… Error!
E: Problem parsing dependency Depends
E: Error occurred while processing libtdb1 (NewVersion2)
E: Problem with MergeList /var/lib/dpkg/status
E: The package lists or status file could not be parsed or opened.
pi@xxxx ~ $

 

confrontando il contenuto di /var/lib/dpkg/status con il suo backup status-old si nota che:

>Depends: libc6 (>= 2.12?PrDendms mr?ti?rchReupdYrt?]esd{ip??onf?TrƐiaD$DaH?ba?? -ha?Md ?br?Fy
<Package: libtdb1
<Depends: libc6 (>= 2.12)
<Pre-Depends: multiarch-support

 

In questo caso abbastanza semplice ho risolto con i passi seguenti:

  1. recupero dall’ultimo log di status della porzione di file non danneggiato
  2. cp /var/lib/dpkg/status /var/lib/dpkg/status-fail
  3. vi /var/lib/dpkg/status
  4. correzione della descrizione dei pkg danneggiati

Può capitare che risulti danneggiato anche il file .list di qualche pkg.

In questo caso è utile rimuovere il file descrittore corrispondente e procedere alla reinstallazione forzata:

  1. rm /var/lib/dpkg/info/python3.4-minimal.list
  2. sudo apt-get install python3.4-minimal –reinstall

link utile: https://thepcspy.com/read/fixing-dpkg-status-corruption/

Annunci