SDB:リモートからのインストール

移動先: 案内, 検索
この記事では、 openSUSE をネットワーク上離れたマシンにインストールする際の手順と方法を説明しています。

ネットワークのみを利用したインストール

ネットワークを介してしかアクセスできないマシンに対して、ディストリビューションのバージョンを上げたりしたいような要件がある場合があります。 openSUSE では、インストールプログラムを遠隔から実行するための機能がいくつか用意されています。たとえば下記のようなものがあります:

このチュートリアルでは、 openSSH を利用したインストールの概要を説明しています。 VNC でも同様の手順でインストールできるほか、シリアルコンソールであればもっと簡単にインストールすることができます。ここで説明している内容はあくまでもヒントであり、より詳しい参照情報ではないことに注意してください。

注意: 何らかのサービスを提供しているサーバの場合は、インストール時に既定の起動項目として選択したりせず、現時点で動作しているシステムとは別のパーティションにインストールし、 grubonce を利用してインストールを起動してください。これにより、インストールが失敗しても、次回の起動では元のシステムを起動できるように設定することができます。

準備

インストール用ファイルの取得

ネットワークインストールで最初にやるべきことは、インストールに使用するカーネルと initrd をリモートのコンピュータに渡して起動することです。また、インストールするコンピュータの IP アドレスについても知っておく必要があります。ここでは固定の IP アドレスを設定する場合をもとに説明しています。 DHCP を使用する場合は、ネットワークの設定を飛ばして DHCP サーバから取得するようにしてください。

まずはインストール用のカーネルイメージと initrd を、現行のシステムの /boot ディレクトリにコピーします:

cd /boot
wget --output-document=vmlinuz.install http://<openSUSE のパス>/boot/loader/linux
wget --output-document=initrd.install http://<openSUSE のパス>/boot/loader/initrd

安定版 openSUSE リリースの場合

  • <version> には openSUSE のバージョン番号を指定します (例: 13.2, ...)
  • <arch> にはアーキテクチャを指定します (i386 または x86_64)
cd /boot
wget --output-document=vmlinuz.install http://download.opensuse.org/distribution/<version>/repo/oss/boot/<arch>/loader/linux
wget --output-document=initrd.install http://download.opensuse.org/distribution/<version>/repo/oss/boot/<arch>/loader/initrd

最新の Factory 開発コードの場合

  • <arch> にはアーキテクチャを指定します (i386 または x86_64)
cd /boot
wget --output-document=vmlinuz.install http://download.opensuse.org/factory/repo/oss/boot/<arch>/loader/linux
wget --output-document=initrd.install http://download.opensuse.org/factory/repo/oss/boot/<arch>/loader/initrd

GRUB の設定

次に、これらのイメージを利用して起動するよう、 grub の設定ファイルを準備します。対象のコンピュータの IP アドレスが 192.168.10.10 で、インターネットに接続できるルータ (デフォルトゲートウェイ) のアドレスが 192.168.10.1 、ルートパーティション (/) が /dev/hda1 の場合、 /boot/grub/menu.lst に下記のようなセクションを追加します:

title Boot -- openSUSE 13.2
   root (hd0,0)
   kernel /boot/vmlinuz.install noapic usessh=1 sshpassword="12345678" install=ftp://<openSUSE のパス> hostip=192.168.10.10 netmask=255.255.255.0 gateway=192.168.10.1 nameserver=192.168.10.1
   initrd /boot/initrd.install
{{{1}}}
注意: 対象のコンピュータに割り当てる IP アドレスが本当に利用できるものかどうか、必ずご確認ください。大規模なネットワークの場合、アドレスが重複すると大きなトラブルになる場合もあります。

なお、ネームサーバの指定 (nameserver=) を行なわない場合は、 <openSUSE のパス> の部分は IP アドレスで指定する必要があります。

上記のセクションを追加したら、あとは既定で起動する項目を設定します:

default 0

なお、セクション番号は追加した個所に合わせて設定してください。

注意: 一時的にインストール用のセクションを起動したい場合でも、既定値を変更しないでください。その代わり、 grubonce 0 のように指定してください (0 にはセクションの番号を指定します) 。

grub の設定が終わったら、システムを再起動します。

安定版 openSUSE リリースの場合の例

  • <version> には openSUSE のバージョン番号を指定します (例: 13.2, ...)
title Boot -- openSUSE <version>
   root (hd0,0)
   kernel /boot/vmlinuz.install noapic usessh=1 sshpassword="12345645" install=http://download.opensuse.org/distribution/<version>/repo/oss/ hostip=192.168.42.123/24 gateway=192.168.42.1 nameserver=192.168.42.1
   initrd /boot/initrd.install

最新の Factory 開発リリースの場合の例

title Boot -- openSUSE Factory INSTALL
   root (hd0,0)
   kernel /boot/vmlinuz.install usessh=1 sshpassword="12345678" install=http://download.opensuse.org/factory/repo/oss/ hostip=192.139.88.209 netmask=255.255.255.0 gateway=192.139.88.254 nameserver=192.139.88.1
   initrd /boot/initrd.install

download.opensuse.org の代わりに、ミラーサイトの IP アドレスを指定することもできます。


準備の自動化

カーネルと initrd のダウンロード、および grub の設定変更までの作業は、ほとんどを NFS インストール用 GRUB セットアップ スクリプトで自動化することができます。


インストールの開始

コンピュータを再起動すると、インストール済みのシステムではなく、インストール作業用のイメージを読み込んで起動します。インストールの作業を続けるには、下記のようにして対象のシステムにログインします:

ssh -X root@192.168.10.10

なお、パスワード入力を求められますので、パスワードを入力してください (上記の例では "12345645" です (単純すぎますが)) 。接続が完了すると、 yast (またはグラフィカルなインストールであれば yast2) が表示されますので、インストールを通常通りに続けてください。

注意: インストールの際、 root のパスワードを入力する前に何らかの理由で切断されてしまった場合、数分程度待ってから接続しなおし、 grub の menu.lst ファイルに指定したほうのパスワードを入力してください。再接続を行なった場合は、インストールを続行するために /usr/lib/YaST2/startup/YaST2.ssh を実行しなければなりません。

インストール後の作業

インストールが完了した後は、 /usr/lib/YaST2/startup/YaST2.ssh を実行して残りの作業を実施します。

上記の作業は、 X をインストールするような場合にのみ必要な作業で、これを実行しないとうまく動作しなくなってしまいます。


さらなる情報

カーネルのコマンドラインに指定できるパラメータについて、概要は /usr/share/doc/packages/autoyast2/html/appendix.linuxrc.html または /usr/share/doc/packages/linuxrc/linuxrc.html に書かれています。なお、 GRUB の設定でパラメータの名前と値を区切る際は、 (/info ファイルのように) (:) ではなく、イコール (=) で区切ってください。 Linuxrc には利用可能なオプションが多く記載されています。また、ネットワーク関連の設定を行なわない場合は、 DHCP を利用して設定しようとすることにも注意してください。


参照


外部リンク