dpkg: निर्भरता समस्याएं initramfs-tools के विन्यास को रोकती हैं


10

मैंने हमेशा की तरह इस आदेश के साथ अपने कुबंटू 12.04 सिस्टम का अपग्रेड शुरू किया:

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

मैं बाद में वापस आया और यह विफल रहा:

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)

यहाँ समस्या है: $ df -h आउटपुट:

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

पुरानी फ़ाइलों को मैन्युअल रूप से हटा दिया गया है और अब कुछ स्थान खाली है

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

मैंने इसे आगे चलाया:

sudo apt-get autoremove

आगे:

sudo apt-get -f install उत्पादन:

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
उपरोक्त विफल रहता है

dpkg -l initramfs-tools उत्पादन:

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 उत्पादन:

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)

यहाँ का उत्पादन है 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

जैसा कि नीचे सुझाया गया है, यहाँ मेरे अगले चरण हैं:

$ 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)

आगे मैंने जाइल्स के सुझाव को आजमाया:

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

मैं थोड़ा उलझन में हूँ। कृपया पोस्ट करेंapt-cache policy initramfs-tools-bin initramfs-tools
गिल्स एसओ- बुराई को रोकें '

@ गिल्स - इसे देखने के लिए धन्यवाद। मैंने इस जानकारी के साथ प्रश्न को अद्यतन किया।
MountainX

संस्करण को मैन्युअल रूप से निर्दिष्ट करने का प्रयास करें:apt-get install initramfs-tools=0.99ubuntu13.4
jordanm

हम्म, यह या तो initramfs-toolsपैकेज की निर्भरता या कैसे dpkg उन्हें प्रबंधित करता है में एक बग की तरह दिखता है। मुझे लगता है कि आपके सिस्टम को इस स्थिति में नहीं जाना चाहिए, जहां नए initramfs-tools-binको स्थापित के रूप में चिह्नित किया गया है, लेकिन पुराना initramfs-toolsअभी भी है। dpkg --configure -a --force-dependsमदद करता है?
गिल्स एसओ- बुराई को रोकना '

के उत्पादन में क्या है sudo apt-get checkऔर dpkg --audit?
ब्रिअम

जवाबों:


26

आपका सिस्टम एक ऐसी स्थिति में है जो मुझे लगता है कि ऐसा नहीं होना चाहिए: आपके पास initramfs-tools-binस्थापित राज्य में निर्भरता का नया संस्करण है , लेकिन initramfs-toolsआधे-स्थापित राज्य में निर्भरता का पुराना संस्करण । मुझे यकीन नहीं है कि समस्या यह है कि APT सिस्टम को ऐसी स्थिति में लाने दे रहा है जहां यह ठीक नहीं हो सकता है, dpkg सिस्टम को ऐसी स्थिति में लाने दे रहा है जहां यह पुनर्प्राप्त नहीं हो सकता है, पैकेज अनुरक्षक ने निर्भरता के संयोजन का उपयोग किया है जो समर्थित नहीं है, या मेरी सीमित समझ इस मामले को कवर नहीं करती है।

dpkgसीधे प्रयोग करके देखें :

dpkg --configure -a

यदि यह अभी भी निर्भरता के बारे में शिकायत करता है, तो प्रयास करें

dpkg --configure -a --force-depends

यदि यह काम करता है, तो आपके पास एक सुसंगत स्थिति में dpkg डेटाबेस है। आपको एक अच्छे राज्य में एपीटी प्राप्त करने की आवश्यकता है (जिसके लिए किसी टूटे हुए निर्भरता की आवश्यकता नहीं है):

apt-get -f install

इसके बाद आप सामान्य उन्नयन को फिर से शुरू कर सकते हैं।


यदि आपका पर्स /bootपुराने कर्नेल को हटा रहा था जो पैकेज में थे, तो आप अब कर्नेल पैकेज नहीं निकाल पाएंगे। आपको फ़ाइलों को फिर से बनाना होगा। touch `cat /var/lib/dpkg/info/linux-image-1.2.3-foo`यदि आप linux-image-1.2.3-fooपैकेज निकाल रहे हैं तो आप खाली फाइलें ( ) बना सकते हैं और आपने स्वयं इसकी कुछ फाइलें हटा दी हैं।


1
अनेक अनेक धन्यवाद !!! dpkg के साथ --force-
depend

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

gzip: stdout: No space left on device

इसका मतलब है कि आपको कुछ गुठली निकालने की जरूरत है। पुरानी, ​​अप्रयुक्त गुठली सबसे अच्छा विकल्प है।

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

पुरानी फ़ाइलों को मैन्युअल रूप से हटा दिया गया है और अब कुछ स्थान खाली है

नहीं!

आपको कभी भी कुछ भी मैन्युअल रूप से नहीं निकालना चाहिए। कभी। केवल सामान से /homeऔर /tmpजो आसानी से ठीक हो सकता है वह मुझे हाथ से छू सकता है, अन्यथा उपकरण का उपयोग करें। आपकी सेवा में DPKG / APT होने की बात है। यदि आपको इसके बजाय apt / dpkg का उपयोग करने के लिए कुछ निकालने की आवश्यकता है और अंतिम विकल्प के रूप में हाथ से किया गया सामान छोड़ दें। मैं आपकी वर्तमान समस्या को इस वजह से मान रहा हूँ।


निर्भरता समस्या को हल करने के लिए, आप डाउनग्रेड कर सकते हैं, फिर अपग्रेड करें:

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

इस बिंदु तक आपको पुरानी गुठली निकालने के लिए dpkg / apt को भी बताना चाहिए था।


मैंने आपके सुझाव की कोशिश की। यह भी विफल हो जाता है। मैंने आउटपुट के साथ अपना प्रश्न अपडेट किया।
MountainX
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.