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.