web-dev-qa-db-fra.com

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.

Ceci est déroutant:

  1. Comment "ignorer les manquants" et "corriger les manquants" peuvent-ils être synonymes de la même option?
  2. Que veut dire "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 ne figurant pas dans l'index apt, vous obtenez le message suivant:

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 du tout équivalentes?

35
Steve Bennett

Ok, dans l'ordre:

  • (1) - m ignorer manquant ou corriger manquant paquets (par opposition à - f paquets cassés ). Ces options sont synonymes pour la même option. (Puisque pour le réparer, il ignore à partir d'ici, il prend sa propre étrangeté :-))
  • (2-3) Lorsque vous installez/mettez à niveau avec apt-get upgrade ou avec apt-get install somepackage, généralement apt essaye de mettre à jour des dépendances. Cela signifie que certains packages peuvent avoir besoin de versions nouvelles ou mises à jour des packages existants, et ainsi de suite, dans une cascade de dépendances. Si certains de ces packages sont manquants ou échouent à la vérification de l'intégrité, il semble suspendre ce package et souhaite que vous vous rendiez à descripteur le résultat suivant le signe Traitement de la méthode du paquet requis, si possible. Souvent, il arrête d'installer 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 pourrez réessayer apt-get install --fix-missing, dans l’espoir que la liste mise à jour corrige le problème elle-même.
    Cela peut être très utile parfois, par exemple lorsque vous ajoutez une source pour les packages dans votre /etc/atp/sources.list ou lorsque les fichiers d'index de package ont été mis à jour.

Tous les programmes que vous pouvez utiliser sous Ubuntu ne proviennent pas des référentiels officiels Ubuntu et sont mis à jour avec les mêmes versions - ceci est rare.

De plus, il existe de nombreuses raisons pour lesquelles une installation peut être interrompue brusquement (un signal de suppression, une panne de courant, une défaillance du pilote graphique, etc.). Dans ces situations, apt-get update peut ne pas fonctionner, vous devez donc au préalable réparer le problème avec apt-get install --fix-missing. ou avec certaines commandes dpkg.

Vous pouvez voir apt-get install --fix-missing comme une version claire et conviviale de commandes telles que dpkg-reconfigure --all ou dpkg.

32
Hastur

Les étapes suivantes vont résoudre le problème:

  • Mettre à jour le nameserver 8.8.8.8 dans /etc/resolve.conf
  • Exécutez Sudo apt-get update
0
Suresh