Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

From the man page:

-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.

This is confusing:

  1. How can 'ignore missing' and 'fix missing' be synonyms for the same option?
  2. What does 'hold back' mean in this context?
  3. What does 'handle the result' mean?

And in what situation is it useful anyway? When you try to install a package not in the apt index, you get this message:

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

Are the two suggestions (apt-get update, apt-get install --fix-missing...) at all equivalent?

share|improve this question
    
Yep, it's weird. I always thought that --fix-missing is the synonym of -f. However, the behavior should be the same as Synaptic's: try to update only packages downloaded. –  Danatela May 8 at 4:58
add comment

1 Answer 1

up vote 2 down vote accepted

Ok with order:

  • (1) -m ignore missing or fix missing packages in opposition to -f broken packages. In this meaning they can be synonyms for the same option. (Since to fix it ignores from here it takes its own weirdness :-) )
  • (2-3) When you install/upgrade with apt-get upgrade or with apt-get install somepackage usually it tries to update dependencies. This means that maybe it finds that some packages are needed as new or as updated version, and so on in a cascade of dependences. If some packages miss or fail the integrity check, it seems it suspend this package and want to go to handle the result following the handle method of the requiring package, if possible. Often it stop the installation of the package.
  • (4) With apt-get update you download what is needed to rebuilt an updated list of dependencies.
    After that you can try to run again apt-get install --fix-missing in the hope that the rebuilt list fixes the problem by itself.
    It results useful e.g. when you add a source for packages in your /etc/atp/sources.list or when the package index files are updated meanwhile.

Not all the programs you can use under Ubuntu came from the official Ubuntu repositories and are update with the same dates. Seldom you can incur in such problem.

Moreover there are many reasons why an installation can be abruptly interrupted (A kill signal, a power shortage, a failure of graphic driver...) In all those cases can be impossible to execute normally an apt-get update and it is needed in advance to fix the problem with apt-get install --fix-missing or with some dpkg commands.

You can see apt-get install --fix-missing as a light and friendly version of command like dpkg-reconfigure -all or dpkg.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.