dpkg: bağımlılık sorunları initramfs araçlarının yapılandırılmasını engeller


10

Kubuntu 12.04 sistemimi her zamanki gibi bu komutla yükseltmeye başladım:

sudo apt-get --show-upgraded dist-upgrade

Daha sonra geri geldim ve başarısız oldu:

Preconfiguring packages ...
(Reading database ... 478306 files and directories currently installed.)
Preparing to replace  ...
Unpacking replacement base-files ...
Processing triggers for man-db ...
Processing triggers for install-info ...
...
Processing triggers for initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-3.8.0-32-lowlatency

gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-3.8.0-32-lowlatency with 1.
dpkg: error processing initramfs-tools (--unpack):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 initramfs-tools
E: Sub-process /usr/bin/dpkg returned an error code (1)

sorun şu: $ df -h çıktı:

Filesystem                    Size  Used Avail Use% Mounted on
/dev/sda1                     894M  879M     0 100% /boot

eski dosyaları el ile sildi ve şimdi biraz alan boş

Filesystem                    Size  Used Avail Use% Mounted on
/dev/sda1                     894M  129M  717M  16% /boot

Bunu bir sonraki koştum:

sudo apt-get autoremove

Sonraki:

sudo apt-get -f install çıktı:

The following extra packages will be installed:
  initramfs-tools
The following packages will be upgraded:
  initramfs-tools

dpkg: dependency problems prevent configuration of initramfs-tools:
 initramfs-tools depends on initramfs-tools-bin (<< 0.99ubuntu13.3.1~); however:
  Version of initramfs-tools-bin on system is 0.99ubuntu13.4.
