
저는 Ubuntu 22.04(Jammy Jellyfish)를 사용하고 있으며 오늘 21.10에서 업그레이드했습니다. 내 컴퓨터는 Intel i7 11세대 프로세서, Nvidia GTX 1650 Max-Q 그래픽 카드를 갖춘 Asus Vivobook K3500PH입니다. 내 시스템에는 원래 Linux 5.15 커널이 있는데 최근 5.13 커널에서 업그레이드되었습니다.
편집: 이 스레드는 새 커널을 설치하지 않았지만 Ubuntu 22.04로 업그레이드한 사용자에게도 적용됩니다.
배경 정보
5.17.4
내 Wi-Fi 드라이버 문제로 인해 이 글을 쓰는 시점의 최신 Linux 커널로 업그레이드하고 싶습니다 .
나는 찾았다가이드온라인에서 커널용 .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 버전을 다음에서 직접 다운로드했습니다.packages.debian.org그런 다음 다음을 사용하여 설치했습니다.
sudo dpkg -i libssl1.1*.deb
그 후에 apt를 다시 한 번 사용할 수 있습니다.
이 작업을 수행한 후 다음을 검색할 수도 있다는 것을 깨달았습니다.우분투 패키지 저장소. 그들은 분명히 Ubuntu 22.04의 경우 libssl1.1에 대한 설치 후보를 제공하지 않았으며 libssl3에 대해서는 하나만 제공했습니다. 이것이 문제의 핵심일 가능성이 있습니다. 또한 업그레이드한 버전의 버전을 사용할 수도 있습니다. 그러나packages.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로 바뀌는 경우 업데이트된 URL을 가져올 수 있는 곳은 다음과 같습니다.
답변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... 대신에 uninstalled 패키지로 일시적으로 플래그를 지정해야 합니다 half-installed
. 예를 들어 에서 /var/lib/dpkg/status
까지 의 해당 항목을 직접 수정하여 이 작업을 수행할 수 있습니다 . 다음을 사용하여 gedit에서 엽니다.half-installed
config-files
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의 중복 항목을 병합했습니다.
3. 손상된 패키지를 제거합니다.
이전에 linux-image...의 상태를 로 변경한 경우 , 이를 다시 되돌려 야 apt가 문제가 있음을 인식 config-files
할 수 있습니다 . half-installed
이제 다음을 실행하세요.
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