web-dev-qa-db-ja.com

インストール/更新時のinitramfsエラー

aptコマンドを1週間ほど更新または実行するときにエラーが発生しました。 LTS 18.04にアップグレードしても問題は解決せず、古いカーネルもすべて削除されていません。スペースも問題ではありません。

initramfsを再インストールしようとしても機能しません。私が得るエラーは:

   Reading package lists...
Building dependency tree...
Reading state information...
0 to upgrade, 0 to newly install, 0 to remove and 0 not to upgrade.
2 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up linux-image-4.15.0-47-generic (4.15.0-47.50) ...
Setting up initramfs-tools (0.130ubuntu3.7) ...
update-initramfs: deferring update (trigger activated)
Processing triggers for linux-image-4.15.0-47-generic (4.15.0-47.50) ...
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-4.15.0-47-generic
E: /usr/share/initramfs-tools/hooks/fsck failed with return 1.
update-initramfs: failed for /boot/initrd.img-4.15.0-47-generic with 1.
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
dpkg: error processing package linux-image-4.15.0-47-generic (--configure):
 installed linux-image-4.15.0-47-generic package post-installation script subprocess returned error exit status 1
Processing triggers for initramfs-tools (0.130ubuntu3.7) ...
update-initramfs: Generating /boot/initrd.img-4.15.0-47-generic
E: /usr/share/initramfs-tools/hooks/fsck failed with return 1.
update-initramfs: failed for /boot/initrd.img-4.15.0-47-generic with 1.
dpkg: error processing package initramfs-tools (--configure):
 installed initramfs-tools package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 linux-image-4.15.0-47-generic
 initramfs-tools

私に何ができるかについて誰かが何かアイデアを持っていますか?

ありがとう。

5
adieb

自動削除とクリーンの実行は私の状況でうまくいきました。

apt-get auto-remove && apt-get clean && apt-get update && apt-get upgrade

2
tacotuesday

同様の質問 はこの解決策を持っています:

Sudo apt-get autoclean
Sudo apt-get clean
Sudo apt-get update 
Sudo apt-get upgrade
Sudo apt-get dist-upgrade
Sudo apt-get -f install
Sudo dpkg --configure -a

さらに、このコマンドを確認します。

ll /usr/share/initramfs-tools/hooks/fsck

この出力を返します:

-rwxr-xr-x 1 root root 2468 Sep 18  2018 /usr/share/initramfs-tools/hooks/fsck*
1

未使用のカーネルを削除してみてください。問題が解決しない場合は、「initrd」イメージをすべて削除してください。

Sudo rm /boot/initrd.img*

次に、現在のすべてのカーネルに対して新しい「initrd」イメージを生成します

Sudo update-initramfs -c -k all
0
droptop

私にとって、それはinitramfs-toolsパッケージの問題でした

今やりました:

# apt remove initramfs-tools

# apt clean

# apt install initramfs-tools

その後、私はもはやエラーを受け取らなかった

0
AveryFreeman

私がlinux-image-4.15.0-48-genericを除いて、apt updateapt upgradeを実行した後、2つの異なるマシンでこの問題が発生しました。 (Ubuntu 18.04.2)

私の修正はこれです(両方のマシンで再現):

Sudo rm /var/lib/dpkg/info/linux-image-4.15.0-48-generic.postinst
Sudo dpkg --configure -a
Sudo apt-get update

次に、パッケージを再インストールします。

Sudo apt install linux-image-4.15.0-48-generic

これにより、パッケージが手動でインストールされるように設定され、*。postinstファイルが置き換えられます。

0
Ben Molloy

_Sudo apt autoremove_を実行したときに非常によく似た問題が発生しましたが、持っていないカーネルのカーネルファイルをインストールしようとして失敗しました。私の_uname -a_は、カーネルバージョン5.0.0-20を使用していることを示し、_ls -al /boot_を実行すると、これだけが表示され、5.0.0-17カーネルがインストールされます。しかし、aptが突然エラーを表示し、5.0.0-15、4.18.0-17、4.13.0-45を含む古いカーネルの_/boot_にファイルをインストールしようとしました。変です。

ですから、dkms(またはinitramfsに関連するもの)のロジックが何らかの形で変更され、カーネルがインストールされている可能性があるかどうかを確認し、それらのカーネルを更新して欠落しているファイルを置き換えます。

何がそれを修正したのか正確にはわかりませんが、私はしました:

_Sudo apt purge *5.0.0-15* *4.18.0-17* *4.13.0-45* 
#check carefully that it's not removing anything you need though, this is a hammer to crack a nut

ls -al /lib/modules 
# which revealed lots of old module folders that I removed with ...
Sudo rm -rf /lib/modules/4.* 
# and similarly for the 5.0.0-15 modules
_

それから私はしました:

_ls -al /usr/src/ 
# which again showed old source trees that I pruned with
Sudo rm -rf Sudo rm -rf /usr/src/linux-headers-4.*
_

それから私はしました:

_locate -e 4.13.0 
# which found old kernel files in
ls -al /var/lib/initramfs-tools/ 
# so I removed with
Sudo rm -rf /var/lib/initramfs-tools/4*
_

私は歴史的な理由で非常にタイトな_/boot_フォルダーに問題があるため、次のようにして古いカーネルファイルを削除しました:

_Sudo rm -i /boot/**4* 
# and similar for all but my current and next oldest kernels
# -i is interactive mode so you have to answer 'y' to remove
# that's a really useful safety check, 'Sudo rm' is a dangerous tool!
_

最後に私は走った:

_Sudo apt -f install
_

これは期待通りに終了し、無関係なカーネルをインストールしようとせずにシステムを期待された状態に戻しました。途中でテストしなかったので、どの部分がそれを修正したかを保証することはできませんが、AFAICTからこれらの古いファイルを消去しても害はありませんでした。

さて、私の_/var/log/apt/history.log_ファイルを確認すると、これはこの特定のエラーの始まりのようです:

_Start-Date: 2019-07-01  17:59:10
Commandline: /usr/bin/unattended-upgrade
Upgrade: linux-tools-common:AMD64 (4.15.0-52.56, 4.15.0-54.58)
End-Date: 2019-07-01  17:59:16

Start-Date: 2019-07-01  17:59:22
Commandline: /usr/bin/unattended-upgrade
Install: linux-image-5.0.0-20-generic:AMD64 (5.0.0-20.21~18.04.1, automatic), linux-modules-extra-5.0.0-20-generic:AMD64 (5.0.0-20.21~18.04.1, automatic), linux-modules-5.0.0-20-generic:AMD64 (5.0.0-20.21~18.04.1, automatic)
Upgrade: linux-image-generic-hwe-18.04-Edge:AMD64 (5.0.0.17.73, 5.0.0.20.76), linux-image-extra-virtual-hwe-18.04-Edge:AMD64 (5.0.0.17.73, 5.0.0.20.76)
Error: Sub-process /usr/bin/dpkg returned an error code (1)
End-Date: 2019-07-01  18:00:10
_

しかし、私にとっては/ bootスペースの制限がerror code (1)の原因である可能性があるため、これは誤ったフラグである可能性があります。

0
pbhj