간헐적으로 정지되는 문제를 해결하기 위해 커널을 업그레이드하고 싶습니다.
커널을 수동으로 설치하려고 시도했지만 구성 중에 오류가 발생하고 다음과 같이 sudo apt upgrade
표시됩니다.
linux-headers-5.16.0-051600-generic : Depends: libssl3 (>= 3.0.0~~alpha1) but it is not installable
이게 고칠 수 있는 일인가요?
현재로서는 Linux 설치를 사용할 수 없으며 Windows로 강제로 돌아가기 전 마지막 노력으로 이 커널을 사용하고 있습니다.
답변1
작동 방법은 다음과 같습니다. @airium의 답변과 유사하지만 내가 사용한 정확한 명령을 사용합니다.
올바른 커널 버전 찾기여기;나는 선택했다2011년 5월 16일.
CPU용 일반 버전 드라이버를 다운로드하세요. 저는 64비트 CPU를 사용하고 있으므로 amd64를 사용하고 있습니다.
mkdir tmp
cd tmp
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.16.11/amd64/linux-headers-5.16.11-051611-generic_5.16.11-051611.202202230823_amd64.deb
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.16.11/amd64/linux-headers-5.16.11-051611_5.16.11-051611.202202230823_all.deb
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.16.11/amd64/linux-image-unsigned-5.16.11-051611-generic_5.16.11-051611.202202230823_amd64.deb
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.16.11/amd64/linux-modules-5.16.11-051611-generic_5.16.11-051611.202202230823_amd64.deb
- 설치하세요:
sudo dpkg -i *.deb
..._all.deb
버전이 오래되었기 때문에 libc6
설치 중에 오류 메시지가 표시됩니다 libssl3
. 작동하지 않는 것 같으니 sudo apt install libssl3
고치도록 합시다.
- Ubuntu 22.04 저장소를 추가합니다.
sudo add-apt-repository "deb http://ca.archive.ubuntu.com/ubuntu jammy main"
- 이제 설치하려고 하면
libssl3
다음 명령을 실행하라는 메시지가 표시됩니다.
sudo apt --fix-broken install
- 이제 잘 되었다고 생각합니다. 하지만 다음 사항을 확인하기 위해 dpkg 명령도 다시 실행했습니다.
sudo dpkg -i *.deb
실수는 없어!
- 마지막으로 22.04 저장소를 삭제합니다.
sudo add-apt-repository --remove "deb http://ca.archive.ubuntu.com/ubuntu jammy main"
편집: 나중에 설치하려고 하면 libc-dev
젤리 저장소가 없으면 불평할 것입니다. libc6-dev
다시 추가하고 설치하고 제거하면 됩니다.
답변2
경고: 다음 방법은 시스템을 손상시킬 수 있습니다. 당신은 경고를 받았습니다.
Ubuntu 메인라인 커널 5.15.7+ 및 5.16에서는 libssl1.1 (>= 1.1.0)
요구 사항이 에서 으로 증가 합니다 libssl3 (>= 3.0.0~~alpha1)
. 변경 사항은 헤더 패키지에서 확인할 수 있습니다.
dpkg -I linux-headers-5.15.6-051506-generic_5.15.6-051506.202112010437_amd64.deb | grep Depends
# Depends: linux-headers-5.15.6-051506, libc6 (>= 2.34), libelf1 (>= 0.142), libssl1.1 (>= 1.1.0), zlib1g (>= 1:1.2.3.3)
dpkg -I linux-headers-5.15.7-051507-generic_5.15.7-051507.202112080459_amd64.deb | grep Depends
# Depends: linux-headers-5.15.7-051507, libc6 (>= 2.34), libelf1 (>= 0.142), libssl3 (>= 3.0.0~~alpha1), zlib1g (>= 1:1.2.3.3)
그러나 이 패키지는 libssl3
Ubuntu 22.04에서만 사용할 수 있습니다.libssl3
상위 패키지와 마찬가지로 libssl-dev
3.0+도 Ubuntu 22.04에서만 사용할 수 있습니다.libssl 개발
따라서 Ubuntu 21.10(또는 그 이하)을 실행 중인 경우 apt는 필수 libssl3>3.0을 찾을 수 없습니다.
Ubuntu 22.04에서 수동으로 패키지를 다운로드하고 설치할 수 있습니다. https://packages.ubuntu.com/jammy/amd64/libssl3/download
# wget http://mirrors.kernel.org/ubuntu/pool/main/o/openssl/libssl3_3.0.1-0ubuntu1_amd64.deb
# sudo dpkg -i libssl3_3.0.1-0ubuntu1_amd64.deb
권장되지 않음, Ubuntu 21.10 이하에는 libssl3이 포함되어 있지 않고 Ubuntu 22.04는 4월까지 공식적으로 출시되지 않기 때문입니다. 그러나 libssl3은 libssl1.1과 거의 동일한 종속성을 갖습니다. 거기~해야 한다Ubuntu 21.10에서 문제없이 사용했습니다.
고쳐 쓰다
새로운 코어가 정말로 필요한 경우우분투 20.04, 우분투 22.04에서 다음 deb를 다운로드하십시오.
libc6_2.34-0ubuntu3_amd64.deb
libc6-dev_2.34-0ubuntu3_amd64.deb
libc-bin_2.34-0ubuntu3_amd64.deb
libc-dev-bin_2.34-0ubuntu3_amd64.deb
libnsl2_1.3.0-2build1_amd64.deb
libnsl-dev_1.3.0-2build1_amd64.deb
libssl3_3.0.1-0ubuntu1_amd64.deb
locales_2.34-0ubuntu3_all.deb
rpcsvc-proto_1.4.2-0ubuntu5_amd64.deb
제 말을 믿으신다면 이 내용을 Google 드라이브에 복사했습니다.구글 드라이브
위 항목을 모두 폴더에 다운로드한 후 다음을 실행하세요.
# assume root and in this folder
dpkg --force-depends --install *.deb
apt --fix-broken install
이제 Ubuntu 20.04가 커널 5.16에서 작동합니다. 아무런 문제 없이 일주일 동안 내 서버에서 테스트되었습니다.
그러나 이는 일부 시스템에서는 여전히 작동하지 않고 작동하지 않는 것으로 알려져 있습니다! 자신의 책임하에 사용하십시오! 4월에 나올 Ubuntu 22.04를 기다려주세요.
답변3
최신 버전의 커널이 정말로 필요하고 gcc-11 및 libssl3의 전체 쥐꼬리를 설치하고 싶지 않은 경우 또 다른 옵션은 다음을 시도하는 것입니다.커널을 직접 빌드하고,현재 gcc와 현재 libssl을 사용하십시오.
수행 방법:
https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel
문서가 실제보다 더 복잡해 보입니다. 실제로 이것은 커널을 다른 방식으로 구성하는 것이 유일한 어려운 부분이고 여기서는 필요하지 않기 때문에 이것은 거의 사소한 일입니다.