web-dev-qa-db-ja.com

dpkg:依存関係の問題により、initramfs-toolsの構成が妨げられる

通常どおり、次のコマンドを使用してKubuntu 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 output:

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
10
MountainX

あなたのシステムは、私が起こらないはずの状態にあります。依存関係の新しいバージョンinitramfs-tools-binがインストールされた状態にありますが、依存関係の古いバージョンinitramfs-toolsは、半分インストールされた状態にあります。 APTが原因でシステムが回復できない状態になり、dpkgがシステムが回復できない状態になることが問題かどうかはわかりません、パッケージのメンテナがサポートされていない依存関係の組み合わせを使用していたか、私の理解が限られていてこのケースはカバーされていません。

dpkgを直接使用してみてください:

dpkg --configure -a

これでも依存関係について問題がある場合は、

dpkg --configure -a --force-depends

これが機能する場合、dpkgデータベースは一貫した状態にあります。 APTを良好な状態で取得する必要があります(壊れた依存関係は必要ありません):

apt-get -f install

この後、通常のアップグレードを再開できます。


/bootの消去により、パッケージに含まれていた古いカーネルが削除された場合は、カーネルパッケージを削除できなくなります。ファイルを再作成する必要があります。 touch `cat /var/lib/dpkg/info/linux-image-1.2.3-foo`パッケージを削除し、そのファイルの一部を手動で削除した場合は、空のファイル(linux-image-1.2.3-foo)を作成できます。

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に指示しているはずです。

2
Braiam