Ubuntu Server 18.04システムは動作し続けますが、アップデートを適用できなくなりました。私が犯した可能性のあるシステムの変更を認識していません。
これを修正するにはどうすればよいですか?自動削除、パージなどを試しました。
一般的な出力を次に示しますが、どのaptコマンドでも同様のエラーが生成されます。
# apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be REMOVED:
linux-image-4.15.0-22-generic
The following packages will be upgraded:
libcephfs2 librados2 ssh-import-id
3 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
1 not fully installed or removed.
Need to get 0 B/3,065 kB of archives.
After this operation, 8,281 kB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 149817 files and directories currently installed.)
Removing linux-image-4.15.0-22-generic (4.15.0-22.24) ...
/etc/kernel/postrm.d/initramfs-tools:
update-initramfs: Deleting /boot/initrd.img-4.15.0-22-generic
/etc/kernel/postrm.d/x-grub-legacy-ec2:
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ...
Could not find /boot/grub/menu.lst file. Would you like /boot/grub/menu.lst generated for you? (y/N) /usr/sbin/update-grub-legacy-ec2: line 1101: read:
read error: 0: Bad file descriptor
run-parts: /etc/kernel/postrm.d/x-grub-legacy-ec2 exited with return code 1
dpkg: error processing package linux-image-4.15.0-22-generic (--remove):
installed linux-image-4.15.0-22-generic package post-removal script
subprocess returned error exit status 1
Errors were encountered while processing:
linux-image-4.15.0-22-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)
回答ありがとうございます。以下の提案に従ってください。 apt/dpkgでクリーンアップできないようです。出力は次のとおりです。
# Sudo update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.15.0-22-generic
Found initrd image: /boot/initrd.img-4.15.0-22-generic
Found linux image: /boot/vmlinuz-4.15.0-20-generic
Found initrd image: /boot/initrd.img-4.15.0-20-generic
done
# Sudo dpkg --purge linux-image-4.15.0-22-generic
dpkg: dependency problems prevent removal of linux-image-4.15.0-22-generic:
linux-image-generic depends on linux-image-4.15.0-22-generic.
linux-modules-extra-4.15.0-22-generic depends on linux-image-4.15.0-22-generic | linux-image-unsigned-4.15.0-22-generic; however:
Package linux-image-4.15.0-22-generic is to be removed.
Package linux-image-unsigned-4.15.0-22-generic is not installed.
dpkg: error processing package linux-image-4.15.0-22-generic (--purge):
依存関係の問題-削除中にエラーが発生しました:linux-image-4.15.0-22-generic
この問題が発生した理由はまだわかりませんが、grub /boot/grub/menu.lstファイルが見つからないため、apt/dpkgの更新が失敗しているようです。そこで、空のファイルを作成しました。
Sudo touch /boot/grub/menu.lst
Sudo update-grub2
すべて良い。次に、システムの更新に進みます。
Sudo apt update
Sudo apt upgrade
Sudo apt autoremove --purge
途中で、現在のmenu.lstファイルがパッケージメンテナーのバージョンと異なるという警告が表示されます。パッケージメンテナーのバージョンをインストールするオプションを選択すると、残りのアップデートとクリーンアップが正常に完了します。次のカーネルアップグレードがどのように行われるかはわかりますが、今のところ問題は解決しています。
提案とヘルプを提供してくれたすべての人に感謝します!
私はこれがコメントであるべきだと知っていますが、十分な評判はありません。
しかし、昨日 同様の問題 があったことをお知らせします。
この回答がうまくいかない場合は、@ videonauthに連絡してください。彼はこの問題で私を助けてくれた素晴らしいナイスガイです。
私は彼の答えからあなたを助けたいと思う部分をコピーペーストします:
適切なパッケージアーカイブを更新するための更新を実行した後、まずリムーバブルパッケージを削除します。
Sudo apt update Sudo apt autoremove --purge
これにより、これまでにすべてのリムーバブルパッケージが削除されるはずです。
cd /var/cache/apt/archives Sudo dpkg -i linux-modules-4.15.0-22-generic_4.15.0-22.24_AMD64.deb Sudo dpkg -r linux-modules-4.15.0-22-generic_4.15.0-22.24_AMD64.deb
(Oussemaからの注意:^このコマンドは、私のシステムのアーキテクチャがAMD64であるという事実に基づいて使用されました。コマンドuname -a
を使用して、あなたのものを見ることができます
"i386"、 "i486"、 "i586"および "i686"および "athlon"はすべて32ビットを意味します。 「x86_64」は64ビット(OpteronまたはAthlon-64)を意味します。 「i686-64」は、64ビットアドレス空間での32ビット操作を意味します(新しいメモリメカニズムを備えたIntel 686)。 )
次を実行してアーカイブをクリーンアップします:
Sudo apt clean
そして、完全な更新プロセスを実行した後、パッケージを適切に再インストールできます。
Sudo apt update Sudo apt dist-upgrade
次の行で:
Sudo apt install --reinstall linux-generic