Регулярное обновление сломало initramfs на Elementary OS 6

Регулярное обновление сломало initramfs на Elementary OS 6

ПРИМЕЧАНИЕ:

Я установил Elementary OS два месяца назад и с тех пор не сталкивался ни с какими проблемами.

systemctl --failedи journalctl -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.

Предпочтительным решением для меня было бы удалить скрипт postinstall, который вызывает проблему. В противном случае я бы не предпочел удалить PPA для Mesa и Nvidia.

Мой компьютер все еще может перезагрузиться, но я не могу использовать менеджер пакетов 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.confи COMPRESSвариант. У меня есть следующий комментарий:

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

Используйте gzip. Grub имеет только модули gz, lzop, xz и my grub.cfgloads gzip(за исключением платформы xen, где lzop и xz также загружаются).

Также, просто посмотрите в вашем /bootкаталоге: если там нет файлов initrd, вам это не нужно.initramfs-tools

Связанный контент