dpkg: error processing initramfs-tools (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
                         Errors were encountered while processing:
 initramfs-tools
E: Sub-process /usr/bin/dpkg returned an error code (1)

sudo apt-get install initramfs-tools
yukarıdaki başarısız

dpkg -l initramfs-tools çıktı:

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version        Description
+++-==============-==============-============================================
iF  initramfs-tool 0.99ubuntu13.3 tools for generating an initramfs

sudo apt-get install --reinstall initramfs-tools çıktı:

The following packages will be upgraded:
  initramfs-tools
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
Need to get 0 B/49.2 kB of archives.
After this operation, 0 B of additional disk space will be used.
dpkg: dependency problems prevent configuration of initramfs-tools:
 initramfs-tools depends on initramfs-tools-bin (<< 0.99ubuntu13.3.1~); however:
  Version of initramfs-tools-bin on system is 0.99ubuntu13.4.
dpkg: error processing initramfs-tools (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
                         Errors were encountered while processing:
 initramfs-tools
E: Sub-process /usr/bin/dpkg returned an error code (1)

İşte çıktı apt-cache policy initramfs-tools-bin initramfs-tools:

initramfs-tools-bin:
  Installed: 0.99ubuntu13.4
  Candidate: 0.99ubuntu13.4
  Version table:
 *** 0.99ubuntu13.4 0
        500 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
        100 /var/lib/dpkg/status
     0.99ubuntu13 0
        500 http://us.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
initramfs-tools:
  Installed: 0.99ubuntu13.3
  Candidate: 0.99ubuntu13.4
  Version table:
     0.99ubuntu13.4 0
        500 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
 *** 0.99ubuntu13.3 0
        100 /var/lib/dpkg/status
     0.99ubuntu13 0
        500 http://us.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages

Aşağıda önerildiği gibi, bir sonraki adımım:

$ sudo apt-get update
$ sudo apt-get -f install initramfs-tools=0.99ubuntu13 initramfs-tools-bin=0.99ubuntu13

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  ...
Use 'apt-get autoremove' to remove them.
The following packages will be DOWNGRADED:
  initramfs-tools initramfs-tools-bin
0 upgraded, 0 newly installed, 2 downgraded, 0 to remove and 4 not upgraded.
1 not fully installed or removed.
Need to get 59.2 kB of archives.
After this operation, 2,048 B disk space will be freed.
Do you want to continue [Y/n]? 
Get:1 http://us.archive.ubuntu.com/ubuntu/ precise/main initramfs-tools all 0.99ubuntu13 [49.2 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu/ precise/main initramfs-tools-bin amd64 0.99ubuntu13 [9,988 B]
Fetched 59.2 kB in 0s (124 kB/s)            
dpkg: warning: downgrading initramfs-tools-bin from 0.99ubuntu13.4 to 0.99ubuntu13.
(Reading database ... 478624 files and directories currently installed.)
Preparing to replace initramfs-tools-bin 0.99ubuntu13.4 (using .../initramfs-tools-bin_0.99ubuntu13_amd64.deb) ...
Unpacking replacement initramfs-tools-bin ...
Setting up initramfs-tools-bin (0.99ubuntu13) ...
dpkg: dependency problems prevent configuration of initramfs-tools:
 initramfs-tools depends on initramfs-tools-bin (>= 0.99ubuntu13.3); however:
  Version of initramfs-tools-bin on system is 0.99ubuntu13.
dpkg: error processing initramfs-tools (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
                         Errors were encountered while processing:
 initramfs-tools
E: Sub-process /usr/bin/dpkg returned an error code (1)

Sonra Giles'in önerisini denedim:

sudo dpkg --configure -a --force-depends
sudo apt-get install -f
sudo apt-get dist-upgrade

Biraz kafam karıştı. Lütfen çıkışını gönderinapt-cache policy initramfs-tools-bin initramfs-tools
Gilles 'SO- kötü olmayı bırak'

@Gilles - baktığınız için teşekkürler. Soruyu bu bilgilerle güncelledim.
MountainX

Sürümü manuel olarak belirtmeyi deneyin:apt-get install initramfs-tools=0.99ubuntu13.4
jordanm

Hmmm, bu initramfs-toolspaketin bağımlılıklarında veya dpkg'ın bunları yönetme biçiminde bir hata gibi görünüyor . Bence sisteminiz yeni initramfs-tools-binolarak kurulmuş olarak işaretlenmiş ancak eski initramfs-toolshala oradadır bu durumda almak gerekiyor . Yardımcı dpkg --configure -a --force-dependsolur mu?
Gilles 'SO- kötü olmayı bırak

Çıktısı nedir sudo apt-get checkve dpkg --audit?
14:41

Yanıtlar:


26

Sisteminiz olması gerektiğini düşündüğüm bir durumda: initramfs-tools-binYüklü durumda bağımlılığın yeni sürümüne sahipsiniz , ancak initramfs-toolsyarı yüklü durumda bağımlılığın eski sürümüne sahipsiniz . Sorunun APT'nin sistemin kurtulamayacağı bir duruma girmesine izin verip vermediğinden emin değilim, dpkg sistemin kurtaramayacağı bir duruma girmesine izin veriyor, paket koruyucusu bağımlılıkların bir kombinasyonunu kullandı desteklenmiyor ya da sınırlı anlayışım bu durumu kapsamıyor.

dpkgDoğrudan kullanmayı deneyin :

dpkg --configure -a

Bu hala bağımlılıklardan şikayet ediyorsa, deneyin

dpkg --configure -a --force-depends

Bu işe yararsa, tutarlı bir durumda dpkg veritabanına sahip olursunuz. APT'yi iyi durumda almanız gerekir (bu, bağımlı bir bağımlılık gerektirmez):

apt-get -f install

Bundan sonra normal yükseltmeye devam edebilirsiniz.


Sizin tasfiye halinde /bootpaketler içinde bulunan eski tanelerini silme edildi, artık çekirdek paketlerini kaldırmak mümkün olmayacaktır. Dosyaları yeniden oluşturmanız gerekecek. Paketi touch `cat /var/lib/dpkg/info/linux-image-1.2.3-foo`kaldırıyorsanız linux-image-1.2.3-foove dosyalarından bazılarını manuel olarak kaldırdıysanız boş dosyalar ( ) oluşturabilirsiniz .


1
Bir ton teşekkürler !!! --force-depends ile dpkg fark yaratır ve sonra kırık paketi düzeltmek hile yaptı
omuthu

2
update-initramfs: Generating /boot/initrd.img-3.8.0-32-lowlatency

gzip: stdout: No space left on device

Bu, bazı çekirdekleri kaldırmanız gerektiği anlamına gelir. Eski, kullanılmayan çekirdekler en iyi alternatiftir.

sudo dpkg --purge linux-generic-someold-version

eski dosyaları el ile sildi ve şimdi biraz alan boş

HAYIR!

Hiçbir şeyi el ile asla çıkarmamalısınız. Hiç. Sadece elle yapılan /homeve /tmpkolayca kurtarılabilecek şeylere elle dokunabilirim, aksi takdirde araçları kullanın. DPKG / APT'nin hizmetinize sunulması gereken nokta budur. Bir şeyi kaldırmanız gerekiyorsa bunun yerine apt / dpkg kullanın ve son alternatif olarak işleri elle bırakın. Sanırım şu anki sorunun bu yüzden.


Bağımlılık sorununu çözmek için eski sürüme geçip ardından yeni sürüme geçirebilirsiniz:

sudo apt-get update
sudo apt-get -f install initramfs-tools=0.99ubuntu13 initramfs-tools-bin=0.99ubuntu13
sudo apt-get upgrade

Bu noktada dpkg / apt adlı dosyayı eski çekirdekleri de kaldırmanız gerektiğini söylemeliydiniz.


Önerinizi denedim. Ayrıca başarısız olur. Sorumu çıktı ile güncelledim.
MountainX
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.