通过debootstrap安装Debian Linux
一直不喜欢debian的installer,因为两点:
1、installer有点bug,如果用PQ分过区的硬盘debian的installer就挂载不上分区,同时创建文件系统也会失败;
2、即使我用sid版本而且选择安装2.6内核默认安装的内核版本也是2.6.8,或许它并不影响什么,但为什么我不用更新版本的内核呢,更何况我喜欢自己编译内核。
不过还好,debian的debootstrap给了我最大的灵活性,debootstrap用来下载你的debian的基本系统并解压配置,这其间你可以自己手动干预每个过程。
一、准备安装环境
通常我是使用knoppix的Live CD,Gentoo的Live CD不含binutils,也就是说没有ar程序用来解压deb文件,ubuntu的Live CD还行,虽然也有点小问题:)。如果你找到了一个更小的更好的Live CD告诉我一声,最好不用进X,喜欢基于console的Live CD,毕竟我是用来安装的,不希望光驱转得震天响。不过对你的Live CD有这样的要求(是我总结的,不一定标准):
1、包含binutils,如果你不知道binutils是干什么的,你就执行一下ar看看是不是无效的命令,如果是ar的帮助提示就好,提示无效的命令的话那就不行。
2、glibc的版本必须是2.3或更高版本,如果你不知道glibc的版本可以让你的Live CD启动起来之后执行一下/lib/libc.so.6看看,它会告诉你版本号的。
3、你的Live CD得创建有ramdisk,因为我们需要解压debootstrap,得让我们可以写文件哦。(knoppix直接带有debootstrap工具,不需要这个)
好了,启动吧!启动起来之后记得配置好你的网络。
二、准备你的分区
这一步我就不好说了,我的Linux一般包含这样几个分区,/boot用的分区、根分区、/home用的分区、再一个用来下载或者保存自己各种数据的分区一般挂载为/data,最好你懂如何分区,如果不了解的话用这种清洁安装的方法可比较危险哦。
然后mkdir /mnt/debinst && mount /dev/hdaX /mnt/debinst,再挂载上你其它的分区。
三、准备debootstrap(knoppix带有debootstrap不需要做这一步)
wget http://debian.cn99.com/debian/pool/main/d/debootstrap/debootstrap_0.2.45- 0.1_i386.deb,当然你也可以用其它的镜像站点,不过我喜欢cn99,它的速度够快,下载好debootstrap之后,ar -xf debootstrap_0.2.45-0.1_i386.deb && tar zxvpf data.tar.gz -C /,到现在为止如果不出意外你的debootstrap已经可以使用了。
四、ubuntu Live CD的小bug
debootstrap 在下载解压配置过程中会复制你的/etc/resolv.conf和/etc/hostname,ubuntu Live CD有个问题就是你复制/etc/resolv.conf和/etc/hostname时虽然复制会成功但会出错,这会导致debootstrap的中断,当然你可以多运行几次debootstrap就可解决这个问题,但我喜欢事先就做好准备工作。
具体的解决办法便是mkdir /mnt/debinst/etc && echo 你的机器名 > /mnt/debinst/etc/hostname && echo "nameserver 你的DNS-IP" > /mnt/debinst/etc/resolv.conf。
五、开始debootstrap吧
debootstrap 的格式如下:debootstrap --arch i386 <版本> <debian的安装挂载点> <镜像站点的URL>,我一般用sid,所以就是debootstrap --arch i386 sid /mnt/debinst http://debian.cn99.com/debian。
六、配置
等到debootstrap完之后会有三个umount的错误,你不用管它,然后进入我们的debian的环境:chroot /mnt/debinst /bin/bash。
1、先把你的fstab内容加上吧,这部分内容你自己得会哦,举个例子吧:
2、配置网络
3、配置你的APT源,当然你也可以不配用base-config来选择,但base-config默认是testing而且只包含了main,我喜欢一次就把sources.list写好,以下是我的sources.list内容:
4、执行base-config new,按照提示做吧,不过就别做选择APT源那一步了,直接做后面的"select and install package",我一般是什么都不选,只安装一个基本的系统,并且安装完之后还会apt-get remove exim* m4,卸载掉与邮件相关的东西,因为我习惯使用webmail,不需要这个。
七、安装内核
不喜欢编译内核或不懂如何编译内核的人可以先用apt-cache search kernel-image看看,然后直接安装最新的内核,我一般喜欢自己编译内核,不需要整一大堆驱动模块放机器里。不过要注意的是如果自己编译内核的话就要记得安装一个devfsd和module-init-tools,另外你解压内核源码之后最好在/usr/src里创建一个内核源码目录到 /usr/src/linux的符号连接。
八、安装bootloader
bootloader我一般选择grub,这个没什么好说的了^_^。
九、安装nvidia驱动(可选)
用nvidia显卡的人才需要做这一步的哈,apt源里的nvidia是for 2.4内核的,你最好从官方下载最新的nvidia驱动,nvidia驱动的安装很简单,你每一步都选OK或Accept就行了。
十、配置fontconfig(可选)
刚才我们不是添加了okey.net的firefly源吗?所以你后面安装fontconfig/xft时会自动安装带firefly补丁的 fontconfig/xft,但我们需要简单配置一下/etc/fonts/local.conf,加上以下内容即可支持粗斜体:
1、installer有点bug,如果用PQ分过区的硬盘debian的installer就挂载不上分区,同时创建文件系统也会失败;
2、即使我用sid版本而且选择安装2.6内核默认安装的内核版本也是2.6.8,或许它并不影响什么,但为什么我不用更新版本的内核呢,更何况我喜欢自己编译内核。
不过还好,debian的debootstrap给了我最大的灵活性,debootstrap用来下载你的debian的基本系统并解压配置,这其间你可以自己手动干预每个过程。
一、准备安装环境
通常我是使用knoppix的Live CD,Gentoo的Live CD不含binutils,也就是说没有ar程序用来解压deb文件,ubuntu的Live CD还行,虽然也有点小问题:)。如果你找到了一个更小的更好的Live CD告诉我一声,最好不用进X,喜欢基于console的Live CD,毕竟我是用来安装的,不希望光驱转得震天响。不过对你的Live CD有这样的要求(是我总结的,不一定标准):
1、包含binutils,如果你不知道binutils是干什么的,你就执行一下ar看看是不是无效的命令,如果是ar的帮助提示就好,提示无效的命令的话那就不行。
2、glibc的版本必须是2.3或更高版本,如果你不知道glibc的版本可以让你的Live CD启动起来之后执行一下/lib/libc.so.6看看,它会告诉你版本号的。
3、你的Live CD得创建有ramdisk,因为我们需要解压debootstrap,得让我们可以写文件哦。(knoppix直接带有debootstrap工具,不需要这个)
好了,启动吧!启动起来之后记得配置好你的网络。
二、准备你的分区
这一步我就不好说了,我的Linux一般包含这样几个分区,/boot用的分区、根分区、/home用的分区、再一个用来下载或者保存自己各种数据的分区一般挂载为/data,最好你懂如何分区,如果不了解的话用这种清洁安装的方法可比较危险哦。
然后mkdir /mnt/debinst && mount /dev/hdaX /mnt/debinst,再挂载上你其它的分区。
三、准备debootstrap(knoppix带有debootstrap不需要做这一步)
wget http://debian.cn99.com/debian/pool/main/d/debootstrap/debootstrap_0.2.45- 0.1_i386.deb,当然你也可以用其它的镜像站点,不过我喜欢cn99,它的速度够快,下载好debootstrap之后,ar -xf debootstrap_0.2.45-0.1_i386.deb && tar zxvpf data.tar.gz -C /,到现在为止如果不出意外你的debootstrap已经可以使用了。
四、ubuntu Live CD的小bug
debootstrap 在下载解压配置过程中会复制你的/etc/resolv.conf和/etc/hostname,ubuntu Live CD有个问题就是你复制/etc/resolv.conf和/etc/hostname时虽然复制会成功但会出错,这会导致debootstrap的中断,当然你可以多运行几次debootstrap就可解决这个问题,但我喜欢事先就做好准备工作。
具体的解决办法便是mkdir /mnt/debinst/etc && echo 你的机器名 > /mnt/debinst/etc/hostname && echo "nameserver 你的DNS-IP" > /mnt/debinst/etc/resolv.conf。
五、开始debootstrap吧
debootstrap 的格式如下:debootstrap --arch i386 <版本> <debian的安装挂载点> <镜像站点的URL>,我一般用sid,所以就是debootstrap --arch i386 sid /mnt/debinst http://debian.cn99.com/debian。
六、配置
等到debootstrap完之后会有三个umount的错误,你不用管它,然后进入我们的debian的环境:chroot /mnt/debinst /bin/bash。
1、先把你的fstab内容加上吧,这部分内容你自己得会哦,举个例子吧:
/dev/hda1 /boot reiserfs notail,noatime,noauto 0 0
/dev/hda5 / reiserfs noatime 0 0
/dev/hda6 /home reiserfs defaults 0 0
/dev/hda8 none swap sw 0 0
none /proc proc defaults 0 0
/dev/cdrom /mnt/cdrom iso9660 noauto,ro,user,exec 0 0
/dev/fd0 /mnt/floppy auto noauto,rw,user,exec 0 0
2、配置网络
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.0.2
netmask 255.255.255.0
gateway 192.168.0.1
3、配置你的APT源,当然你也可以不配用base-config来选择,但base-config默认是testing而且只包含了main,我喜欢一次就把sources.list写好,以下是我的sources.list内容:
deb http://debian.cn99.com/debian/ sid main contrib non-free然后你apt-get update一下吧。
deb-src http://debian.cn99.com/debian/ sid main contrib non-free
deb http://debian.okey.net/debian-uo/ sid firefly marillat misc rareware
4、执行base-config new,按照提示做吧,不过就别做选择APT源那一步了,直接做后面的"select and install package",我一般是什么都不选,只安装一个基本的系统,并且安装完之后还会apt-get remove exim* m4,卸载掉与邮件相关的东西,因为我习惯使用webmail,不需要这个。
七、安装内核
不喜欢编译内核或不懂如何编译内核的人可以先用apt-cache search kernel-image看看,然后直接安装最新的内核,我一般喜欢自己编译内核,不需要整一大堆驱动模块放机器里。不过要注意的是如果自己编译内核的话就要记得安装一个devfsd和module-init-tools,另外你解压内核源码之后最好在/usr/src里创建一个内核源码目录到 /usr/src/linux的符号连接。
八、安装bootloader
bootloader我一般选择grub,这个没什么好说的了^_^。
九、安装nvidia驱动(可选)
用nvidia显卡的人才需要做这一步的哈,apt源里的nvidia是for 2.4内核的,你最好从官方下载最新的nvidia驱动,nvidia驱动的安装很简单,你每一步都选OK或Accept就行了。
十、配置fontconfig(可选)
刚才我们不是添加了okey.net的firefly源吗?所以你后面安装fontconfig/xft时会自动安装带firefly补丁的 fontconfig/xft,但我们需要简单配置一下/etc/fonts/local.conf,加上以下内容即可支持粗斜体:
<fontconfig>
<matchtarget="font">
<testtarget="pattern"name="weight"compare="more">
<const>medium</const>
</test>
<editname="weight"mode="assign">
<const>bold</const>
</edit>
</match>
</fontconfig>