dpkg: các vấn đề phụ thuộc ngăn cấu hình của initramfs-tools


10

Tôi đã bắt đầu nâng cấp hệ thống Kubfox 12.04 của mình bằng lệnh này, như thường lệ:

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

Tôi đã trở lại sau đó và nó đã thất bại:

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)

đây là vấn đề: $ df -h đầu ra:

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

thủ công xóa các tập tin cũ hơn và bây giờ một số không gian là miễn phí

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

Tôi chạy cái này tiếp theo:

sudo apt-get autoremove

Kế tiếp:

sudo apt-get -f install đầu ra:

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
ở trên không thành công

dpkg -l initramfs-tools đầu ra:

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 đầu ra:

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)

Đây là đầu ra của 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

Như đề xuất dưới đây, đây là các bước tiếp theo của tôi:

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

Tiếp theo tôi đã thử đề xuất của Giles:

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

Tôi hơi bối rối. Vui lòng gửi kết quả đầu ra củaapt-cache policy initramfs-tools-bin initramfs-tools
Gilles 'SO- ngừng trở nên xấu xa'

@Gilles - cảm ơn vì đã xem nó Tôi đã cập nhật câu hỏi với thông tin này.
MountainX

Hãy thử chỉ định thủ công phiên bản:apt-get install initramfs-tools=0.99ubuntu13.4
jordanm

Hmmm, điều này trông giống như một lỗi trong cả phụ thuộc của initramfs-toolsgói hoặc trong cách dpkg quản lý chúng. Tôi nghĩ rằng hệ thống của bạn không cần phải ở trong trạng thái này, nơi cái mới initramfs-tools-binđược đánh dấu là đã cài đặt nhưng cái cũ initramfs-toolsvẫn còn đó. Có dpkg --configure -a --force-dependsgiúp được không?
Gilles 'SO- ngừng trở nên xấu xa'

Đầu ra của sudo apt-get checkvà là dpkg --auditgì?
Braiam

Câu trả lời:


26

Hệ thống của bạn ở trạng thái mà tôi nghĩ không nên xảy ra: bạn có phiên bản mới của phụ thuộc initramfs-tools-binở trạng thái được cài đặt, nhưng phiên bản cũ của phụ thuộc initramfs-toolsở trạng thái nửa cài đặt. Tôi không chắc vấn đề là APT có để hệ thống rơi vào trạng thái không thể phục hồi hay không, dpkg sẽ để hệ thống chuyển sang trạng thái không thể phục hồi, nhà bảo trì gói đã sử dụng kết hợp các phụ thuộc không được hỗ trợ hoặc hiểu biết hạn chế của tôi không bao gồm trường hợp này.

Hãy thử sử dụng dpkgtrực tiếp:

dpkg --configure -a

Nếu điều này vẫn phàn nàn về sự phụ thuộc, hãy thử

dpkg --configure -a --force-depends

Nếu điều này hoạt động, bạn có cơ sở dữ liệu dpkg ở trạng thái nhất quán. Bạn cần có được APT ở trạng thái tốt (không yêu cầu phụ thuộc bị hỏng):

apt-get -f install

Sau này, bạn có thể tiếp tục nâng cấp bình thường.


Nếu việc thanh lọc của bạn /bootlà xóa các hạt nhân cũ trong các gói, bạn sẽ không thể xóa các gói kernel nữa. Bạn sẽ phải tạo lại các tập tin. Bạn có thể tạo các tệp trống ( touch `cat /var/lib/dpkg/info/linux-image-1.2.3-foo`) nếu bạn xóa linux-image-1.2.3-foogói và bạn đã xóa thủ công một số tệp.


1
Cảm ơn rất nhiều !!! dpkg với --force-lệ tạo ra sự khác biệt và sau đó sửa gói bị hỏng đã thực hiện thủ thuật
omuthu

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

gzip: stdout: No space left on device

Điều này có nghĩa là bạn cần loại bỏ một số hạt nhân. Hạt nhân cũ, không sử dụng là sự thay thế tốt nhất.

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

thủ công xóa các tập tin cũ hơn và bây giờ một số không gian là miễn phí

KHÔNG!

Bạn không bao giờ nên tự xóa bất cứ thứ gì. Không bao giờ. Chỉ những thứ từ /home/tmpcó thể dễ dàng phục hồi tôi có thể chạm vào bằng tay, nếu không thì sử dụng các công cụ. Đó là điểm có DPKG / APT cho dịch vụ của bạn. Nếu bạn cần loại bỏ một cái gì đó, hãy sử dụng apt / dpkg thay vào đó và để lại những thứ được thực hiện bằng tay như là sự thay thế cuối cùng. Tôi đoán vấn đề hiện tại của bạn là vì điều này.


Để giải quyết vấn đề phụ thuộc, bạn có thể hạ cấp, sau đó nâng cấp:

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

Đến lúc này bạn cũng nên nói với dpkg / apt để loại bỏ các hạt nhân cũ.


Tôi đã thử đề nghị của bạn. Nó cũng thất bại. Tôi cập nhật câu hỏi của tôi với đầu ra.
MountainX
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.