プログラムで(UBUNTU)ディストリビューションを作成できますか?

プログラムで(UBUNTU)ディストリビューションを作成できますか?

スタジオスース私がインストールするアプリケーションを選択して独自のディストリビューションを構築できます。ウィザードを実行すると、.ISOファイルが生成されます。

たとえば、Web開発用のディストリビューションが必要な場合は、MySqlまたはMariaDB、Eclipse PHP、およびEclipse JS、Xdebug、FireFox開発者エディション(およびその他のいくつか)を選択できます。

  • Ubuntuにこれらのサービスを提供するものはありますか?
  • 私が直接使用できるAPIはありますか?

そうでない場合、そのようなアプリやウィザードを作成する方法を説明できる人はいますか?私はプロのコーダーなので、可能であればできるはずです。

何とかGentooを自動化できますか? Ubuntuをエミュレートするには多くの努力が必要ですが(他のディストリビューションにも興味がありますが、Ubuntuは良いスタートになるでしょう)。

最初は、ファイルシステムとブートレコードだけがあればそこでISOを作成できると思いました。しかし、その中に実際にいくつかのアプリケーションをインストールしたいと思いました。これは、設定ファイル、シンボリックリンクなどが実際にインストールを実行することによって最もよく生成されることを意味します(それとは何ですか?)。

「直接構築(Ubuntu)Linux」ウィザードはありますか?そうでない場合はどうすればよいですか?

答え1

通常、特定のタスク用に特別に作成されていないほとんどすべてのディストリビューション(特別なプロダクションディストリビューションの例には、MythDora、BackTrack、SteamOS、LEAF、およびSystemRescueCDが含まれます)がすべての点でそうですが、これを行う方法があります。違いがあります。正確にどのように。通常、Linuxディストリビューションに応じてこれを行う3つの方法があります。

  1. リリースエンジニアリング中に(実際にインストールイメージを直接ビルドします)、これはソースコードベースのディストリビューションで最も一般的であり、Gentooがおそらく最良の例です(Gentooのインストールイメージはターゲットシステムに直接抽出できる圧縮タールボールです。リリースエンジニアリングツール(Catalyst)を使用すると、次のものを含むカスタムターボールを作成できます。

  2. インストールプロセス中にインストールする個々のパッケージセットを選択できます。 Arch、NixOS、およびAlpineはすべてこのアプローチを使用します(さまざまな方法で実行しますが、Archでは初期インストールコマンドに必要なパッケージを追加でき、NixOSでは最初のシステムビルド中に追加する構成項目を追加できます) 。 、Alpineを使用すると、既存のシステムにインストールしたように、インストール中に必要な各項目を手動で追加できます。

  3. インストールに使用するLive CDをカスタマイズします。これはSUSE Studioが行うことで、UbuntuやFedoraを含むほとんどのディストリビューション(ほとんどのディストリビューションは初期インストールでLive CDのパッケージリストをミラーリングするため)で取られるアプローチです。

Ubuntu(およびDebianインストーラを使用できる他のディストリビューション)では、方法2または方法3を使用できます。

2番目の方法では、yuuはテキストベースの「エキスパート」モードのインストールを実行する必要があり、インストールプロセス中にAptitude(APTおよびdpkg用のncursesベースのテキストUI)を起動するオプションを選択できます。ソフトウェアをインストールする項目を手動で指定します。パッケージ。

3番目の方法は残念ながら直接作業を行う必要がありますが、それほど難しくありません(少し退屈です)。私が見つけた最高のアドバイスは次のとおりです。https://help.ubuntu.com/community/InstallCDCustomization

これをすばやく簡単に実行できるツールを作成する方法については、次を参照してください。Ubuntuカスタムキット残念ながら、このプロジェクトはもはや存在せず、KIWI(SUSE StudioをサポートするSUSEサービス)とほぼ同じ機能を持っているようです。最新バージョンのUbuntuでは機能しない可能性がありますが、理論的にはこれらのツールを自分で作成したい場合は良い開始点を提供する必要があります。

関連情報