/ / 1つのLinux OSは別のLinux OSにどの程度正確に「基づいている」のですか?

あるLinux OSは別のLinux OSにどれだけ正確に「基づいている」のでしょうか?

Linuxのさまざまなフレーバーをレビューすると、「UbuntuはDebianに基づいている」などのフレーズに頻繁に出くわしますが、それは正確にはどういう意味ですか?

本日の質疑応答セッションは、コミュニティ主導のQ&A WebサイトのグループであるStack Exchangeの下位部門であるSuperUserのご厚意によるものです。

質問

スーパーユーザーリーダーPLPiperは、Linuxバリアントがどのように機能するかを把握しようとしています。

私は最近、かなりの数のLinuxディストリビューションを調べて、周囲の状況を把握しています。「[このOS]は[別のOS]をベースにしています」というフレーズが次々と出てきます。例えば:

  • FedoraはRed Hatをベースにしています
  • UbuntuはDebianをベースにしています
  • Linux MintはUbuntuに基づいています

Mac環境から来た人にとって、「OS Xはダーウィンに基づいている」ことは理解していますが、Linux Distrosを見ると、「すべてLinuxに基づいているのではないか?」

この文脈では、1つのLinux OSが に基づく 別のLinux OS?

では、あるバージョンのLinuxが別のバージョンをベースにしていると言うと、どういう意味ですか?

答え

SuperUser寄稿者kostixは、システム全体の強固な概要を提供します。

Linuxは カーネル —動作する(複雑な)ソフトウェアハードウェアおよび特定のアプリケーションプログラミングインターフェース(API)をエクスポートし、「ユーザー空間」アプリケーションで利用できるように正確に使用するためのバイナリ規約(アプリケーションバイナリインターフェース、ABI)。

Debian、RedHatなどは オペレーティングシステム —で構成される完全なソフトウェア環境カーネルと一連のユーザー空間プログラム。コンピューターが実用的なタスク(メールの送受信、インターネットの閲覧、ロボットの運転など)を実行するときにコンピューターを便利にします。

今、そのような各OS、 提供 ほとんど同じソフトウェア(それほど多くはありません)たとえば、無料のメールサーバープログラム、インターネットブラウザ、デスクトップ環境など)では、これを行うためのアプローチが異なります。また、その目的やリリースサイクルも異なります。

通常、これらのOSは「配布」。これはIMOです。技術的に必要なすべてのソフトウェアを手動でビルドしてターゲットマシンにインストールできるため、これらのOS 分配します パッケージ化されたソフトウェアなので、それをビルドするか(Debian、RedHat)、またはそのようなビルドを容易にします(Gentoo)。また、通常、ターゲットマシンへのOSのインストールに役立つインストーラーも提供します。

OSの作成とサポートは 非常に 複雑で必要な複雑なタスク複雑なインフラストラクチャ(アップロードキュー、ビルドサーバー、バグトラッカー、アーカイブサーバー、メーリングリストソフトウェアなど)およびスタッフ。これは明らかに、ゼロから新しいOSを作成するための高い障壁を引き起こします。たとえば、Debianはcaを提供しています。いくつかの5つのハードウェアアーキテクチャ用の37kパッケージ—このものをサポートするためにどれだけの労力が費やされているかを考えてください。

それでも、誰かが彼らを思った場合 必要 なんらかの理由で新しいOSを作成するには、 既存の 上に構築する基盤。そして、これはまさにOS ベース 他のOSでは存在するようになります。 たとえば、Ubuntuは、Debianからほとんどのパッケージをインポートし、それらの小さなサブセットのみを再パッケージ化して、独自のパッケージを作成し、独自のアートワーク、デフォルト設定、ドキュメントなどを提供することで構築しています。

これには「ベース」にバリエーションがあることに注意してください事。たとえば、Debianはそれ自体の「純粋なブレンド」の作成を促進します。Debianを直接使用するディストリビューション、および教育や医学や音楽で働くユーザーなどのかなり小さなユーザーグループにのみ有用なパッケージやその他のものを追加するディストリビューション業界など

別のひねりはそれではありません すべて これらのOSはLinuxベースです。たとえば、DebianはFreeBSDおよびHurdカーネルも提供しています。彼らは非常に小さなユーザーグループを持っていますが、とにかく。


説明に追加するものがありますか?コメントで鳴り響きます。他の技術に精通したStack Exchangeユーザーからの回答をもっと読みたいですか?こちらでディスカッションスレッド全体をご覧ください。