Güncelleme yöneticisi / apt-get yükseltmesi ile herhangi bir güncelleme yüklenemiyor


12

Son birkaç haftadır Ubuntu 12.04 kullanıyorum. Son zamanlarda Update Manager aracılığıyla bazı dosyaları indirip yüklemeyi denedim. Birkaç dosya buldu, indirdi, ancak yükleyemedi. Hata verdi:

installArchives() failed: (Reading database ... 
(Reading database ... 80%
dpkg: unrecoverable fatal error, aborting:
 reading files list for package 'libasn1-8-heimdal': Input/output error

Kullanmayı denedim apt-get upgradeama benzer bir hata üretildi:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be upgraded:
  icedtea-6-jre-cacao icedtea-6-jre-jamvm openjdk-6-jre openjdk-6-jre-headless
  openjdk-6-jre-lib
5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/34.6 MB of archives.
After this operation, 1,024 B of additional disk space will be used.
Do you want to continue [Y/n]? y
(Reading database ... 80%
dpkg: unrecoverable fatal error, aborting:
 reading files list for package 'libasn1-8-heimdal': Input/output error
E: Sub-process /usr/bin/dpkg returned an error code (2)

Herhangi bir yardım büyük mutluluk duyacağız. Şimdiden teşekkürler.

Düzenleme: İşte yararlı olabilecek bazı ek bilgiler. Asıl sorunum Ubuntu Yazılım Merkezi'nin açılmamasıydı. Update Manager ve Synaptic Package Manager'ın da açılamadığını gördüm. Hepsi şu hatlarda bir hata verdi:

"installArchives() failed: dpkg: error: reading package info file '/var/lib/dpkg/available': Input/output errorError in function:"

Çok googling sonra paket yöneticileri tekrar açmak gibi ben bu sorunu düzeltmek gibi görünüyordu. Daha sonra Güncelleme Yöneticisi'nden herhangi bir güncelleme indirip yüklemeye çalıştığımda hatayı bu yazının başında aldım.


Hangi dosyaları indirdiniz? Nereden? Güncelleme yöneticisinin bununla ne ilgisi var?
mikewhatever

İletideki paketi kaldırmayı (ve daha sonra yeniden yüklemeyi) deneyebilirsiniz. Bu başarısız olursa, önbelleği temizlemeyi deneyebilirsiniz.
John S Gruber

Hala bunu düzeltmek için çalışıyorum, henüz şansım olmadı. Burada verilen talimatları deneyeceğim: şansım olduğunda goo.gl/oOKqG .
user64654

Neden 14.04'ü değil 12.04'ü kurmayı seçtiniz? Sonuçta, birkaç hafta önce aldığını söyledin ve Trusty dokuz aydır dışarıda.
John Scott

Yanıtlar:


16

Bu talimatlarla sorunu çözdüm .

Yani çözüm şudur:

  1. /var/lib/dpkgDizine git
  2. statusDosyanın yedeğini alma
  3. statusDosyayı düzenle
  4. Hata veren paketi arayın
  5. Satırları bu paketten silin (ancak "Değiştir" veya "Bağlandı" alanlarında bozuk paketi içeriyor olsalar bile diğer paketleri ilgilendiren diğer tüm satırlara izin verin)

    [...]

  6. statusDosyadaki değişiklikleri kaydet

  7. Çalıştırmak: sudo dpkg --configure -a
  8. Eksik bağımlılıkların yeniden yüklenmesini zorlayın (çünkü şimdi bazıları var):

    sudo apt-get -f install
    

    Bence kırık paket başka bir pakete bağlı değilse (nadir olabilir), sadece yeniden yükleyin:

    sudo apt-get install the_package
    
  9. Artık her şey yolunda, yeni paketleri güncelleyebilir, yükseltebilir veya kurabilirsiniz!

Burada verilen çözüme göre birkaç farklılığım olduğu unutulmamalıdır. Durum dosyasını düzenlemek kolay değildi (önemli bir dosya olduğundan ve hiçbir zaman düzenlenmemesi gerektiği için). Orada yapılan tüm düzenlemeler dikkatle yapılmalı ve herhangi bir değişiklik yapmadan önce dosya yedeklenmelidir.

Adım 4-8'i üç kez tekrarlamak zorunda kaldım (her seferinde hata sadece farklı bir paketle aynı olurdu). Sonunda tüm paketler kaldırıldığında, bunları yeniden yükleyebildim ve sorunumu düzeltti.


Hangi paketlerin hataya neden olduğunu nasıl buldunuz?
Seanny123

@ Seanny123 apt-get install için önceki girişim muhtemelen hata gösteriyor olacaktır. Örneğin benim durumumda, komut istemi dönmeden hemen önce "manpages-dev 'paketi için dosya okuma listesi var: Giriş / çıkış hatası" var. Durum dosyasında "Package: manpages-dev" araması yaptım ve bir sonraki "Package:" satırına kadar olan satırları sildim. Bundan sonra bir manuel "apt-get install manpages-dev" yapmak zorunda kaldı ve daha önce benim başarısız "apt-get dist-yükseltme" hatasız tamamlandı. (Teşekkürler user64654!)
Peter Hansen

2

Diskin inodes ile bozulmuş olması mümkündür.

Canlı bir CD ile bu komutu çalıştırın

sudo fdisk -l

diski ve bölümü not edin, /dev/dsb1 daha sonra tamir edilebilir :

sudo fsck -y /dev/sdb1

Yeniden başlat ve sistemi geri ver

sudo apt-get -f install
sudo apt-get update
sudo apt-get upgrade

Ben fsck yaptım ve sudo shutdown -rF nowbaşka bir şey olmadan, her şey tekrar iyiydi.
Klaws
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.