本節は、マニュアルの他の部分で説明されている
メニュードリブンインストーラを使用せずに、
既存の Unix・Linux システムから Debian GNU/Linux
をインストールする方法について説明します。
この 「クロスインストール」 HOWTO は、
Red Hat, 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
分割したパーティションをファイルシステムの一部 (例 /usr) にマウントする場合、 次のステージに進む前に、 手動でそのディレクトリを作成・マウントする必要があります。
Debian インストーラが使用するツール
(Debian 基本システムをインストールする公式の方法と認められている)
が debootstrap です。
wget と ar を使用しますが、
/bin/sh
にのみ依存しています。
今のシステムに既にインストールしていなければ、
wget と ar をインストールし、
その後 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
を必要としています。
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 してください。
# LANG= 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 / 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
キーボードを設定するには次のようにしてください。
# dpkg-reconfigure console-data
chroot 内では、キーボードを設定できませんが、 再起動後に有効になることに注意してください。
ネットワークの設定をするには、
/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 を 使用することができます。
ブートローダのセットアップについての説明は、
info grub
や
man lilo.conf
をチェックしてください。
Debian をインストールするのに使用したシステムを保持する場合、
既存の grub menu.lst
や
lilo.conf
に、
Debian インストールへのエントリを単に加えてください。
lilo.conf では新システムにそれをコピーし、そこで編集してください。
編集を終えた後、lilo を呼び出してください。
(lilo を呼び出したシステムと関係あるところの、
lilo.conf
が使われるということを覚えていてください)
以下は基本的な /etc/lilo.conf
の例です。
boot=/dev/hda6 root=/dev/hda6 install=menu delay=20 lba32 image=/vmlinuz label=Debian