定期更新破坏了 Elementary OS 6 上的 initramfs

定期更新破坏了 Elementary OS 6 上的 initramfs

笔记:

我两个月前安装了 Elementary OS,从那时起就没有遇到任何问题。

systemctl --failedjournalctl -p 3 -b我定期检查它们,一切都很好。自安装以来所有更新都很顺利。


我使用一个简单的 apt-fast 脚本来更新我的系统。它位于/usr/bin/

这里是

#!/usr/bin/fish
sudo apt-fast clean
sudo dpkg --configure -a
sudo apt-fast autoclean
sudo apt-fast update
echo
echo
echo "Packages that will be updated:"
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
sudo apt list --upgradable -a
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
echo
echo
sudo apt-fast upgrade -y
sudo apt-fast full-upgrade -y
sudo apt-fast autoremove --purge --auto-remove -y
sudo apt-fast clean
sudo flatpak update

这是更新期间发生的事情: https://pastebin.com/xh4EZXT5

我发现出了问题。

所以我跑了

sudo dpkg --configure -a

错误仍然存​​在。我用谷歌搜索了错误并尝试重新安装initramfs-tools

我使用以下方法删除了它:

sudo apt remove initramfs-tools
sudo apt autoremove

然后我跑了sudo apt install initramfs-tools,但仍然收到错误。

现在我得到了这个

~ ❯❯❯ sudo apt-get install -f initramfs-tools

Reading package lists... Done
Building dependency tree       
Reading state information... Done
initramfs-tools is already the newest version (0.136ubuntu6.6).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] Y
Setting up initramfs-tools (0.136ubuntu6.6) ...
update-initramfs: deferring update (trigger activated)
Processing triggers for initramfs-tools (0.136ubuntu6.6) ...
update-initramfs: Generating /boot/initrd.img-5.14.15-xanmod1-cacule
I: The initramfs will attempt to resume from /dev/dm-2
I: (/dev/mapper/data-swap)
I: Set the RESUME variable to override this.
Error 24 : Write error : cannot write compressed block 
E: mkinitramfs failure lz4 -9 -l 24
update-initramfs: failed for /boot/initrd.img-5.14.15-xanmod1-cacule 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:
 initramfs-tools
E: Sub-process /usr/bin/dpkg returned an error code (1)
~ ❯❯❯ sudo dpkg --configure -a
Setting up initramfs-tools (0.136ubuntu6.6) ...
update-initramfs: deferring update (trigger activated)
Processing triggers for initramfs-tools (0.136ubuntu6.6) ...
update-initramfs: Generating /boot/initrd.img-5.14.15-xanmod1-cacule
I: The initramfs will attempt to resume from /dev/dm-2
I: (/dev/mapper/data-swap)
I: Set the RESUME variable to override this.
Error 24 : Write error : cannot write compressed block 
E: mkinitramfs failure lz4 -9 -l 24
update-initramfs: failed for /boot/initrd.img-5.14.15-xanmod1-cacule 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:
 initramfs-tools
