Ubuntu 21.10で5.16カーネルを使用する方法は?

Ubuntu 21.10で5.16カーネルを使用する方法は?

断続的に停止する問題を解決するためにカーネルをアップグレードしたいと思います。

カーネルを手動でインストールしようとしましたが、構成中にエラーが発生し、次のように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)

ただし、このパッケージはlibssl3Ubuntu 22.04でのみ利用可能です。libssl3
親パッケージと同様に、libssl-dev3.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で問題なく使用しました。


修正する

新しいコアが本当に必要な場合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ドライブにコピーしました。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

文書は実際よりも複雑に見えます。実際、これはカーネルを別の方法で構成することが唯一の難しい部分であり、ここでは必要ではないので、これはほとんどマイナーなことです。

関連情報