web-dev-qa-db-ja.com

更新により、/ bootが古い誤ったバージョンでいっぱいになります

Linuxを、たとえば4.4.0.65から4.4.0.66に更新するたびに:

  1. ソフトウェアアップデートツールは、最新バージョンを試す前に、initrd.img-4.4.0.XX-genericの約40個の以前のバージョンをダウンロードします
  2. /bootいっぱい
  3. ブートがスペース不足のため、現在のバージョンはロードされません
  4. システムは存在しないバージョンに設定されている場合があり、起動時に起動しようとします

バージョン29以降、私はこれを長い間扱ってきました。

私が見つけた唯一の回避策は、更新ごとに1時間かかります。更新中にコマンドラインを開き、ダウンロードされたバージョンを削除します。最終的に、更新ツールは、以前のバージョンをすべてダウンロードし、最新バージョンをダウンロードし、システムを構成したことを確認します。

dpkg -l | grep linux-imageからの出力は次のとおりです

rc  linux-image-3.19.0-15-generic                        3.19.0-15.15                                  AMD64        Linux kernel image for version 3.19.0 on 64 bit x86 SMP
rc  linux-image-4.2.0-34-generic                         4.2.0-34.39                                   AMD64        Linux kernel image for version 4.2.0 on 64 bit x86 SMP
ii  linux-image-4.2.0-35-generic                         4.2.0-35.40                                   AMD64        Linux kernel image for version 4.2.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-21-generic                         4.4.0-21.37                                   AMD64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-22-generic                         4.4.0-22.40                                   AMD64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-28-generic                         4.4.0-28.47                                   AMD64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-31-generic                         4.4.0-31.50                                   AMD64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-34-generic                         4.4.0-34.53                                   AMD64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-36-generic                         4.4.0-36.55                                   AMD64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-38-generic                         4.4.0-38.57                                   AMD64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-42-generic                         4.4.0-42.62                                   AMD64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-43-generic                         4.4.0-43.63                                   AMD64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-45-generic                         4.4.0-45.66                                   AMD64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-47-generic                         4.4.0-47.68                                   AMD64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-51-generic                         4.4.0-51.72                                   AMD64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-53-generic                         4.4.0-53.74                                   AMD64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
iF  linux-image-4.4.0-57-generic                         4.4.0-57.78                                   AMD64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-59-generic                         4.4.0-59.80                                   AMD64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-62-generic                         4.4.0-62.83                                   AMD64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-63-generic                         4.4.0-63.84                                   AMD64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-64-generic                         4.4.0-64.85                                   AMD64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-4.4.0-65-generic                         4.4.0-65.86                                   AMD64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
iF  linux-image-4.4.0-66-generic                         4.4.0-66.87                                   AMD64        Linux kernel image for version 4.4.0 on 64 bit x86 SMP
rc  linux-image-extra-3.19.0-15-generic                  3.19.0-15.15                                  AMD64        Linux kernel extra modules for version 3.19.0 on 64 bit x86 SMP
rc  linux-image-extra-4.2.0-34-generic                   4.2.0-34.39                                   AMD64        Linux kernel extra modules for version 4.2.0 on 64 bit x86 SMP
ii  linux-image-extra-4.2.0-35-generic                   4.2.0-35.40                                   AMD64        Linux kernel extra modules for version 4.2.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-21-generic                   4.4.0-21.37                                   AMD64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-22-generic                   4.4.0-22.40                                   AMD64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-28-generic                   4.4.0-28.47                                   AMD64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-31-generic                   4.4.0-31.50                                   AMD64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-34-generic                   4.4.0-34.53                                   AMD64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-36-generic                   4.4.0-36.55                                   AMD64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-38-generic                   4.4.0-38.57                                   AMD64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-42-generic                   4.4.0-42.62                                   AMD64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-43-generic                   4.4.0-43.63                                   AMD64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-45-generic                   4.4.0-45.66                                   AMD64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-47-generic                   4.4.0-47.68                                   AMD64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-51-generic                   4.4.0-51.72                                   AMD64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-53-generic                   4.4.0-53.74                                   AMD64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
iU  linux-image-extra-4.4.0-57-generic                   4.4.0-57.78                                   AMD64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-59-generic                   4.4.0-59.80                                   AMD64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-62-generic                   4.4.0-62.83                                   AMD64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-63-generic                   4.4.0-63.84                                   AMD64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii  linux-image-extra-4.4.0-64-generic                   4.4.0-64.85                                   AMD64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
iF  linux-image-extra-4.4.0-65-generic                   4.4.0-65.86                                   AMD64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
iU  linux-image-extra-4.4.0-66-generic                   4.4.0-66.87                                   AMD64        Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
iU  linux-image-generic                                  4.4.0.66.70                                   AMD64        Generic Linux kernel image

「Sudo apt-get autoremove」のエラーを以下に示します

Setting up linux-firmware (1.157.8) ...
update-initramfs: Generating /boot/initrd.img-4.4.0-65-generic
update-initramfs: Generating /boot/initrd.img-4.4.0-42-generic
Setting up linux-image-4.4.0-66-generic (4.4.0-66.87) ...
Internal Error: Could not find image (/boot/vmlinuz-4.4.0-66-generic)
dpkg: error processing package linux-image-4.4.0-66-generic (--configure):
 subprocess installed post-installation script returned error exit status 2
