Yarım yüklü paketi düzelt


42

Belirtme sırasında hata alıyorum sudo apt-get upgrade:

dpkg: error processing libgfortran3:amd64 (--configure):
  package libgfortran3:amd64 is not ready for configuration
  cannot configure (current status `half-installed')
Errors were encountered while processing:
  libgfortran3:amd64
E: Sub-process /usr/bin/dpkg returned an error code (1)

Kurulumu engeller / diğer uygulamaları yükseltir gibi görünmez. Uygulama yükseltilirken bilgisayarımın kapatılması nedeniyle bu sorunun ortaya çıktığını düşünüyorum.

Bunu nasıl düzeltebilirim?


Yanıtlar:


38
sudo dpkg --remove --force-remove-reinstreq --dry-run libgfortran3:amd64

Bu sadece kuru bir dönem. Ne çıkarmanın libgfortran3onunla alacağından emin değilim ama bunu yönet ve gör. Tüm sistemi yıpratmayacağını varsayarsak, o olmadan tekrar çalıştırın --dry-runve daha sonra sudo apt-get install ...ihtiyacınız olan paketleri yapabilirsiniz .


4
İşe yaradı, teşekkürler! Kayıt için koştum ve dedi dpkg: warning: package is in a very bad inconsistent state; you should reinstall it before attempting a removalki, paketi el ile paketlerimden indirdim ve koştum sudo dpkg -i WHERE/THE/DOWNLOADED/PACKAGE/IS. Sonra her şey iyi oldu.
Bora M. Alper

1
Benim durumumda, bu talimatları uyguladıktan sonra, sadece 'apt-get install -f' komutunu çalıştırmanız paketi yeniden yükledi ve aynı zamanda kırılma bağımlılıkları olan bazılarını da düzeltti. Bu, debian 7'deki libx11-data paketi
içindi

Dediğin --dry-rungibi, benim için işe yaradı. Teşekkür ederim!
Forvas

69

Yarı kurulu paket hatası için --reinstall benim için çalıştı:

sudo apt-get install --reinstall packagename 

1
Evet, ancak paket adının yeniden yüklenmesinden sonra apt-get 'in yarı yapılandırılmış paketleri yapılandırmaya devam edeceğini belirten bir uyarı.
Cedric Knight

5
bu kabul edilen cevaptan daha güvenlidir.
Zanna,

sudo apt-get install --reinstal ncurses-base ve daha sonra root kullanıcısını (sudo-s) kullanarak sudo apt-get güncellemesini yaptım, aynen böyle çalıştı ...
ArifMustafa

harika. yalnızca bu çözüm benim sorunumu çözdü
iWizard

bu benim için yaptı. php-pear bana bir baş ağrısı veriyordu. Teşekkürler!
pcarvalho

6
sudo apt install --reinstall packagename

Bu çekicilik gibi çalışır. Aylardır yaşadığım bir sorunu çözdü. Benim davam paketin yanındaydılibmysqlcppconn7v5

Tek yaptığım koşmaktı sudo apt install --reinstall libmysqlcppconn7v5


2

Bunu GUI ile düzeltmek istiyorsanız, synaptic kullanabilirsiniz. Synaptic, eski ubuntu sürümlerinde kullanılan mükemmel bir paket yönetim aracıdır. Yüklemek için:

sudo apt-get install synaptic

kırık paketleri düzeltmek için tıklayın.


synaptic paketi bozuk kategoride listelemiyor :(
Barun

2

Paket "kibana" ile aynı "yarı yüklü paket" sorunum da var. Aşağıdaki hatayı aldım:

dpkg: error processing kibana (--configure):
package kibana is not ready for configuration
cannot configure (current status 'half-installed')
Errors were encountered while processing:
  kibana
E: Sub-process /usr/bin/dpkg returned an error code (1)

Herhangi biri hala bu tür bir sorunla karşı karşıyaysa, şunu deneyebilirsiniz:

sudo rm /var/lib/dpkg/info/kibana*
cd /var/cache/apt/archives
sudo rm kibana*
apt-get --reinstall install kibana

Bu benim için çalışıyor. Sadece 'kibana' kelimesini yarı kurulu isminizle değiştirmeniz gerekir.


2

Bu, paketi yeniden yüklemeden sorununuzu çözmelidir.

sudo dpkg --force-remove-reinstreq --remove <package_name here>

Bunu takiben: sudo apt-get update


Neden --force-remove-reinstreq? Paket yöneticisi bir yeniden kurulumun gerekli olduğunu belirtmiyor. Genellikle, düzenli bir kaldırma yapılandırılmamış paketler için gayet iyi çalışır. -1
David Foerster

sudo apt-get remove <packageSeçeneğim bittiğinde yaptığım sadece bu ve yarı yüklü paketi tekrar yüklemek istemiyorum. Sonra, --force-remove-reinstreqbu çöpleri gidermek için kullanıyorum .. PS: Linux Nane'de .. Bundan şüpheliyim. Linux Ubuntu’ya dayandığından farklı olabilir ..
CodeGeass

1
Paket yöneticisi tüm Debian tabanlı dağıtımlarda aynı şekilde çalışır (sonuçta bunun dpkganlamı budur ), ancak --force-*“tam olarak” kullanmamalısınız. Hata mesajları bir nedenden dolayı var ve deneyimsiz kullanıcılar tarafından hafifçe alınmamalı, bu yüzden --force-*onlara gereksiz seçenekler önermemelisiniz . Aksi taktirde --force-all, --force-*seçenekleri daima kullanmanızı veya daha iyisi, seçenekleri dpkgtamamen kaldırmanızı ve varsayılan davranış olmalarını önerebiliriz , çünkü bu daha kolay ve rahat olacaktır.
David Foerster

Tamam, Kabul et ... Ben daha .. .. Özür dilemek, daha işi alma yapılıyor neyi nasıl tam olarak bilmeden endişe ediliyordu
CodeGeass

Hm… Sadece kabul edilen cevabın da aynısını önerdiğini görüyorum. Bu yüzden --force-remove-reinstreqgereksiz olma konusunda yanılmış olabilirim . Ancak bu aynı zamanda cevabınızın (neredeyse) bunun bir kopyası olduğu anlamına gelir. Bir dahaki sefere iyi şanslar.
David Foerster
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.