web-dev-qa-db-ja.com

さまざまなLinuxディストリビューションを理解する

LinuxベースのOSを理解するとき、私は少し混乱しています。 MintとUbuntuの最新バージョンをダウンロードすると、コア(カーネル)が「同じ」ではありませんか? GUIが違うようですが? GUIは技術的には、コンピューターの起動時に実行される単なるプログラムではありませんか? Windowsの場合と同じです(dosがコアですが、Explorer.exeがGUIです)。誰かがこれを説明することができますか?

Sudo apt-getコマンドを使用すると、ミントターミナルからUbuntuをインストールできませんか?

これが混乱した質問であることは知っていますが、GUIが表示される前と、GUIが表示された後に、誰かが複数のディストリビューションの違いを明確にできることを願っています。

12
EGHDK

まず、Windowsはかなり長い間DOSGUIではありませんでした。 NTベースのWindows(NT/2000/XP/Vista/7/8)は、DOSから完全に独立しています。 Explorer.exeもGUIではありません。これは単なるシェルです(Windowsの代わりのシェルもあります)。

本質的に、すべてのディストリビューションはLinuxカーネルに基づいています。主な違い(エンドユーザーの観点から-たとえば、initシステム、/etcの下のファイルなどに違いがあります)-ディストリビューション間の違いは次のとおりです。

  • パッケージ管理

Ubuntu、Mint、およびその他すべてのDebianベースのディストリビューションは、パッケージングシステムとしてdpkg/APTを使用します。他のディストリビューションは他のシステムを使用します(たとえば、Red Hat、Fedora、SuSEはRPMを使用し、Archはpacmanを使用します)。

  • パッケージの選択

事実上、 Mintはいくつかの追加パッケージを備えたUbuntuです (コーデック、特許/著作権上の理由でUbuntuに含まれていません)および異なるテーマ(カスタムIDを作成し、商標/盗用の質問やユーザーの混乱を避けるため) )。

もちろん、他のGUIをMintにインストールすることもできます。UbuntuでMintのデスクトップ環境( Cinnamon )を使用でき、技術的には(現実は別の話です。おそらくパッケージの競合にぶつかるでしょう)、できるはずです。 UnityとUbuntuのビジュアルアイデンティティ(テーマ、アイコン)をMintにインストールします。

したがって、理論的にはUbuntuをミント風のシステムに変えることができますが、実際にはこれを行うのは非常に困難です。


'interface'と 'Shell'の違いについてのコメントによると、混乱を招く可能性があります。

UNIXの世界では、「シェル」はすでに には特定の、広く受け入れられている意味があります

Unixシェルは、UnixオペレーティングシステムおよびUnixライクなシステムに従来のユーザーインターフェイスを提供するコマンドラインインタープリターまたはシェルです。

まったく別のもの であるWindowsシェルと比較してください:

Windowsシェルは、MicrosoftWindowsの主要なグラフィカルユーザーインターフェイスです。 Windowsシェルには、タスクバーやスタートメニューなどのよく知られたWindowsコンポーネントが含まれています。 Windowsシェルは「コマンドラインシェル」と同じではありませんが、2つの概念は関連しています。

私たちの場合、Cinnamon(またはKDE、GNOME、Unity、XFCE)をデスクトップ環境と呼びます:アプリケーションのセット(ウィンドウマネージャー、パネル、通知トレイアイテムなど... )ユーザーエクスペリエンスを提供します。

10
Renan

ディストリビューションの違いを理解するには、ディストリビューションとは何かをもう一度確認する必要があります。

ディストリビューションとは

あなたはおそらくこれをすべて知っていますが、もう一度考えてみてください。 Linuxは単なるカーネルです。ほとんどの場合、それだけではまったく役に立ちません。それが行うことのほとんどは、他のプログラムがそれを使用できるように、マシン上のハードウェアへのソフトウェアインターフェイスを提供することです。配布はこれよりもはるかに複雑です。考慮する:

  • ディストリビューションの使用に固有のアプリケーションとライブラリの選択。
  • システムを管理および保守するためのツール。
  • ドキュメントとサポートチャネル。
  • リリースサイクルとコミュニティ管理。

