web-dev-qa-db-fra.com

Impossible d'installer / supprimer / mettre à jour un paquet

J'ai donc essayé de mettre à jour Ubuntu 11.10 64 bits il y a quelques jours et j'ai reçu une erreur:

dpkg: ../../src/archives.c:978: tarobject: l'assertion `r == stab.st_size 'a échoué.

J'ai donc suivi ce post sur les forums Ubunt et celui-ci .

ubuntu-docs supprimé du dossier d'informations et du fichier d'état.

Maintenant, chaque fois que j'essaye d'installer/supprimer/mettre à jour un paquet, je reçois une erreur:

Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/aptdaemon/worker.py", line 968, in simulate
    trans.unauthenticated = self._simulate_helper(trans)
  File "/usr/lib/python2.7/dist-packages/aptdaemon/worker.py", line 1092, in _simulate_helper
    return depends, self._cache.required_download, \
  File "/usr/lib/python2.7/dist-packages/apt/cache.py", line 235, in required_download
    pm.get_archives(fetcher, self._list, self._records)
SystemError: E:I wasn't able to locate a file for the ubuntu-docs package. This might mean you need to manually fix this package.

Lorsque j'essaie d'installer ubuntu-docs à partir de la ligne de commande, j'obtiens ce résultat:

 BlockquoteReading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be upgraded:
  ubuntu-docs
1 upgraded, 0 newly installed, 0 to remove and 33 not upgraded.
1 not fully installed or removed.
Need to get 1,408 kB of archives.
After this operation, 22.5 MB of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu/ oneiric/main ubuntu-docs all 11.10.4 [1,408 kB]
Fetched 1,408 kB in 5s (265 kB/s)        
(Reading database ... 
dpkg: warning: files list file for package `ubuntu-docs' missing, assuming package has no files currently installed.
(Reading database ... 323646 files and directories currently installed.)
Preparing to replace ubuntu-docs 11.10.4 (using .../ubuntu-docs_11.10.4_all.deb) ...
Unpacking replacement ubuntu-docs ...
dpkg: ../../src/archives.c:978: tarobject: Assertion `r == stab.st_size' failed.
E: Sub-process /usr/bin/dpkg exited unexpectedly

... qui a à peu près la même chose que lorsque j'ai commencé avec le problème, alors j'ai regardé dans info - il n'y a pas de paquet ubuntu-docs mais il y a une entrée dans le statut alors je l'ai supprimé et réessayé, mais dès que je fais Sudo dpkg --configure -a l'entrée pour ubuntu-docs réapparaît.

Des pensées?

Modifier (pas comme un commentaire pour enregistrer la mise en forme) :

Ce fil indique que je dois exécuter Sudo apt-get update après avoir supprimé les lignes correspondantes du statut. J'ai donc lancé Sudo apt-get clean suivi de Sudo apt-get update. Mais j'ai reçu un message disant:

E: dpkg was interrupted, you must manually run 'Sudo dpkg --configure -a' to correct the problem.

Après avoir exécuté Sudo dpkg --configure -a, le fichier de statut contient les lignes suivantes:

Package: ubuntu-docs
Status: install reinstreq half-installed
Priority: optional
Section: doc
Version: 11.10.4

Je ne sais pas si ça aide.

11
wisemonkey

Voici ce qui a fonctionné pour moi:

Sudo dpkg --force-all -r ubuntu-docs

Je signalerai si quelque chose ne va pas à ce sujet à nouveau. La solution BTW a été publiée sur le site Comment faire en sorte que dpkg fonctionne à nouveau?

Oh oui Mot de conseil: Maintenant, je dois utiliser Synaptic pour mettre à jour le système à chaque fois - car ubuntu-docs est présent dans chaque mise à jour et je dois le désélectionner: - /. Je suppose que je vais commencer par une autre question pour savoir comment supprimer un paquet particulier de chaque mise à jour ultérieure.

6
wisemonkey

Parfois, un package d'installation corrompu peut corrompre votre système de gestion de paquets, ce qui empêche votre Linux d'installer ou de supprimer des packages (logiciels). Voici le message d'erreur que j'ai reçu d'apt-get après avoir essayé d'installer ndas-admin pour Ubuntu.

$ Sudo apt-get install mplayer (ou n’importe quel paquet) Lire les listes de paquets… Terminé Construire l’arborescence des dépendances
Lecture des informations sur l’état… Fait E: Le paquet ndas-admin doit être réinstallé, mais je ne trouve pas d’archive pour cela. (c'est l'erreur)

J'ai essayé Sudo apt-get install -f d'essayer de résoudre le problème mais j'ai eu la même erreur. La seule option que j'avais était de modifier manuellement le fichier d'état de dpkg.

$ Sudo gedit /var/lib/dpkg/status    (if you prefer you can use vi instead of gedit)
Locate the corrupt package, and remove the whole block of information about it and save the file. Mine looked like this:

Package: ndas-admin
Status: deinstall reinstreq half-configured
Priority: extra
Section: alien
Installed-Size: 100
Maintainer: root <root@ubuntu510>
Architecture: i386
Version: 1.0.2-24
Depends: libc6 (>= 2.3.4-1)
Description: Administration toosl for XIMETA,Inc NDAS device driver for Linux operating system
 ndas-admin – This program allows the user to register/enable/disable/unregister the XIMETA NDAS hard disk.
 .
 (Converted from a rpm package by alien version 8.53.)

Fixé. J'espère que ceci aide quelqu'un d'autre.

7

Il est possible que vos commandes essaient simplement de réutiliser un paquet corrompu mis en cache sur votre ordinateur. Essayez d’exécuter la commande suivante pour effacer le cache d’apt:

Sudo apt-get clean

(attention, tous les paquets mis en cache seront supprimés, donc si vous êtes à mi-chemin d'une installation, vous devrez télécharger à nouveau un tas de choses).

Vous devriez alors pouvoir suivre le processus de mise à niveau normalement.

1
ImaginaryRobots