C.4. Unix/Linux System システムからの Debian GNU/Linux のインストール

本節は、マニュアルの他の部分で説明されている メニュードリブンインストーラを使用せずに、 既存の Unix・Linux システムから Debian GNU/Linux をインストールする方法について説明します。 この 「クロスインストール」 HOWTO は、 Red Hat, Mandrake, SUSE から Debian GNU/Linux に移行するユーザの要望で書かれました。 本節では、*nix コマンドの入力について熟知し、 ファイルシステムを操作できるのが前提となっています。 また、#が Debian chroot に入力されたコマンドを示し、 $ はユーザの現在のシステムに入力されるコマンドを表します。

一旦、新しい Debian システムを好みに設定したら、 既存のユーザデータを (あるなら) 稼働したまま移行できます。 したがって、これは 「0 ダウンタイム」 Debian GNU/Linux インストールになります。 またこれは、 様々な起動・インストールメディアと相性のよくないハードウェアに対処する、 うまい方法です。

C.4.1. はじめに

今の *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

注意

分割したパーティションをファイルシステムの一部 (例 /usr) にマウントする場合、 次のステージに進む前に、 手動でそのディレクトリを作成・マウントする必要があります。

C.4.2. debootstrap のインストール

Debian インストーラが使用するツール (Debian 基本システムをインストールする公式の方法と認められている) が debootstrap です。 wgetar を使用しますが、 /bin/sh にのみ依存しています。 今のシステムに既にインストールしていなければ、 wgetar をインストールし、 その後 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 -x debootstrap_0.X.X_arch.deb
# cd /
# zcat /full-path-to-work/work/data.tar.gz | tar xv

debootstrap を実行するには、 最小版の glibc (現在は GLIBC_2.3) がインストールされている必要があります。 debootstrap 自身は、シェルスクリプトですが、 ここから呼ばれる様々なユーティリティが glibc を必要としています。

C.4.3. debootstrap の実行

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

C.4.4. 基本システムの設定

さあ、これでディスクに真の Debian システムを (いくぶん中がスカスカですが) 手に入れました。 そこに chroot してください。

# LANG= chroot /mnt/debinst /bin/bash

C.4.4.1. パーティションのマウント

/etc/fstab を作る必要があります。

# editor /etc/fstab

以下のサンプルを自分に合うように編集できます。

# /etc/fstab: static file system information.
#
# file system    mount point   type    options                  dump pass
/dev/XXX         /             ext3    defaults                 0    1
/dev/XXX         /boot         ext3    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          ext3    rw,nosuid,nodev          0    2
/dev/XXX         /var          ext3    rw,nosuid,nodev          0    2
/dev/XXX         /usr          ext3    rw,nodev                 0    2
/dev/XXX         /home         ext3    rw,nosuid,nodev          0    2

/etc/fstab で指定したファイルシステムを、 すべてマウントするには mount -a としてください。 また、ファイルシステムを別々にマウントするには、以下のようにしてください。

# mount /path   # 例: mount /usr

proc ファイルシステムは、どこでも何度でもマウントすることができますが、 慣習的に /proc にマウントします。 mount -a を使用しなかった場合は、 以下のように先に進む前に必ず proc をマウントしてください。

# mount -t proc proc /proc

ls /proc コマンドは、 今度は空のディレクトリにはならないはずです。これが失敗するようなら、 以下のように chroot の外側から proc をマウントできるかもしれません。

# mount -t proc proc /mnt/debinst/proc

C.4.4.2. キーボードの設定

キーボードを設定するには次のようにしてください。

# dpkg-reconfigure console-data

chroot 内では、キーボードを設定できませんが、 再起動後に有効になることに注意してください。

C.4.4.3. ネットワークの設定

ネットワークの設定をするには、 /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など) と結びつけられます。

C.4.4.4. タイムゾーン、ユーザ、APT の設定

タイムゾーンの設定、一般ユーザの追加、 apt ソースの選択を行うには、以下のコマンドを実行します。

# /usr/sbin/base-config new

C.4.4.5. locale の設定

英語以外の言語を使用するよう locale の設定をするために、 次のように locales サポートパッケージをインストール・設定します。

# apt-get install locales
# dpkg-reconfigure locales

注: apt はあらかじめ (つまり base-config で) 設定しておかなければなりません。 ASCII や latin1 以外の文字セットを持つ locale を使用する前には、 適切な localization HOWTO を調べてください。

C.4.5. カーネルのインストール

このシステムを起動できるようにするなら、 おそらく Linux カーネルとブートローダが必要でしょう。 次のようにして、あらかじめパッケージ化したカーネルを確認してください。

# apt-cache search kernel-image

次に、選んだパッケージ名を使ってインストールしてください。

# apt-get install kernel-image-2.X.X-arch-etc

C.4.6. ブートローダのセットアップ

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: を使う必要があるかもしれません。