Linuxの上にUbuntuやMintのようなものを作成するために追加された多くのソフトウェア層があり、構成と選択の無限の可能性があります。

また、ディストリビューションの編集者の性質も考慮する必要があります。 Red Hat、SuSE、Ubuntuなどのプロジェクトはビジネスの目的を果たし、Mint、Debian、Gentooなどの他のプロジェクトはボランティアによって管理されています。

ディストリビューションと別のディストリビューションの違いは何ですか

ディストリビューションで実行されている実質的にすべてのアプリケーションは、別のディストリビューションで利用できます(または簡単に移植できます)。結局のところ、それらはすべて非常によく似たUnixシステムです。ただし、何をしても、ディストリビューションのリリースサイクル、新しいバージョンのパッケージ化の速度、または単に公式フォーラムのルックアンドフィールを変更することはできません。たぶん例はあなたをよりよく示すでしょう:

私のソフトウェアの新しいバージョン、たとえばPython-3.3が数日でリリースされるのを待ち焦がれているとしましょう。さまざまなディストリビューションでどのように利用できるようになりますか?

  • ローリングリリースディストリビューション(Arch LinuxやGentooなど)は、リポジトリですぐに利用できるようになります。メンテナがパッケージ化し、基本的なテストが実行されるとすぐに利用可能になります。
  • エンタープライズディストリビューションは、おそらく「今後のバージョン」でそれを約束するでしょう。その間、それはまだ利用可能ですが、公式チャンネルにはありません。
  • Debianは、徹底的にテストされるまでは利用可能になりません。このプロセスには数年かかる場合があります。ただし、testingリポジトリを非常に簡単に公開できます。 (たとえば、Ubuntuは6か月ごとにこのバージョンリポジトリからバージョンを作成します)。

MintとUbuntuの本当の違いは何ですか。

ちなみに、私はUbuntuを2年以上使用しておらず、4年前の数か月間Mintをほとんど使用していなかったことを指摘しておく必要があります。私がここで言っていることはあまり正確ではないかもしれません。

Mintは完全にUbuntuに基づいているため、MintとUbuntuの違いは最小限です。もともと、MintはUbuntuの再パッケージ化でしたが、次の3つの違いがあります。

  • デフォルトのインストールで独自のテクノロジーを提供しました(Ubuntuでは提供されないもの)。
  • それは、基本的なUbuntuインストールの上にパッチを当てたタスクバーメニューやアプリインストーラーのようないくつかのグラフィカルツールを提供しました。
  • それは美学にもっと焦点を合わせていました。そのソルガンは今でも「自由から優雅さがやってきた」です。

数年前、UbuntuがUnityグラフィカル環境をプッシュしようとしたため、分裂はさらに広がり、Mintコミュニティはそれを拒否することについて大したことをしました。これがシナモンの誕生です。

私はそれを試したことがありませんが、誰かがCinnamonをUbuntuで実行し、UnityをMintで実行させても驚かないでしょう。私がしようとしている議論は次のとおりです。

MintとUbuntuのようなディストリビューションの違いは、ソフトウェア自体よりもコミュニティと微妙な選択に関するものです。

さらに読む

8
rahmu

それは良い質問です。私の理解では、理論的には可能ですが、期待どおりに機能しない可能性があります。 MintはUbuntuをベースにしていますが、UbuntuとMintは異なるソフトウェアリポジトリを使用しています。これらのリポジトリは、各ディストリビューションを一意にするものです。 MintまたはUbuntuデスクトップシステムでは、リポジトリを任意に設定できます。したがって、Mintとしてインストールされたシステムを使用して、すべてのリポジトリーをUbuntuリポジトリーに変更することができます。次に、すべてのパッケージを再インストールすると、基本的にUbuntuができます。ただし、UbuntuとMintはそれぞれ、コードに対して独自の微調整を行います(これは、Debianに基づいています)。したがって、Mintパッケージが1セットの調整を期待しているが、Ubuntuパッケージがまったく異なる調整セットを提供している場合、システムが非常に壊れてしまう可能性があります。

