Что делает apt-get --fix-missing и когда это полезно?

Что делает apt-get --fix-missing и когда это полезно?

Из страницы руководства:

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

Это смущает:

  1. Как «игнорировать отсутствующие» и «исправить отсутствующие» могут быть синонимами одной и той же опции?
  2. Что означает «сдерживать» в данном контексте?
  3. Что означает «обработать результат»?

И в какой ситуации это вообще полезно? При попытке установить пакет, которого нет в индексе apt, вы получаете такое сообщение:

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

Эквивалентны ли вообще два предложения ( apt-get update, )?apt-get install --fix-missing...

решение1

Хорошо, по порядку:

  • (1)игнорироватьотсутствующийили исправитьотсутствующийпакеты (в отличие от сломанныйпакеты). Эти опциисинонимыдля той же опции. (Поскольку для исправления он игнорирует отсюда он берет свой собственныйстранность :-) )
  • (2-3) Когда вы устанавливаете/обновляете с помощью apt-get upgradeили с помощью apt-get install somepackage, обычно apt пытается обновить зависимости. Это означает, что он может обнаружить, что некоторым пакетам нужны новые или обновленные версии существующих пакетов, и так далее в каскаде зависимостей. Если некоторые из этих пакетов отсутствуют или не прошли проверку целостности, он, похоже, приостановитьэтот пакет, и хочет, чтобы вы пошлиручкарезультат послеметод обработкитребуемого пакета, если это возможно. Часто это останавливает установку этого пакета.
  • (4) С помощью apt-get updateзагрузки того, что необходимо для перестроения списка зависимостей.
    После этого вы можете попробовать apt-get install --fix-missingснова, в надежде, что обновленный список сам по себе исправит проблему.
    Это может быть очень полезно в некоторых случаях, например, когда вы добавляете источник для пакетов в свой /etc/atp/sources.list, или когда были обновлены файлы индекса пакетов.

Не все программы, которые вы можете использовать в Ubuntu, взяты из официальных репозиториев Ubuntu и обновлены до тех же версий — это редкость.

Более того, существует множество причин, по которым установка может быть внезапно прервана (сигнал завершения, нехватка питания, сбой графического драйвера...). В таких ситуациях apt-get updateможет не работать, поэтому сначала необходимо устранить проблему с помощью apt-get install --fix-missingили с помощью некоторых dpkg команд.

Вы можете увидеть apt-get install --fix-missingоблегченную и удобную версию таких команд, как dpkg-reconfigure --allили dpkg.

Связанный контент