回答:
ダウンロード
この場所からUbuntuサーバーISOをダウンロードします。32ビットまたは64ビットを選択できます。サーバーエディションのファイル名は次のようになります。
ubuntu-13.10-server-i386.iso
ubuntu-13.10-server-amd64.iso
次の手順では13.10 64ビットバージョンを想定しているため、ダウンロードしたコマンドを調整します。プロジェクトの改善が必要な場合に備えて、元のダウンロードから複数の新しいバージョンを作成できるように、ダウンロードのコピーを保管してください。また、~/Downloads/
すべての作業を行うために使用すると仮定します。
初期設定
これにより、ダウンロードディレクトリ内に2つのディレクトリ「iso」と「isoNew」が作成され、ISOがマウントされ、「iso」から「isoNew」にコンテンツがコピーされて新しいプロジェクトが開始されます。
これをテキストファイルに入れて保存し、実行可能にして実行します。
# Ubuntu custom server
# rinzwind askubuntu.com
# topic: http://askubuntu.com/questions/409607/how-to-create-a-customized-ubuntu-server-iso/409651#409651
cd ~/Downloads/
mkdir -p iso newIso
sudo mount -o loop ./ubuntu-13.10-server-amd64.iso ./iso
sudo cp -r ./iso/* ./newIso/
sudo cp -r ./iso/.disk/ ./newIso/
sudo umount ./iso/
cd ~/Downloads/newIso/
mount: block device /discworld/Downloads/ubuntu-13.10-server-amd64.iso is write-protected, mounting read-only
これがどのように見えるかのサンプル画像:
実行中:
結果:
ブートメニューオプションの追加
インストーラのメニューオプションは、に保存されているisolinux/txt.cfg
、あなたはこれらの間に新しいオプションを作成することができますdefault install
し、label install
。
これにより、「カスタムUbuntuサーバーのインストール」という新しいオプションが作成され、キックスタートファイルが追加されます(キックスタートファイルはオプションの変更に使用されます。以下で説明します)。
label myownoption
menu label ^Install Custom Ubuntu Server
kernel /install/vmlinuz
append file=/cdrom/preseed/ubuntu-custom.seed initrd=/install/initrd.gz quiet ks=cdrom:/preseed/ks-custom.cfg --
myownoption
オプションを識別するために使用できる単なるラベルです。default install
しdefault myownoption
。例:
ファイルの編集(nanoを使用しましたが、可能であればgedit、vim、または別のエディターを使用します)。このファイルに追加したのは、「lampserver」をラベルとして使用し、シードも「lampserver」という名前になります。
キックスタート(構成ファイルのグラフィカルなセットアップ)
Red Hat Kickstartのインストール方法は、主に(排他的ではありませんが)Red Hat Enterprise Linuxオペレーティングシステムによって使用され、オペレーティングシステムの無人インストールと設定を自動的に実行します。
Ubuntuのpreseeding / kickstartに関するドキュメント。Ubuntuでは、キックスタート(およびpreseed)のサポートが制限されています。不足しているものの1つはpreseedのグラフィカルインターフェイスです。Kickstartにはこのためのオプションがあります(画像を参照)が、Ubuntuでは機能しないようです。ただし、これは手動で行うことができます(以下の事前シードを参照)。
キックスタートのインストールと開始:
sudo apt-get install system-config-kickstart
ksconfig
**警告**
キックスタートはUbuntu 13.10でバグがあり、起動時にエラーが発生します。ここに修正があります。コメント内のパッチをテキストファイルに入れて保存し(「パッチ」と名付けました)、コミットします。
その後はksconfig
機能し、多くのオプションを操作できる構成エディターが起動します。
設定可能なすべてのオプションの説明については、Red Hat Linux 7.2:オフィシャルRed Hat Linuxカスタマイズガイドを参照してください。
完了したら、変更をks.cfg
ファイルに保存し、変更するISOにコピーします。
sudo cp ks.cfg ~/Downloads/newIso/preseed/ks-custom.cfg
ks-custom.cfg
に保存することもできます~/Downloads/newIso/preseed/
。資格情報を挿入した例。sudo ksconfig
コマンドラインから始めました。
そして、プロジェクトに保存します:
事前シード(構成ファイルの手動セットアップ)
Preseedは、インストールの実行中に手動で回答を入力することなく、インストールプロセス中に尋ねられた質問に対する回答を設定する方法を提供します。これにより、ほとんどのタイプのインストールを完全に自動化することができ、通常のインストールでは利用できない機能も提供します。
通常のインストールのpreseedを独自のラベルにコピーします。
sudo cp newIso/preseed/ubuntu-server.seed newIso/preseed/ubuntu-myownoption.seed
myownoption
を使用したものに変更します。設定を変更します。を使用debconf-get-selections
して、debconf-utils
特定のソフトウェアで使用できるパラメーターを調査できます。
これの設定例:
そして、taskselでインストールするランプサーバーを追加します。
パッケージ「openssh」と「build-essential」を追加する場合は、これをシードファイルに含めることができます。
d-i pkgsel/include string openssh-server build-essential
opensshの例:
debconf-get-selections | grep openssh
openssh-server ssh/vulnerable_host_keys note
openssh-server ssh/use_old_init_script boolean true
openssh-server ssh/encrypted_host_key_but_no_keygen note
openssh-server ssh/disable_cr_auth boolean false
これらのオプションをに追加できますcustom-iso/preseed/ubuntu-myownoption.seed
。
preseedファイルの最後に、次のようなパッケージ(ランダムな例)を追加できます。
%packages openssh-server mysql-server apache2
オフラインインストール
パッケージを追加し、それらがISOにない場合、インストーラーはそれらをリポジトリからダウンロードします。アクティブなインターネット接続がない場合、これは問題になるため、これらのパッケージ(および依存関係)をすべてプロジェクトに追加し、DVDに書き込む必要があります。幸いなことに、通常のサーバーISOには多くのスペースがありますが、注意してください。CDやDVDのサイズには制限があります。
必要なすべてのDEBパッケージをダウンロードして、に保存します~/Downloads/
。これら2つのディレクトリは、新しいISOで必要です。
mkdir -p ~/Downloads/newIso/dists/stable/extras/binary-i386
mkdir -p ~/Downloads/newIso/pool/extras/
sudo cp ~/Downloads/*.deb newIso/pool/extras/
これにより、プロジェクトが新しいパッケージで更新されます。
cd ~/Downloads/newIso
sudo apt-ftparchive packages ./pool/extras/ > dists/stable/extras/binary-i386/Packages
sudo gzip -c ./dists/stable/extras/binary-i386/Packages | tee ./dists/stable/extras/binary-i386/Packages.gz > /dev/null
cd ~/Downloads/
ISOを作成する
cd ~/Downloads/
sudo md5sum `find ! -name “md5sum.txt” ! -path “./isolinux/*” -follow -type f` > md5sum.txt
sudo mkisofs -J -l -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -z -iso-level 4 -c isolinux/isolinux.cat -o ./ubuntu-13.10-myowninstall-amd64.iso -joliet-long newIso/
結果:
そして今、あなたは実際にそれを焼いてインストールすることによってそれを試すことができます。仮想マシンとして使用することをお勧めします。最初に作成されたISOをテストする方が高速になるためです(そうでなければ、再起動を続けます)。
VirtualBoxをインストールすると、次のメニューが表示されます。
バグハンティング
インストール中に1つの問題が発生しました:デフォルトは選択されていません。
シャディン。コメントのシードファイルから
### Package Selection
tasksel tasksel/first multiselect Custom-Ubuntu-Server
d-i pkgsel/include string openssh-server build-essential
%packages openssh-server postgresql-9.1 postgresql-client-9.1 postgresql-contrib-9.1 libpq-dev postgresql-server-dev-9.1 pgadmin3
おそらく次のようにする必要があります。
### Package Selection
tasksel tasksel/first multiselect lamp-server
d-i pkgsel/include string openssh-server build-essential postgresql-9.1 postgresql-client-9.1 postgresql-contrib-9.1 libpq-dev postgresql-server-dev-9.1 pgadmin3
LAMPサーバー(Apache、Mysql、Phpなど)が不要なタスクセル行を捨てる