代码: 全选
8.6.35.1 用 chroot 来运行不同版本的 Debian
在 Sarege 中使用 debootstrap 命令很容易构造 chroot Debian 体系。对于 Sarge 的后续发行版,用 cdebootstrap 命令加上适当的选项来代替 debootstrap。例如,在一台拥有快速 Internet 连接的机器的 /sid-root 下创建一个 Sid chroot:
main # cd / ; mkdir /sid-root
main # debootstrap sid /sid-root http://ftp.debian.org/debian/
... 看它下载整个系统
main # echo "proc-sid /sid-root/proc proc none 0 0" >> /etc/fstab
main # mount proc-sid /sid-root/proc -t proc
main # cp /etc/hosts /sid-root/etc/hosts
main # chroot /sid-root /bin/bash
chroot # cd /dev; /sbin/MAKEDEV generic ; cd -
chroot # apt-setup # 创建 /etc/apt/sources.list 文件
chroot # vi /etc/apt/sources.list # 将源指向 unstable
chroot # dselect # 可以使用 aptitude,安装 mc 和 vim :-)
现在你就拥有了一个全功能 Debian 子系统,可以尽情享受而不必担心主 Debian 受到不利影响。
代码: 全选
8.6.35.2 设置 chroot 登录
输入 chroot /sid-root /bin/bash 非常简单,但这将保留当前的所有环境变量,你可能并不希望这样并且有时还会出问题。更好的方法是,在别的虚拟终端上执行另一个登录进程,登录到 chroot 目录。
在默认的 Debian 系统中,从 tty1 到 tty6 运行 Linux 控制台,tty7 运行 X Window 系统,在本例中,我们将 tty8 设置成 chroot 控制台。按照用 chroot 来运行不同版本的 Debian, 第 8.6.35.1 节 中的描述创建好 chroot 系统后,就可以在主系统的 root shell 中输入:
main # echo "8:23:respawn:/usr/sbin/chroot /sid-root "\
"/sbin/getty 38400 tty8" >> /etc/inittab
main # init q # 重启 init
代码: 全选
8.6.35.3 配置 chroot 下的 X
想在 chroot 下安全地运行最新版的 X 和 GNOME 吗?完全可以!下面的例子将实现在虚拟终端 vt9 下运行 GDM。
首先,按照用 chroot 来运行不同版本的 Debian, 第 8.6.35.1 节中描述的方法安装好 chroot 系统,从主系统的 root 下拷贝关键配置文件到 chroot 系统。
main # cp /etc/X11/XF86Config-4 /sid-root/etc/X11/XF86Config-4
main # chroot /sid-root # or use chroot console
chroot # cd /dev; /sbin/MAKEDEV generic ; cd -
chroot # apt-get install gdm gnome x-window-system
chroot # vi /etc/gdm/gdm.conf # do s/vt7/vt9/ in [servers] section
chroot # /etc/init.d/gdm start
在此,编辑 /etc/gdm/gdm.conf,使其在 vt7 到 vt9 上创建虚拟终端。
现在可以很容易地能过切换 Linux 虚拟终端来实现在主系统的 X 环境和 chroot 系统的 X 环境之间转换,例如使用 Ctrl-Alt-F7 和 Ctrl-Alt-F9。酷吧!
[FIXME] 在 chroot 系统下 gdm 的 init 脚本中添加一条注释和一条链接。
8.6.35.4 使用 chroot 来运行其它发行版
代码: 全选
6.3.4 恢复软件包选择状态的数据
如果 /var/lib/dpkg/status 因为某种原因坏掉了,Debian 系统将会完全丢失软件包选择状态的数据。赶快到 /var/lib/dpkg/status-old 或 /var/backups/dpkg.status.* 下找找旧的 /var/lib/dpkg/status 文件。
将 /var/backups/ 放在其它的分区是个好习惯,因为该目录包含了许多非常重要的系统数据。
如果旧的 /var/lib/dpkg/status 文件也坏了,仍可以从 /usr/share/doc/ 下的目录进行恢复这些信息。
# ls /usr/share/doc | \
grep -v [A-Z] | \
grep -v '^texmf$' | \
grep -v '^debian$' | \
awk '{print $1 " install"}' | \
dpkg --set-selections
# dselect --expert # 重新安装系统,如果需要的话去除一些选项
!!! 6.3.5 /var 崩溃之后如何恢复系统
代码: 全选
7.3.2 磁盘缓存清除时间(Disk flush intervals)
可通过 proc 文件系统来修改磁盘缓存清除时间。下面的操作将默认的 5 秒时间间隔缩短到 1 秒。
# echo "40 0 0 0 100 30000 60 0 0" > /proc/sys/vm/bdflush
这可能对文件 I/O 性能产生一点儿负面影响。但它能保证文件内容是最近 1 秒的,比默认的 5 秒更短。对日志文件系统来说更是如此。
7.3.3 迟缓的小内存旧机器
对某些小内存的旧机器来说,在 proc 文件系统中打开内存的 over-commit 功能会很有效果:
# echo 1 > /proc/sys/vm/overcommit_memory
代码: 全选
##这文档值多少米呐,值得保留一百年
sudo apt-get install debian-reference-zh-cn