O que exatamente o sudo apt-get -f install faz?

41

Eu já vi isso antes. Estou apenas me perguntando o que exatamente isso faz?

TheShadowFog
fonte

Respostas:

39

De man apt-get:

   -f, --fix-broken
       Fix; attempt to correct a system with broken dependencies in place. This
       option, when used with install/remove, can omit any packages to permit APT
       to deduce a likely solution. If packages are specified, these have to
       completely correct the problem. The option is sometimes necessary when
       running APT for the first time; APT itself does not allow broken package
       dependencies to exist on a system. It is possible that a system's dependency
       structure can be so corrupt as to require manual intervention (which usually
       means using dselect(1) or dpkg --remove to eliminate some of the offending
       packages). Use of this option together with -m may produce an error in some
       situations. Configuration Item: APT::Get::Fix-Broken.
Isaías
fonte
19
A você pode agradecer ao senhor por isso. Quando você tem um pacote quebrado, é como ter uma pedra dentro do sapato ... e você está em uma maratona ... com ursos montando tubarões montando aranhas enormes. Mas graças a esse material quebrado é corrigido.
Luis Alvarado
2
Na situação ocasional em que sudo apt-get -f installnão é, por si só, suficiente para corrigir pacotes quebrados, consulte esta resposta .
Eliah Kagan 13/09/12
Apenas como complemento - se você mudar de idéia sobre o packageque resultou nas dependências não atendidas, faça o mesmo sudo apt-get remove packagepara se livrar do erro de dependência não atendida e não instale os pacotes que corrigem a interrupção.
user1953384
1

Aqui é onde eu achei muito útil. Executei o comando dpkg para instalar alguns pacotes .deb, mas a instalação falhou porque faltavam algumas dependências.

Então eu corri

apt-get -f install

e instalou exatamente as dependências necessárias. Pude executar novamente o meu comando dpkg e tudo funcionou.

Chade
fonte