No se puede instalar ningún paquete debido a un error fatal irrecuperable / var / lib / dpkg / diversions

Actualmente no puedo instalar ningún paquete. Recibo el siguiente error:

dpkg: unrecoverable fatal error, aborting: too-long line or missing newline in `/var/lib/dpkg/diversions 

He intentado varios enfoques:

 sudo dpkg --configure -a sudo apt-get clean sudo dpkg-divert --list sudo apt-get check sudo apt-get install -f 

etc. pero todo fue en vano. O bien la salida era aparentemente normal o el error anterior fue lanzado.

Estoy perplejo en cuanto a cómo proceder y agradecería cualquier ayuda. Si se requiere alguna información adicional sólo tiene que preguntar.


Gracias por la respuesta. Seguí las sugerencias y ahora estoy recibiendo un error diferente:

(Leyendo la base de datos … 50% dpkg: error fatal irrecuperable, cancelando: falta el archivo de la lista de archivos del paquete ‘libksane0’ E: Subproceso / usr / bin / dpkg devolvió un código de error (2)

Aquí está el enlace para las desviaciones actuales: http://paste.ubuntu.com/823500/ y el viejo roto: http://paste.ubuntu.com/823502/

Intenté reinstalar libksane0 pero ocurrió el mismo error.

Sé que esto es muy tarde, pero a otras personas les puede resultar útil. El mismo mensaje de error con un archivo diferente apareció en Kali (Debian-Variant) y la mejor solución que encontré fue copiar el archivo erróneo de una copia aún en funcionamiento de Kali. Problema resuelto.

Primero, haga una copia de seguridad de / var / lib / dpkg / diversions y / var / lib / dpkg / diversions-old, por si acaso.

A continuación, intente copiar / var / lib / dpkg / diversions-old encima de / var / lib / dpkg / diversions:

 cd /var/lib/dpkg mv diversions diversions.broken cp diversions-old diversions 

Ahora dpkg debería poder volver a funcionar, pero es posible que su base de datos de desvíos esté incompleta. Reinstalar ( apt-get install --reinstall packagename ) los paquetes afectados pueden ser una buena manera de restaurar eso; La pregunta es: ¿cómo puede identificar qué paquetes se vieron afectados? La comparación de los contenidos de diversions.broken y diversions-old ( diff -u diversions-old diversions.broken ) es una forma; buscando en /var/log/dpkg.log una lista de paquetes actualizados recientemente y reinstalarlos por si acaso es otro. También es posible que no ocurra nada malo si usted tiene una base de datos de desvíos un poco desactualizada; todo depende de lo que es exactamente en esos archivos.