O que o apt-get --fix-missing faz e quando é útil?

O que o apt-get --fix-missing faz e quando é útil?

Na página de manual:

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

Isso é confuso:

  1. Como 'ignorar falta' e 'corrigir falta' podem ser sinônimos para a mesma opção?
  2. O que significa “reter” neste contexto?
  3. O que significa 'lidar com o resultado'?

E em que situação é útil, afinal? Ao tentar instalar um pacote que não está no índice do apt, você recebe esta mensagem:

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

As duas sugestões ( apt-get update, apt-get install --fix-missing...) são equivalentes?

Responder1

Ok, em ordem:

  • (1)-mignorarausenteou consertarausentepacotes (em oposição a-f quebradopacotes). Estas opções sãosinônimospara a mesma opção. (Já que para consertar isso ignora daqui é preciso seu próprioestranheza :-) )
  • (2-3) Quando você instala/atualiza com apt-get upgradeou com apt-get install somepackage, geralmente o apt tenta atualizar as dependências. Isto significa que pode descobrir que alguns pacotes precisam de versões novas ou atualizadas de pacotes existentes, e assim por diante, em uma cascata de dependências. Se alguns desses pacotes estiverem faltando ou falharem na verificação de integridade, parece suspendereste pacote e quer que você vá paralidaro resultado seguindo ométodo de manipulaçãodo pacote requerido, se possível. Muitas vezes ele para de instalar este pacote.
  • (4) apt-get updateBaixe o que é necessário para reconstruir a lista de dependências.
    Depois disso, você pode tentar apt-get install --fix-missingnovamente, na esperança de que a lista atualizada resolva o problema por si só.
    Isso pode ser muito útil às vezes, como quando você adiciona uma fonte para pacotes no seu arquivo /etc/atp/sources.list, ou quando os arquivos de índice do pacote foram atualizados.

Nem todos os programas que você pode usar no Ubuntu vieram dos repositórios oficiais do Ubuntu e são atualizados com as mesmas versões – isso é raro.

Além disso, existem muitas razões pelas quais uma instalação pode ser interrompida abruptamente (um sinal de interrupção, falta de energia, falha do driver gráfico...) Nessas situações, apt-get updatepode não funcionar, então primeiro você precisa corrigir o problema com apt-get install --fix-missingou com alguns dpkg comandos.

Você pode ver apt-get install --fix-missingcomo uma versão leve e amigável de comandos como dpkg-reconfigure --allou dpkg.

informação relacionada