Bozuk sinaptik güncellemeler nasıl düzeltilir? “Paket çok kötü tutarsız bir durumda”


15

Ubuntu 8.10 çalıştıran bir Dell Mini9'um var. Bir gün bir LAMP yığını kurabileceğimi görmek için parlak bir fikrim vardı. MySQL 5.0'ı yüklerken sorun yaşadım. Hatayı hatırlamıyorum, ancak her zaman güncelleme yöneticisi, sinaptik veya apt-get çalıştırma girişimleri mysql-server-5.0 ile ilgili bir hata ile başarısız olduğu için: "Paket çok kötü tutarsız bir durumda".

Denedim apt-get remove mysql-server-5.0ve ayrıca installama hiçbir şans ile. Her ikisi de aşağıdaki aynı hatayla başarısız olur. Bunu nasıl düzeltebilirim?

$ sudo apt-get kaldır mysql-server-5.0
Paket listeleri okunuyor ... Tamam
Bina bağımlılığı ağacı       
Durum bilgileri okunuyor ... Yapıldı
Aşağıdaki paketler otomatik olarak kuruldu ve artık gerekli değil:
  dhcdbd libisc32
Bunları kaldırmak için 'apt-get autoremove' komutunu kullanın.
Aşağıdaki paketler KALDIRILACAK:
  mysql-server-5.0
0 yükseltildi, 0 yeni yüklendi, 1 kaldırıldı ve 164 yükseltilmedi.
1 tam olarak takılmamış veya çıkarılmamış.
Bu işlemden sonra 85.4MB disk alanı boşaltılır.
Devam etmek istiyor musunuz [E / H]? 
dpkg: mysql-server-5.0 (--remove) işlenirken hata oluştu:
 Paket çok tutarsız bir durumda - yapmalısınız
 kaldırmaya çalışmadan önce yeniden yükleyin.
İşlenirken hatalarla karşılaşıldı:
 mysql-server-5.0
E: Alt işlem / usr / bin / dpkg bir hata kodu döndürdü (1)

Sözdizimi vurgulamanın gerekli olmadığı ekran çıktısı için <pre> kullanmayı düşünün.
John Oxley

Yanıtlar:


19

Diğer cevapların hiçbiri Maverick'te benim için işe yaramadı.

Benim durumumda, bunun işe yaradığını gördüm:

sudo rm /var/lib/dpkg/info/flashplugin-nonfree.prerm

sudo dpkg --remove --force-remove-reinstreq flashplugin-nonfree

("flashplugin-nonfree" nin bozuk paketin adıyla değiştirilmesi ve "prerm" in başarısız olan komut dosyası türüyle değiştirilmesi - benim durumumda kaldırma sonrası komut dosyası "postrm" idi.)

Ve Ubuntu'nun kullanımı kolay olduğunu söylüyorlar! homurdanıyor homurdanıyor



1
Benzer bir soruna çözüm bulmak için saatlerce çalışıyordum ve bu işe yarayan tek şeydi. Teşekkür ederim.
LukeGT

6

Bir mysql yükleme ile aynı sorunu vardı. Buna gerek tasfiye packge. Bir paketi kaldırmak, beraberinde gelen yapılandırma dosyalarını kaldırmaz.

Ayrıca, mysql-server-5.0'a atıfta bulunacağım , ancak her zaman en son sürüme işaret eden bir sarmalayıcı paketi mysql-server olduğunu fark edeceğim . mysql-server kurulumunu isterseniz , apt-get komutunun mysql-server-5.0'a bağlı olduğunu ve her ikisini de kurmasını söylemelisiniz . Eğer varsa mysql-server sistemine paketi, size yeniden girişiminde de önce gitti emin olması gerekir.

  • Mysql sunucusunun (mysqld) çalışmadığından emin olun. Eğer öyleyse, aşağı indirin:

    sudo /etc/init.d/mysqld durağı

  • Herhangi bir paketin mysql-server-5.0'a bağlı olup olmadığını kontrol edin:

    sudo apt-cache mysql-server-5.0 rdepends

    Varsa, kaldırmak için --force seçeneğini kullanmanız gerekir .

  • Paketi temizleyin ( # 2'ye bağlı olarak --force seçeneğini ekleyin )

    sudo apt-get - temizleme kaldır --force mysql-server-5.0

  • Yükleyici dosyalarının da çalışarak temizlendiğinden emin olun

    sudo apt-get autoclean
    sudo apt-get otomatik çalıştırma

  • Sunucu paketini tekrar yükleyin

    sudo apt-get install mysql-sunucu-5.0

Bu, umarım sorununuzu çözmelidir. Ancak, mysql-common paketinden gelen dosyalarda herhangi bir değişiklik yaptıysanız , paket hala bozuk olabilir .

mysql-common , hem istemci hem de sunucu bileşenleri tarafından kullanılan temel pakettir. İşler hala çalışmıyorsa, bu paketi yeniden yüklemeyi deneyin. Kesinlikle buna bağlı paketler olacak; yukarıdaki # 2'yi kullanarak kontrol edin. MySQL'i yeniden yüklemeden önce MySQL sunucusunu temizleyin . Ayrıca, mysql-common yeniden yüklemeyi unutmayın , aksi takdirde sisteminiz çok bozuk olacaktır.


1

aptitudeBağımlılıkları daha iyi ele alan bir deneme yapmak isteyebilirsiniz :

sudo aptitude remove mysql-server-5.0

Burada hata dpkg's, bu yüzden aptitudemutlaka daha iyi ücret olacağını sanmıyorum . Beni yanlış anlamayın, tamamen aptitudebitirdim apt-get, ama günün sonunda, her ikisi de gerçek nitritli dpkg(her şey Perl'de uygulandı) duymaktan mutluluk duyar.
Telemachus

;-) Sadece denemeye değer olabileceğini düşündüm.
innaM

0

Deneyin

sudo dpkg -i reconfigure mysql-server-5.0
sudo apt-get remove --force mysql-server-5.0

Kırılmış başka bir paketse, apt-get remove --forceo paketi de deneyin .


0

Buradaki dpkghata dpkg, paketi gerçekten kaldırmaya çalışırken sorunun oluştuğunu gösterir. (Günün sonunda, apt-getve Synapticbenzeri gerçek işi teslim dpkg.)

Mesajın tam olarak ne yazdığını ve yeniden yüklenmesini denediniz mi?

apt-get install --reinstall mysql-server-5.0

Gibi saçma o gelebilir gibi eğer dpkg(o kaldır gerekiyordu bazı dosya geçici içinde kayboldu çünkü) daha sonra yeniden ve kaldırma işlemi sırasında boğulma sonra bazen yardım edebilir çıkarmadan. Nagul'un önerdiğimysql gibi, yüklemeye veya kaldırmaya çalışmadan önce çalışmadığından emin olun .


0

dpkg -r --force-remove-reinstreq <package> yeniden yükleme gerekip gerekmediğini kontrol etmeden bir paketi kaldırır.

Bundan sonra, paketi tercih ettiğiniz paket yöneticisiyle yeniden yükleyebilmelisiniz.


0

Postacıyla bu sorunu yaşadım. /Etc/init.d/mailman ile silindi

rm /etc/init.d/mailman

onu düzeltti :)

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.