
Из страницы руководства:
-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.
Это смущает:
- Как «игнорировать отсутствующие» и «исправить отсутствующие» могут быть синонимами одной и той же опции?
- Что означает «сдерживать» в данном контексте?
- Что означает «обработать результат»?
И в какой ситуации это вообще полезно? При попытке установить пакет, которого нет в индексе 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
.