独自のディストリビューションを作成するために、Ubuntuのコアカスタマイズを行いました。しかし、インストール可能なISOを作成する方法がわかりません。これを行う方法を知っている人はいますか?
答え1
2つのステップ:
- 変更をパッケージ化します。
- ISOにパッケージを含めます。
デザイン包装
私はあなたのパッケージに5つの項目が含まれてほしい。
- 新しい設定ファイル
- 既存の構成ファイルのスクリプトのカスタマイズ
- スクリプトコマンド
- 必須の依存関係
- 便利な依存性
新しいプロファイルは、ソフトウェアパッケージの一部として簡単にインストールできます。バッグに追加するだけです。/etc/sudoers
またはなどのファイルを変更した場合は、変更をまたは/etc/apt/sources.list
に適用してみてください。 sudoで配布されているバージョンを上書きすることを期待して、独自のバージョンを配布しないでください。パッケージがクラッシュしてインストールが失敗します。/etc/sudoers.d/
/etc/apt/sources.list.d/
/etc/sudoers
既存の設定ファイルを本当に変更する必要がある場合は、そのファイルをスクリプトに追加してくださいpostinst
。prerm
スクリプトの変更を元に戻してください。ここにいくつかの例があります。
echo "192.168.1.1 router" >> /etc/hosts
sed 's/PasswordAuthentication yes/PasswordAuthentication no/' -i /etc/ssh/sshd_config
コマンド(useradd
またはrealm
)を実行する必要がある場合postinst
。
このパッケージに依存関係を追加することもできます。を変更した場合は、スクリプトが機能する前にファイルがインストールされていることを確認する/etc/ssh/sshd_config
必要があります。openssh-server
各ファイルを所有するパッケージを見つけることができますdpkg -S /path/to/file
。
カスタム設定で目的のパッケージに依存関係を追加することもできます。 chromiumが好きで、この画像を使用するたびにchromiumをインストールする必要があることを知っている場合は、chromiumに依存関係を追加して、後で手動でインストールするapt-get
必要がないようにしてください。
梱包の作成
ソフトウェアパッケージの作成に使用できるいくつかのツールは次のとおりです。dh_make
またはcpack
。
dh_make
お気に入りのファイルを追加できるようにテンプレートが作成され、このテンプレートはファイルを生成するためにdpkg-buildpackage
使用されます。*.deb
すべてのオプションを理解するのはかなり難しく、研究と理解に時間がかかりますが、これはデフォルトのDebian / Ubuntuパッケージが生成される方法です。
cpack
ファイルを使用してCMakeLists.txt
ルールを定義します。次のコマンドを使用してパッケージにファイルを追加します。install()
コマンドとCPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
役割を定義するのに役立ちます。特に簡単なパッケージを使用すると、学習が簡単になりますcpack
。
パッケージがある場合は、新しいUbuntuを起動し(chrootまたはvmを使用して)、dpkg -i
システムが要件を満たしていると成功しました。これで、基本的なUbuntuインストールを実行し、この単一のパッケージをインストールしてカスタマイズできます。
ISOパッケージ
しかし、さらに一歩進みたいと思います。そのコマンドを実行するのではなく、カスタム機能を使用したいのです。あなたはできます!
DebianやUbuntuと同じ方法でインストールCDを作成する必要がありますが、ディスクに独自のパッケージを追加して自動的にインストールするように設定する必要があります。
SimpleCDDそれはおそらくDebianベースのISOを作成する最も簡単なツールでしょう。しかし、Ubuntuでどれくらいうまくいくかはわかりません。 LiveCDのカスタマイズ最も可能性の高い解決策のようです。