58 votes

Que fait apt-get --fix-missing et quand est-il utile ?

De la page de manuel :

-m, --ignore-missing, --fix-missing
  Ignore missing packages; if packages cannot be retrieved or fail the integrity 
  check after retrieval (corrupted package files), hold back those packages and 
  handle the result. 

  Use of this option together with -f may produce an error in some situations. If a 
  package is selected for installation (particularly if it is mentioned on the 
  command line) and it could not be downloaded then it will be silently held back. 

 Configuration Item: APT::Get::Fix-Missing.

C'est déroutant :

  1. Comment "ignorer les manquants" et "réparer les manquants" peuvent-ils être synonymes de la même option ?
  2. Que signifie "retenir" dans ce contexte ?
  3. Que signifie "gérer le résultat" ?

Et dans quelle situation est-ce utile de toute façon ? Lorsque vous essayez d'installer un paquet qui n'est pas dans l'index apt, vous obtenez ce message :

E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

Les deux suggestions ( apt-get update , apt-get install --fix-missing... ) sont-elles équivalentes ?

47voto

Hastur Points 3660

Ok, dans l'ordre :

  • (1) -m ignorer falta ou fixer falta (par opposition aux -f brisé paquets). Ces options sont synonymes pour la même option. (Puisque pour le fixer, on ignore d'ici qu'il prend sa propre bizarrerie :-) )
  • (2-3) Lorsque vous installez/mettez à niveau avec apt-get upgrade ou avec apt-get install somepackage , généralement apt essaie de mettre à jour les dépendances. Cela signifie qu'il peut trouver que certains paquets ont besoin de nouvelles versions ou de versions mises à jour de paquets existants, et ainsi de suite dans une cascade de dépendances. Si certains de ces paquets sont manquants ou échouent au contrôle d'intégrité, il semble que suspendre ce paquet, et veut que vous alliez à poignée le résultat suite à la méthode de manipulation du paquet qui en a besoin, si possible. Souvent, il arrête l'installation de ce paquet.
  • (4) Avec apt-get update vous téléchargez ce qui est nécessaire pour reconstruire la liste des dépendances.
    Après cela, vous pouvez essayer apt-get install --fix-missing à nouveau, dans l'espoir que la liste mise à jour règle le problème d'elle-même.
    Cela peut être très utile à certains moments, par exemple lorsque vous ajoutez une source pour les paquets de votre /etc/atp/sources.list , ou lorsque les fichiers d'index des paquets ont été mis à jour.

Tous les programmes que vous pouvez utiliser sous Ubuntu ne proviennent pas des dépôts officiels d'Ubuntu, et sont mis à jour avec les mêmes versions -- c'est rare.

De plus, il existe de nombreuses raisons pour lesquelles une installation peut être brusquement interrompue (un signal d'arrêt, une coupure de courant, une défaillance du pilote graphique...) Dans ces situations, apt-get update peut ne pas fonctionner, vous devez donc d'abord résoudre le problème avec apt-get install --fix-missing ou avec des dpkg des commandes.

Vous pouvez voir apt-get install --fix-missing comme une version légère et conviviale de commandes telles que dpkg-reconfigure --all o dpkg .

-1voto

Suresh Points 1

Les étapes suivantes permettront de résoudre le problème :

  • Mettre à jour le nameserver 8.8.8.8 en /etc/resolve.conf
  • Exécuter sudo apt-get update

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X