Ubuntuのさまざまな「バージョン」のいくつかでさえ、コードに本当に奇妙な調整が加えられています。これは、Canonicalがコードの正確性や相互運用性ではなく、使いやすさに重点を置いているためです。最近、Xfce4をUbuntu13.04「サーバー」インストールにインストールしようとしました。私は完全に壊れたシステムになってしまいました。それは完全な混乱でした。結局、通常のUbuntu 13.04をインストールしてから、その上にxfceをインストールしました。すべてが不思議に働いた。特定のメニューやプログラムは、まったく異なるエンジンでレンダリングされているように、さらに見栄えがしました。ただし、サーバーインストールで使用したものと同じ構成ファイルとパッケージをすべて使用しました(同じコンピューターで問題なく実行されるDebianインストールの場合)。

それはあなたにとってただのカノニカルな魔法です。彼らがそれを提供するようにすべてを残すならば、それは通常うまくいきます。ほんの少しでも触れると、物事が本当に奇妙になり始める可能性があります。

5
James Harris

使用しているパッケージマネージャーや現在出荷しているソフトウェアのバージョンなどの詳細ではなく、さまざまなディストリビューションの目標に焦点を当てます。それがあなたが求めているものであれば(それはUbuntuですが、以前はRed Hatでもありました)、良い目標はあなたをゼロからあなたのスペースのマーケットリーダーに連れて行くことができます、そしてそれが重要であると認識されればいくつかのかなり基本的な技術の決定が変わる可能性があります目標(UbuntuのUnityへの主張は一例かもしれません)。

  • Red Hat:元々(当時は非常に斬新でしたが)無料製品のユーザーに有料サービスを提供することで商業的に成功しました。最近では、実際にその製品の料金を請求します(現在のビジョンがどのように見えるかはわかりません)。大企業の顧客ベースは、変化に消極的であることを意味します-安定性はイノベーションよりも重要です。
  • Debian:自由と移植性。 「ユニバーサル」とは、多くのプラットフォームで実行しようとすることを意味します。オープンソースに重点を置くということは、クローズドソースコンポーネントを備えたものはすべて問題があることを意味します。安定性は重要であるため、かなり遅く、保守的です。
  • Fedora:元々、RedHatが商用化された後の無料バージョン。実際には、オープンソースの熱意におけるDebianに似ていますが、大胆な新しいことを試みる可能性が高くなります。 RedHatが新しい開発のテストベッドとして使用します。
  • CentOS:無料のRedHat。
  • Ubuntu:デスクトップの優位性。幅広いユーザーベースを引き付けるための使いやすさ(または少なくとも慣れやすさ)と標準化されたアプリスイート。 Debianテストに基づいて6か月の固定リリースサイクルを維持することにより、Debianの遅いペースを改善します。
  • Mint:UnityのないUbuntu。
  • Arch:ディストリビューション固有のパッケージングなどのオーバーヘッドを最小限に抑え、ローリングリリースモデルを備えた、各アップストリームパッケージの最新の安定バージョンを提供します。
  • Slackware:シンプルでUnixライクで、邪魔にならないようにします。
  • Gentoo:emergeと呼ばれる新しいパッケージマネージャーに基づくローカルパッケージコンパイルの詳細な制御。

このリストは明らかに要約されています。多くの人気のあるディストリビューションは、上記のバリアント、スピンオフ、またはフォークです。 ウィキペディアのLinuxディストリビューションのリスト はかなり包括的で、合理的に構成されています。現在の人気統計などの詳細については、 https://distrowatch.com/ も参照してください。

