GNU/Linux >> Linux の 問題 >  >> Linux

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

私はディストリビューションの仕事をしているわけではありませんが、少なくとも 2 つの理由が考えられます:

  • 一部のディストリビューションは、まだメインラインにマージされていないカーネルにカスタム パッチを適用します。これは、カーネルを更新するたびに、パッチによって問題が発生せず、適切に機能することを確認する必要があることを意味します。
  • 最新の安定したカーネル リリースにもバグが含まれている可能性があります。信頼性を重視するディストリビューションでは、カーネルを顧客に提供する前に、いくつかのテスト手順/プロセスを経る必要があります。

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

  • /proc はほぼ安定していますが、過去にいくつかの変更がありました (たとえば、一部のインターフェースが /sys に移行しました)。 /sys からしばらくしてから 作成されました)
  • これまでに、多くのデバイス関連のインターフェースが削除されました。
  • /sys いくつかの安定したインターフェースが含まれています (Documentation/ABI/stable にリストされています) ) とそうでないものがあります。そうでないものを使用することは想定されていませんが、使用する人もいます。簡単なセキュリティと安定性のアップグレードで問題が発生することはありません。
  • かなり前のことだと思いますが、過去に modutils との非互換性がありました (新しいカーネルでは新しいバージョンの modutils が必要です)。
  • 一部の通常とは異なる構成での起動プロセスに関しても、互換性がありません。カーネルのサイズを大きくしても、一部の組み込みシステムで問題が発生する可能性があります。
  • カーネルの外部 インターフェースはかなり安定しており、内部 インターフェイスはそうではありません。内部インターフェースのルールは、内部使用を修正する限り、誰でもそれらを壊すことができるということですが、サードパーティのモジュールを修正することは、当該モジュールの作成者の責任です。全体的にかなりの数のインストールでサードパーティのモジュールが実行されています:カーネルでサポートされていないハードウェア用の追加ドライバー (ハードウェアが新しいカーネルでサポートされている場合は問題ありませんが、サポートされていない場合はどうでしょう)、独自のドライバー (すべてのドライバーがオープンソースであれば、世界はより良い場所になるでしょうが、そうではありません。たとえば、優れた 3D GPU パフォーマンスが必要な場合は、プロプライエタリ ドライバーでほとんど立ち往生しています)、など。
  • カーネルやサードパーティのモジュールを再コンパイルする必要がある人もいます。最近のカーネルは、古いコンパイラではコンパイルできないことがよくあります。

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

それにもかかわらず、一部のディストリビューションでは、最近のカーネルをオプションとして提供しています。たとえば、Debian はテスト版のカーネルを、バックポートを通じて安定版リリースのユーザーが利用できるようにします。同様に、Ubuntu LTS では、最近の Ubuntu リリースのカーネルを使用できますが、デフォルトでは使用されません。これは、ディストリビューションが完成した時点ではまだサポートされていなかったハードウェアへの新規インストールに最も役立ちます。


Linux
  1. Linuxカーネルコードで__initはどういう意味ですか?

  2. root ユーザーから Linux カーネルを保護するのはなぜですか?

  3. 独自の Linux カーネルをコンパイルする利点は何ですか?

  1. LinuxとUnix:違いは何ですか?

  2. Linux カーネルからメモリのブロックを予約するにはどうすればよいですか?

  3. カーネルパラメータ acpi_osi=linux と acpi_backlight=vendor は何をしますか?

  1. Stratisを使用してコマンドラインからLinuxストレージを管理する

  2. ローリングリリースLinuxとは何ですか?それを使用することの本当の利点は何ですか

  3. Linuxカーネルとは何ですか?最新のカーネルにアップグレードする必要がありますか?