Comment réparer un paquet cassé, quand "apt-get install -f" ne fonctionne pas? [dupliquer]

23

J'ai essayé d'installer Scala avec la pile typeafe et j'ai eu des problèmes. Maintenant, je ne peux pas faire grand chose avec apt (sauf la mise à jour), le paquet cassé semble impossible à supprimer / nettoyer:

Voici le résultat de apt-get -f install :

$ sudo apt-get -f install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
  gstreamer0.10-fluendo-mp3:i386 scala-library liboil0.3:i386
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  scala
The following NEW packages will be installed:
  scala
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
4 not fully installed or removed.
Need to get 21.5 MB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]? Y
Get:1 http://apt.typesafe.com/ unicorn/main scala all 2.9.2-400 [21.5 MB]
Fetched 21.5 MB in 13s (1,567 kB/s)                                                                          
(Reading database ... 329381 files and directories currently installed.)
Unpacking scala (from .../scala_2.9.2-400_all.deb) ...
dpkg: error processing /var/cache/apt/archives/scala_2.9.2-400_all.deb (--unpack):
 trying to overwrite '/usr/share/java/scala-partest.jar', which is also in package scala-library 2.9.1.dfsg-3
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/scala_2.9.2-400_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Voici ma tentative de autoremove :

$ apt-get autoremove
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
[email protected]:~/work/manuscripts/ideas/ibm_food_webs$ sudo apt-get autoremove
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
 typesafe-stack : Depends: scala but it is not installed
E: Unmet dependencies. Try using -f.
    
posée PhDP 23.05.2012 - 22:39
la source

8 réponses

27

J'ai corrigé mon problème en utilisant cette commande:

sudo dpkg -i --force-overwrite path-to-the-deb-file
  • Si --force-overwrite ne fonctionne pas, essayez:

    sudo dpkg -i --force-overwrite-all path-to-the-deb-file

Dans votre cas:

sudo dpkg -i --force-overwrite /var/cache/apt/archives/scala_2.9.2-400_all.deb
    
réponse donnée dzgeek 12.07.2012 - 01:07
la source
7

Il semble que la suppression du package scala-library et la reconfiguration puissent fonctionner. Donc, vous êtes sur la bonne voie. Les commandes correctes sont, dans cet ordre:

sudo apt-get autoremove
sudo apt-get install -f

Votre commande autoremove n'a pas réussi car vous ne l'avez pas exécutée en tant que root (en utilisant sudo ).

    
réponse donnée Eliah Kagan 23.05.2012 - 22:50
la source
4

Dans mon cas, cela a fonctionné:

sudo dpkg -P package_name 

(pas le nom de deb)

    
réponse donnée Ula Karzelek 09.07.2014 - 13:18
la source
2

Ce qui suit a fonctionné pour moi (bien que je sois sur x86):

$ sudo vim /var/lib/apt/lists/apt.typesafe.com_dists_unicorn_main_binary-i386_Packages

Changer la ligne

Filename: pool/main/s/scala/scala_     2.9.2-400_all.deb

à:

Filename: pool/main/s/scala/scala_%20%20%20%20%202.9.2-400_all.deb

Suivi par:

sudo apt-get remove scala-library
sudo apt-get remove scala
sudo apt-get install scala
    
réponse donnée Steven Shaw 18.09.2012 - 00:54
la source
2

Le moyen facile d’ouvrir synaptic . Il vous indiquera qu’un paquetage cassé est trouvé, vous devez donc localiser les paquets cassés et simplement les retirer, vous pouvez alors faire ce que vous voulez.

    
réponse donnée user61928 26.09.2012 - 08:47
la source
2

la commande suivante a fonctionné.

sudo rm -rf /var/lib/dpkg/updates/*
sudo rm -rf /var/lib/apt/lists/*
sudo rm /var/cache/apt/*.bin
sudo apt-get clean
sudo apt-get autoremove
sudo apt-get update
sudo dpkg --configure -a
sudo apt-get install -f

Si vous obtenez toujours la même erreur, alors essayez

sudo dpkg --remove --force-remove-reinstreq package_name 

après avoir supprimé le package, mettez à jour votre système et redémarrez-le une fois.

    
réponse donnée premal 06.05.2015 - 10:47
la source
0

Dans mon cas, je n'ai pas pu mettre à jour le système à cause de l'erreur suivante lors de l'essai de sudo apt-get install -f :

update-alternatives: error: /var/lib/dpkg/alternatives/package_name broken: invalid status

Une solution consistait à supprimer le fichier de /var/lib/dpkg/alternatives et à répéter la commande ci-dessus. Je l'ai exécuté plusieurs fois jusqu'à ce que tous les paquets non valides soient corrigés.

Dans mon cas, cela m'a empêché de configurer Java correctement.

    
réponse donnée user93144 26.07.2013 - 15:02
la source
-1

J'ai eu ce problème une fois, pour une raison, je pense que c'était un paquetage Skype

En fait, je me souviens que je l'avais deux fois, une fois lorsque le package Skype était seulement cassé dans ce cas, si c'est seulement quelques 1. Ouvrez le logiciel de mise à jour et attendez qu'il se charge 2. cliquez sur paramètres 3. cliquez sur un autre onglet logiciel Ce sont tous vos paquets, regardez la sortie de votre console, utilisez les dernières lignes pour localiser le paquetage et supprimez-le ou faites-le un par un jusqu'à ce que vous n'obteniez plus l'erreur

Si c'était comme si je l'avais déjà fait, tous les paquets ne pouvaient pas être récupérés correctement comme ci-dessus, mais cliquez sur l'onglet Logiciel Ubuntu

cocher uniquement la première et la troisième case Sélectionnez le serveur principal dans la liste déroulante, cliquez sur Fermer sudo apt-get update

    
réponse donnée kris2340k 06.01.2014 - 21:16
la source

Lire d'autres questions sur les étiquettes