
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:
- Como 'ignorar falta' e 'corrigir falta' podem ser sinônimos para a mesma opção?
- O que significa “reter” neste contexto?
- 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 upgrade
ou comapt-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 update
Baixe o que é necessário para reconstruir a lista de dependências.
Depois disso, você pode tentarapt-get install --fix-missing
novamente, 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 update
pode não funcionar, então primeiro você precisa corrigir o problema com apt-get install --fix-missing
ou com alguns dpkg
comandos.
Você pode ver apt-get install --fix-missing
como uma versão leve e amigável de comandos como dpkg-reconfigure --all
ou dpkg
.