web-dev-qa-db-fra.com

Impossible d'utiliser apt-get / dpkg - Erreur d'entrée / sortie

J'ai rencontré un problème qui ne m'autorise rien à faire avec apt-get: installer, supprimer, etc. Chaque fois que j'essaie de faire quelque chose (par exemple, Sudo apt-get install firefox -f), le même message d'erreur s'affiche:

Reading database ... dpkg: unrecoverable fatal error, aborting:
 unable to open files list file for package `fontconfig-config': Input/output error
E: Sub-process /usr/bin/dpkg returned an error code (2)

J'ai essayé de traiter le paquet fontconfig-config sans succès.

J'ai constaté que "l'erreur d'entrée/sortie" est généralement liée à des problèmes physiques du disque dur, mais je ne pense pas que ce soit le cas. J'utilise ce disque dur sans autre problème.

J'ai essayé de supprimer la mention du paquet dans /var/lib/dpkg/status comme mentionné ici .

J'ai essayé de supprimer tous les fichiers liés au paquet dans /var/lib/dpkg/info comme j'ai trouvé quelque part.

Mais je ne peux toujours rien faire. La partie amusante vient quand je cherche le fichier qui me pose problème:

mecho@Ansible-MS-7680:/var/lib/dpkg/info$ ls fontconfig*
ls: cannot access fontconfig-config.list: Input/output error
fontconfig.list     fontconfig.postinst  fontconfig.preinst  fontconfig.triggers
fontconfig.md5sums  fontconfig.postrm    fontconfig.prerm

Ceci est fait après que j'ai supprimé tous les fichiers ... il semble que fontconfig-config.list existe toujours mais il ne s'affiche pas!

Une idée sur la façon de résoudre le problème?

Je suis sur kubuntu précis, fontconfig-config_2.8.0-3ubuntu9.1


Je n'ai ni smartmontools ni aucun autre programme que je pourrais utiliser pour vérifier le disque dur. Le gestionnaire de partitions de KDE me semble le plus semblable, mais il ne me permet pas de vérifier quoi que ce soit (l'option semble indisponible). Cependant, je pense que le problème n'est pas le hd.

Comment me suggérez-vous de faire le test fs? fcheck n'est pas installé et je ne vois aucune autre commande dans bash (car je ne pense pas avoir installé autre chose qui pourrait effectuer une vérification).

Je vous remercie.

Edit: J'ai trouvé la commande (idiot moi), fsck. C'est ce que j'ai eu:

/dev/sda1: recovering journal
Clearing orphaned inode 4456702 (uid=1000, gid=1000, mode=0140775, size=0)
Clearing orphaned inode 4456700 (uid=1000, gid=1000, mode=0140775, size=0)
Clearing orphaned inode 4456699 (uid=1000, gid=1000, mode=0140775, size=0)
Clearing orphaned inode 4456697 (uid=1000, gid=1000, mode=0140775, size=0)
Clearing orphaned inode 4456694 (uid=1000, gid=1000, mode=0140775, size=0)
Clearing orphaned inode 4456693 (uid=1000, gid=1000, mode=0140775, size=0)
Clearing orphaned inode 4456688 (uid=1000, gid=1000, mode=0140775, size=0)
Clearing orphaned inode 4456481 (uid=1000, gid=1000, mode=0140775, size=0)
Clearing orphaned inode 4456692 (uid=0, gid=0, mode=0100600, size=65536)
Clearing orphaned inode 4456689 (uid=1000, gid=1000, mode=0140775, size=0)
Clearing orphaned inode 4456709 (uid=1000, gid=1000, mode=0100600, size=714046)
Clearing orphaned inode 4456469 (uid=1000, gid=1000, mode=0140775, size=0)
Clearing orphaned inode 3672644 (uid=0, gid=0, mode=0100644, size=1595)
Clearing orphaned inode 1324021 (uid=0, gid=0, mode=0100640, size=1980)
Clearing orphaned inode 1324014 (uid=0, gid=0, mode=0100640, size=126)
Clearing orphaned inode 4456499 (uid=1000, gid=1000, mode=0100600, size=0)
Clearing orphaned inode 4456483 (uid=1000, gid=1000, mode=0100600, size=65536)
Setting free inodes count to 7147142 (was 7147702)
Setting free blocks count to 23891195 (was 23781617)
/dev/sda1: clean, 151930/7299072 files, 5292549/29183744 blocks
6
mecho

Je commencerais par vérifier votre disque dur à la recherche d'erreurs. Si vous avez installé smartmontools, exécutez

Sudo smartctl -d ata -a /dev/sda

s'il s'agit du disque sur lequel Ubuntu est installé et assurez-vous que la valeur de Reallocated_Sector_Ct est 0. S'il est différent de zéro, sauvegardez tout ce que vous pouvez toujours et remplacez le disque.

Sinon, si cela (la sortie de smartctl) fonctionne correctement (j'espère), je ferais un suivi avec une vérification du système de fichiers.

2
Marcin Kaminski

J'ai exécuté un deuxième fsck -y (il a trouvé beaucoup de problèmes) et il m'a finalement permis de réinstaller le paquet problématique.

1
mecho