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


回答:


11

1つのUbuntuシステム(通常はUbuntu Serverシステムですが、インストールする必要はありません)をインストールし、それをサーバーとして使用してPXEブートし、他のシステムをインストールできます。これが機能するには、クライアント(Ubuntuをインストールする場所)のBIOSがPXE(ネットワークブートなど)をサポートしている必要があります。しかし、最近ではほとんどのBIOSが対応しています。

Ubuntu以外のシステムをホストとして使用することもできます。セットアップ済みで、Ubuntu以外のシステムで必要なサーバーを構成する方法を知っている場合。


PXEInstallServer Ubuntuのヘルプのwikiの記事は、 PXEサーバーとしてUbuntuシステムを設定する方法、およびそれから他のシステム上のUbuntuをインストールする方法について説明します。主なポイントを要約するのは難しいでしょう。詳細は非常に重要です。そのため、ここにすべてがあります(書式設定と句読点に若干の変更があります)。

前書き

これにより、UbuntuサーバーをPXEインストールサーバーとして実行できます。ネットワーク上でDHCPサーバーを実行する必要があります。必ずしもこのサーバーである必要はありませんが、必要です。

必要なパッケージのインストール

次のパッケージをインストールする必要があります:(inetutils-inetd 以前netkit-inetd)、tftpd-hpaソフトウェアのインストールを参照 )。

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

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

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

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

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

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

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

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

Apacheをインストールする

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

Ubuntuファイルのコピー

新しくインストールしたApacheのドキュメントルートの下にubuntuディレクトリを作成し、Ubuntu Alternate CDのすべてのコンテンツをそのディレクトリにコピーします。

mkdir /var/www/ubuntu
cp -r /media/cdrom/* /var/www/ubuntu/

インストールのカスタマイズ

system-config-kickstartキックスタートファイルを作成するためのGUIフロントエンドであると呼ばれるパッケージがあります。キックスタートファイルは、インストーラーにパッケージの取得元、インストール対象、その他の便利な設定を指示します。詳細については、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

(上記の例では、CD上のシンボリックリンク(または.iso)である/var/lib/tftpboot/ubuntu-installer/i386/pxelinux.cfgため、 ディレクトリの実際のマウントポイントが終了することに注意してください pxelinux.cfg)。

PXEInstallServer。主にAsk Ubuntu形式に対応するために、わずかな書式設定、句読点、大文字の変更があります。

その記事はUbuntuドキュメンテーションwikiからです。「Ubuntuドキュメンテーションwikiへの貢献者」によって書かれ、CC-BY-SA 3.0の下でライセンスされています。

1 [イタリック体で囲まれたテキスト]は元のものではありません。私の解説です。


この方法とMitchが提案した方法の違いに注意してください。この方法では、CD / DVDまたはUSBフラッシュドライブから起動し、ネットワーク経由でシステムをインストールします。デフォルトでは、このネットワークはインターネットです。その方法がネットワーク上の数百台のマシンにインストールするのに合理的であるためには、おそらくネットワーク上でUbuntuリポジトリを作成してホストし、それをインストール先に指定する必要があります。

それを行うために必要な労力とインフラストラクチャは、上記のようにマシンをPXEブートするために必要なものと同等です。その方法は、あなたのニーズを満たすかもしれないがだから、私はあなたがいる場合、PXEブートを検討することをお勧めしたい、本当にせずにインストールする必要があり、「物理メディア。」


ルーターの設定を変更する必要がありますか?
エンコウヤミ

4

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

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

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

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

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


4

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

1- ネットブート

独自のセットアップのために、この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経由で専用サーバーにインストールするためのクイックガイド。

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


1

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

前提条件

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

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

手順

  1. ターゲットのBIOSネットワークブート有効にしてください。

    BIOSの起動は、多くの場合、長押しするDelF2、マシンの起動時に行われます。または、F12多くの場合、を押すと、ベンダー固有の方法でブートシーケンスを変更できるため、役立つ場合があります。

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

    ルーターの DHCP設定を参照/変更して、それらのいくつかを見つけることもできます。また、ターゲットマシンの起動時にネットワークブートステージに入ることができた場合、少なくともMACアドレスが表示される可能性があります。書き留めてください。)

    • ターゲットのMACアドレス -そのネットワークカードのプロパティ、
    • ターゲットのIPアドレス -によってそれに割り当てられたルータ
    • ゲートウェイIP -言い換えれば、ルータのIP、
    • サブネット/ネットワークマスク通常で見つかった- ソースのおよび/またはルータのネットワーク設定。
  3. ソースホストに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. ソースホストにも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. ネットワークブート機能が有効になっていることを確認しながら、ターゲットマシンを再起動します(F12必要に応じて、何も押さないか、BIOSで必要なものを押します)。

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

  6. 追加:安全のため、インストールの完了後、ターゲットのBIOSのネットワークブート機能を無効に戻すようにしてください。

お役に立てれば!


0

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.