Unix/Linux システムからの &debian; のインストール
本節は、マニュアルの他の部分で説明されている
メニュードリブンインストーラを使用せずに、
既存の Unix・Linux システムから &debian;
をインストールする方法について説明します。
この クロスインストール
HOWTO は、
Red Hat, Mandrake, SUSE から &debian; に移行するユーザの要望で書かれました。
本節では、*nix コマンドの入力について熟知し、
ファイルシステムを操作できるのが前提となっています。
また、#が Debian chroot に入力されたコマンドを示し、
$ はユーザの現在のシステムに入力されるコマンドを表します。
一旦、新しい Debian システムを好みに設定したら、
既存のユーザデータを (あるなら) 稼働したまま移行できます。
したがって、これは 0 ダウンタイム
&debian; インストールになります。
またこれは、
様々な起動・インストールメディアと相性のよくないハードウェアに対処する、
うまい方法です。
はじめに
今の *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) にマウントする場合、
次のステージに進む前に、
手動でそのディレクトリを作成・マウントする必要があります。
debootstrap のインストール
Debian インストーラが使用するユーティリティで、
Debian 基本システムをインストールする公式の方法と認められているのが
debootstrap です。
wget と ar を使用しますが、
/bin/sh と基本的な Unix/Linux ツール
これには、sed, grep,
tar, gzip といった、
GNU コアユーティリティが含まれます。
にのみ依存しています。今のシステムにまだインストールしていなければ、
wget と ar をインストールし、
その後 debootstrap
をダウンロード・インストールしてください。
また、手動でインストールするには、以下の手順になります。
まず .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 の実行
debootstrap は,実行されると、
アーカイブから必要なファイルを直接ダウンロードできます。
以下のコマンドの例では、
http.us.debian.org/debian としていますが、
ネットワーク的に近い Debian アーカイブミラーサイトで代用できます。
ミラーサイトは、
でリストされています。
&releasename; &debian; 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 &releasename; \
/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,
/etc/hosts を編集してください。
# 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など)
と結びつけられます。
ロケールの設定
英語以外の言語を使用するようロケールの設定をするために、
次のようにロケールをサポートするパッケージ
(locales) をインストール・設定します。
# aptitude install locales
# dpkg-reconfigure locales
注: あらかじめ sources.list の作成と apt-get update を実行して、
apt を設定しておかなければなりません。
ASCII や latin1 以外の文字セットを持つロケールを使用する前には、
適切な localization HOWTO を調べてください。
カーネルのインストール
このシステムを起動できるようにするなら、
おそらく Linux カーネルとブートローダが必要でしょう。
次のようにして、あらかじめパッケージ化したカーネルを確認してください。
# apt-cache search linux-image
次に、選んだパッケージ名を使ってインストールしてください。
# aptitude install linux-image-&kernelversion;-arch-etc
ブートローダのセットアップ
&debian; システムを起動できるようにするために、
インストールしたカーネルを新しい root パーティションから読み込むように、
ブートローダをセットアップしてください。debootstrap は、
ブートローダをインストールしないことに注意してください。
とは言っても、セットアップするのに Debian chroot 内部の
aptitude を使用できます。
ブートローダのセットアップについての説明は、
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
ブートローダのセットアップについての説明は、
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: を使う必要があるかもしれません。