~ ❯❯❯ sudo journalctl -p 3 -b
-- Logs begin at Fri 2021-10-22 13:47:38 IST, end at Sat 2021-10-30 16:55:55 IST. --
Oct 30 11:15:51 Strix kernel: x86/cpu: SGX disabled by BIOS.
Oct 30 11:15:51 Strix kernel: ACPI BIOS Error (bug): Failure creating named object [\_GPE._E4A], AE_ALREADY_EXISTS (20210604/dswload2-326)
Oct 30 11:15:51 Strix kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20210604/psobject-220)
Oct 30 11:15:51 Strix kernel: 
Oct 30 11:15:55 Strix lightdm[2302]: PAM unable to dlopen(pam_kwallet.so): /lib/security/pam_kwallet.so: cannot open shared object file: No such file or directory
Oct 30 11:15:55 Strix lightdm[2302]: PAM adding faulty module: pam_kwallet.so
Oct 30 11:15:55 Strix lightdm[2302]: PAM unable to dlopen(pam_kwallet5.so): /lib/security/pam_kwallet5.so: cannot open shared object file: No such file or directory
Oct 30 11:15:55 Strix lightdm[2302]: PAM adding faulty module: pam_kwallet5.so
Oct 30 11:15:56 Strix systemd[2306]: Failed to start Portal service (GTK+/GNOME implementation).
Oct 30 11:15:56 Strix lightdm[2496]: PAM unable to dlopen(pam_kwallet.so): /lib/security/pam_kwallet.so: cannot open shared object file: No such file or directory
Oct 30 11:15:56 Strix lightdm[2496]: PAM adding faulty module: pam_kwallet.so
Oct 30 11:15:56 Strix lightdm[2496]: PAM unable to dlopen(pam_kwallet5.so): /lib/security/pam_kwallet5.so: cannot open shared object file: No such file or directory
Oct 30 11:15:56 Strix lightdm[2496]: PAM adding faulty module: pam_kwallet5.so
Oct 30 11:15:56 Strix lightdm[2521]: PAM unable to dlopen(pam_kwallet.so): /lib/security/pam_kwallet.so: cannot open shared object file: No such file or directory
Oct 30 11:15:56 Strix lightdm[2521]: PAM adding faulty module: pam_kwallet.so
Oct 30 11:15:56 Strix lightdm[2521]: PAM unable to dlopen(pam_kwallet5.so): /lib/security/pam_kwallet5.so: cannot open shared object file: No such file or directory
Oct 30 11:15:56 Strix lightdm[2521]: PAM adding faulty module: pam_kwallet5.so
Oct 30 11:16:06 Strix lightdm[2521]: gkr-pam: unable to locate daemon control file
Oct 30 16:17:56 Strix systemd[1]: Failed to start Ubuntu Advantage APT and MOTD Messages.
Oct 30 16:17:56 Strix kernel: [drm:drm_new_set_master [drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to grab modeset ownership
Oct 30 16:17:56 Strix kernel: [drm:drm_new_set_master [drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to grab modeset ownership
Oct 30 16:18:00 Strix lightdm[36108]: PAM unable to dlopen(pam_kwallet.so): /lib/security/pam_kwallet.so: cannot open shared object file: No such file or directory
Oct 30 16:18:00 Strix lightdm[36108]: PAM adding faulty module: pam_kwallet.so
Oct 30 16:18:00 Strix lightdm[36108]: PAM unable to dlopen(pam_kwallet5.so): /lib/security/pam_kwallet5.so: cannot open shared object file: No such file or directory
Oct 30 16:18:00 Strix lightdm[36108]: PAM adding faulty module: pam_kwallet5.so
Oct 30 16:18:00 Strix bluetoothd[851]: RFCOMM server failed for Headset Voice gateway: rfcomm_bind: Address already in use (98)
Oct 30 16:18:00 Strix bluetoothd[851]: RFCOMM server failed for :1.120/Profile/HSPHSProfile/00001108-0000-1000-8000-00805f9b34fb: rfcomm_bind: Address already in use (98)
Oct 30 16:18:01 Strix systemd[36112]: Failed to start Portal service (GTK+/GNOME implementation).
Oct 30 16:18:01 Strix lightdm[36277]: PAM unable to dlopen(pam_kwallet.so): /lib/security/pam_kwallet.so: cannot open shared object file: No such file or directory
Oct 30 16:18:01 Strix lightdm[36277]: PAM adding faulty module: pam_kwallet.so
Oct 30 16:18:01 Strix lightdm[36277]: PAM unable to dlopen(pam_kwallet5.so): /lib/security/pam_kwallet5.so: cannot open shared object file: No such file or directory
Oct 30 16:18:01 Strix lightdm[36277]: PAM adding faulty module: pam_kwallet5.so
Oct 30 16:18:01 Strix lightdm[36318]: PAM unable to dlopen(pam_kwallet.so): /lib/security/pam_kwallet.so: cannot open shared object file: No such file or directory
Oct 30 16:18:01 Strix lightdm[36318]: PAM adding faulty module: pam_kwallet.so
Oct 30 16:18:01 Strix lightdm[36318]: PAM unable to dlopen(pam_kwallet5.so): /lib/security/pam_kwallet5.so: cannot open shared object file: No such file or directory
Oct 30 16:18:01 Strix lightdm[36318]: PAM adding faulty module: pam_kwallet5.so
Oct 30 16:18:09 Strix lightdm[36318]: gkr-pam: unable to locate daemon control file
Oct 30 16:18:10 Strix kernel: [drm:drm_new_set_master [drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to grab modeset ownership
Oct 30 16:18:10 Strix kernel: [drm:drm_new_set_master [drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to grab modeset ownership
Oct 30 16:18:10 Strix kernel: [drm:drm_new_set_master [drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to grab modeset ownership
Oct 30 16:18:10 Strix kernel: [drm:drm_new_set_master [drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to grab modeset ownership
Oct 30 16:54:37 Strix systemd[1]: Failed to start Ubuntu Advantage APT and MOTD Messages.
Oct 30 16:54:52 Strix systemd[1]: Failed to start Ubuntu Advantage APT and MOTD Messages.
Oct 30 16:55:00 Strix systemd[1]: Failed to start Ubuntu Advantage APT and MOTD Messages.
~ ❯❯❯ systemctl --failed
  UNIT                 LOAD   ACTIVE SUB    DESCRIPTION                           
● ua-messaging.service loaded failed failed Ubuntu Advantage APT and MOTD Messages

LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.

1 loaded units listed.
~ ❯❯❯ sudo systemctl restart ua-messaging.service
Job for ua-messaging.service failed because the control process exited with error code.
See "systemctl status ua-messaging.service" and "journalctl -xe" for details.
~ ❯❯❯ sudo systemctl start ua-messaging.service
Job for ua-messaging.service failed because the control process exited with error code.
See "systemctl status ua-messaging.service" and "journalctl -xe" for details.

我更好的解决方案是删除导致问题的安装后脚本。否则我不会愿意删除 Mesa 和 Nvidia 的 PPA。

我的计算机仍然可以重新启动,但无法使用 APT 包管理器。我需要安装initramfs-tools根据类似问题的解决方案删除的内容。

答案1

这真的很容易解决

解决方案及解释:

cd /var/cache/apt/archives/
ls -al
#list packages installed

sudo rm -rf initramfs-tools*
#removes the problem files

sudo apt update 
#updates software cache 

sudo apt --fix-broken install
#looks for other problems and solve it 

sudo apt install initramfs-tools*
#recovers problems packages .

正确的脚本将是:

#! /bin/bash
sudo apt-get clean
sudo dpkg --configure -a
sudo apt-get autoclean
sudo apt-get update
echo
echo
echo "Packages that will be updated:"
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
sudo apt list --upgradable -a
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
echo
echo
sudo apt-get upgrade -y
sudo apt-get full-upgrade -y
sudo apt-get autoremove  -y
sudo apt-get clean

使用 apt-get 或 aptitude -f 代替 apt-fast

apt-get
#stable

apt-fast
#unstable but fast

aptitude -f
#best and safe and fix all the problems .

--purge 
#without specification can sometimes delete important files

如果这不起作用,那么发布我告诉你的每个命令的输出,特别是apt --fix-broken install

答案2

sudo dpkg --configure -a无法使用lz4。我想你应该安装它(apt install lz4)。

但更好的想法似乎是检查/etc/initramfs-tools/initramfs.confCOMPRESS选项。我有以下评论:

# COMPRESS: [ gzip | bzip2 | lz4 | lzma | lzop | xz ]

使用gzip。 Grub 只有模块 gz、lzop、xz 和我的grub.cfg加载gzip(除了 xen 平台,其中还加载了 lzop 和 xz)。

另外,只需查看您的/boot目录:如果没有 initrd 文件,则不需要initramfs-tools

相关内容