重要な結果は期待値管理です。普遍的な互換性と自由に焦点を当てたディストリビューションは、使いやすさや現在人気のある特定のギズモとの互換性をそれほど深刻に受け止めない場合があり、その逆もあります。レガシーハードウェアでの小さなフットプリントとパフォーマンスに焦点を当てたディストリビューションは、アニメーションデスクトップ効果のような目玉や、ビデオ編集、3Dシミュレーション、または最新でも限界を超えるフォトリアリスティックゲームのようなユースケースに多くの労力を費やしたくないでしょう。ハードウェアの生成。コンピューターを初めて使用するユーザーにシンプルで統一されたエクスペリエンスを提供することを目標とするディストリビューションは、最先端のファイルシステムカーネルドライバーがシステムで実行されているかどうかを気にしません。等。

これはまたあなたの具体的な質問への答えを知らせるはずです。 UnityをMintで実行するのはおそらくそれほど難しいことではありませんが、Ubuntuを実行するよりもUnityを実行したいのはなぜですか? CinnamonでUbuntuを実行することは明らかに可能ですが、Mintを再発明することになり、その努力はおそらく重要です。そうでなければ、なぜ彼らはそれを提供するためだけに別のプロジェクトをスピンオフしたのでしょうか?そしてこれは、ディストリビューションが特定のポリシーまたはアーキテクチャを技術的または戦略的に重要であると見なし、依存関係チェーンの上下にある他のコンポーネントに重要な影響を与える可能性があることを実際に示しています。これは、もちろん、試してみると多くの回避策が必要になることを意味します。とにかくそれを削除します。

それでも、これらは密接に関連する2つのディストリビューションです。ディストリビューション間でソフトウェアを移植しようとすると、目標、ポリシー、結果として生じるアーキテクチャ上の決定、およびパッケージ配布ネットワークなどの共有された遺産とインフラストラクチャ、サポートの標準などの点で、ソフトウェアが互いに離れるほど難しくなります。ハードウェア周辺機器または国際化など。

4
tripleee

Linuxディストリビューションは、カーネル以上のものです。これらは、カーネル上で実行されているすべてのアプリケーション(apt-getを含む)であり、initシステムなどの非常に低レベルのものも含まれます。実際、使用するアプリケーションの選択は、多くのディストリビューションの定義ポイントです。

MintからUbuntuをインストールすることはできません。それ以上に、Cadilacを車の店に持って行って、ポルシェにするように依頼することはできますが、Cadilacはそのままにしておきます。彼らは多くの労力と費用であなたのカディラックをポルシェに変えることができました:彼らは結局ボンネットの下に同じようなエンジンを持っています。同様に、理論的にはLinux MintインストールをUbuntuインストールに変換できます(これは試さないでください。これはlotの労力です)が、これらは2つの異なる製品です。 1つを別の場所と同じ場所にインストールすることは、意味がないか、不可能です。

0

一言で言えば、Linuxディストリビューションのアイデンティティを構成するものは次のとおりです。

  • カーネルの構成:はい:すべてのディストリビューションは同じソースコードから発生しますが、ソースコードとコンピューターで実行されている実際のバイナリの間には、「構成」、つまり選択を含むコンパイルプロセスがあります。

  • ハードウェアとカーネル間のインターフェイスを作成するソフトウェアの選択と、コンパイル時の構成

  • ユーザーであるあなたが使用するインターフェースを作成するソフトウェアの選択。これは、ディストリビューションのコードの99%が行くところです。繰り返しになりますが、それはすべて、どのソフトウェアが選択され、どのように構成およびコンパイルされるかということです。

これらの選択はすべて、すでに作成されて「パッケージ化」されているため、ディストリビューションでは非表示になっています。このようにして、Linuxディストリビューションは、ほとんどのユーザーに適していることを期待して構築されています。ただし、副作用として、ニーズに合わせて微調整されていないことがあります。

Linuxディストリビューションの作成方法について多くのことを学びたい場合は、独自のディストリビューションを作成することをお勧めします。 「LinuxFromScratch」プロジェクトは、私を大いに助けてくれました。

0
Vincent Achard