web-dev-qa-db-fra.com

Je reçois cette erreur: dpkg: erreur irrécupérable irrécupérable, abandon: la liste des fichiers du paquet `fonts-tlwg-kinnari 'contient un nom de fichier vide

Lorsque j'essaie d'installer, j'obtiens cette erreur:

dpkg: unrecoverable fatal error, aborting:  files list file for package `fonts-tlwg-kinnari' contains empty filename
E: Sub-process /usr/bin/dpkg returned an error code (2)

Et l'installation est abandonnée.

J'utilise Ubuntu 14.04

2
Adrian Cid Almaguer

Ceci est un bug signalé sur le tableau de bord.

L'erreur affichée sera soit:

files list file for package '*' is missing final newline

Ou:

files list file for package '*' contains an empty filename

Où * start est un nom de package "par installation" aléatoire mais stable.

Solution:

Télécharger le .deb

Sudo apt-get download fonts-tlwg-kinnari

Exécuter ce code

Sudo dpkg -c /var/cache/apt/archives/fonts-tlwg-kinnari_1%3a0.5.1-3_all.deb  | awk '{if ($6 == "./") { print "/."; } \
else if (substr($6, length($6), 1) == "/") \
{print substr($6, 2, length($6) - 2); } \
else { print substr($6, 2, length($6) - 1);}}' > /var/lib/dpkg/info/fonts-tlwg-kinnari.list 

Vous pouvez en lire plus à tableau de bord

6
Adrian Cid Almaguer

Une autre option de la réponse d'Adrian ci-dessus est la suivante:

Sudo rm /var/lib/dpkg/info/fonts-tlwg-kinnari.list

puis

Sudo apt-get install --reinstall fonts-tlwg-kinnari

En gros, cette erreur signifie que quelque chose a été corrompu sur votre système de fichiers. C'est un mauvais signe, et ces fichiers de liste sont nécessaires pour que le gestionnaire de paquets puisse déterminer ce qui est mis à jour en toute sécurité ou non.

Cette régénération du fichier de liste est la meilleure option, mais elle n'est pas sûre à 100%.

Quoi qu'il en soit, gardez à l'esprit que quelque chose s'est mal passé sur votre lecteur et faites attention aux autres erreurs.

4
crcarlin

J'ai finalement eu le temps de régler ce problème moi-même. Pour référence future

J'ai déplacé tous les fichiers linux * ailleurs. ex: ~/(home) Sudo mv/var/lib/dpkg/info/linux * ./

Sudo dpkg --configure -a
Sudo apt update
Sudo apt upgrade

Cela l'a fixé

1
crypt0rick

La réponse d'Adrian Cid Almaguer est la seule chose qui a fonctionné pour moi, l'idée générale étant de "recréer le fichier manquant à partir du paquet .deb".

Une remarque cependant: vérifiez d'abord dans /var/cache/apt/archives/ et /var/lib/dpkg/info pour voir si le fichier .deb existe déjà. Si c'est le cas, utilisez-le plutôt que de faire le Sudo apt-get download.

De plus, Sudo dpkg ... | awk ... | Sudo tee /var/lib/dpkg/info/example.list fonctionnera probablement mieux pour la plupart des gens; la combinaison Sudo tee surmontant le problème des autorisations > rencontre la redirection.

1
studog