D.3. Unix/Linux システムからの Debian GNU/Linux のインストール

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

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

D.3.1. はじめに

今の *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) にマウントする場合、 次のステージに進む前に、 手動でそのディレクトリを作成・マウントする必要があります。

D.3.2. debootstrap のインストール

Debian インストーラが使用するユーティリティで、 Debian 基本システムをインストールする公式の方法と認められているのが debootstrap です。 wgetar を使用しますが、 /bin/sh と基本的な Unix/Linux ツール[22]にのみ依存しています。今のシステムにまだインストールしていなければ、 wgetar をインストールし、 その後 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

D.3.3. debootstrap の実行

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

D.3.4. 基本システムの設定

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

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

chroot した後で、 Debian 基本システムと互換のある端末定義にする必要があるかもしれません。 例えば、以下のようにします。

# export TERM=xterm-color

D.3.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         /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

D.3.4.2. タイムゾーンの設定

/etc/default/rcS ファイルにある設定で、 システムがハードウェアの時計を UTC として解釈するか、 現地時間としてを解釈するかを決定します。 以下のコマンドで、上記の選択とタイムゾーンの選択を行えます。

# editor /etc/default/rcS
# tzconfig

D.3.4.3. ネットワークの設定

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

D.3.4.4. apt の設定

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 を必ず実行してください。

D.3.4.5. ロケールとキーボードの設定

英語以外の言語を使用するようロケールの設定をするために、 ロケールをサポートするパッケージ (locales) をインストール・設定してください。 現在は UTF-8 ロケールを使用するのをお奨めします。

# aptitude install locales
# dpkg-reconfigure locales

(必要なら) 以下のようにキーボードの設定を行ってください。

# aptitude install console-data
# dpkg-reconfigure console-data

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

D.3.5. カーネルのインストール

このシステムを起動できるようにするなら、 おそらく 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 を作成しない場合、 インストール時に関連する質問が行われると思います。

D.3.6. ブートローダのセットアップ

Debian GNU/Linux システムを起動できるようにするために、 インストールしたカーネルを新しい root パーティションから読み込むように、 ブートローダをセットアップしてください。debootstrap は、 ブートローダをインストールしないことに注意してください。 とは言っても、セットアップするのに Debian chroot 内部の aptitude を使用できます。

D.3.7. 仕上げに

すでに述べたように、インストールしたシステムは非常に基本的な物になります。 もっと成熟したシステムにしたければ、 優先度が 「standard」 のパッケージを、 すべてインストールする簡単な方法があります。以下のようにしてください。

# tasksel install standard

もちろん aptitude で、 個々のパッケージをインストールすることもできます。

インストールが終わると、ダウンロードしたパッケージが /var/cache/apt/archives/ に大量に残っています。 以下のようにして、ディスク領域を解放できます。

# aptitude clean



[22] これには、sed, grep, tar, gzip といった、 GNU コアユーティリティが含まれます。