私は通常、グーグルの助けを借りて問題を回避して修正することができたので、ここに初めて投稿しましたが、今回は少し漬け物になっていると思います。
私はDigitalOceanでVPSを実行しており、個人プロジェクトに使用しています。ずっと前にセットアップしていたのですが、DOによってプレインストールされていたのかもしれません。 Ubuntu 14.04を実行しているので、アップグレードすることにしました-大きな間違い。
Sudo apt-get update && Sudo apt-get upgrade
実行する前にSudo do-release-upgrade
。
これらの1つで問題が始まった-apt-get remove
は古いカーネルバージョンを削除できませんか?しかし、悲しいことに、私はLinuxの更新にそれほど熟達していないので、私は情報を完全に誤って読んでいる可能性があります。
私が読んだすべてのコマンド出力を一覧表示してみます。この混乱から抜け出すためのヒントはありがたいです。
df -hT
出力:
root@web:~# df -hT
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 487M 4.0K 487M 1% /dev
tmpfs tmpfs 100M 344K 100M 1% /run
/dev/vda1 ext4 20G 4.7G 14G 25% /
none tmpfs 4.0K 0 4.0K 0% /sys/fs/cgroup
none tmpfs 5.0M 0 5.0M 0% /run/lock
none tmpfs 497M 0 497M 0% /run/shm
none tmpfs 100M 0 100M 0% /run/user
サーバーのスペースに問題がないようです
Sudo apt-get autoremove
&Sudo apt-get remove --purge --auto-remove
出力:
root@web:~# Sudo apt-get autoremove
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
linux-image-3.13.0-79-generic : Depends: initramfs-tools (>= 0.36ubuntu6) but it is not installed
Recommends: grub-pc or
grub-efi-AMD64 or
grub-efi-ia32 or
grub but it is not installed or
lilo (>= 19.1) but it is not installed
linux-image-3.13.0-83-generic : Depends: initramfs-tools (>= 0.36ubuntu6) but it is not installed
Recommends: grub-pc or
grub-efi-AMD64 or
grub-efi-ia32 or
grub but it is not installed or
lilo (>= 19.1) but it is not installed
E: Unmet dependencies. Try using -f.
修正フラグ付きの自動削除:
root@web:~# Sudo apt-get -f autoremove
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following extra packages will be installed:
bash-completion cloud-guest-utils coreutils dpkg ifupdown
init-system-helpers initramfs-tools initramfs-tools-bin initramfs-tools-core
initscripts klibc-utils libalgorithm-diff-xs-Perl libapparmor-Perl libblkid1
libdbd-mysql-Perl libdbi-Perl libfdisk1 libfile-fcntllock-Perl libgcrypt20
libgpg-error0 libklibc liblocale-gettext-Perl libmount1 libmysqlclient20
libncurses5 libncursesw5 libperl5.22 libselinux1 libsmartcols1
libsub-name-Perl libsystemd0 libtext-charwidth-Perl libtext-iconv-Perl
libtinfo5 libudev1 lsb-base Perl perl-base Perl-modules-5.22 rename
sysvinit-utils udev util-linux
Suggested packages:
rdnssd libclone-Perl libmldbm-Perl libnet-daemon-Perl libsql-statement-Perl
rng-tools Perl-doc libterm-readline-gnu-Perl libterm-readline-Perl-perl
bootlogd sash kbd console-tools util-linux-locales
The following packages will be REMOVED:
libterm-readkey-Perl libtext-soundex-Perl linux-headers-3.13.0-79
linux-headers-3.13.0-79-generic linux-image-3.13.0-79-generic
linux-image-extra-3.13.0-79-generic mysql-client-5.5 Perl-modules
The following NEW packages will be installed:
initramfs-tools initramfs-tools-core libfdisk1 libgcrypt20 libmysqlclient20
libperl5.22 libsmartcols1 libsystemd0 Perl-modules-5.22 rename udev
The following packages will be upgraded:
bash-completion cloud-guest-utils coreutils dpkg ifupdown
init-system-helpers initramfs-tools-bin initscripts klibc-utils
libalgorithm-diff-xs-Perl libapparmor-Perl libblkid1 libdbd-mysql-Perl
libdbi-Perl libfile-fcntllock-Perl libgpg-error0 libklibc
liblocale-gettext-Perl libmount1 libncurses5 libncursesw5 libselinux1
libsub-name-Perl libtext-charwidth-Perl libtext-iconv-Perl libtinfo5
libudev1 lsb-base Perl perl-base sysvinit-utils util-linux
32 upgraded, 11 newly installed, 8 to remove and 277 not upgraded.
4 not fully installed or removed.
Need to get 0 B/16.2 MB of archives.
After this operation, 279 MB disk space will be freed.
Do you want to continue? [Y/n] Y
Extracting templates from packages: 100%
(Reading database ... 143659 files and directories currently installed.)
Removing linux-image-extra-3.13.0-79-generic (3.13.0-79.123) ...
depmod: FATAL: could not load /boot/System.map-3.13.0-79-generic: No such file or directory
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 3.13.0-79-generic /boot/vmlinuz-3.13.0-79-generic
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.13.0-79-generic /boot/vmlinuz-3.13.0-79-generic
/etc/kernel/postinst.d/initramfs-tools: 33: /etc/kernel/postinst.d/initramfs-tools: update-initramfs: not found
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 127
dpkg: error processing package linux-image-extra-3.13.0-79-generic (--remove):
subprocess installed post-removal script returned error exit status 1
Removing linux-image-3.13.0-79-generic (3.13.0-79.123) ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.13.0-79-generic /boot/vmlinuz-3.13.0-79-generic
/etc/kernel/postrm.d/initramfs-tools: 33: /etc/kernel/postrm.d/initramfs-tools: update-initramfs: not found
run-parts: /etc/kernel/postrm.d/initramfs-tools exited with return code 127
Failed to process /etc/kernel/postrm.d at /var/lib/dpkg/info/linux-image-3.13.0-79-generic.postrm line 328.
dpkg: error processing package linux-image-3.13.0-79-generic (--remove):
subprocess installed post-removal script returned error exit status 1
Errors were encountered while processing:
linux-image-extra-3.13.0-79-generic
linux-image-3.13.0-79-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)
Sudo apt-get -f install
出力:
root@web:~# Sudo apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following extra packages will be installed:
bash-completion cloud-guest-utils coreutils dpkg ifupdown
init-system-helpers initramfs-tools initramfs-tools-bin initramfs-tools-core
initscripts klibc-utils libalgorithm-diff-xs-Perl libapparmor-Perl libblkid1
libdbd-mysql-Perl libdbi-Perl libfdisk1 libfile-fcntllock-Perl libgcrypt20
libgpg-error0 libklibc liblocale-gettext-Perl libmount1 libmysqlclient20
libncurses5 libncursesw5 libperl5.22 libselinux1 libsmartcols1
libsub-name-Perl libsystemd0 libtext-charwidth-Perl libtext-iconv-Perl
libtinfo5 libudev1 lsb-base Perl perl-base Perl-modules-5.22 rename
sysvinit-utils udev util-linux
Suggested packages:
rdnssd libclone-Perl libmldbm-Perl libnet-daemon-Perl libsql-statement-Perl
rng-tools Perl-doc libterm-readline-gnu-Perl libterm-readline-Perl-perl
bootlogd sash kbd console-tools util-linux-locales
The following packages will be REMOVED:
libterm-readkey-Perl libtext-soundex-Perl linux-image-3.13.0-79-generic
linux-image-extra-3.13.0-79-generic mysql-client-5.5 Perl-modules
The following NEW packages will be installed:
initramfs-tools initramfs-tools-core libfdisk1 libgcrypt20 libmysqlclient20
libperl5.22 libsmartcols1 libsystemd0 Perl-modules-5.22 rename udev
The following packages will be upgraded:
bash-completion cloud-guest-utils coreutils dpkg ifupdown
init-system-helpers initramfs-tools-bin initscripts klibc-utils
libalgorithm-diff-xs-Perl libapparmor-Perl libblkid1 libdbd-mysql-Perl
libdbi-Perl libfile-fcntllock-Perl libgpg-error0 libklibc
liblocale-gettext-Perl libmount1 libncurses5 libncursesw5 libselinux1
libsub-name-Perl libtext-charwidth-Perl libtext-iconv-Perl libtinfo5
libudev1 lsb-base Perl perl-base sysvinit-utils util-linux
32 upgraded, 11 newly installed, 6 to remove and 277 not upgraded.
4 not fully installed or removed.
Need to get 0 B/16.2 MB of archives.
After this operation, 202 MB disk space will be freed.
Do you want to continue? [Y/n] Y
Extracting templates from packages: 100%
(Reading database ... 143659 files and directories currently installed.)
Removing linux-image-extra-3.13.0-79-generic (3.13.0-79.123) ...
depmod: FATAL: could not load /boot/System.map-3.13.0-79-generic: No such file or directory
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 3.13.0-79-generic /boot/vmlinuz-3.13.0-79-generic
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.13.0-79-generic /boot/vmlinuz-3.13.0-79-generic
/etc/kernel/postinst.d/initramfs-tools: 33: /etc/kernel/postinst.d/initramfs-tools: update-initramfs: not found
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 127
dpkg: error processing package linux-image-extra-3.13.0-79-generic (--remove):
subprocess installed post-removal script returned error exit status 1
Removing linux-image-3.13.0-79-generic (3.13.0-79.123) ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.13.0-79-generic /boot/vmlinuz-3.13.0-79-generic
/etc/kernel/postrm.d/initramfs-tools: 33: /etc/kernel/postrm.d/initramfs-tools: update-initramfs: not found
run-parts: /etc/kernel/postrm.d/initramfs-tools exited with return code 127
Failed to process /etc/kernel/postrm.d at /var/lib/dpkg/info/linux-image-3.13.0-79-generic.postrm line 328.
dpkg: error processing package linux-image-3.13.0-79-generic (--remove):
subprocess installed post-removal script returned error exit status 1
Errors were encountered while processing:
linux-image-extra-3.13.0-79-generic
linux-image-3.13.0-79-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)
ls -l /boot
出力:
root@web:~# ls -l /boot
total 70752
-rw-r--r-- 1 root root 1165578 Mar 10 2016 abi-3.13.0-83-generic
-rw-r--r-- 1 root root 166221 May 9 2019 config-3.13.0-170-generic
-rw-r--r-- 1 root root 165918 Mar 10 2016 config-3.13.0-83-generic
-rw-r--r-- 1 root root 191071 Nov 13 22:00 config-4.4.0-170-generic
drwxr-xr-x 5 root root 4096 Dec 29 08:09 grub
-rw-r--r-- 1 root root 20352301 Dec 29 08:05 initrd.img-3.13.0-170-generic
-rw-r--r-- 1 root root 20176312 Dec 29 08:05 initrd.img-3.13.0-79-generic
-rw-r--r-- 1 root root 176500 Mar 12 2014 memtest86+.bin
-rw-r--r-- 1 root root 178176 Mar 12 2014 memtest86+.elf
-rw-r--r-- 1 root root 178680 Mar 12 2014 memtest86+_multiboot.bin
-rw------- 1 root root 3418683 May 9 2019 System.map-3.13.0-170-generic
-rw------- 1 root root 3393725 Mar 10 2016 System.map-3.13.0-83-generic
-rw------- 1 root root 3913902 Nov 13 22:00 System.map-4.4.0-170-generic
-rw------- 1 root root 5909496 May 14 2019 vmlinuz-3.13.0-170-generic
-rw------- 1 root root 5827776 Mar 10 2016 vmlinuz-3.13.0-83-generic
-rw------- 1 root root 7208856 Nov 14 10:33 vmlinuz-4.4.0-170-generic
uname -a
出力:
root@web:~# uname -a
Linux web 3.13.0-83-generic #127-Ubuntu SMP Fri Mar 11 00:25:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
dpkg -l | grep linux-image
出力:
root@web:~# dpkg -l | grep linux-image
ii linux-image-3.13.0-170-generic 3.13.0-170.220 AMD64 Signed kernel image generic
rc linux-image-3.13.0-77-generic 3.13.0-77.121 AMD64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP
rH linux-image-3.13.0-79-generic 3.13.0-79.123 AMD64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP
iU linux-image-3.13.0-83-generic 3.13.0-83.127 AMD64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP
iF linux-image-4.4.0-170-generic 4.4.0-170.199 AMD64 Signed kernel image generic
rc linux-image-extra-3.13.0-77-generic 3.13.0-77.121 AMD64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
rH linux-image-extra-3.13.0-79-generic 3.13.0-79.123 AMD64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
ii linux-image-generic 4.4.0.170.178 AMD64 Generic Linux kernel image
dpkg -l | egrep -v '^ii|rc'
出力:
root@web:~# dpkg -l | egrep -v '^ii|rc'
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
+++-=======================================-===============================================-============-===============================================================================
rH linux-image-3.13.0-79-generic 3.13.0-79.123 AMD64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP
rH linux-image-3.13.0-83-generic 3.13.0-83.127 AMD64 Linux kernel image for version 3.13.0 on 64 bit x86 SMP
iF linux-image-4.4.0-170-generic 4.4.0-170.199 AMD64 Signed kernel image generic
rH linux-image-extra-3.13.0-79-generic 3.13.0-79.123 AMD64 Linux kernel extra modules for version 3.13.0 on 64 bit x86 SMP
思ったより悪くないです。さて、それを修復してみましょう。
まず、本当に重要なデータからバックアップを作成します。
十分なスペースとiノードが空いていることを確認してください。
df -h;df -i
次のステップは、initramfs-toolsを再インストールすることです。コマンドupdate-initramfsが見つからないため、必要です。
Sudo apt install --reinstall initramfs-tools=0.122ubuntu8.16
これはパッケージ検索によるとxenialバージョンで、xenial-updatesにあります。
それが不可能な場合。パッケージをwgetで直接描画する
wget -c http://mirrors.kernel.org/ubuntu/pool/main/i/initramfs-tools/initramfs-tools_0.122ubuntu8.16_all.deb
dpkgでインストールします。
Sudo dpkg -i initramfs-tools_0.122ubuntu8.16_all.deb
これがエラーなしで実行されている場合のみ。
Sudo dpkg --configure -a && Sudo apt-get -f install
確認する
dpkg -l | egrep -v '^ii|rc'
すべてのパッケージがクリーンな状態の場合。私のようである必要があります。
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
+++-=============================================-========================================-============-===============================================================================
その後、アップグレードの準備をすることができます。
Sudo apt-get update && Sudo apt-get dist-upgrade
何かが配線された場合は、お知らせください。
Ubuntu 14.04は延長サポートメンテナンスに移行しました 2019年5月 。カーネルバージョンの更新は通常、手動で直接インストールされる特定のバージョンではなく、単一のメタパッケージによって処理されます。現在サポートされていないインストール済みバージョンをアップグレードする方法を説明するUbuntuコミュニティヘルプWikiの サポート終了のアップグレード手順 に従う必要があります。