
Я использую Ubuntu 22.04 (Jammy Jellyfish) и сегодня обновился с 21.10. Моя машина — Asus Vivobook K3500PH с процессором Intel i7 11-го поколения и видеокартой Nvidia GTX 1650 Max-Q. Изначально в моей системе было ядро Linux 5.15, которое недавно было обновлено с ядра 5.13.
EDIT: Эта тема также актуальна для тех, кто не устанавливал новое ядро, а обновился до Ubuntu 22.04.
Справочная информация
Из-за проблем с драйвером Wi-Fi я хотел бы обновить ядро Linux до последней версии, которая актуальна 5.17.4
на момент написания статьи.
Я нашелгидонлайн и установил файлы .deb для ядра изhttps://kernel.ubuntu.com/~kernel-ppa/mainline/v5.17.4/amd64/. После этого я приступил к запуску sudo dpkg -i *.deb
и установке .deb
загруженных файлов.
Обнаружены ошибки
Установка не удалась
Reading database ... 224038 files and directories currently installed.)
Preparing to unpack linux-headers-5.17.4-051704_5.17.4-051704.202204200842_all.deb ...
Unpacking linux-headers-5.17.4-051704 (5.17.4-051704.202204200842) over (5.17.4-051704.202204200842) ...
Preparing to unpack linux-headers-5.17.4-051704-generic_5.17.4-051704.202204200842_amd64.deb ...
Unpacking linux-headers-5.17.4-051704-generic (5.17.4-051704.202204200842) over (5.17.4-051704.202204200842) ...
Preparing to unpack linux-image-unsigned-5.17.4-051704-generic_5.17.4-051704.202204200842_amd64.deb ...
Unpacking linux-image-unsigned-5.17.4-051704-generic (5.17.4-051704.202204200842) over (5.17.4-051704.202204200842) ...
/var/lib/dpkg/info/linux-image-unsigned-5.17.4-051704-generic.postrm ... removing pending trigger
Preparing to unpack linux-modules-5.17.4-051704-generic_5.17.4-051704.202204200842_amd64.deb ...
Unpacking linux-modules-5.17.4-051704-generic (5.17.4-051704.202204200842) over (5.17.4-051704.202204200842) ...
Setting up linux-headers-5.17.4-051704 (5.17.4-051704.202204200842) ...
Setting up linux-headers-5.17.4-051704-generic (5.17.4-051704.202204200842) ...
/etc/kernel/header_postinst.d/dkms:
* dkms: running auto installation service for kernel 5.17.4-051704-generic
...done.
Setting up linux-image-unsigned-5.17.4-051704-generic (5.17.4-051704.202204200842) ...
Setting up linux-modules-5.17.4-051704-generic (5.17.4-051704.202204200842) ...
Processing triggers for linux-image-unsigned-5.17.4-051704-generic (5.17.4-051704.202204200842) ...
/etc/kernel/postinst.d/dkms:
* dkms: running auto installation service for kernel 5.17.4-051704-generic
...done.
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-5.17.4-051704-generic
I: The initramfs will attempt to resume from /dev/nvme0n1p5
I: (UUID=11ad606c-1f98-4dc1-b567-9b3fe528bd2e)
I: Set the RESUME variable to override this.
/etc/kernel/postinst.d/zz-update-grub:
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.17.4-051704-generic
Found initrd image: /boot/initrd.img-5.17.4-051704-generic
Found linux image: /boot/vmlinuz-5.15.0-25-generic
Found initrd image: /boot/initrd.img-5.15.0-25-generic
Found linux image: /boot/vmlinuz-5.13.0-40-generic
Found initrd image: /boot/initrd.img-5.13.0-40-generic
/etc/grub.d/bin/grubcfg_proxy: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory
run-parts: /etc/kernel/postinst.d/zz-update-grub exited with return code 127
dpkg: error processing package linux-image-unsigned-5.17.4-051704-generic (--install):
installed linux-image-unsigned-5.17.4-051704-generic package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
linux-image-unsigned-5.17.4-051704-generic
Из /etc/grub.d/bin/grubcfg_proxy: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory
, я сделал вывод, что библиотека может отсутствовать. СогласноэтотПост на Stack Exchange, я пошел устанавливать необходимые библиотеки.
Однако этот журнал ошибок отображается всякий раз, когда я запускаю apt
, для любого пакета, который я пробовал:
The following packages will be REMOVED:
linux-image-5.13.0-19-generic
........
Fetched 140 kB in 2s (80.2 kB/s)
(Reading database ... 224038 files and directories currently installed.)
Removing linux-image-5.13.0-19-generic (5.13.0-19.19) ...
/etc/kernel/postrm.d/initramfs-tools:
update-initramfs: Deleting /boot/initrd.img-5.13.0-19-generic
/etc/kernel/postrm.d/zz-update-grub:
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.17.4-051704-generic
Found initrd image: /boot/initrd.img-5.17.4-051704-generic
Found linux image: /boot/vmlinuz-5.15.0-25-generic
Found initrd image: /boot/initrd.img-5.15.0-25-generic
Found linux image: /boot/vmlinuz-5.13.0-40-generic
Found initrd image: /boot/initrd.img-5.13.0-40-generic
/etc/grub.d/bin/grubcfg_proxy: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory
run-parts: /etc/kernel/postrm.d/zz-update-grub exited with return code 127
dpkg: error processing package linux-image-5.13.0-19-generic (--remove):
installed linux-image-5.13.0-19-generic package post-removal script subprocess returned error exit status 1
dpkg: too many errors, stopping
Errors were encountered while processing:
linux-image-5.13.0-19-generic
Processing was halted because there were too many errors.
E: Sub-process /usr/bin/dpkg returned an error code (1)
Похоже, apt
он сломан, поэтому я не могу установить ни одну библиотеку или программное обеспечение.
Обе ошибки указывают на отсутствие libcrypto....
, так что это может быть ошибкой. Как мне решить проблему, а также установить более новую версию ядра Linux?
ИЗМЕНИТЬ: Просмотрhttps://bugs.launchpad.net/ubuntu/+source/ubuntu-release-upgrader/+bug/1969353Больше подробностей.
решение1
У меня возникла та же проблема после обновления с 20.04 до 22.04, без попытки установить новое ядро.
Пропавшееlibcrypto.so.1.1частьlibssl1.1, который необходимо установить, чтобы исправить проблему. Хотя apt в этом случае сломан, вы все равно можете вручную загрузить правильный .deb для вашего дистрибутива, а затем установить его с помощью dpkg. Например, я скачал версию amd64 напрямую спакеты.debian.orgа затем установил его с помощью
sudo dpkg -i libssl1.1*.deb
после чего я снова смогу использовать apt.
Сделав это, я понял, что можно также искатьРепозиторий пакетов Ubuntu. Они, по-видимому, не предоставили кандидата на установку для libssl1.1 для Ubuntu 22.04, только для libssl3. Возможно, что это и есть суть проблемы. Вы также должны иметь возможность использовать тот, который был из версии, с которой вы обновились. Однако тот, который изпакеты.debian.orgУ меня все отлично сработало.
решение2
Ручная установка libssl1.1 также исправила мою проблему:
wget http://debian.mirror.ac.za/debian/pool/main/o/openssl/libssl1.1_1.1.1o-1_amd64.deb
sudo dpkg -i libssl1.1_1.1.1o-1_amd64.deb
Также здесь вы можете получить обновленные URL-адреса на случай, если указанный выше адрес превратится в 404:
решение3
У меня проблема возникла из-за того, что я проиграл grub-customizer
при обновлении до 22.04. Если у вас та же проблема, это решение может быть лучше (спасибо vachaj11 изhttps://ubuntuforums.org/showthread.php?t=2474284&page=2&p=14095298#post14095298)
1. Переустановите grub-customizer
Вам придется вручную добавить исходный ppa, что можно сделать, выполнив:
sudo add-apt-repository ppa:danielrichter2007/grub-customizer
Теперь попробуйте установить grub-customizer с помощью:
sudo apt install grub-customizer
Есть вероятность, что это может не сработать, потому что apt сначала попытается удалить сломанный пакет linux-image... (и не сработает, завершив весь процесс) перед установкой grub-customizer
. В этом случае вам придется временно пометить пакет linux-image... как неустановленный вместо half-installed
. Это можно сделать, например, напрямую изменив соответствующую запись в /var/lib/dpkg/status
с half-installed
на config-files
. Откройте в gedit с помощью:
sudo gedit /var/lib/dpkg/status
Найдите linux-image-5.13.0-46-generic
(ваша версия может быть другой, это пакет, который нельзя удалить). В конце строки Status:
удалите half-installed
и замените на config-files
. Теперь сохраните файл и:
sudo apt install grub-customizer
должен быть выполнен без сбоев.
2. Откройте grub-customizer
Теперь восстановите grub, если он каким-либо образом сломан. В моем случае после открытия grub-customizer мне была предложена опция обновления grub, что я и сделал. Я также переупорядочил, как хотел. Также, среди прочего, он объединил дублирующие записи в grub, которые я видел ранее.
3. Удалите сломанный пакет.
Если вы ранее изменили статус linux-image... на config-files
, вам придется вернуть его обратно, half-installed
чтобы apt распознал, что с ним что-то сломалось. Теперь запустите:
sudo apt autoremove
что должно окончательно удалить пакет.
решение4
ручная установка libssl1.1 решила мою проблему.
wget http://nz2.archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1l-1ubuntu1.2_amd64.deb
sudo dpkg -i libssl1.1_1.1.1l-1ubuntu1.2_amd64.deb