Ubuntu 14.04 LTSでキックスタートサーバーを作成するには、手順を追った手順が必要です
TL; DR;カスタムisoを再パックした後にisohybridを使用する
このUSBを作成するために、Ubuntu 14.04がインストールされた仮想マシンを使用しました。ここでの目標は、キーボードレイアウト、言語などの選択を必要としない起動可能なusbを作成することです。Ubuntuサーバーの自動インストールが必要です。
インストール用にカスタマイズするubuntuイメージを取得する必要があります。
wget http://releases.ubuntu.com/14.04/ubuntu-14.04.2-server-AMD64.iso
解凍したisoファイルをマウントする場所が必要になります。
Sudo mkdir -p /mnt/iso
マウントポイントを作成したら、マウントする必要があります。これにより、ISO内に保持されているファイルが公開されます。残念ながら、ファイルは読み取り専用になります
。 sudo mount -o loop ubuntu-14.04.2-server-AMD64.iso/mnt/iso
ファイルを変更するには、ファイルを変更できるディレクトリにコピーする必要があるため、ディレクトリを作成してからファイルをコピーします。
Sudo mkdir -p /opt/ubuntuiso Sudo cp -rT /mnt/iso /opt/ubuntuiso
新しい作業ディレクトリは/ opt/ubuntuisoになります
cd /opt/ubuntuiso
インストールプロセスで言語の選択を求められるのを避けるために、使用する言語を指定する必要があります。この場合、英語を話すのでenが使用されています。
echo en | Sudo tee isolinux/lang
ここで、実際にsystem-config-kickstartというプログラムでキックスタートファイルをビルドします。したがって、インストールされていることを確認してから実行します。
Sudo apt-get install system-config-kickstart system-config-kickstart
次に、GUIから
/opt/ubuntuiso/
にファイルを保存します。これにより、ks.cfgというファイルが保存されます。私のks.cfgは次のようになります#Generated by Kickstart Configurator #platform=AMD64 or Intel EM64T #System language lang en_US #Language modules to install langsupport en_US #System keyboard keyboard us #System mouse mouse #System timezone timezone America/Denver #Root password rootpw --disabled #Initial user user ubuntu --fullname "ubuntu" --iscrypted --password $1$MQ0zGB4W$pwjX8nolgr2RJch2Omamt. #Reboot after installation reboot #Use text mode install text #Install OS instead of upgrade install #Use CDROM installation media cdrom #System bootloader configuration bootloader --location=mbr #Clear the Master Boot Record zerombr yes #Partition clearing information clearpart --all --initlabel #Disk partitioning information part /boot --fstype ext2 --size 100 --asprimary part swap --recommended part / --fstype ext4 --size 1 --grow #System authorization infomation auth --useshadow --enablemd5 #Network information network --bootproto=dhcp --device=eth0 #Firewall configuration firewall --disabled #Do not configure the X Window System skipx %post #!/bin/bash exec < /dev/tty6 > /dev/tty6 chvt 6 echo 'Acquire::http { Proxy "http://10.2.4.27"; };' > /etc/apt/apt.conf.d/02proxy apt-get update apt-get -y upgrade apt-get -y dist-upgrade apt-get install -y git ansible openssh-server vim chvt 1
ポストスクリプトで少しハイジャックが行われます(
%post
の後のすべて)。 execで始まる行と次の行(chvt 6
)は、その後に実行されるコマンドからの出力をインストーラーに強制的に表示しています。これは、インストール中に読み込みバーが移動せず、インストーラーがハングしたように見えるためです。プロキシを実行する次の行は、ローカルネットワーク上のapt-cache用です。最後の行(chvt 1
)は、出力をメインインストーラーに戻します。ここで、他の質問を避けるためにpreseedファイルを追加する必要があります。
echo 'd-i partman/confirm_write_new_label boolean true d-i partman/choose_partition \ select Finish partitioning and write changes to disk d-i partman/confirm boolean true' | Sudo tee ks.preseed
次に、保存したファイルについてインストーラーに通知する必要があるため、isolinux/txt.cfgを変更する必要があります。まず、ファイルを書き込み可能にする必要があります。
Sudo chmod +w isolinux/txt.cfg
次に、次のセクションの追加行を置き換える必要があります
label install menu label ^Install Ubuntu Server kernel /install/vmlinuz append file=/cdrom/preseed/ubuntu-server.seed vga=788 initrd=/install/initrd.gz quiet --
追加行を次のように置き換えます
append file=/cdrom/preseed/ubuntu-server.seed initrd=/install/initrd.gz ks=cdrom:/ks.cfg preseed/file=/cdrom/ks.preseed --
ファイルを保存して終了します。また、ファイルを元の状態に戻すことを確認する必要があるため、書き込み権限を削除してください。
Sudo chmod -w isolinux/txt.cfg
次に、ブート可能なUSBの作成に使用する新しいisoファイルを作成します。
Sudo mkisofs -D -r -V "ATTENDLESS_UBUNTU" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o /opt/autoinstall.iso /opt/ubuntuiso
USBのブータブルisoを完成させるには、ハイブリッド化する必要があります。
Sudo isohybrid /opt/autoinstall.iso
ハイブリッド化した後、USBドライブにプッシュできます。仮想マシンのusbドライブは
/dev/sdb
に表示されますが、正しいラベルを使用する必要があるため、それに応じてXを交換してくださいusbドライブがマウント解除されていることを確認してください。Sudo umount /dev/sdX
そして最後に、ISOをUSBドライブにプッシュします。 (**これはターゲットデバイス上のデータを破壊することに注意してください-あなたが何をしているか知っていることを確認してください)
Sudo dd if=/opt/autoinstall.iso of=/dev/sdX
これで、USBドライブをインストールする準備ができました!
完全なソリューション:
CDをリマスターします。つまり、非グラフィカルUbuntuインストールISO(サーバーまたは代替インストールCD)をダウンロードしてマウントします。この場合、Ubuntu 14 ISO。
Sudo mkdir -p /mnt/iso
Sudo mount -o loop ubuntu.iso /mnt/iso
関連ファイルを別のディレクトリにコピーします
Sudo mkdir -p /opt/ubuntuiso
Sudo cp -rT /mnt/iso /opt/ubuntuiso
言語選択メニューが表示されないようにします
cd /opt/ubuntuiso
echo en | Sudo tee isolinux/lang
GUIプログラムを使用して、ks.cfg
という名前のキックスタートファイルを追加します
Sudo apt-get install system-config-kickstart
system-config-kickstart # save file to ks.cfg
インストール用のパッケージを追加するには、%package
セクションをks.cfg
キックスタートファイルに追加し、ks.cfg
ファイルの最後に次のように追加します。
%packages
@ ubuntu-server
openssh-server
ftp
build-essential
これにより、ubuntu-server「バンドル」がインストールされ、openssh-server
、ftp
、およびbuild-essential
パッケージが追加されます。
プレシードファイルを追加して、他の質問を抑制します
echo 'd-i partman/confirm_write_new_label boolean true
d-i partman/choose_partition \
select Finish partitioning and write changes to disk
d-i partman/confirm boolean true' | Sudo tee ks.preseed
キックスタートおよびpreseedファイルを使用するようにブートコマンドラインを設定します
Sudo nano isolinux/txt.cfg
検索する
label install
menu label ^Install Ubuntu Server
kernel /install/vmlinuz
append file=/cdrom/preseed/ubuntu-server.seed vga=788 initrd=/install/initrd.gz quiet --
ks=cdrom:/ks.cfg
およびpreseed/file=/cdrom/ks.preseed
を追加行に追加します。 quiet
とvga=788
の単語を削除できます。次のようになります
append file=/cdrom/preseed/ubuntu-server.seed initrd=/install/initrd.gz ks=cdrom:/ks.cfg preseed/file=/cdrom/ks.preseed --
次に、新しいisoを作成します
Sudo mkisofs -D -r -V "ATTENDLESS_UBUNTU" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o /opt/autoinstall.iso /opt/ubuntuiso
それでおしまい。入力すると、Ubuntuシステムを起動するとインストールされるCDがあります。
必要に応じてks.cfgおよびpreseedファイルを微調整します。