本節は、マニュアルの他の部分で説明されている ncurses ベースのメニュードリブンインストーラを使用せずに、 既存の Unix・Linux システムから Debian GNU/Linux をインストールする方法について説明します。 この「クロスインストール」HOWTOは、 Redhat, Mandrake, SUSE から Debian GNU/Linux に移行するユーザの要望で書かれました。 本節では、*nix コマンドの入力について熟知し、 ファイルシステムを操作できるのが前提となっています。 また、#が Debian chroot に入力されたコマンドを示し、 $ はユーザの現在のシステムに入力されるコマンドを表します。
一旦、新しい Debian システムを好みに設定したら、 既存のユーザデータを (あるなら) 稼働したまま移行できます。 したがって、これは「0 ダウンタイム」 Debian GNU/Linux インストールになります。 またこれは、 様々な起動・インストールメディアと相性のよくないハードウェアに対処する、 うまい方法です。
今の *nix のパーティション分割ツールで、 スワップと最低 1 つファイルシステムを作成するよう、 ハードディスクを希望に添って再分割してください。 コンソールのみのインストールには、最低 150MB の空き領域が必要ですし、 X をインストールする予定なら最低 300MB 必要です。
パーティションへのファイルシステム作成。 例えば、/dev/hda6 パーティションに、 ext3 ファイルシステムを作成するには、以下のようにします。 (今回の例ではこのパーティションを root パーティションとします)
$ mke2fs -j /dev/hda6 |
ext3 ではなく ext2 ファイルシステムを作成するには、 -j を取ってください。
スワップを以下のように初期化して有効にしてください。 (パーティション番号は、 Debian スワップパーティションにするパーティション番号に、 読み替えてください)
$ mkswap /dev/hda5 $ sync; sync; sync $ swapon /dev/hda5 |
パーティションを /mnt/debinst (インストールポイント。 新システムの root (/) ファイルシステムになります) にマウントしてください。 厳密にいうとマウントポイント名は何でも構いません。 以降の説明ではこれを使用します。
$ mkdir /mnt/debinst $ mount /dev/hda6 /mnt/debinst |
Debian インストーラが使用するツール (Debian 基本システムをインストールする公式の方法と認められている) が debootstrap です。 wget を使用しますが、 /bin/sh にのみ依存しています。 今のシステムに既にインストールしていなければ、 wget をインストールし、 その後 debootstrap をダウンロード・インストールしてください。
rpm ベースシステムがあるなら、alien を使って .deb を .rpm に変換できます。 もしくは、 http://people.debian.org/~blade/install/debootstrap から rpm 形式のものをダウンロードできます。
また、手動でインストールするには、以下の手順になります。 まず .deb を展開するために作業フォルダを次のように作ってください。
$ mkdir work $ cd work |
debootstrap バイナリは、Debian アーカイブ (あなたのアーキテクチャに適合するファイルを必ず選ぶこと) にあります。 pool から debootstrap .deb をダウンロードして、 作業フォルダにパッケージをコピーし、バイナリファイルを展開してください。 バイナリをインストールする際には root 権限を持つ必要があるでしょう。
$ ar -xf debootstrap_0.X.X_arch.deb $ cd / $ zcat < /full-path-to-work/work/data.tar.gz | tar xv |
debootstrap は,実行されると、 アーカイブから必要なファイルを直接ダウンロードできます。 以下のコマンドの例では、 http.us.debian.org/debian としていますが、 ネットワーク的に近い Debian アーカイブミラーサイトで代用できます。 ミラーサイトは、 http://www.debian.org/misc/README.mirrors でリストされています。
sarge Debian GNU/Linux CD を持っていて、 /cdrom にマウントしていれば、 http URL に代えて file URL (file:/cdrom/debian/) を使用することができます。
debootstrap コマンドの ARCH は、 以下のうち一つを使用してください。 alpha, arm, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390, sparc.
$ /usr/sbin/debootstrap --arch ARCH sarge \ /mnt/debinst http://http.us.debian.org/debian |
さあ、これでディスクに真の Debian システムを (いくぶん中がスカスカですが) 手に入れました。 そこに chroot してください。
$ chroot /mnt/debinst /bin/bash |
/etc/fstab を作る必要があります。
# editor /etc/fstab |
以下のサンプルを自分に合うように編集できます。
# /etc/fstab: static file system information. # # file system mount point type options dump pass /dev/XXX / ext2 defaults 0 0 /dev/XXX /boot ext2 ro,nosuid,nodev 0 2 /dev/XXX none swap sw 0 0 proc /proc proc defaults 0 0 /dev/fd0 /mnt/floppy auto noauto,rw,sync,user,exec 0 0 /dev/cdrom /mnt/cdrom iso9660 noauto,ro,user,exec 0 0 /dev/XXX /tmp ext2 rw,nosuid,nodev 0 2 /dev/XXX /var ext2 rw,nosuid,nodev 0 2 /dev/XXX /usr ext2 rw,nodev 0 2 /dev/XXX /home ext2 rw,nosuid,nodev 0 2 |
/etc/fstab で指定したファイルシステムを、 すべてマウントするには mount -a としてください。 また、ファイルシステムを別々にマウントするには、以下のようにしてください。
# mount /path # 例: mount /usr |
proc ファイルシステムは、どこでも何度でもマウントすることができますが、 慣習的に /proc にマウントします。 mount -a を使用しなかった場合は、 以下のように先に進む前に必ず proc をマウントしてください。
# mount -t proc proc /proc |
ネットワークの設定をするには、 /etc/network/interfaces, /etc/resolv.conf, /etc/hostname を編集してください。
# editor /etc/network/interfaces |
次は、 /usr/share/doc/ifupdown/examples のシンプルな例です。
###################################################################### # /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) # See the interfaces(5) manpage for information on what options are # available. ###################################################################### # We always want the loopback interface. # auto lo iface lo inet loopback # To use dhcp: # # auto eth0 # iface eth0 inet dhcp # An example static IP setup: (broadcast and gateway are optional) # # auto eth0 # iface eth0 inet static # address 192.168.0.42 # network 192.168.0.0 # netmask 255.255.255.0 # broadcast 192.168.0.255 # gateway 192.168.0.1 |
/etc/resolv.conf に、 ネームサーバと search ディレクティブを入力してください。
# editor /etc/resolv.conf |
シンプルな /etc/resolv.conf は以下になります。
# search hqdom.local\000 # nameserver 10.1.1.36 # nameserver 192.168.9.100 |
システムのホスト名 (2 から 63 文字) を入力してください。
# echo DebianHostName > /etc/hostname |
複数のネットワークカードを持っているなら、 /etc/modules ファイルに希望の順番で、 ドライバモジュールの名前を配置してください。 その後起動中に、各カードは期待通りにインターフェース名 (eth0, eth1など) と結びつけられます。
タイムゾーンの設定、一般ユーザの追加、 apt ソースの選択を行うには、以下のコマンドを実行します。
# /usr/sbin/base-config new |
このシステムを起動できるようにするなら、 おそらく Linux カーネルとブートローダが必要でしょう。 次のようにして、あらかじめパッケージ化したカーネルを確認してください。
# apt-cache search kernel-image |
次に、選んだパッケージ名を使ってインストールしてください。
# apt-get install kernel-image-2.X.X-arch-etc |
Debian GNU/Linux システムを起動できるようにするために、 インストールしたカーネルを新しい root パーティションから読み込むように、 ブートローダをセットアップしてください。 debootstrap は、ブートローダをインストールしないことに注意してください。 とは言っても、セットアップするために Debian chroot 内部の apt-get を 使用することができます。
ブートローダのセットアップについての説明は、 man yaboot.conf をチェックしてください。 Debian をインストールするのに使用したシステムを保持する場合、 既存の yaboot.conf に、Debian インストールへのエントリを単に加えてください。 そして新システムにそれをコピーし、そこで編集してください。 編集を終えた後、ybin を呼び出してください。 (ybin を呼び出したシステムと関係あるところの、 yaboot.conf が使われるということを覚えていてください)
以下は基本的な /etc/yaboot.conf の例です。
boot=/dev/hda2 device=hd: partition=6 root=/dev/hda6 magicboot=/usr/lib/yaboot/ofboot timeout=50 image=/vmlinux label=Debian |
いくつかのマシンでは、 hd: の代わりに ide0: を使う必要があるかもしれません。