Debootstrap 简单总结 (ubuntu 版, 2009.9.5 修正)
版权声明: 允许非商业性转载,但转载时必须标明原作者 fcicq、原始链接 http://www.fcicq.net/wp/?p=758 及本声明。
重点参考: http://www.debian.org/releases/stable/i386/apds03.html.en
0 分区, 准备文件系统.
打算装 karmic 并且用 grub2 引导的可以用 ext4 做根文件系统, 不需要单分出一个 /boot 来.
有安全需要的装个 wipe, dban 或者直接用 dd (用 /dev/urandom 填).
进行下一步之前在外面装好 debootstrap 什么的.
1 debootstrap
怕麻烦的, 推荐直接加装 ubuntu-standard (见 include 参数). (这样不行, 事后可以这样加装)
再加上 build-essential 也不错. (等效: –variant=buildd). 改: 不完全等效
不这样做就会走上偶走过的路 (不装主要的虚拟包), 虽然不是什么大弯路.
需要桌面环境的加 ubuntu-desktop, xubuntu-desktop, kubuntu-desktop 什么的.
特别的, ubuntu 有个 tasksel, 比如装套 LAMP 直接用 sudo tasksel install lamp-server
用了这样一个基本系统.
sudo debootstrap --verbose --include=cryptsetup,gnupg,nano,sudo,apt-utils --variant=minbase lucid /TARGET/ http://kr.archive.ubuntu.com/ubuntu/
需要注意只有 base 类的包才能放进去. 比如 wicd 什么的就进不去.
重要提示: xorg 不要在这时候放进去.
2009.9.3 修正:
未装主要虚拟包的原因是 –variant=buildd, 这个环境是给开发者编译软件用的.
但这样做生成的是最小的编译(而不是使用)环境.
加装 ubuntu-minimal 可以得到正常的最小系统.
偶走过的路就是把 buildd 环境变成正常可用系统, 而不通过 ubuntu-minimal 等虚拟包.
如果你愿意, 可以试试 –variant=minbase, 应该也能够扩展成一个可用系统. 拿不准的时候可以 –print-debs.
2.1 给 /dev 下添设备
cd /target/dev; MAKEDEV -v generic-nopty
2.2 挂载 /dev, /proc, /sys 并 chroot (用过 gentoo 的都知道怎么做.)
好像这样比较快. 你可能需要加条 sudo.
for dir in proc dev sys; do mount --bind /$dir /target/$dir; done
3 修改里面的 /etc/apt/sources.list, 如有必要加 /etc/apt/apt.conf, 然后 apt-get update.
你喜欢 aptitude 的话那就用. 图省事可以从外面复制一个进来.
需要精简系统的
4 (可选) 装 cryptsetup 用于加密文件系统
5 配置文件
/etc/fstab 设置挂载点
/etc/network/interfaces 设置网络 (如果你装 wicd 的话就不用改了)
2009.9.5 注, 这里可能有个大坑. 加上以下两行解决之. (ubuntu only?)
auto lo
iface lo inet loopback
/etc/default/* 有好多
顺便解决一下 hostname (/etc/hostname), DNS (/etc/resolv.conf)
多数人还需要改 locales, 要不要装 language-pack-en 这个你自己决定.
dpkg-reconfigure console-setup
dpkg-reconfigure tzdata
关于 locales 的问题:
rm /etc/locale.gen
echo en_US ISO-8859-1 >> /etc/locale.gen
echo en_US.UTF-8 UTF-8 >> /etc/locale.gen
echo zh_CN.UTF-8 UTF-8 >> /etc/locale.gen
cp /etc/locale.gen /var/lib/locales/supported.d/local
sudo update-locale LANG=en_US.UTF-8 LC_CTYPE=zh_CN.UTF-8
dpkg-reconfigure locales
echo export LC_CTYPE LANG >> /etc/default/locale
6 bootloader (用 karmic 的推荐 grub2, 其余推荐 grub)
先装好 linux-image-generic. (不明白为什么有人喜欢 -rt 的核心.)
向 /etc/initramfs-tools/modules 中加入需要的模块 (特别是加密文件系统使用者).
顺便更新 initramfs: update-initramfs -u
最后 update-grub 结束(这东西很智能).
7 dpkg –configure -a
配置问题这里要都修掉.
你可以试试这一句, 最好只执行一次 (出问题专用?). dpkg-reconfigure –all –unseen-only
8 update-*
比较重要的有 update-alternatives.
9 adduser, passwd
装 gentoo 从来没忘过, 只是这样装就容易忘了.
10 有些可能会被忘记的包
装 xfs 的: xfsprogs. (其它文件系统同理, 如 reiserfsprogs)
11 杂类
/etc/security/limits.conf
/etc/sysctl.conf (用 sudo sysctl -p 应用新的设置)
12 进一步的安全与优化
open{ssh,ssl,vpn}-blacklist 和 apparmor 什么的看起来不错.
优化暂不讨论, 默认的 ubuntu 这方面做的不错 (最多也就是 sreadahead, insserv 什么的).
友情提示: 请注意文章的时效性与准确性, 作者不对文章的有效性负责.
Tags:
Permalink Bookmark on del.icio.us
Last Modified: January 24, 2010 at 10:21 pm