Linux カーネルのバージョン管理スキームの説明

WBOY
リリース: 2024-02-15 09:30:03
転載
587 人が閲覧しました

システムに現在インストールされている Linux カーネルのバージョンを確認したい場合は、システムに関連する情報を一覧表示できる Linux コマンドである uname を使用して確認できます。実行しているディストリビューションによっては、una​​me によって表示されるバージョン番号が実際の Linux カーネル バージョンと異なる場合があります。

Linux カーネルのバージョン管理スキームの説明

ウジュン水の宮殿の晴れたパノラマビュー / インドネシア バリ島 /
Linux カーネルの各バージョンには、異なるバージョン番号が関連付けられています。 Linux カーネルのバージョン番号がどのように形成されるのか疑問に思ったことはありますか?

しばらく Linux を使用している場合は、Linux ディストリビューションには固有のバージョンがあり、各バージョンには特定のコード名があることを知っているはずです。 Linux カーネルにはさまざまなバージョン番号もあり、カーネルが属するシリーズの識別子として機能します。ただし、初期のカーネル バージョンの形成方法は、Linus Torvalds が現在命名している方法とは異なりました。

最後までに、Linux カーネルのバージョン管理スキームにさらに詳しくなり、カーネルのバージョン番号を読んだり、特定のバージョンに関連するさまざまな機能を識別したりすることが容易になるでしょう。

従来の Linux カーネルのバージョン管理

Linus が最初にカーネルの開発を開始したとき、使用されたバージョン管理システムは、ゼロ (0.x) から始まる増分変数スキームで構成されていました。当初、プロジェクトのスタッフ メンバーは Linus だけであり、このバージョン管理システムは新しいカーネル バージョンの記録と配布には十分でした。

次に、この命名スキームに従うカーネルのバージョンの一部を示します:

Linux カーネルのバージョン管理スキームの説明

その後、より多くの開発者がプロ​​ジェクトに貢献し始め、リビジョンやパッチの数が大幅に増加したため、このバージョン管理スキームはカーネルなどのソフトウェアには適さないと判断されました。バージョン 1.0 以降、Linus はいくつかの追加変数を備えた新しいスキームを採用しています。

よりわかりやすいバージョン管理システムの紹介

1994 年、Linux 1.00 カーネルのリリースに伴い、Linus は構文に 3 つの変数「abc」を使用する新しいバージョン管理システムの使用を開始しました。これらの変数 (a、b、c) は、それぞれ特定のカーネル バージョンのメジャー番号、マイナー番号、およびリビジョン番号を表します。

Linux 1.1.95 カーネルを例に挙げます。これを最初のメジャー バージョン、最初のマイナー バージョン、および 95 番目のリビジョンにデコードできます。

当時、偶数のマイナー バージョン番号は安定したカーネル バージョンを表し、奇数は開発リリースを表していました。開発者が安定したブランチに影響を与えることなく、カーネルに新しい機能を追加してテストできるように、別のブランチを用意することが重要です。

カーネル開発者は、LTS カーネルとしてリリースできるほど安定するまで、開発ブランチに新機能を追加および改善します。 LTS カーネル 3.2 は安定バージョン 3.1 の新機能を使用して開発され、同様に、新しい開発カーネル 3.3 は、後に Linux 3.4 で導入される新機能に道を譲るために 3.2 からフォークされました。

Linux 2.4 カーネル以降、カーネル名の 4 番目の変数はパッチ バージョンを表します。バージョン 2.4.37.10 は、カーネル 2.4.37 の 10 番目のパッチ バージョンであると言えます。

パッチ バージョンは、カーネル バージョンでパッチが適用された問題の数を意味するものではありません。代わりに、発見された問題にパッチが適用された後に、更新されたカーネルがリリースされた回数をカウントします。

Linux 2.6 より前は、特定のバージョンを他のバージョンから効果的に区別できるこのバージョン管理システムが使用されていました。バージョン番号にリビジョン数とパッチ バージョンを追加するとわかりやすいですが、カーネル バージョンがより長く、より複雑になることを意味します。もう一度、新しくてより良いソリューションが必要でした。

Linux カーネルのバージョンは現在どのように命名されていますか?

Linux バージョン 3.0 では、Linus がバージョン番号から 4 番目の変数を削除しました。カーネル バージョンは、abc という構文に従って形成されるようになりました。ここで、a、b、c はそれぞれメジャー バージョン、マイナー バージョン、リビジョン数です。このバージョン管理スキームは、カーネル バージョン 1.0 と 2.4 の間で使用されていたものと似ています。

Linux カーネルのバージョン管理スキームの説明

Linux 3.2.0-23

バージョン管理システムの進歩のおかげで、開発者は安定したブランチでシームレスに作業し、すでに動作している安定したバージョンを誤って壊すことなく、新しい機能を追加できるようになりました。したがって、カーネル バージョン 4.0 のリリース後、カーネルの安定版ブランチと運用ブランチに偶数および奇数のマイナー バージョン番号を使用するのは冗長になり、4.x シリーズの最初の LTS バージョン (4.1) には奇数のマイナー バージョン番号が付いていました。 。

バージョン番号の末尾に rcX などの文字が表示される場合もあります。レビュー候補 (略して「rcs」) は、開発者がバグやその他の問題を排除するためにパッチを適用する必要があるカーネルのプレビューおよびパッチ適用前のバージョンです。これらは、奇数のマイナー バージョン番号で表される以前の開発リリースの置き換えです。

これらのリリースは、報告された問題を修正し、新機能を実装できるようにカーネル開発者専用に予約されていますが、必要に応じてこれらのカーネル レビュー候補をダウンロードしてテストすることもできます。ただし、これはほとんどの開発が行われる場所であるため、通常はお勧めできません。 。この記事の執筆時点では、最新のカーネル プレビューは 5.19-rc6 です。

新しいバージョンを作成するには、前の変数の値が特定の数値に達すると、その変数が増分されます。たとえば、マイナー バージョン数が 20 に近づくと、メジャー バージョンは次の桁に更新されます。

Linus は 5.0 カーネル開発メールの中で、マイナー バージョンの数が指と足の指で数えることができないほど多すぎるため (20!)、メジャー バージョンを 5 に更新するだけだと述べました。また、kernel.org によると、最初のドットの後の数字が「大きすぎる」と思われる場合、メジャー バージョン番号が大きくなります。 3.x シリーズの最終カーネル バージョンは 3.19 で、最後のメジャー 4.x カーネル シリーズは 4.20 で、その後 5.0 にアップグレードされました。

Linux カーネルのバージョン管理スキームの説明

Linux 5.18.0-2

Linux カーネルはバージョン 3.0 からこのバージョン管理スキームに従っており、3 つの主要なカーネル バージョン (バージョン 3.x、4.x、および 5.x) で有効であることが証明されています。

バージョン番号を使用して Linux カーネルのバージョンを識別します
膨大な数の Linux カーネル バージョンがリリースされているため、特定のバージョンを識別し、他のバージョンと区別するためのシステムを導入する必要があります。新しいカーネル バージョン管理スキームを使用すると、カーネル バージョンを効率的に識別して比較できるようになり、どのカーネル バージョンが最新で、どれが以前にリリースされたかを簡単に知ることができます。

現在システムにインストールされている Linux カーネルのバージョンを確認したい場合は、システムに関連する情報を一覧表示できる Linux コマンドである uname を使用して確認できます。実行しているディストリビューションによっては、una​​me によって表示されるバージョン番号が実際の Linux カーネル バージョンと異なる場合があります。

以上がLinux カーネルのバージョン管理スキームの説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:lxlinux.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!