Что именно делает sudo apt-get -f install?

41

Я видел это раньше. Мне просто интересно, что именно это делает?

TheShadowFog
источник

Ответы:

39

От 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.
Исайя
источник
19
А вы можете поблагодарить Господа за это. Когда у вас сломан пакет, это похоже на камень внутри вашей обуви ... и вы в марафоне ... с медведями, едущими на акулах и огромными пауками. Но благодаря этому сломанный материал исправляется.
Луис Альварадо
2
В случайной ситуации, когда sudo apt-get -f installсамо по себе недостаточно для исправления сломанных пакетов, посмотрите этот ответ .
Элия ​​Каган
Просто как дополнение - если вы передумаете о том, packageчто привело к неудовлетворенным зависимостям, то просто сделайте, sudo apt-get remove packageчтобы избавиться от ошибки неудовлетворенных зависимостей, а не устанавливайте пакеты, исправляющие разрыв.
user1953384 10.10.16
1

Вот где я нашел это очень полезным. Я выполнил команду dpkg, чтобы установить пару пакетов .deb, но установка не удалась, потому что некоторые зависимости отсутствовали.

Я тогда побежал

apt-get -f install

и он установил именно те зависимости, которые были необходимы. Затем я смог повторно запустить мою команду dpkg, и все заработало.

Чад
источник