本節は、マニュアルの他の部分で説明されている
メニュードリブンインストーラを使用せずに、
既存の Unix・Linux システムから Debian GNU/Linux
をインストールする方法について説明します。
この 「クロスインストール」 HOWTO は、
Red Hat, Mandrake, SUSE から Debian GNU/Linux に移行するユーザの要望で書かれました。
本節では、*nix コマンドの入力について熟知し、
ファイルシステムを操作できるのが前提となっています。
また、#
が Debian chroot に入力されたコマンドを示し、
$
はユーザの現在のシステムに入力されるコマンドを表します。
一旦、新しい Debian システムを好みに設定したら、 既存のユーザデータを (あるなら) 稼働したまま移行できます。 したがって、これは 「0 ダウンタイム」 Debian GNU/Linux インストールになります。 またこれは、 様々な起動・インストールメディアと相性のよくないハードウェアに対処する、 うまい方法です。
今の *nix のパーティション分割ツールで、 スワップと最低 1 つファイルシステムを作成するよう、 ハードディスクを希望に添って再分割してください。 コンソールのみのインストールには、最低 350MB の空き領域が必要ですし、 X をインストールする予定なら 1GB (GNOME や KDE のようなデスクトップ環境をインストールする場合はもっと) 必要です。
次に、パーティションにファイルシステムを作成してください。
例えば、/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
と基本的な Unix/Linux ツール[19]にのみ依存しています。今のシステムにまだインストールしていなければ、
wget と ar をインストールし、
その後 debootstrap
をダウンロード・インストールしてください。
また、手動でインストールするには、以下の手順になります。 まず .deb を展開するために作業フォルダを次のように作ってください。
# mkdir work # cd work
debootstrap バイナリは、Debian アーカイブ (あなたのアーキテクチャに適合するファイルを必ず選ぶこと) にあります。 pool から debootstrap .deb をダウンロードして、 作業フォルダにパッケージをコピーし、ファイルを展開してください。 ファイルをインストールする際には root 権限を持つ必要があるでしょう。
# ar -x debootstrap_0.X.X_all.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
でリストされています。
etch Debian GNU/Linux CD を持っていて、
/cdrom
にマウントしていれば、
http URL に代えて file URL (file:/cdrom/debian/
)
を使用することができます。
debootstrap コマンドの ARCH
は、
以下のうち一つを使用してください。
alpha
,
amd64
,
arm
,
hppa
,
i386
,
ia64
,
m68k
,
mips
,
mipsel
,
powerpc
,
s390
,
sparc
.
# /usr/sbin/debootstrap --arch ARCH etch \ /mnt/debinst http://ftp.us.debian.org/debian
さあ、これでディスクに真の Debian システムを (いくぶん中がスカスカですが) 手に入れました。 そこに chroot してください。
# LANG=C chroot /mnt/debinst /bin/bash
chroot した後で、 Debian 基本システムと互換のある端末定義にする必要があるかもしれません。 例えば、以下のようにします。
# export TERM=xterm-color
/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 /media/floppy auto noauto,rw,sync,user,exec 0 0 /dev/cdrom /media/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 # e.g.: mount /usr
現在 Debian システムでは、リムーバブルメディアのマウントポイントを
/media
にしていますが、
/
にシンボリックリンクを置き互換性を保っています。
以下の例のように、必要であれば作成してください。
# cd /media # mkdir cdrom0 # ln -s cdrom0 cdrom # cd / # ln -s media/cdrom
proc ファイルシステムは、どこでも何度でもマウントすることができますが、
慣習的に /proc
にマウントします。
mount -a
を使用しなかった場合は、
以下のように先に進む前に必ず proc をマウントしてください。
# mount -t proc proc /proc
ls /proc
コマンドは、
今度は空のディレクトリにはならないはずです。これが失敗するようなら、
以下のように chroot の外側から proc をマウントできるかもしれません。
# mount -t proc proc /mnt/debinst/proc
/etc/default/rcS
ファイルにある設定で、
システムがハードウェアの時計を UTC として解釈するか、
現地時間としてを解釈するかを決定します。
以下のコマンドで、上記の選択とタイムゾーンの選択を行えます。
# editor /etc/default/rcS # tzconfig
ネットワークの設定をするには、
/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 nameserver 10.1.1.36 nameserver 192.168.9.100
システムのホスト名 (2 から 63 文字) を入力してください。
# echo DebianHostName > /etc/hostname
また、IPv6 をサポートした基本的な /etc/hosts
は以下のようにします。
127.0.0.1 localhost DebianHostName # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts
複数のネットワークカードを持っているなら、
/etc/modules
ファイルに希望の順番で、
ドライバモジュールの名前を配置してください。
その後起動中に、各カードは期待通りにインターフェース名 (eth0, eth1など)
と結びつけられます。
debootstrap は、追加パッケージをインストールする、
非常に基本的な /etc/apt/sources.list
を作成します。
しかし、他のパッケージ取得先を追加したくなると思います。
以下の例はソースパッケージとセキュリティ更新を追加しています。
deb-src http://ftp.us.debian.org/debian etch main deb http://security.debian.org/ etch/updates main deb-src http://security.debian.org/ etch/updates main
sources list を更新したら、
aptitude update
を必ず実行してください。
英語以外の言語を使用するようロケールの設定をするために、
ロケールをサポートするパッケージ
(locales
) をインストール・設定してください。
現在は UTF-8 ロケールを使用するのをお奨めします。
# aptitude install locales # dpkg-reconfigure locales
(必要なら) 以下のようにキーボードの設定を行ってください。
# aptitude install console-data # dpkg-reconfigure console-data
chroot 内では、キーボードを設定できませんが、 再起動後に有効になることに注意してください。
このシステムを起動できるようにするなら、 おそらく Linux カーネルとブートローダが必要でしょう。 以下のようにして、パッケージ化済みカーネルを確認してください。
# apt-cache search linux-image
パッケージ化済みカーネルを使用する予定であれば、
事前に /etc/kernel-img.conf
設定ファイルを作成したくなると思います。
以下にサンプルファイルを掲げます。
# Kernel image management overrides # See kernel-img.conf(5) for details do_symlinks = yes relative_links = yes do_bootloader = yes do_bootfloppy = no do_initrd = yes link_in_boot = no
このファイルや様々なオプションの詳細は、
kernel-package
パッケージインストール後に有効になる
man ページで説明しています。
これで、あなたのシステムに適切な値をチェックするのをお奨めします。
それから、選んだパッケージ名のカーネルパッケージをインストールしてください。
# aptitude install linux-image-2.6.18-arch-etc
パッケージ化済みカーネルをインストールする前に
/etc/kernel-img.conf
を作成しない場合、
インストール時に関連する質問が行われると思います。
Debian GNU/Linux システムを起動できるようにするために、 インストールしたカーネルを新しい root パーティションから読み込むように、 ブートローダをセットアップしてください。debootstrap は、 ブートローダをインストールしないことに注意してください。 とは言っても、セットアップするのに Debian chroot 内部の aptitude を使用できます。
ブートローダのセットアップについての説明は、
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:
を使う必要があるかもしれません。
すでに述べたように、インストールしたシステムは非常に基本的な物になります。 もっと成熟したシステムにしたければ、 優先度が 「standard」 のパッケージを、 すべてインストールする簡単な方法があります。以下のようにしてください。
# tasksel install standard
もちろん aptitude で、 個々のパッケージをインストールすることもできます。
インストールが終わると、ダウンロードしたパッケージが
/var/cache/apt/archives/
に大量に残っています。
以下のようにして、ディスク領域を解放できます。
# aptitude clean