由于受不了RPM的气,决定把服务器上的redhat linux 9.0卸掉,使用debian系统。 
因为服务器上运行着ftp,www,squid,nat等很多服务,所以关掉机子全部重装会长时间影响所提供的服务。 
所以决定通过chroot环境从硬盘安装debian。 
参考文档: 
http://www.debian.org/releases/stable/i386/ch-preparing.en.html#s-linux-upgrade 
首先准备一个空闲的分区/dev/hda5,格式化成reiserfs日志文件系统,总共有4G多,哈,浪费了点。命令如下: 
$/sbin/fsck.reiserfs /dev/hda5 
$mkdir /mnt/debinst 
$mount /mnt/hda5 /mnt/debinst 
$cd /mnt/debinst 
$mkdir work 
$cd work 
然后下载debootstrap包系统,用于安装debian最基本的系统。命令如下: 
$lynx http://ftp.debian.org/debian/pool/main/d/debootstrap/debootstrap_0.2.17.1_i386.deb 
解压: 
$ar -xf debootstrap_0.2.17.1_i386.deb 
然后会产生如下文件: 
-rw-r--r-- 1 root root 954 Nov 14 15:18 control.tar.gz 
-rw-r--r-- 1 root root 55449 Nov 14 15:18 data.tar.gz 
-rw-r--r-- 1 root root 4 Nov 14 15:18 debian-binary 
再解压 data.tar.gz: 
$cd / 
$tar -zxvf /mnt/debinst/work/data.tar.gz 
会在/usr目录下产生安装的命令文件 
就可以运行/usr/sbin/debootstrap从安装基本的系统 
总共有三种安装方法,1、是从网络上直接安装(一般不推荐);2、从CDROM上获取软件包;3、从网络上下载basedebs.tar包,然后从包里直接安装。 
我已经下载了一个sarge-i386-netinst.iso,所以我选择从CDROM然后安装,命令如下: 
$mount -o loog sarge-i386-netinst.iso /mnt/cdrom 
$/usr/sbin/debootstrap --arch i386 sarge /mnt/debinst file:/mnt/cdrom/debian 
然后,基本的debian系统就装好了。 
**在运行debootstrap命令之前一定要先把chroot命令所在的路径放入path变量中,切记** 
现在开始进入chroot环境: 
$chroot /mnt/debinst /bin/bash 
现在要紧的是 
#mount -t proc proc /proc 
然后编辑/etc/network/interfaces /etc/resolv.conf 和 /etc/hostname文件 
/etc/network/interfaces的样本可以在/usr/share/doc/ifupdown/examples找到。 
接下来马上要配置一下apt-get: 
#dpkg-reconfigure apt-get 
设置更新方式为ftp,地址为ftp://ftp.linuxforum.net/debian,这是大陆的一个镜像点,速度较快。版本设为stable,testing,unstable均可,区域设为main。 
然后运行 apt-get update 来更新最近软件包信息 
现在可以开始用apt-get安装locales包了 
#apt-get install locales 
然后会要求设置locales信息: 
把cn_zh GB2312选上就可以了。 
之后运行 
# /usr/sbin/base-config 
进行一般的设置,如时区、root密码,添加一般用户等等 
接下来安装核心 
#apt-get install kernel-image-2.4.20-3-686 
安装核心过程中,会提示是否安装lilo启动器以及设置活动分区,均选择否。 
然后安装grub(为了跟原系统保持一致)。 
#apt-get install grub 
终于搞好了!!! 
现在系统已经运行在debian/GNU上了。 
安装过程中出现的几个问题: 
1、apache2的安装出现问题,无法绑定端口80,先已经改为apache。问题研究中,最终将升级为apache2。 
2、网卡启动有问题,使系统迁移受到阻碍。错误为: 
ERROR while getting interface flags: No such device 
Bind socket to interface: No such device 
相关问题见: 
http://www.hikz.com/cgi-bin/lb5000/topic.cgi?forum=31&topic=142&show=0 
后根据邮件列表上的信息,在系统启动时同时运行pcmcia,问题解决。 
还有待进一步研究。 
由于原来的RH系统装有grub启动器,且boot目录专门用一个分区。这位升级系统提供很大方便,menu.lst文件的信息基本不用改,能被多个系统公用,使用时只需添加相应的启动项即可。grub的root分区不变(此分区非linux的根分区)。 
debian系统的apache服务启动用户为www-data,服务根目录为/etc/apache,特别apache2的默认文档根目录也不是/var/www,cgi-bin目录为/usr/lib/cgi-bin,这些都需要手工更改。debian和rh在配置文件的设置上还有很多不同。 
接下来要做的是测试一段时间新的系统,在一两个月中,慢慢将整个rh系统彻底卸掉,跟 rpm说拜拜。原系统在测试期间仍保留。
                  	
				
