web-dev-qa-db-ja.com

どのようにしてLinuxディストリビューションを適切にフォークしますか?

Linuxディストリビューションを作成するにはどうしたらいいのかと思っていました。 LFSはやり過ぎのように思えますが、既存のディストリビューションをフォークしたいと思います。私はいくつかの「リスピン」アプリケーションがあることを知っていますが、これらはインストールする追加のアプリケーションを追加できるように見えるだけで、リポジトリや構成などを変更することはできないようです。

私が探しているのは、既存のディストリビューションを取得して大幅に変更する方法に関する知識です。古いカーネルを使用する必要があるかもしれませんが、FedoraまたはMintを変更することで理想的には変更できます。

一般的なアドバイスはありがたいですが、付属のファイルをどのように変更しますか?どのツールを使用していますか?どうやってそれをliveCDにラップしますか?リポジトリをどのようにホストしますか?

19
Not a Name

カスタマイズされたパッケージを含む独自のパッケージリポジトリを作成するだけで、ディストリビューションを作成できます。それがすべてのディストリビューションです。変更がどれだけ大きくても小さくてもかまいません。

したがって、ディストリビューションをフォークしたい場合は、ソースリポジトリ全体をコピーし、必要なパッケージをすべて変更して、リポジトリを独自のものとして公開します(コピー元のディストリビューションのライセンス契約に違反していないことを確認してください)。 。

それは定義上、新しいディストリビューションを作成しています。

12
Patrick

この質問 および この質問 を参照して、他の見方をしてください。

古典的な答えは「Linux From Scratchから始める」です。そして、それはそれを行う有効な方法です。たとえば、多くのディストリビューションはDebianから派生しています。多くのディストリビューションは、Red Hat、Slackware、またはevan Arch Linuxから派生しています。

このディストリビューションには本当に明確で防御可能な目標が必要だと思います。以前は、ディストリビューションには「1つのフロッピーに収まる」、「CDからライブで実行する」、「すべての問題を解決するパッケージマネージャーを開発する」などの目標がありました。

しかし、現代では十分かどうかはわかりません。ほぼすべての奇妙なひげのニッチには、それに伴うディストロがあります。ペネトレーションテストにはBackTrackがあり、完全に無料のgNewSenseがあります。ニッチ以上のものを用意する必要があります。それ以外の場合は、Linux From Scratchを実行するだけで済みます。

7
Bruce Ediger

Fedoraは実際にはvery単純です(ただし簡単ではありません)fork、または "remix" と呼ばれています。リポジトリの定義はFedora-releaseにあります。構成はアプリ自体にパッケージ化されているため、SRPMから構成を再構築する必要があります。フォークを作成したいパッケージを収集したら、createrepoを実行してそれらを実際のリポジトリーに変えます。次に、wikiにリストされているツールを使用して、リポジトリからメディアを生成できます。

答えられます! GNU/Linuxディストリビューションは、GNUと他の場所にあるソフトウェアのピースを統合したものです。少なくとも、変更、変更、再コンパイルするソフトウェアパッケージをフォークしたいそれら、そして選択したディストリビューションのフォークを再配布します

ただし、分岐するディストリビューションの商標と著作権には十分に注意する必要があるため、ではないで十分です。 (私は弁護士ではありません)しかし、ディストリビューションを親ディストリビューションに関連付けたくないので(おそらく)ディストリビューションを親ディストリビューションに関連付けたくないので、フォークしているディストリビューションのブランドを変更することをお勧めします(私はmわかりませんが、親ディストリビューションで問題が発生する可能性があります。特定のディストリビューションを明示的に分岐したと言いたい場合は、明示的に言及できますが、その商標は使用しないでください。繰り返しますが、私は弁護士)。

また、ディストリビューション用のソフトウェアをリポジトリに提供する方法を見つける必要があります。また、リポジトリをメインディストリビューションのリポジトリ以外に存在させるか、ディストリビューションの唯一のリポジトリにするかを決定し、壊れないようにする方法も見つける必要があります。誰かが更新したときの分布。

それとは別に、明示的に変更したい3つのファイルもあり、それらは/etc/issue(おそらく/etc/issue.netも)、/etc/os-releaseおよび/etc/lsb-release、最後の1つは、ディストリビューションのGRUBリストを変更するために変更する必要があります。必ずチェックアウトしてください/etc/default/grubGRUB_DISTRIBUTORGRUB_DISTRIBUTOR=lsb_release -i -s 2> /dev/null

さて、ソフトウェアの賢明な使い方は完全にあなた次第です(ソフトウェアの減算と追加)。しかし、新しいディストリビューションはこれで準備ができているはずです(この時点で何かを忘れたかどうかはわかりません)。

それでも、私の個人的な意見が必要な場合は、ディストリビューションを直接フォークするのではなく、 Linux from Scratch に従って新しいLinuxディストリビューションを作成し、パッケージマネージャーを上に投げます。ディストリビューションをフォークすることには有利なスタートがありますbut親ディストリビューションの依存関係について確信が持てないので、物事を削除することを決定した場合、それは非常に速く頭痛になるかもしれません。

2
NlightNFotis

Linuxになると、modifyingは非常に大規模なものになります。

特定のディストリビューションに対して追加、削除、または変更したいものに明確な境界を作成する必要があります。そうしないと、自分が取るすべてのステップで際限なく不思議に思うでしょう。 (経験から)。

0
Hanan N.