ほぼ120人のユーザーにUbuntuをインストールしたいと思います。しかし、USBとドライブの使用は非常に困難です。
助言がありますか?
1つのUbuntuシステム(通常はUbuntu Serverシステムですが、インストールする必要はありません)をインストールし、それをサーバーとして使用してPXEブートし、他のシステムをインストールできます。クライアント(Ubuntuをインストールする場所)のBIOSは、これが機能するためにPXE(つまり、network boot)をサポートする必要があります。しかし、最近ではほとんどのBIOSが対応しています。
ホストとしてUbuntu以外のシステムでもそれを行うことができるはずです。セットアップがすでにあり、Ubuntu以外のシステムで必要なサーバーを設定する方法を知っている場合。
PXEInstallServer Ubuntu help wiki article は、UbuntuシステムをPXEサーバーとしてセットアップする方法と、Ubuntuを他のシステムにインストールする方法を説明しています。主なポイントを要約するのは難しいでしょう。詳細は非常に重要です。そのため、ここにすべてを示します(書式設定と句読点のわずかな変更あり)。
前書き
これにより、UbuntuサーバーをPXEインストールサーバーとして実行できます。ネットワーク上でDHCPサーバーを実行する必要があります。必ずしもこのサーバーである必要はありませんが、必要です。
必要なパッケージのインストール
次のパッケージをインストールする必要があります:
inetutils-inetd
(以前はnetkit-inetd
)、tftpd-hpa
( InstallingSoftware を参照)。
- Ubuntu 10.04の場合、
inetutils-inetd
にバグがあります。 IPv4ではなく、IPv6でのみリッスンします。簡単な回避策として、代わりにopenbsd-inetd
を使用できます。これがDHCPサーバーでもある場合は、次のパッケージに含まれるdhcpサーバーをインストールします:
dhcp3-server
( InstallingSoftware を参照)。Tftpd-hpaを構成する
Tftpd-hpaにデーモンを起動するように指示する必要があります(デフォルトでは起動しません)。これを行うには、
/etc/default/tftpd-hpa
ファイルを編集し、次のようになっていることを確認します。#Defaults for tftpd-hpa RUN_DAEMON="yes" OPTIONS="-l -s /var/lib/tftpboot"
次に、起動スクリプトを実行して、実際にデーモンを起動します。
/etc/init.d/tftpd-hpa restart
Dhcpdを構成する
Pxeサーバーがdhcpサーバーでもある場合は、
/etc/dhcp3/dhcpd.conf
に次のようなものが必要です。subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.100 192.168.0.200; filename "pxelinux.0"; }
既存のdhcpサーバーがある場合は、次のようにしてpxeサーバーを指定する必要があります。
subnet 192.168.0.0 netmask 255.255.255.0 { <other config here> filename "pxelinux.0"; next-server <pxe Host>; }
変更が有効になるように、dhcpサーバーを必ず再起動してください。
Sudo /etc/init.d/dhcp3-server restart
Tftpd-hpaを構成する
tftpd-hpa
はinetd
から呼び出されます。したがって、tftpd-hpa
の開始時に渡されるオプションは、/etc/inetd.conf
にあります。デフォルトでは問題ありません。
/etc/inetd.conf
には次のようなエントリが必要です。tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot
(このファイルを編集して、
udp
をudp4
に置き換える必要があるかもしれませんが、tftpd-hpa
はIPv6アドレスを期待しているようです。)次に、Ubuntu CDから必要なファイルをコピーします。
Sudo cp -r /media/cdrom/install/netboot/* /var/lib/tftpboot/
Dhcpサーバーが正しいネットワーク情報を発行し、pxeクライアントがネットワークにアクセスできる場合、この時点でインターネットリポジトリを使用してUbuntuのインストールを行うことができます。
ただし、もう少し先に進み、インストールサーバーからすべてをインストールし、インストールするパッケージの一部をカスタマイズします。
Apacheをインストールする
現在、nfsのインストールは十分にサポートされていません(間違っている場合は修正してください)。そのためには、インストールサーバーにもWebサーバーが必要です。次のパッケージをインストールします。
Apache
( InstallingSoftware を参照)。Ubuntuファイルのコピー
新しくインストールしたApacheのドキュメントルートの下にubuntuディレクトリを作成し、Ubuntu Alternate CDのすべてのコンテンツをそのディレクトリにコピーします。
mkdir /var/www/ubuntu cp -r /media/cdrom/* /var/www/ubuntu/
インストールのカスタマイズ
キックスタートファイルを作成するためのGUIフロントエンドである
system-config-kickstart
というパッケージがあります。キックスタートファイルは、インストーラーにパッケージの取得元、インストール対象、その他の便利な設定を指示します。詳細については、 KickstartCompatibility を参照してください。このパッケージは、インストールサーバーにインストールする必要はありません。どこかの便利なUbuntuデスクトップにインストールできます。
ks.cfg
でカスタムsystem-config-kickstart
を作成し、[インストール方法]で必ずHTTPを指定してください。インストールサーバーのIPを指定し、HTTPディレクトリ/ubuntu/
を作成します。ファイルを保存し、インストールサーバーの/var/www/html/
の下にコピーします。インストールサーバー上のインストールファイルのみを使用し、他のすべての質問を要求する非常に最小限の `ks.cfgファイルは、次のようになります。
install url --url http://192.168.0.1/ubuntu/
Ks.cfgを使用します
ネットワークのUbuntuインストールでキックスタートファイルを使用するには、どこにあるかを指定する必要があります。
/var/lib/tftpboot/pxelinux.cfg/default
を編集し、ks=http://<installserver>/ks.cfg
を追加行に追加します。この場合、次のようになります(追加行は1行であることに注意してください)。label linux kernel ubuntu-installer/i386/linux append ks=http://192.168.0.1/ks.cfg vga=normal initrd=ubuntu-installer/i386/initrd.gz ramdisk_size=16432
root =/dev/rd/0 rw-
Jaunty[そしておそらくあなたが使用している可能性のあるリリースを含むそれ以降のリリース]1デフォルトのファイルはインクルードに分割されています。追加行は
/ubuntu-installer/i386/boot-screens/text.cfg
にあります。label install menu label ^Install (from my http server) menu default kernel ubuntu-installer/i386/linux append ks=http://192.168.0.1/ks.cfg vga=normal initrd=ubuntu-installer/i386/initrd.gz -- quiet
起動してインストールする
これで、ネットワーク上のLAN上の別のPCを起動し、Ubuntuを自動的にインストールできるようになります。 :) tftpおよびhttpのインストールポイントを変更して、ネットワークに複数のバージョンのUbuntuをインストールできるようにすることができます。
CD(または.iso)を直接使用する
実際にファイルをどこにでもコピーせずに上記を達成することもできます。 CD(または.iso)をマウントし、
--bind
オプションを使用して追加のマウントを実行できます。利点は、インストールサーバーファイルを更新せずにCD(または.iso)をアップグレードできることです。たとえば、CD(または.iso)を
/media/cdrom/
にマウントした後、ubuntuファイルをWebディレクトリにマウントできます。mount --bind /media/cdrom/ /var/www/ubuntu/
同様に、
tftproot
でも同じことができます。mount --bind /media/cdrom/install/netboot/ /var/lib/tftpboot/
適切なデフォルトファイルを使用して
pxelinux.cfg
ディレクトリを作成する場合、tftpサーバーがpxelinux.cfg/defaultファイルを提供するように、マウントされたCDの上にマウントできます。たとえば、pxelinux.cfg
の~/pxelinux.cfg
ディレクトリは、次のようにマウントできます。mount --bind ~/pxelinux.cfg /var/lib/tftpboot/pxelinux.cfg
(上記の例では、
/var/lib/tftpboot/ubuntu-installer/i386/pxelinux.cfg
はCD(または.iso)上のシンボリックリンクであるため、ディレクトリの実際のマウントポイントはpxelinux.cfg
になります)。
— PXEInstallServer 。主にAsk Ubuntu Formatに対応するために、わずかな書式設定、句読点、大文字の変更があります。
その記事は buntu documentation wiki からのものです。 「UbuntuドキュメンテーションWikiへの貢献者」によって作成され、 ライセンス済みCC-BY-SA 3. の下にあり、適切な属性でここに含めることができます。
1[イタリック体で囲まれたテキスト]は元のものではありません。私の解説です。
この方法と Mitchが提案した方法 との違いに注意してください。この方法では、CD/DVDまたはUSBフラッシュドライブから起動し、ネットワーク経由でシステムをインストールします。デフォルトでは、このネットワークはインターネットです。その方法がネットワーク上の数百台のマシンにインストールするのに合理的であるためには、おそらくネットワーク上でUbuntuリポジトリを作成してホストし、それをインストール先に指定する必要があります。
それを行うために必要な労力とインフラストラクチャは、上記のようにマシンをPXEブートするために必要なものと同等です。そのため、この方法でニーズを満たすことができますが、「物理メディア」なしで本当にインストールする必要がある場合は、PXEブートを検討することをお勧めします。
ネットワーク経由でUbuntuのインストールを開始するnet installメソッドを使用して、これを行うことができます。 Netboot Install で説明されています
ネットワークインストーラー
ネットワークインストーラーを使用すると、ネットワーク経由でUbuntuをインストールできます。これは、例えば、起動できないCD-ROMを搭載した古いマシンや、グラフィカルCDベースのインストーラーを実行できないコンピューターがある場合、ライブCDの最小要件を満たしていないため便利です。/DVDまたはグラフィカルデスクトップを使用する前に追加の構成が必要なため、または多数のコンピューターにUbuntuを一度にインストールする場合。bunt
これを実現する方法はたくさんあります。
1- Netboot
独自のセットアップのために、このHOWTOのホスト名とIPアドレスを変更する必要があります。ここで説明する原則は、以下で説明するもの以外のDHCPおよびTFTPサーバーにも適用できます。代替サーバーソフトウェアの使用は、読者の課題として残されています。
WindowsコンピューターをTFTPおよびDHCPサーバーとして使用する方法については、Installation/WindowsServerNetbootに進んでください。
このHOWTOは、インストーラーの実行に関する情報を提供します。 Ubuntuの自動または無人インストールを実行する場合は、Installation/LocalNetを参照してください。
2- LocalNet
このインストール方法では、DHCP/BOOTP、TFTP、およびFTP/HTTPを使用してインストールソースを取得します。インストーラー自体は、Linuxカーネルとinitrdで構成されています。これらのファイルは、DHCP/TFTPブートプロセスを介して転送されます。
残りのインストールソースは、FTPまたはHTTP経由で転送できます。ターゲットマシンがインターネットにアクセスできる場合、これらのソースはUbuntuミラーから直接取得できます。または、インストールISOの1つをダウンロードし、ループバックマウントして、ローカルHTTP/FTPサーバーで提供することもできます。
CD(TFTPなど)から起動し、SSH経由でシステムをインストールします。
Hardy Ubuntu 12.04をssh経由で専用サーバーにインストールするためのクイックガイド。
サーバーとネットワークのインストール の完全なドキュメントをご覧ください
Ubuntu 18.04 LTSをインストールしたときにうまくいったのは Isabel Castelloによるガイド に基づいていましたが、これは buntu wikiのLocalNetガイド に基づいているようですが、より読みやすく、私には理解できる。
3つのノードを持つネットワーク上にいる必要があります。
必ずネットワークブートを有効にしてくださいtarget'sBIOS。
BIOSに入るには、多くの場合、長押しするか、 Del または F2 マシンが起動するとき。または、を押す F12 多くの場合、ベンダー固有の方法でブートシーケンスを変更できます。
次の値を見つけます。
(ルーターのDHCP設定を参照/変更して、それらのいくつかを見つけることができます。また、ネットワークブートを管理する場合targetマシンをブートする段階では、少なくともMACアドレスが表示されます。ダウンします。)
sourceホストにtftpをインストールして構成します。
$ Sudo apt-get install tftpd-hpa
$ grep TFTP_DIRECTORY /etc/default/tftpd-hpa
TFTP_DIRECTORY="/var/lib/tftpboot"
$ wget http://archive.ubuntu.com/ubuntu/dists/bionic-updates/main/installer-AMD64/current/images/netboot/netboot.tar.gz
$ Sudo tar xzvf netboot.tar.gz -C /var/lib/tftpboot/
$ rm netboot.tar.gz
上記のgrep
が異なるパスを示している場合は、このリストおよび次のステップにリストされているコマンドの値を適宜調整してください。
また、sourceホストで、bootpをインストール、構成、および実行します。
注:$TARGET_MAC
などの値を上記の手順2で収集した適切な値に置き換えます。 $TARGET_MAC
アドレスにはコロンを使用する必要があります。例:00:00:39:2B:54:B5
、および$SUBNET_MASK
ドット、たとえば255.255.255.0
。
$ Sudo apt-get install bootp
$ vim ./bootptab
client: ha="$TARGET_MAC": ip=$TARGET_IP: gw=$GATEWAY_IP: sm=$SUBNET_MASK: td=/: hd=/: bf=pxelinux.0
$ Sudo bootpd -d 4 -c /var/lib/tftpboot -s $PWD/bootptab
ネットワークブート機能が有効になっていることを確認しながら、targetマシンを再起動します F12 必要に応じて、または何も、またはBIOSが必要とする他のもの)。
ターゲットマシンでテキストベースのインタラクティブなUbuntu 18.04インストーラーが起動するはずです。インストールするかのように続行しますUbuntuは通常。
追加:安全のため、インストールが完了したら、Network Boot機能を必ず切り替えてください。ターゲットのBIOSで無効に戻ります。
お役に立てれば!
Cobbler は、ネットワークインストール環境の迅速なセットアップを可能にするLinuxインストールサーバーです。新しいシステムをデプロイしたり、場合によっては既存のシステムを変更したりするときに、多くの関連するLinuxタスクを結合して自動化するため、さまざまなコマンドやアプリケーションを切り替える必要がありません。 Cobblerは、プロビジョニング、DNSおよびDHCPの管理、パッケージの更新、電源管理、構成管理オーケストレーションなどに役立ちます。