最近总有朋友在问关于 Debian 的安装, 并且该版置定文章和精华区也没有关于 Debian 安装的文章(精华区的文章少得可怜), 所以我就萌生了一个写一篇全面介绍 Debian 安装的文章.
既然叫高级安装大法, 就不是普通的安装, 而是一种非常有用和非常必要的安装方法 - cross-install, cross-install 是 Debian 特有的安装方式, 我最初就是因为该特性而选择了 Debian.
在介绍 cross-install 前, 我们还是先介绍一下普通安装.
如果你以前没有使用安装过 Debian, 建议你先不要用 Debian 官方的安装盘, 采用官方安>装, 也许你会感觉非常困难. 建议先到 http://www.knoppix.com/ 去下载一张最新的 knoppix 光盘. knoppix 是基于 Debian 的不需安装就可直接运行的 liveCD, 这对于你学习 Debian 有一定帮助. 通过 knoppix 安装 Debian 也非常方便, 只需在 knoppix 启动后运行
knx-hdinstall 并按照提示就能方便地完成安装.
当你逐渐熟悉 Debian 后, 就可以下载 Debian 官方安装盘进行安装. 经常有人提问说不知道怎么支持某某硬件模块和配置X等, 其实有一个简单办法, 就是先用 knoppix 光盘启动,
knoppix 自动认硬件的能力非常强, 你可以看看 knoppix 是怎样自动配置你的系统的, 例>如看 /etc/modules, /etc/X11/XF86Config-4 等文件.
现在接着介绍 cross-install 安装. cross-install 安装不需要软盘,不需要光盘,不需要...,什么都不需要,通过 linux 命令直接安装另一套 linux 的办法. 并且安装时不会影响你手上的工作, 边工作边安装.
先规划分区, 假设有一个 80G 的硬盘, 可按如下方式进行分区:
/dev/hda1 10G, 安装 Woody
/dev/hda2 10G, 安装 Sarge
/dev/hda3 10G, 安装 SID
/dev/hda4 扩展分区
/dev/hda5 内存*2, 交换分区
/dev/hda6 剩下所有,近50G,公共数据区
首先, 大家可能会问以下问题:
1. 为要装 Woody,Sarge,SID 三个系统?
因为 Debian 的每个系统都有各自的优缺点:
Woody 安全又稳定, 不会出任何问题, 但缺点是有些软件的版本太老
Sarge 的优点是软件比 Woody 新, 稳定性比 SID 好, 缺点是软件没有 SID 新, 稳定行没有 Woody 好
SID 的优点是随时能用到最新的东东, 缺点是稳定性不好
装全了这三个系统后, 一般是在 SID 和 Sarge 下使用, 当 dist-upgrade 出现问题后, 可转到 Sarge 和 Woody 下工作, 等到第二天再在 SID 和 Sarge 下重新 dist-upgrade 看问题是否已解决, 这样可以避免影响工作, 又能放心地使用最新的东西.
并且, 我们可以在任何一个 Debian 系统下通过特殊的方法同时运行其它两个 Debian 系统.
2. 为什么要有一个公共数据区?
这是为了不管我们以哪一套系统启动, 感觉都象在同一个系统下工作, 所以要把一些公共数据和配置放到这个区中, 在每个系统都将它作为 /common 进行 mount.
我的公共数据区一般包括了以下一些内容:
Mail 的本地文件夹, Mozilla 浏览器书签, 下载的软件, 自己的文档和代码. 出此之外, 我的公共数据区还包含几套 vmware 的虚拟系统: win98, win2000Pro, win2000AdvSrv, 以及一些其它的 linux 发行版等, 光这些虚拟系统就用了我 20多G 的空间.
如果你的机器还是一片空白, 那就采用常规安装方法按照上帖规划好的分区进行安装, 这里就不在多说了.
假设你已按照常规方式装好了 /dev/hda3 (SID), 先在我们采用 cross-install 方式安装
/dev/hda2 (Sarge).
启动 SID, 进 root 方式,
apt-get install debootstrap (这是 cross-install 安装工具)
apt-get install binutils (debootstrap 需要用到其中的 ar)
umount /testing
mkd2fs -j /dev/hda2 (格式化)
mount /dev/hda2 /testing (挂载已格式化好了的 Sarge 分区)
/usr/sbin/debootstrap --arch i386 woody /testing http://mirrors.geekbone.org/debian (安装基本系统到 /dev/hda2, 不要怀疑, 你虽然要装 Sarge, 但这里还是要填 woody)
vi /testing/etc/fstab (注意编辑的是 Sarge 的 fstab, 而不是 /etc/fstab)
如下:
/dev/hda2 / ext3 defaults 0 0
/dev/hda6 /common ext3 defaults 0 2
/dev/hda5 none swap sw 0 0
proc /proc proc defaults 0 0
/dev/hda1 /stable ext3 defaults 0 2
/dev/hda3 /unstable ext3 defaults 0 2
cp /etc/network/interfaces /testing/etc/network/interfaces
cp /etc/resolv.conf /testing/etc/resolv.conf
cp /etc/hostname /testing/etc/hostname
chroot /testing /bin/bash (从 SID 进入到 Sarge 中)
mkdir /common
mkdir /stable
mkdir /unstable
mount -a (加载所有分区)
注意看一下 /proc 是否有内容, 如果无内容那就一定要 umount /proc, 再 mount /proc, 一定要加载好 /proc, 否则最后 lilo 不会装载正确, 切记, 切记, 要确保 lilo 安装正确.
dpkg-reconfigure console-data (配置键盘)
/usr/sbin/base-config (基本系统配置, 这一步较费时)
由于装的是 Sarge, 填 sources 时应如下:
deb http://mirrors.geekbone.org/debian stable main contrib non-free
deb http://mirrors.geekbone.org/debian testing main contrib non-free
deb ftp://ftp.linuxforum.net/debian-non-US stable/non-US main contrib non-free
deb ftp://ftp.linuxforum.net/debian-non-US testing/non-US main contrib non-free
deb http://security.debian.org stable/updates main contrib non-free
deb http://security.debian.org testing/updates main contrib non-free
apt-cache search kernel-image (查找最新的内核)
vi /etc/lilo.conf
如下:
prompt
timeout=50
default=testing
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
lba32
image=/boot/vmlinuz-xxxxx
label=stable
initrd=/boot/initrd.img-xxxxx
root=/dev/hda1
read-only
image=/boot/vmlinux-xxxxx
label=testing
initrd=/boot/initrd.img-xxxxx
root=/dev/hda2
read-only
image=/boot/vmlinuz-xxxxx
label=unstable
initrd=/boot/initrd.img-xxxxx
root=/dev/hda3
read-only
然后将 /stable/boot 和 /unstable/boot 下的相关 vmlinux-xxxxx 和 initrd.img-xxxxx 文件拷贝到 /boot 下.
特别注意: 谁该用谁的内核可千万不要搞混了.
apt-get install kernel-image-xxxxx (安装最新的内核)
安装内核时要主要有一个地方如果你打回车就会停止安装, 注意要选择继续安装.
安装内核时注意看 lilo 运行结果是否正确, 拿不准就再运行一次 lilo:
lilo -v
如果报错差什么文件一定是你没有将 /stable/boot 和 /unstable/boot 下的相关文件考过来, 也可能你的 /etc/lilo.conf 写错了, 或则 /proc 没有挂上来. 修正相应的错误, 一>定要确保 lilo -v 执行成功.
然后,
umount -a
exit (退出 Sarge, 回到 SID)
恭喜你, cross-install 成功, 可以重起机器了.
上一步在 SID 里通过 cross-install 方式安装了 Sarge, 至于在 Sarge 里安装 Woody 或 SID, 在 Woody 里安装 Sarge 和 SID... 都大同小异.
接下来启动 Sarge, 运行 modconf 将相关的网卡,声卡,USB...等模块都配好, 然后重起, 整个基本系统就完全安装好了.
重起后运行 tasksel 安装 Desktop environment, 由于 SID 和 Sarge 是正在开发的版本, Desktop environment 有可能不能安装, 那就先在 tasksel 中安装 X window system.
然后安装 gnome:
apt-get install gnome
什么? 装 gnome 也报错? 对于正在开发的版本来说, 有可能出现这种情况, 不过还是没关系, 按以下方式装:
apt-get install gnome-applets
apt-get install gnome-panel
apt-get install gnome-session
apt-get install metacity
apt-get install gdm
安装后重起就可以进 gnome 了.
当然, 你也可以多装点其它东西:
dpkg -l gnome*
然后安装中文环境: 运行 tasksel 安装 Simplified Chinese environment
然后想装什么就装吧.
需要注意的是, 对于 SID 和 Sarge, 也许在开发过程中有个别包安装不上或装上了有错误, 你可以先用其它的系统(你已经有 Woody,Sarge,SID 三个系统嘛, 还怕谁), 然后第二天再试试, 在很多情况下这些错误在第二天就修正了, 当然我也遇到过一周都修正不了的错误.
另外不要忘了时不时的 apt-get update 和 apt-get dist-upgrade 一下你的系统.