Що робить apt-get --fix-missing і коли це корисно?


37

На чоловіковій сторінці:

-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...) взагалі рівноцінні?


Так, це дивно. Я завжди вважав, що --fix-missingце синонім -f. Однак поведінка повинна бути такою ж, як у Synaptic: намагайтеся оновити лише завантажені пакети.
Данатела

Відповіді:


34

Гаразд, для того, щоб:

  • (1) ігнорувати відсутні або виправити відсутні пакети (на відміну від -f зламаних пакетів). Ці параметри є синонімами одного і того ж варіанту. (Оскільки виправити це ігнорує звідси, це вимагає своєї дивацтва :-))
  • (2-3) Коли ви встановлюєте / оновлюєте з apt-get upgradeабо за допомогою apt-get install somepackage, зазвичай влучні намагаються оновити залежності. Це означає, що може виявити, що деякі пакети потребують нових або оновлених версій існуючих пакетів тощо у каскаді залежностей. Якщо деякі з цих пакетів відсутні або провалити перевірку цілісності, то , здається, призупинити цей пакет, і хоче , щоб ви , щоб обробити результат після методу ручки з потребуючих упаковок, якщо це можливо. Часто він перестає встановлювати цей пакет.
  • (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.


36
Це було дуже прихильне, але я, наприклад, не можу зрозуміти цього слова.
LondonRob

-1

Наступні кроки вирішать проблему:

  • Оновіть nameserver 8.8.8.8в/etc/resolve.conf
  • Біжи sudo apt-get update
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.