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
私に何ができるかについて誰かが何かアイデアを持っていますか?
ありがとう。
自動削除とクリーンの実行は私の状況でうまくいきました。
apt-get auto-remove && apt-get clean && apt-get update && apt-get upgrade
同様の質問 はこの解決策を持っています:
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*
未使用のカーネルを削除してみてください。問題が解決しない場合は、「initrd」イメージをすべて削除してください。
Sudo rm /boot/initrd.img*
次に、現在のすべてのカーネルに対して新しい「initrd」イメージを生成します
Sudo update-initramfs -c -k all
私にとって、それはinitramfs-toolsパッケージの問題でした
今やりました:
# apt remove initramfs-tools
# apt clean
# apt install initramfs-tools
その後、私はもはやエラーを受け取らなかった
私がlinux-image-4.15.0-48-genericを除いて、apt update
とapt 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ファイルが置き換えられます。
_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)
の原因である可能性があるため、これは誤ったフラグである可能性があります。