通过debootstrap安装Debian

Debian的工具debootstrap可以用于在系统的某个目录中安装一套基本系统,这个基本系统除了一些配置项外,与Debian安装程序在安装的第一阶段安装的内容基本相同。这项功能有许多有趣的功能,例如,你可以从某个定制版本的Debian Live光盘上通过这个命令快速的在硬盘上安装Debian而不需要Debian的安装程序,也可以把创建在硬盘上的基本系统目录作为某些涉及系统安全性服务的chroot运行环境,通过chroot进入该目录并调试和运行一些可能修改系统配置的应用程序,作为定制小型系统模板等等。

Debootstrap必需以root身份来运行,如果当前系统中没有这个工具,可以通过下面的命令来安装:

root@debian ~# apt-get install debootstrap
下面我们来看一下,如何在当前Debian系统中某个目录里安装一个Debian的基本系统。假设我们将基本系统安装到 /root/chroot_env 目录下,只需要通过下面的命令即可完成安装过程:
root@debian ~# mkdir /root/chroot_env
root@debian ~# debootstrap sarge /root/chroot_env http://debian.cn99.com/debian
I: Retrieving Release
I: Retrieving Packages
I: Validating Packages
I: Resolving dependencies of required packages...
I: Resolving dependencies of base packages...
I: Found additional required dependencies: libtext-iconv-perl zlib1g
I: Checking component main on http://debian.cn99.com/debian...
I: Retrieving adduser
I: Validating adduser
I: Retrieving apt
I: Validating apt
....
I: Installing core packages...
I: Unpacking required packages...
I: Configuring required packages...
I: Installing base packages...
I: Base system installed successfully.
root@debian ~#
几分种后(取决于你选取的Debian镜像和网络速度等),安装过程结束,在目录 /root/chroot_env中已经有一个全新安装的Debian基本系统。我们可以通过chroot命令来进入到该基本系统环境:
root@debian ~# chroot /root/chroot_env
root@debian /# ls
bin dev home lib mnt proc sbin sys usr
boot etc initrd media opt root srv tmp var
root@debian /# apt-get clean
root@debian /# du -sh
111M .
基本系统大约110M左右。如果希望在基本系统中执行一些与系统相关的命令,应当先在该基本系统中加载proc文件系统,并且其反映的一些信息都是当前系统的信息。
root@debian /# mount -t proc proc /proc
root@debian /# ps -aef # 将显示主机的所有进程
...
root@debian /# hostname # 将显示当前主机名而非新系统主机名
redice
如果上述过程中,/root/chroot_env目录挂接了一个硬盘分区的话,新的系统将可以通过Lilo,grub等作为根分区来引导系统。这时,需要进行一些必要的配置,如/etc/hosts,/etc/hostname,/etc/network/interfaces文件等都需要进行适当的修改。另外,由于通过debootstrap进行安装时,无法确知硬盘的分区情况,因此,还必需手工修改/etc/fstab文件。

没有评论: