ディストリビューションで最新のLinuxカーネルを使用できない要因は何ですか? [閉鎖]

ディストリビューションで最新のLinuxカーネルを使用できない要因は何ですか? [閉鎖]

ほとんどのLinuxディストリビューションは特定のカーネルバージョンに付属しており、ポイントリリース(x.y.z〜)とセキュリティアップデートでのみx.y.(z+1)更新されます。

一方、私はLinuxがカーネルABIを変更せずにユーザースペースを侵害しないという非常に厳しいポリシーを持っていることを知っています。実際、Linusは、以前のバージョンと互換性のない方法でカーネルを(意図的にまたは意図的に)変更しようとする開発者に対して公に何度も爆発しました。

ディストリビューションが常に最新のカーネルに更新するのではなく、「安定した」カーネルを使用する理由を理解できません。これは批判ではなく、ただ理由が気になりますね。

ベストアンサー1

Linuxカーネルシステムコールインターフェイスは非常に安定しています。ただし、カーネルには常に互換性のない他のインターフェイスがあります。

  • /procほとんどは安定していますが、過去にいくつかの変更が発生しました(たとえば、一部のインターフェイスが/sys作成後に移動しました)。/sys
  • さまざまなデバイス関連インターフェースを提供削除済み過去に。
  • /sysいくつかの安定したインターフェースが含まれています(リストはDocumentation/ABI/stable)一部はそうではありません。そうでないものを使用してはいけませんが、時には人々が使用することもあり、単純なセキュリティと信頼性のアップグレードによってこれらの機能が中断されるべきではありません。
  • 過去には、modutils(最新バージョンのmodutilsが必要な最新のカーネル)と互換性がない問題がありましたが、私の考えはずっと前でした。
  • また、一部の異常な構成では、起動プロセスに非互換性があります。コアサイズを大きくしても、一部の組み込みシステムでは問題が発生する可能性があります。
  • カーネル外部インターフェイスはかなり安定しており、内部インターフェイスはそうではありません。内部インターフェイスの規則は、内部使用のために変更されたものであれば誰でもそれを破ることができるということです。ただし、サードパーティのモジュールを変更することは、そのモジュールの作成者の責任です。全体として、かなりの数のインストールではサードパーティのモジュールを実行します。カーネルでサポートされていないハードウェア用の追加ドライバ(新しいカーネルがハードウェアをサポートしても大丈夫ですが、サポートしていない場合はどうなりますか?) 、そうではありません。たとえば、優れた3D GPUパフォーマンスが必要な場合は、独自のドライバを使用する必要があります。
  • 一部の人はカーネルや一部のサードパーティモジュールを再コンパイルする必要があります。最新のカーネルは古いコンパイラでコンパイルできないことが多いです。

全体的に最新のカーネルバージョンに切り替えない主な理由は、サードパーティのモジュールです。

ただし、一部のディストリビューションでは、最新のカーネルをオプションとして提供しています。たとえば、Debianはバックポートを介して信頼性の高いリリースユーザーがテストカーネルを使用できるようにします。同様に、Ubuntu LTSでは最新のUbuntuバージョンのカーネルを使用できますが、デフォルトでは使用されません。これは、リリースの完了時にサポートされていないハードウェアに新規インストールする場合に便利です。

おすすめ記事