dpkg: dependency problems prevent configuration of linux-image-extra-4.4.0-66-generic:
 linux-image-extra-4.4.0-66-generic depends on linux-image-4.4.0-66-generic; however:
  Package linux-image-4.4.0-66-generic is not configured yet.

dpkg: error processing package linux-image-extra-4.4.0-66-generic (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of linux-image-generic:
 linux-image-generic depends on linux-image-4.4.0-66-generic; however:
  Package linux-image-4.4.0-66-generic is not configured yet.
 linux-image-generic depends on linux-image-extra-4.4.0-66-generic; however:
  Package linux-image-extra-4.4.0-66-generic is not configured yet.

dpkg: error processing package linux-image-generic (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of linux-generic:
 linux-generic depends on linux-image-generic (= 4.4.0.66.70); however:
  Package linux-image-generic is not configured No apport report written because the error message indicates its a followup error from a previous failure.  
No apport report written because the error message indicates its a followup error from a previous failure.                                                                                                                  No apport report written because MaxReports is reached already yet.

dpkg: error processing package linux-generic (--configure):
 dependency problems - leaving unconfigured
Setting up linux-image-extra-4.4.0-65-generic (4.4.0-65.86) ...
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.4.0-65-generic /boot/vmlinuz-4.4.0-65-generic
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.4.0-65-generic /boot/vmlinuz-4.4.0-65-generic
update-initramfs: Generating /boot/initrd.img-4.4.0-65-generic
run-parts: executing /etc/kernel/postinst.d/pm-utils 4.4.0-65-generic /boot/vmlinuz-4.4.0-65-generic
run-parts: executing /etc/kernel/postinst.d/unattended-upgrades 4.4.0-65-generic /boot/vmlinuz-4.4.0-65-generic
run-parts: executing /etc/kernel/postinst.d/update-notifier 4.4.0-65-generic /boot/vmlinuz-4.4.0-65-generic
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 4.4.0-65-generic /boot/vmlinuz-4.4.0-65-generic
Generating grub configuration file ...
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
Found linux image: /boot/vmlinuz-4.4.0-65-generic
Found initrd image: /boot/initrd.img-4.4.0-65-generic
Found memtest86+ image: /memtest86+.elf
Found memtest86+ image: /memtest86+.bin
done
Errors were encountered while processing:
 linux-image-4.4.0-66-generic
 linux-image-extra-4.4.0-66-generic
 linux-image-generic
 linux-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)
5
user2692216

私の問題は、「Sudo rm」を使用してブートからファイルを誤って削除したことが原因でした。

最初の問題は、古いパッケージが自動的にロードされ、/ bootがいっぱいになることでした。古いパッケージを自動的に削除するには、「Sudo apt-get autoremove」を使用できました。

ただし、まだアップグレードできず、次のエラーが発生しました。

処理中にエラーが発生しました:linux-image-4.4.0-66-generic linux-image-extra-4.4.0-66-generic linux-image-generic linux-generic E:サブプロセス/ usr/bin/dpkgが返されましたエラーコード(1)

私はここで同様の問題を読みました: カーネルパッケージの問題のためにアップグレードをaptできません .

「wajig remove linux-headers-4.4.0-66.generic」および「Sudo apt-get upgrade」を試みましたが、まだ返されました:処理中にエラーが発生しました:linux-image-4.4.0-66-generic linux-image -extra-4.4.0-66-generic linux-image-generic

そこで、/ var/lib/dpkg/statusのバックアップコピーを作成し、geditで/ var/lib/dpkg/statusを開きました。

/ var/lib/dpkg/statusで「4.4.0-66」を検索し、「Package:linux-image-4.4.0-66-generic」で始まるセクション全体を削除しました。セクションの2行目では「ステータス:install ok half-configured」。

この後、「Sudo apt-get upgrade」は最新のカーネルを正しくインストールできました。

0
user2692216

私にとって、これは、以前のカーネルのアップグレード中にupdate-initramfsおよび古い古いファイルが/ var/lib/initramfs-toolsから削除されないという問題でした(おそらく何らかの理由で以前にエラーが発生したため)。

cd /var/lib/initramfs-tools

古いカーネルバージョンのファイルを削除します(明らかに現在のカーネルバージョンのファイルを削除しないでください)。

cd /boot

/ bootのinitrdの古いバージョンを削除します。

次に実行します:

/usr/sbin/update-initramfs -u -k all

これは成功し、現在のカーネルバージョンの/ bootにinitrdファイルを作成(または更新)するだけです。

10
acker9

initrd.imgファイルはダウンロードされず、対応するカーネル(linux-image)パッケージがインストールされているため生成されます。 。

停止するには、Sudo apt remove linux-image-4.2.0-35-genericでカーネルパッケージをアンインストールします(他のバージョンでも同様です)。それが古いカーネルをアンインストールする適切な方法です。

1
fkraiem