Apt-get --fix-missing nedir ve ne zaman faydalıdır?


37

Man sayfasından:

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

Bu kafa karıştırıyor:

  1. 'Eksik görmezden' ve 'eksik düzeltmek' aynı seçenekle nasıl eş anlamlı olabilir?
  2. Bu bağlamda 'geri tutma' ne anlama geliyor?
  3. 'Sonucu ele almak' ne anlama geliyor?

Ve hangi durumda zaten faydalıdır? Apt dizininde olmayan bir paket yüklemeye çalıştığınızda, şu mesajı alırsınız:

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

İki öneri ( apt-get update, apt-get install --fix-missing...) eşit mi?


Evet, çok garip. Her zaman bunun --fix-missingeş anlamlı olduğunu düşündüm -f. Bununla birlikte, davranış Synaptic'inkiyle aynı olmalıdır: yalnızca indirilen paketleri güncellemeye çalışın.
Danatela

Yanıtlar:


34

Tamam, sırayla:

  • (1) -m görmezden eksik ya da düzeltme eksik (aksine paketleri -f kırık paketleri). Bu seçenekler aynı seçeneğin eş anlamlılarıdır . (Düzeltmek için buradan görmezden geliyor, kendi garipliğini alır :-))
  • (2-3) Birlikte kurduğunuzda apt-get upgradeveya yükselttiğinizde apt-get install somepackage, genellikle apt bağımlılıkları güncellemeye çalışır. Bu, bazı paketlerin mevcut paketlerin yeni veya güncellenmiş sürümlerine ihtiyaç duyduğunu bulabileceği anlamına gelir. Bu paketlerden bazıları eksik veya bütünlük kontrolünde başarısız olursa, bu paketi askıya alıyor gibi görünüyor ve mümkünse, istenen paketin tanıtıcı yöntemini izleyerek sonucu ele almanızı istiyor . Genellikle bu paketi yüklemeyi durdurur.
  • (4) apt-get updateBağımlılık listesini yeniden inşa etmek için neyin gerekli olduğunu sizde indirin.
    Bundan sonra apt-get install --fix-missing, güncellenen listenin sorunu kendiliğinden çözeceği umuduyla tekrar deneyebilirsiniz .
    Bu, zaman zaman paketler için bir kaynak eklediğinizde /etc/atp/sources.listveya paket dizin dosyalarının güncellenmesi gibi çok yararlı olabilir .

Ubuntu'da kullanabileceğiniz tüm programlar resmi Ubuntu depolarından gelmedi ve aynı sürümlerle güncellendi - bu nadirdir.

Dahası, bir yükleme aniden kesilebilir birçok nedeni bu durumda (A kill sinyali, bir güç sıkıntısı, grafik sürücünün bir başarısızlık ...) vardır apt-get updateolmayabilir iş, bu yüzden birlikte sorunu çözmek için ilk ihtiyaç apt-get install --fix-missingveya bazı dpkg komutlar

Görebilirsiniz apt-get install --fix-missingkomutların bir ışık ve dost versiyonu gibi dpkg-reconfigure --allya dpkg.


36
Bu aşırı derecede yozlaştırıldı, ancak ben bunun için bir kelime anlayamıyorum.
LondonRob

-1

Aşağıdaki adımlar sorunu çözecektir:

  • güncelleme nameserver 8.8.8.8in/etc/resolve.conf
  • Çalıştırmak sudo apt-get update
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.