Ubuntu Desktop 16.04.1 LTSを完全に無人でインストールしたい。 ISO CDを挿入して、立ち去ります。
私はこの投稿に出会いました ここ それは私が必要としていたものに近かったが、Ubuntu Serverのためだったので私が必要としていたものを完全には達成しなかった。この投稿では、「非グラフィカル」Ubuntuインストールの使用を推奨していますが、Ubuntuデスクトップ用の非グラフィカルインストールは見つかりませんでした。 Ubuntu Desktop 16.04.1 LTSで手順を調整し、動作させようとしました。
次のリソースをすべて使用しました...
Askubuntuは2つ以上のリンクを許可しないため、リソースをすべて含めることはできません。それはあまり役に立たないので、ここにリストを示します。
現在、無人インストールを作成しましたが、それが正しいかどうかはわかりません。つまり、isolinux/isolinux.cfgを編集したはずです。
私がリンクした投稿とUbuntu Desktopイメージには多くの違いがありました。ここに私の解決策があります:
内容を別のディレクトリにコピーし、関連ファイルを編集できるように、Ubuntu ISOをマウントしました。
mkdir -p /mnt/iso
mount -o loop ubuntu.iso /mnt/iso
次に、ISOファイルを別のディレクトリにコピーして編集しました。
mkdir -p /opt/ubuntuiso
cp -rT /mnt/iso /opt/ubuntuiso
isolinux/isolinux.cfg
ファイルを編集し、内部のすべてを次のものに置き換えました。
default live-install
label live-install
menu label ^Install Ubuntu
kernel /casper/vmlinuz.efi
append file=/cdrom/ks.preseed auto=true priority=critical debian-installer/locale=en_US keyboard-configuration/layoutcode=us ubiquity/reboot=true languagechooser/language-name=English countrychooser/shortlist=US localechooser/supported-locales=en_US.UTF-8 boot=casper automatic-ubiquity initrd=/casper/initrd.lz quiet splash noprompt noshell ---
追加行は非常に長いため、読みやすくするために、使用したすべてのオプションを以下に示します。
file=/cdrom/ks.preseed
auto=true
priority=critical
debian-installer/locale=en_US
keyboard-configuration/layoutcode=us
ubiquity/reboot=true
languagechooser/language-name=English
countrychooser/shortlist=US
localechooser/supported-locales=en_US.UTF-8
boot=casper
automatic-ubiquity
initrd=/casper/initrd.lz
quiet
splash
noprompt
noshell
完全に無人インストールを行うには、これらすべてのブートパラメータが必要であることがわかりました。 Ubuntu Serverの場合、異なる場合があります。
多くのpreseedファイルを使用して作成しようとしましたが、複雑になるほどエラーが発生する可能性が高くなります。これは現在、上記のisolinux.cfg
ファイルで動作する単純なpreseedファイルです。
### Partitioning
d-i partman-auto/disk string /dev/sda
d-i partman-auto/method string regular
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-md/device_remove_md boolean true
d-i partman-auto/choose_recipe select atomic
# This makes partman automatically partition without confirmation
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true
# Locale
d-i debian-installer/locale string en_US
d-i console-setup/ask_detect boolean false
d-i console-setup/layoutcode string us
# Network
d-i netcfg/get_hostname string unassigned-hostname
d-i netcfg/get_domain string unassigned-domain
d-i netcfg/choose_interface select auto
# Clock
d-i clock-setup/utc-auto boolean true
d-i clock-setup/utc boolean true
d-i time/zone string US/Pacific
d-i clock-setup/ntp boolean true
# Packages, Mirrors, Image
d-i base-installer/kernel/override-image string linux-server
d-i base-installer/kernel/override-image string linux-image-AMD64
d-i mirror/country string US
d-i mirror/http/proxy string
d-i apt-setup/restricted boolean true
d-i apt-setup/universe boolean true
d-i pkgsel/install-language-support boolean false
tasksel tasksel/first multiselect ubuntu-desktop
# Users
d-i passwd/user-fullname string Liason
d-i passwd/username string liason
d-i passwd/user-password-crypted password [crpyt 3]
d-i passwd/root-login boolean true
d-i passwd/root-password-crypted password [crypt 3]
d-i user-setup/allow-password-weak boolean true
# Grub
d-i grub-installer/grub2_instead_of_grub_legacy boolean true
d-i grub-installer/only_debian boolean true
d-i finish-install/reboot_in_progress note
# Custom Commands
暗号化されたパスワードは含めなかったため、このpreseedファイルを試してみる場合は、暗号化されたパスワードに変更してください。 ここ は、パスワードを作成する3つの方法です。
/opt/ubuntuiso/
ディレクトリから新しいISOを作成しました。
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
最終的にVirtualboxでテストし、完全無人インストールを作成しました。
isolinux/isolinux.cfg
ファイルを編集する必要がありますか?
他の投稿では、彼らはisolinux/txt.cfg
ファイルを編集し、それを機能させることができるようです。 isolinux/txt.cfg
を使用しようとして1時間ほど試しましたが、うまくいきませんでした。
パーティションを直接指定するより複雑なパートマンレシピがありますか?または、機能するLVMセットアップですか?単純なLVMセットアップを使用しようとしましたが、再起動後に起動せず、黒い画面が表示されるだけでした。また、ドキュメントにリストしたpreseedの例のいずれも機能しませんでした。
助けてくれてありがとう。
私はもともと他の解決策があるかどうかを確認するために質問をしてからしばらく時間を与えましたが、待機中に思いついた解決策がこれまで見てきた唯一の実行可能な解決策のようです。
これが多くの混乱の原因だったので、私はそれを解決しようとします。私が特に無人のUbuntu 16デスクトップイメージインストールを作成しようとしたときに、いくつかの答えがUbuntu 16 Serverイメージを使用しようとしたようです。この問題は、d-i(debianインストーラー)とユビキタスの実装の違いが原因で発生します。サーバーイメージは注意を払ってpreseedファイル内のすべてのd-iコマンドを使用するため、私が尋ねた質問のほとんどはサーバーイメージとは無関係です。ただし、デスクトップイメージのインストーラーとしてのユビキタスの実装により、多くのd-iコマンドは無視され、非常に制限され、多くのドキュメントが欠落しています。
無人Ubuntuデスクトップ16.04 LTS isoを正常に作成するためのプロセスを次に示します。
関連ファイルを編集できるように、ISOファイルをマウントする必要があります。
mkdir -p /mnt/iso
mount -o loop ~/Downloads/ubuntu-16.04.1-desktop-AMD64.iso /mnt/iso
マウントされたISOのファイルを別のディレクトリにコピーして、編集できるようにする必要があります。好きなディレクトリを自由に使用してください。別のハウツーのために/ optディレクトリを選択しましたが、/ tmpも簡単に使用できます。
mkdir -p /opt/ubuntuiso
cp -rT /mnt/iso /opt/ubuntuiso
ここでは、/ opt/ubuntuiso/isolinux/txt.cfgファイルを編集し、ブートパラメーターをカスタマイズして、preseedファイルを含む完全無人インストールを取得します。任意のエディターを使用します。
#default live
#label live
# menu label ^Try Ubuntu without installing
# kernel /casper/vmlinuz.efi
# append file=/cdrom/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.lz quiet splash ---
#label live-install
# menu label ^Install Ubuntu
# kernel /casper/vmlinuz.efi
# append file=/cdrom/preseed/ubuntu.seed boot=casper only-ubiquity initrd=/casper/initrd.lz quiet splash ---
#label check
# menu label ^Check disc for defects
# kernel /casper/vmlinuz.efi
# append boot=casper integrity-check initrd=/casper/initrd.lz quiet splash ---
#label memtest
# menu label Test ^memory
# kernel /install/mt86plus
#label hd
# menu label ^Boot from first hard disk
# localboot 0x80
default live-install
label live-install
menu label ^Install Ubuntu
kernel /casper/vmlinuz.efi
append file=/cdrom/ks.preseed auto=true priority=critical debian-installer/locale=en_US keyboard-configuration/layoutcode=us ubiquity/reboot=true languagechooser/language-name=English countrychooser/shortlist=US localechooser/supported-locales=en_US.UTF-8 boot=casper automatic-ubiquity initrd=/casper/initrd.lz quiet splash noprompt noshell ---
いくつかのことに注意してください。
既存のpreseedファイルは注意して使用してください!うまく機能するものは見つかりませんでした。これは、それらが存在しないと言っているのではなく、かなり多くの検索で何も見つかりませんでした。 preseedファイルを設定するには多くの方法がありますが、多くのオプションが無視されることがわかりました。これについては、上でリンクしたUbiquity Documentationおよびpreseed/late_command vs ubiquity/success_commandのリンクで説明しました。上記のtxt.cfgファイルで動作する簡単な作業preseedファイルを含めています。
netcfg/get_hostname stringおよびnetcfg/get_domain stringの場合は、任意の名前を付けることができます。スクリプトプロセスを使用して後で変更するため、unassigned-hostnameとunassigned-domainを使用しました。
インストール後に実行するカスタムコマンドについては、次を使用する必要があります。
ubiquity ubiquity/success_command string
実行するコマンドが続きます。 "; \"で文字列を継続し、インストールされた新しいシステムに関連するものを変更するために"/ target"を使用することに注意してください。
# Partitioning
# Old style using d-i command
#d-i partman-auto/disk string /dev/sda
#d-i partman-auto/method string regular
#d-i partman-lvm/device_remove_lvm boolean true
#d-i partman-md/device_remove_md boolean true
#d-i partman-auto/choose_recipe select atomic
# Newer ubiquity command
ubiquity partman-auto/disk string /dev/sda
ubiquity partman-auto/method string regular
ubiquity partman-lvm/device_remove_lvm boolean true
ubiquity partman-md/device_remove_md boolean true
ubiquity partman-auto/choose_recipe select atomic
# This makes partman automatically partition without confirmation
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true
# Locale
d-i debian-installer/locale string en_US
d-i console-setup/ask_detect boolean false
d-i console-setup/layoutcode string us
# Network
d-i netcfg/get_hostname string unassigned-hostname
d-i netcfg/get_domain string unassigned-domain
d-i netcfg/choose_interface select auto
# Clock
d-i clock-setup/utc-auto boolean true
d-i clock-setup/utc boolean true
d-i time/zone string US/Pacific
d-i clock-setup/ntp boolean true
# Packages, Mirrors, Image
d-i mirror/country string US
d-i apt-setup/multiverse boolean true
d-i apt-setup/restricted boolean true
d-i apt-setup/universe boolean true
# Users
d-i passwd/user-fullname string User
d-i passwd/username string user
d-i passwd/user-password-crypted password yourEncryptedPasswd
d-i passwd/user-default-groups string adm audio cdrom dip lpadmin Sudo plugdev sambashare video
d-i passwd/root-login boolean true
d-i passwd/root-password-crypted password rootEncryptedPasswd
d-i user-setup/allow-password-weak boolean true
# Grub
d-i grub-installer/grub2_instead_of_grub_legacy boolean true
d-i grub-installer/only_debian boolean true
d-i finish-install/reboot_in_progress note
# Custom Commands
ubiquity ubiquity/success_command string \
sed -i -e 's/dns=dnsmasq/#dns=dnsmasq/' /target/etc/NetworkManager/NetworkManager.conf ;\
cp -a /cdrom/scripts/ /target/root/ ;\
cp -a /cdrom/salt/ /target/root/
説明のために残したこれらのことに注意してください。これらは、preseedコマンドでは異なる可能性があります。
ISOを作成して、preseedファイルをテストできるようにします。使用する場合や独自に作成する場合は、これがテストされる必要があります_ _はプロセスが失敗する場所です。簡単なテスト用のスクリプトを作成しましたが、http://でホストされているpreseedファイルにpreseedファイルを指定して、そのようにすばやくテストすることができます。
mkisofs -D -r -V "UNATTENDED_UBUNTU" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o /tmp/ubuntu16-desktop-unattended-install.iso /opt/ubuntuiso
出力名と保存先のディレクトリを自由に変更してください。
Virtualboxなどでテストし、それが機能したら、DVDに書き込むことをお勧めします。これで、動作する無人のUbuntu Desktop 16.04 LTSインストールDVDができました。
私はこれをすべて一度に書きましたが、途中でエラー、タイプミス、または混乱したものがあるかもしれません。誰かがこれを試みた場合、プロセスでエラーが発生した場合はお知らせください。独自のpreseedファイルを作成する場合、ユビキタスはpreseedファイル内の特定のことを無視して実行することを好むため、無人インストールが壊れて動作しない理由におそらく答えられないことを覚えておいてください。これが誰かに役立つことを願っています。
ご覧ください: https://github.com/core-process/linux-unattended-installation
このプロジェクトは、Linuxの最小セットアップの無人インストールを作成するために必要なすべてを提供しますが、最小は、OpenSSHサービスとPythonを含む最も軽量なセットアップに変換されます。 Linuxディストリビューション。アイデアは、最小限のセットアップが完了したら、Ansibleまたは同様のツールを使用して、構成とサービスのすべての展開をさらに行うことです。
Brandon Authierの素晴らしい仕事とあなたの投稿と指示、あなたは私を大いに助けてくれました。
ただし、この方法には1つの問題がありました。インストールが完了してPCが再起動すると、GRUBがハングすることがわかりました。
そこで、ks.preseedに次を追加しました。
# Due notably to potential USB sticks, the location of the MBR can not be
# determined safely in general, so this needs to be specified:
d-i grub-installer/bootdev string /dev/sda
# To install to the first device (assuming it is not a USB stick):
#d-i grub-installer/bootdev string default
これにより、USBスティックを削除しない場合にgrubインストールがクラッシュするのを防ぎます。これは https://www.debian.org/releases/stable/example-preseed.txt から取得しました
私の以前の方法が機能しなかったと聞いて申し訳ありません。幸いなことに、Rinck Sonnenbergが設計したスクリプト( netson )がGitHubでUbuntu Serverの無人AMD64 ISOを作成するスクリプトを見つけて、フォークしました。次に、I386 ISOを作成する機能を追加して、スクリプトを改善しました。また、OSをUbuntu ServerからUbuntu Desktopに変更しました。 GitHubリポジトリにアクセスする必要はありません。次の手順に従ってください。
次のコマンドを実行します。
$ wget https://raw.githubusercontent.com/iPlus-TechNet/ubuntu-unattended/master/create-unattended-iso.sh
$ chmod +x create-unattended-iso.sh
$ Sudo ./create-unattended-iso.sh
wget
が利用できない場合があります。この場合、curl
を使用します。
$ curl -O https://raw.githubusercontent.com/iPlus-TechNet/ubuntu-unattended/master/create-unattended-iso.sh
これらのnoneが動作する場合は、ダウンロードしてホームフォルダーに移動します。
次に、インストールするUbuntuのバージョンを尋ねられます。次に、手動インストールを行う場合にUbuntuが尋ねる質問が表示されます。スクリプトは、Ubuntu ISOをダウンロードし、要求された変更を適用します。これで、無人インストールの準備が整ったISOができました!
これはあなたの質問に答えるはずです。なぜなら私にとってはうまくいったからです。また、この方法が以前の答えよりもはるかに簡単であることも良いことです。私たちと同じように機能することを願っています。
この方法を試さないでください。動作しない(時間を殺そうとしない限り):
私はこれに対する答えをずっと見てきました。最も一般的なソリューションを紹介します。私は自分で試したことがないので、時代遅れかもしれません。手動でインストールするだけの方が簡単なので、私はそれのポイントを本当に理解していませんが、とにかく...
ルートとしてログインするか、$ Sudo su -
を実行します
ISOをダウンロードしてマウントします。 Ubuntu Webサイトから手動でこれを実行しないでください。
# mkdir -p /mnt/iso
# mount -o loop ubuntu.iso /mnt/iso
関連ファイルをバックアップして移動します。
# mkdir -p /opt/ubuntuiso
# cp -rT /mnt/iso /opt/ubuntuiso
GUIの言語部分が表示されないようにする
# cd /opt/ubuntuiso
# echo en >isolinux/lang
「キックスタート」ファイルを追加します。
# apt install system-config-kickstart
# system-config-kickstart
[オプション]インストール用のパッケージを追加します
# vim /path/to/ks.cfg #[OPTIONAL]
または、ファイルで検索して直接編集します。 %packages
セクションを追加し、パッケージをその下に配置します。
%packages
# Add your packages below. Example:
@ ubuntu-server
Apache2
mysql-server
php7.0
php-pear
libapache2-mod-php7.0
php7.0-mysql
php7.0-curl
php7.0-json
php7.0-cgi
私が言ったように、私はこれを自分でやったことがないので、上記のような設定があった場合、実際にはLAMPスタックをインストールしない可能性があり、後で手動で行う必要があります。
「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' > ks.preseed
ファイルをアクティブにします。
# vi 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 --
これで、新しい回答を作成できます。
# 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
そして、あなたはそこに行きます!