C.4 通过 Unix/Linux 系统来安装 Debian GNU/Linux
本节说明了如何通过现有的 Unix 或 Linux 系统来安装 Debian GNU/Linux,而非使用 本手册后面要谈到的基于 ncurses、由菜单驱动的安装软件。这篇“交叉安装(cross-install)” 指南是应用户的要求而撰写的。他们原来是 Redhat、Mandrake 和 SUSE 的用户, 现转而使用 Debian GNU/Linux。在本节中,我们假设您对于输入 *nix 命令以及在 文件系统中穿梭移动并不生疏。同时,在本节中,$
标志着 这个命令是在用户当前使用的系统中输入的,而 #
则 表示这个命令是在 Debian chroot 环境中输入的。
您一旦根据自己的要求配置好了新的 Debian 系统,就可以将您的原来系统中的 用户数据(如果有的话)悉数迁移到 Debian 里去。然后就能继续爽了。一言以蔽之, 这是一次“不停机”的 Debian GNU/Linux 安装。同时,这也是处理那些因为硬件原因 不能通过任何引导或者安装介质完成安装的权宜之计。
C.4.1. 准备运动
根据需要,用已经安装的 *nix 的分区工具重新分区,要划分出至少一个文件系统外加 交换分区。您如果只用控制台(console)的话,至少要准备 150MB 空间,倘若想要装 X, 就需要至少 300MB 的空间了。
这里谈一下如何在您的分区上创建文件系统。举例来说,如果要在 /dev/hda6
分区(以后的例子中,将把它作为 root 分区) 建立一个 ext3 格式的文件系统,就像这样:
$ mke2fs -j /dev/hda6 |
如果想建立的是 ext2 格式的文件系统,就要去掉 -j
。
初始化并激活交换分区(请把分区编号替换成您希望用作交换分区的分区编号):
$ mkswap /dev/hda5 $ sync; sync; sync $ swapon /dev/hda5 |
把一个分区挂载(mount)到 /mnt/debinst
(这是安装的位置,将来作为您新系统的根(/
)文件系统)。 挂载点的名称是任意的,后面的步骤将会用到它。
$ mkdir /mnt/debinst $ mount /dev/hda6 /mnt/debinst |
C.4.2. 安装 debootstrap
Debian 安装程序调用的软件,同时也为官方所采用,被用来安装基系统的工具是 debootstrap。它调用了 wget,否则就仅仅依赖 /bin/sh
。安装 wget 如果您的系统里没有,然后再下载并安装 debootstrap。
如果您用的是基于 rpm 的系统,那么可以用 alien 将 .deb 文件转换成为 .rpm 文件, 或者下载已被打包成 rpm 包的版本,它位于 http://people.debian.org/~blade/install/debootstrap
或者您也可以通过下面的步骤手动安装它。先新建一个工作目录,它被用来安放解压缩后的 .deb 文件:
$ mkdir work $ cd work |
debootstrap 的二进制文件被打包在 Debian 的归档文件中(请确保 选择了与您架构相对应的文件)。下载 debootstrap .deb 它位于 pool,把它拷贝到工作目录,并从该文件解压缩出这些二进制文件。要把二进制文件安装到系统中,您必须要 拥有 root 的权限。
$ ar -xf debootstrap_0.X.X_arch.deb $ cd / $ zcat < /full-path-to-work/work/data.tar.gz | tar xv |
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/
请将下列架构中的一个替换 ARCH
于 debootstrap 命令中: 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 用来进入该系统:
$ 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 / ext2 defaults 0 0 /dev/XXX /boot ext2 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 ext2 rw,nosuid,nodev 0 2 /dev/XXX /var ext2 rw,nosuid,nodev 0 2 /dev/XXX /usr ext2 rw,nodev 0 2 /dev/XXX /home ext2 rw,nosuid,nodev 0 2 |
您可以通过 mount -a
来挂载您的 /etc/fstab
中所标明的所有文件系统,您也可以一个一个地分别挂载这些文件系统,像:
# mount /path # e.g.: mount /usr |
您可以多次挂载 proc 文件系统。尽管通常把它挂载到 /proc,但是它还是可以被挂载到任意的地方。 如果您没有用 mount -a
,那么请一定要再接着做之前先把 proc 挂载好:
# mount -t proc proc /proc |
C.4.4.2. 键盘的配置
若要配置您的键盘,请:
# dpkg-reconfigure console-data |
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 |
填入您的 nameserver(s) 和 搜索指令到 /etc/resolv.conf
:
# 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
文件时, 一定要按照期望的顺序排列驱动模块的名字。这样的话,在系统启动时,每块 网卡就能获得您所预期的 interface 名称了 (eth0、eth1 等等)。
C.4.4.4. 时区、用户和 APT 的配置
设置您的时区,添加一个普通用户,再运行下面的指令选择您的 apt 源
# /usr/sbin/base-config new |
C.4.4.5. locales 的设置
要配置您的 locale 设定,以便使用英语以外的其它语言,就需要安装 提供 locales 支持的软件包,同时配置之:
# apt-get install locales # dpkg-reconfigure locales |
【注意】:在此之前必须配置好 apt,即在 base-config 阶段就配置好它。 在使用非 ASCII 或 latin1 的字符集的 locale 之前,请先参阅相应的 本地化指南(localisation HOWTO)。
C.4.5. 内核的安装
您若想启动这个系统,您很可能还需要一个 Linux 内核和一个 boot loader。 可以用下面指令找到那些目前可用的被打好包的内核
# apt-cache search kernel-image |
接下来把您所选中的内核的软件包名作为命令行的参数来安装它。
# apt-get install kernel-image-2.X.X-arch-etc |
C.4.6. Boot Loader 的设置
要让您的 Debian GNU/Linux 系统能够启动,还要设置您的 boot loader,好让它能加载 已安装的内核并用上新的根分区。注意 debootstrap 不会安装 boot loader, 因此您要在 Debian 的 chroot 中使用 apt-get 完成。
通过查阅 info grub
或 man lilo.conf
可以得到一些有关设置 bootloader 的提示。 如果您希望保留用来安装 Debian 的那个系统,那么就 在现有的 grub menu.lst
或 lilo.conf
里为 Debian 系统的安装添加一条配置就可以了。对于 lilo.conf
您也可以把 这个文件拷贝到新的系统里,然后在新的系统里编辑它。当您修改好配置, 运行 lilo (请记住,您在哪个系统里运行 lilo,它就会用哪个系统里的 lilo.conf
)。
下面有一个简单的/etc/lilo.conf
作为例子:
boot=/dev/hda6 root=/dev/hda6 install=/boot/boot-menu.b delay=20 lba32 image=/vmlinuz label=Debian |