Slbox Asked: 2022-01-11 14:16:40 +0800 CST2022-01-11 14:16:40 +0800 CST 2022-01-11 14:16:40 +0800 CST 如何在 Ubuntu 21.10 中使用 5.16 内核? 772 我想升级我的内核以尝试解决间歇性冻结的持久性问题。 我试过手动安装内核,但它在配置过程中抛出错误,然后sudo apt upgrade显示: linux-headers-5.16.0-051600-generic : Depends: libssl3 (>= 3.0.0~~alpha1) but it is not installable 这是可以解决的吗? 就目前而言,我的 Linux 安装无法使用,并且在被迫回到 Windows 之前,我一直坚持将这个内核作为我最后一次尝试。 linux ubuntu 3 个回答 Voted serg06 2022-02-24T18:10:46+08:002022-02-24T18:10:46+08:00 这是我让它工作的方法,它类似于@airium 的答案,但使用了我使用的确切命令: 在这里找到正确的内核版本;我选择了5.16.11。 为您的 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将来,除非您有果冻回购,否则它会抱怨它。只需重新添加、安装和删除即可。 Best Answer airium 2022-01-16T21:39:28+08:002022-01-16T21:39:28+08:00 警告:以下方法可能会破坏您的系统。你被警告了。 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-dev 因此,如果您运行的是 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 不推荐这样做,因为 libssl3 不包含在 Ubuntu 21.10 或更低版本中,并且 Ubuntu 22.04 直到 4 月才正式发布。但是,libssl3 具有与 libssl1.1 几乎相同的依赖关系。在Ubuntu 21.10 上使用它应该没有问题。 更新 如果你真的需要ubuntu 20.04的这些新内核,请从 ubuntu 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 Drive:Google drive 将以上所有内容下载到一个文件夹中后,运行: # assume root and in this folder dpkg --force-depends --install *.deb apt --fix-broken install 您的 Ubuntu 20.04 现在适用于内核 5.16。它在我的服务器上测试了一周,没有任何问题。 但是,众所周知,这仍然不适用于某些系统并破坏它们!使用风险自负!请等待即将到来的四月的 Ubuntu 22.04。 Evi1M4chine 2022-07-03T11:20:10+08:002022-07-03T11:20:10+08:00 另一种选择是,如果您确实需要更新版本的内核并且不想安装 gcc-11 和 libssl3 的整个鼠尾,则可以尝试使用当前的 gcc 和当前的 libssl自己构建内核。 这是如何完成的: https ://wiki.ubuntu.com/Kernel/BuildYourOwnKernel 文档看起来比实际复杂。在实践中,这几乎是微不足道的,因为唯一困难的部分是配置内核(不同),您在这里不需要。
这是我让它工作的方法,它类似于@airium 的答案,但使用了我使用的确切命令:
在这里找到正确的内核版本;我选择了5.16.11。
为您的 CPU 下载通用版本的驱动程序;我有一个 64 位 CPU,所以我得到了 amd64 的。
..._all.deb
由于您的版本已过时libc6
,因此在安装时会出现错误libssl3
。你会注意到这sudo apt install libssl3
不起作用,让我们修复它。libssl3
,它会告诉您改为运行以下命令:没有错误!
编辑:如果您尝试安装
libc-dev
并且libc6-dev
将来,除非您有果冻回购,否则它会抱怨它。只需重新添加、安装和删除即可。警告:以下方法可能会破坏您的系统。你被警告了。
Ubuntu 主线内核 5.15.7+ 和 5.16 将要求
libssl1.1 (>= 1.1.0)
从libssl3 (>= 3.0.0~~alpha1)
. 您可以从头包中找到更改:但是,该软件包
libssl3
仅适用于 Ubuntu 22.04:libssl3与其父软件包相同
libssl-dev
,3.0+ 也仅适用于 Ubuntu 22.04:libssl-dev因此,如果您运行的是 Ubuntu 21.10(或更低版本),apt 找不到需要 libssl3>3.0。
您可以尝试从 Ubuntu 22.04 手动下载和安装软件包: https ://packages.ubuntu.com/jammy/amd64/libssl3/download
不推荐这样做,因为 libssl3 不包含在 Ubuntu 21.10 或更低版本中,并且 Ubuntu 22.04 直到 4 月才正式发布。但是,libssl3 具有与 libssl1.1 几乎相同的依赖关系。在Ubuntu 21.10 上使用它应该没有问题。
更新
如果你真的需要ubuntu 20.04的这些新内核,请从 ubuntu 22.04 下载以下 deb:
如果你相信我,我复制了一份到 Google Drive:Google drive
将以上所有内容下载到一个文件夹中后,运行:
您的 Ubuntu 20.04 现在适用于内核 5.16。它在我的服务器上测试了一周,没有任何问题。
但是,众所周知,这仍然不适用于某些系统并破坏它们!使用风险自负!请等待即将到来的四月的 Ubuntu 22.04。
另一种选择是,如果您确实需要更新版本的内核并且不想安装 gcc-11 和 libssl3 的整个鼠尾,则可以尝试使用当前的 gcc 和当前的 libssl自己构建内核。
这是如何完成的:
https ://wiki.ubuntu.com/Kernel/BuildYourOwnKernel
文档看起来比实际复杂。在实践中,这几乎是微不足道的,因为唯一困难的部分是配置内核(不同),您在这里不需要。