web-dev-qa-db-ja.com

ネットワーク経由でUbuntuをインストールすることは可能ですか?

ほぼ120人のユーザーにUbuntuをインストールしたいと思います。しかし、USBとドライブの使用は非常に困難です。

助言がありますか?

11
Vishnu Murali

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-hpaInstallingSoftware を参照)。

  • Ubuntu 10.04の場合、inetutils-inetdにバグがあります。 IPv4ではなく、IPv6でのみリッスンします。簡単な回避策として、代わりにopenbsd-inetdを使用できます。

これがDHCPサーバーでもある場合は、次のパッケージに含まれるdhcpサーバーをインストールします:dhcp3-serverInstallingSoftware を参照)。

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-hpainetdから呼び出されます。したがって、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

(このファイルを編集して、udpudp4に置き換える必要があるかもしれませんが、tftpd-hpaはIPv6アドレスを期待しているようです。)

次に、Ubuntu CDから必要なファイルをコピーします。

Sudo cp -r /media/cdrom/install/netboot/* /var/lib/tftpboot/

Dhcpサーバーが正しいネットワーク情報を発行し、pxeクライアントがネットワークにアクセスできる場合、この時点でインターネットリポジトリを使用してUbuntuのインストールを行うことができます。

ただし、もう少し先に進み、インストールサーバーからすべてをインストールし、インストールするパッケージの一部をカスタマイズします。

Apacheをインストールする

現在、nfsのインストールは十分にサポートされていません(間違っている場合は修正してください)。そのためには、インストールサーバーにもWebサーバーが必要です。次のパッケージをインストールします。ApacheInstallingSoftware を参照)。

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ブートを検討することをお勧めします。

11
Eliah Kagan

ネットワーク経由でUbuntuのインストールを開始するnet installメソッドを使用して、これを行うことができます。 Netboot Install で説明されています

ネットワークインストーラー

ネットワークインストーラーを使用すると、ネットワーク経由でUbuntuをインストールできます。これは、例えば、起動できないCD-ROMを搭載した古いマシンや、グラフィカルCDベースのインストーラーを実行できないコンピューターがある場合、ライブCDの最小要件を満たしていないため便利です。/DVDまたはグラフィカルデスクトップを使用する前に追加の構成が必要なため、または多数のコンピューターにUbuntuを一度にインストールする場合。bunt

12.04 LTSのネットワークインストーラーをダウンロード

13.04のネットワークインストーラーをダウンロードする

4
Mitch

これを実現する方法はたくさんあります。

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サーバーで提供することもできます。

3- NetworkConsole

CD(TFTPなど)から起動し、SSH経由でシステムをインストールします。

4- SSH経由のクイックインストール

Hardy Ubuntu 12.04をssh経由で専用サーバーにインストールするためのクイックガイド。

サーバーとネットワークのインストール の完全なドキュメントをご覧ください

4
Achu

Ubuntu 18.04 LTSをインストールしたときにうまくいったのは Isabel Castelloによるガイド に基づいていましたが、これは buntu wikiのLocalNetガイド に基づいているようですが、より読みやすく、私には理解できる。

前提条件

3つのノードを持つネットワーク上にいる必要があります。

  1. 基本的なDHCPルーター
  2. Ubuntuをインストールするtargetサーバー。ケーブル(WiFiではなく)でrouterに接続する必要があります。そして明らかに、BIOSでのネットワークブートのサポートがあります。
  3. sourceサーバー。初期インストールファイルとサービスを提供します。このガイドでは、Ubuntuも想定しています。他のOSも確かに可能ですが、コマンドは明らかに異なります。

手順

  1. 必ずネットワークブートを有効にしてくださいtarget'sBIOS

    BIOSに入るには、多くの場合、長押しするか、 Del または F2 マシンが起動するとき。または、を押す F12 多くの場合、ベンダー固有の方法でブートシーケンスを変更できます。

  2. 次の値を見つけます。

    ルーターのDHCP設定を参照/変更して、それらのいくつかを見つけることができます。また、ネットワークブートを管理する場合targetマシンをブートする段階では、少なくともMACアドレスが表示されます。ダウンします。)

    • ターゲットのMACアドレス—ネットワークカードのプロパティ、
    • ターゲットのIPアドレスrouterによって割り当てられた、
    • ゲートウェイIP—つまり、ルーターのIP、
    • subnet/network mask—通常source'sおよび/またはにありますルーターのネットワーク設定。
  3. 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が異なるパスを示している場合は、このリストおよび次のステップにリストされているコマンドの値を適宜調整してください。

  4. また、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
    
  5. ネットワークブート機能が有効になっていることを確認しながら、targetマシンを再起動します F12 必要に応じて、または何も、またはBIOSが必要とする他のもの)。

    ターゲットマシンでテキストベースのインタラクティブなUbuntu 18.04インストーラーが起動するはずです。インストールするかのように続行しますUbuntuは通常。

  6. 追加:安全のため、インストールが完了したら、Network Boot機能を必ず切り替えてください。ターゲットのBIOSで無効に戻ります。

お役に立てれば!

1
akavel

Cobbler は、ネットワークインストール環境の迅速なセットアップを可能にするLinuxインストールサーバーです。新しいシステムをデプロイしたり、場合によっては既存のシステムを変更したりするときに、多くの関連するLinuxタスクを結合して自動化するため、さまざまなコマンドやアプリケーションを切り替える必要がありません。 Cobblerは、プロビジョニング、DNSおよびDHCPの管理、パッケージの更新、電源管理、構成管理オーケストレーションなどに役立ちます。

0
blueray