新しいLinuxディストリビューションを開始する方法は?[閉まっている]


28

私の友人の何人かと私は、新しいLinuxディストリビューションを始めることに興味があります。どうすればいいですか?何を計画する必要がありますか?

バックストーリー

私は、Linuxのシステム管理者/インプリメンターのコミュニティを代表しています。

  • 特定の「リーン」カーネル構成
  • 「現場のニーズ」に合ったパッケージ管理
  • 「ユースケース」に最適化されたバイナリパッケージ
  • Xレスシステム

要点:Para-Virtualized Production Serversとして排他的に実行するには、特別に構成された製品品質のLinuxディストリビューションが必要です。VM化されたサーバーが必要になるたびにすべてのフープとループをジャンプするのではなく、環境に最適化された準準備システムに非常に似ています。

これらのVMは実稼働サーバーであるため、安定性が必須であり、正直なところ、現在認識している利用可能なパッケージ管理システムは保証を提供するものではありません。ZyppそしてConary私たちのニーズに最も近いものですが、やはりいくつかのポイントを見逃しています。


1
正確には、パッケージマネージャーに何が必要ですか?つまり、あなたのニーズに対して、APT、Zypp、Conary、Yumの弱点は何ですか?
シェパン

3
(1)単純化された「testing-vs-stable」ではなく複数レベルの「安定性」(2)スマートな依存関係ソルバー(3)マルチバージョン化(in)限られた感覚、Gentoo PortageのSLOTのようなもの(4)ロールバック(オプション、VMハイパーバイザーのスナップショット機能によるが、それでも良い)
ペポルアン

1
複数レベルの安定性が何を意味するのか説明できますか?
シェパン

2
あるaptitudeのは、高度な十分なソルバー依存?
シェパン

10
設定したすべての要件は、既存のディストリビューションを選択し、独自の定義されたリリースサイクルで独自のリポジトリ(おそらく代替パッケージマネージャーを使用)を作成するだけで満たされます。しかし、そのオプションを拒否し、LFSオプションも拒否しました。また、誤ってパッケージマネージャーを重要な安定性要因と見なします。これは、システム全体の安定性とはほとんど関係のない単なるヘルパーツールです。
forcefsck

回答:


22

あなたは見たいかもしれないゼロからのLinux

Linux From Scratch(LFS)は、完全にソースからカスタマイズした独自のLinuxシステムを構築するための段階的な手順を提供するプロジェクトです。


ほとんど、しかし完全ではありません。これは、自分のニーズに合わせてカスタムLinuxを作成するようなものです。しかし、私のコミュニティは、カスタムカーネル、カスタムinit、カスタムパッケージ管理など、フレームワーク全体を望んでいます。
ペポルアン

4
あなたが説明したように、LFSから始めてその上にフレームワーク全体を構築することは、実際には「独自のLinuxディストリビューションの開始」の定義です。
forcefsck

2
@pepoluan:それに関するガイドはありません。実行中のシェルとコアユーティリティをインストールすると、オペレーティングシステムが完成します。残りについては、他のディストリビューションからコピーするか、すべてを再発明します。いずれにせよ、新しいディストリビューションを作成するには多くの作業が必要であり、その方法についての簡単な答えはありません。
forcefsck

1
@forcefsckは警告をありがとう:) ...私は同意します、それは間違いなく主要な仕事になるでしょう。「戦争の話」などがなく、間違いを繰り返さないようにするだけでは残念です。
ペポルアン

2
@pepoluan戦争の話があるに違いない、ただきれいにパッケージ化されているわけではない。たとえば、さまざまなディストリビューションの初期のメーリングリストのアーカイブをご覧ください。
シェパン

9

少なくともgccまたは別のCコンパイラを実行するのに十分な独自のディストリビューションを「ブートストラップ」するには、おそらく別のディストリビューションからの最小限の実行システムが必要です。次に、システムの基本的な「パッケージがインストールされていない」状態を構成するコアライブラリ(libcを含む)とソフトウェアを決定することから始める必要があります。次に、これらのライブラリとソフトウェアのソースを取得してコンパイルし、すべてのソフトウェアが必要なライブラリを見つけられることを確認して、低レベルのベース環境の作成を開始します。

基本的にはあなたのブートストラップ環境は、実行中のカーネルと絶対最小あなたは基本的なシェルを取得する必要があり、Cコンパイラ、など基本的なことよりも何もないだろうrmcptarその作業のようなとか。次に起動して実行する必要があるのはPerlです。ベースシステムを作成したら、それを永続化し、システムを初期ブートからコンパイラーで使用可能なシェルに移動させるブートスクリプトを作成する必要があります。

次に、パッケージシステムとフォーマットを設計/作成し、パッケージ化するソフトウェアにソースコードをダウンロードし、コンパイルしてパッケージ化し、パッケージ用の堅牢な配布システムを設計する必要があります。これはどれも些細なことではありません。がんばろう。


ああ、とても有益です、ありがとう!ええ、私はこれが単純な試みであるという幻想はありません。ラッキー私は一人ではありません。コミュニティを集めて、誰が何をするのかを
論議

0

デフォルトのアプリケーションのセットだけが必要な場合は、いくつかの簡単なツールを使用して、ubuntuなどの既存のディストリビューションをカスタマイズできます。http://maketecheasier.com/reconstructor-creating-your-own-ubuntu-distribution/2008/07/05


うーん...そうでもない。ご存知のように、私は、特にカーネル構成とパッケージ管理に関して、既存のディストリビューションでニーズを実際に満たしていないユーザーのコミュニティの一員です。私たちは皆Linuxに精通しており、自分のディストリビューションを作成するのに十分な自由時間を持っています。
ペポルアン

0

パッケージマネージャーに必要なものを実際に指定しませんでした。

ただし、OpenSuseはビルドサービスを提供します。このサービスでは、任意のパッケージ(カーネルを含む)を簡単にカスタマイズでき、ディストリビューション全体を作成することもできます。

http://en.opensuse.org/Portal:KIWI

https://build.opensuse.org


-1

そこにすべてのディストリビューションと簡単な説明と概要を見ることができるサイトがあります。したがって、最適なものを選択するのに役立ちます:

http://distrowatch.com/

しかし、開始するには、UbuntuまたはKubuntuを使用することをお勧めします。とても簡単で使いやすいです。


非常に安定した仮想マシン環境の最適化を求める際のubunutとkubuntuは、distroウォッチでの使用は確かに良い考えではありません。
キウィ

私は彼に彼らにもっと慣れるための出発点を与えるためだけにそれを提案します。
shgnInc
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.