Linuxカーネルのバージョン番号について少し混乱しています。多くのLinuxディストリビューションが最新のカーネルを使用していないことに気づきました。実際、バージョン2.4を使用しているディストリビューションもいくつかあります。これには理由がありますか?年齢以外に2.4、2.6、3.2の間に違いはありますか?古いカーネルを使用することのセキュリティへの影響は何ですか?
6 に答える
カーネルが異なれば、機能や改善点も異なります。ディストリビューションの開発者は、サポートする機能を確認し、そのカーネルの最も安定したサポートに基づいて、使用するカーネルを決定します。
どちらを使用するかはディストリビューション開発者の決定であり、彼らは快適に感じるものを使用します。
これはソフトウェア開発の機能であり、Java1.1とJava1.7とは何か、年齢との違いは何かを尋ねるようなものです...答えは多くのことです。
ほとんどのカーネルとソフトウェアにもセキュリティパッチのスケジュールがあり、システムにパッチを適用して最新の状態に保つのはユーザーの責任です。そうしないと、セキュリティの問題が修正されないため、セキュリティの問題が発生します。
メジャーリリース(2.4と2.6など)の間で、新しい機能が導入され、古い機能は非推奨になり、最終的にカーネルバイナリに互換性がなくなります。
これは、メインラインカーネルの一部ではないカーネルモジュールに依存している場合(たとえば、プロプライエタリであり、元の作成者が更新されたモジュールを提供していない場合、またはオープンソースである(ただしカーネルに組み込まれたことがない)場合に重要です)。誰もコードを移行するために時間を費やすことをいとわない)
また、新しいメジャーリリースにより、システムの動作が大幅に変更される可能性があります。2.4から2.6に切り替えるとき、新しいスケジューリングアルゴリズムのパフォーマンスが状況によっては悪くなるため、低レイテンシのオーディオを必要とする多くの人(これが私のバックグラウンドなので、許してください)は古いカーネルを使い続けることを覚えています。
以下のページが、Linuxのバージョン番号付けシステムを理解するのに役立つことを願っています: http ://www.linfo.org/kernel_version_numbering.html
http://www.tldp.org/FAQ/Linux-FAQ/kernel.html#linux-versioningからのスナップ
Linuxのバージョン番号は、長年の伝統に従っています。各バージョンには3つの数字があります。つまり、XYZ「X」は、実際に重要な変更が発生した場合にのみインクリメントされます。一方のバージョン用に作成されたソフトウェアが他方のバージョンで正しく動作しなくなります。これは非常にまれにしか発生しません。Linuxの歴史では、これは1回だけ発生しています。
「Y」は、現在の開発「シリーズ」を示します。安定したカーネルは常にこの位置に偶数を持ち、開発カーネルは常に奇数を持ちます。
「Z」は、使用しているカーネルの正確なバージョンを指定し、リリースごとに増分されます。
Linuxカーネルには人間が読める形式の変更ログがあります。
一部の人々は、「それが機能する場合、それを変更しないでください」という態度を取ります。したがって、古いカーネルを実行することにはセキュリティ上の影響がありますが、アップグレードによって何かが壊れる可能性があるというリスクもあります。
カーネルが改善/変更されると、以前のバージョンで保持されていた期待を破る可能性があります。新しいバージョンのカーネルで壊れたソフトウェアが多すぎるためにディストリビューションが不安定になった場合、開発者は、ソフトウェアが新しいカーネルの変更を処理できるようになるまで、以前のバージョンを使用することを選択する可能性があります。
通常、バイナリイメージは、バージョン番号の最初または2番目の部分が変更されたカーネル間で移植できない場合があります。したがって、2.4から2.6にアップグレードするには、大部分のライブラリと実行可能ファイルもアップグレード/再コンパイルする必要があります。これは、クローズドソースアプリケーション/ドライバーを使用する場合に特に問題になる可能性があります。
ほとんどのLinuxディストリビューターは、セキュリティへの影響/追加機能の需要に応じて、新しいカーネルバージョンからの移植パッチをバックポートします。システム全体を定期的にアップグレードできない場合は、バックポートの良好な履歴(RHEL、SuSEなど)を備えた長いサポートサイクルを明示的にサポートするディストリビューションを見つける必要があります。