大便文档翻译:大便(Debian)GNU/Hurd配置,Debian GNU/Hurd Configuration
此文档旨在 成 为 一个简单 且 相对无痛 的教程 , 说明如何花费 最小的努力 来配置Debian GNU/Hurd 。
此文档是基于Neal H. Walfield 的 Hurd安装指南( The Hurd Installation Guide ) 。感谢Neal 的文章。
概述
GNU是与类Unix 系统类似的:登录之后 ,呈现 在用户面前的就是一个外壳 (shell)和熟悉 的Unix VFS (虚拟文件系统) 。尽管GNU 尝试 着 与POSIX 兼容,但它仍然 不是 Unix 。GNU/Hurd沿用了Unix 中的 狠多概念,并且 还扩充了它们:或者加入 新功能;或者 是修复 原设计中那些公认 有瑕玼的地方。 最引入注意的 不同点当属翻译 器(translators)了, 这是用户空间的程序 ,用来 于虚拟文件系统交互 。 这些文件系统 并不在内核中运行, 也不需要 以root 权限运行 ; 它们只需要能够访问后台 的存储设备(backing store)以及挂载点( mount point )。 另一个区别就是,进程 不再是 只拥有一个从创建时便已固定的用户标识 (identity) ,而是拥有 与进程 相分离 的标识 集 (identity tokens) 。 也就是说,这些标识 可以 在认证 后以适当的权限来添加,或者删除。
必须熟悉Unix 环境(尤其 是那些 在流行 的变种例如 GNU/Linux 中出现 的 GNU 用户 态环境 ( userland ) ), 才不会对GNU 感到陌生。如果用过Debian 中的工具,则 会发现配置 和维护GNU/Hurd 系统 时更顺手。
此教程尽全力使得安装GNU/Hurd 的过程 尽可能地无痛苦。如果 文中有错误,那么 极有可能是作者自己的错误。 请 将任何的错误、建议和批评直接 发给原作者; 我们乐于接受此类信息。
安装
可以直接使用Debian 安装器,参考 准备 好了的光盘镜像 。然后按照 以下步骤来配置系统。
配置
网络
( ☯ :最新的版本已经 能自动配置网络,所以省掉这一部分 )
键盘布局
( ☯ :最新的版本已经 能 在安装时选择键盘布局 ,所以省掉这一部分 ,注意别选错了 )
其它文件系统
然后,编辑 /etc/fstab , 以添加其它 的文件系统和交换 (swap)空间。 注意,这一点 狠重要 , 要使用交换空间:Hurd将会变得 更更更 稳定。注意 ,Hurd可以无缝地与 Linux 共享 同一个交换分区,不过呢, 它其实可以使用任何包含 一个原始分区的设备,例如妳的家目录分区。默认情况 下,安装 器只会安装 nano 和 vi 两个编辑器 。
以下是一个示例 /etc/fstab 文件:
# <文件系统> <挂载点> <类型> <选项> <转储(dump)> <遍(pass)> /dev/hd0s1 / ext2 rw 0 1 /dev/hd0s2 /home ext2 rw 0 2 /dev/hd0s3 none swap sw 0 0 |
如果缺少任何的 /dev 设备 的话 , 莫忘记使用 MAKEDEV 命令来创建它:
# cd /dev # ./MAKEDEV hd0s1 hd0s2 hd0s3 |
妳还可以通过 settrans 来手动 挂载一个文件系统:
# settrans /mnt /hurd/ext2fs /dev/hd0s5 |
解释一下这条命令 : 在 /mnt 节点上启动 /hurd/ext2fs /dev/hd0s5 翻译 器。 /hurd/ext2fs 会被执行,并且开始读写 /dev/hd0s5 ,将它的内容呈现于 /mnt 。参考 翻译 器文档 以了解更多信息。
要挂载nfs 文件系统的话,就使用 /hurd/nfs 翻译器。 以非root用户运行时, 该翻译器会使用大于1023 的端口号来连接 至 服务器。默认情况 下,GNU/Linux 会拒绝此连接。 要想让GNU/Linux 接受来自 于非保留端口的连接 的话,需要 向导 出(export)行中添加 非安全 ( insecure )选项。 这里就是一个 /etc/exports 示例文件,假设客户 端的IP是 192.168.1.2 :
/home 192.168.1.2(rw,insecure) |
假设nfs 服务器的IP是 192.168.1.1 , 则 在GNU 系统中挂载 这个文件系统的命令 是:
# settrans -cgap /mount/point /hurd/nfs 192.168.1.1:/home |
好好玩玩大便GNU/Hurd 吧
好了,现在 我们 有哪些有趣的事情可做呢?
挂载 光 盘镜像
在标准Unix 系统中 ,如果妳不是root 用户 的话, 要想 访问光盘镜像 中 的内容 是 有点 麻烦的(tedious) 。 在GNU/Hurd 中,可这样挂载:
settrans ~/mnt /hurd/iso9660fs CD_image.iso |
这样是完全安全的: iso9660fs翻译器是以妳的身份运行的, 而不是root。 妳还可以自己 为任何类型的文件系统编写翻译 器。 是的,这与FUSE 类似。 不过没有它的那些问题(kludge)。
透明的FTP
以下命令 将配置 好一个透明的 ftp 目录:
settrans -c /ftp: /hurd/hostmux /hurd/ftpfs / |
现在,切换 ( cd )到一个FTP站点目录,例如 /ftp://ftp.gnu.org/ ,然后运行 ls 。 是的,现在妳在自己 家里直接运行 tar xf ftp://ftp.gnu.org/pub/gnu/gcc/gcc-4.6.0/gcc-4.6.0.tar.bz2 就可以解压站点 中的压缩 包了!
子Hurd (Sub-Hurd)
子 Hurd 是一个完整的子系统。第一 眼来看的话 狠像虚拟化容器。 不同的就是,妳不需要以 root 用户运行。
gdb ext2fs, pfinet, ...
是的,妳可以运行gdb 来调试ext2fs 、 pfinet TCP/IP协议 栈 等等。
还有狠多别的事情!
某些工作还在进行中,包括 mboxfs 、 tarfs 、 xmlfs 、 gopherfs...
结语
以下内容 都是关于安装 时的说明, 别忘记阅读一下关于 已安装的系统的文档: 大便GNU/Hurd文档 ,还 有 上游网站 。
安装更多软件包
有多种手段可用来添加软件 包。 可以在下载了之后使用 dpkg -i 来安装,不过这样做不太方便。 最简单的方法就是使用 apt-get 。编辑 /etc/apt/sources.list , 从 http://www.debian-ports.org/mirrors 页面的列表中选择一个未发布 (unreleased) 的条目 ,添加 到此配置文件中。然后安装 debian-ports-archive-keyring 软件 包:
deb http://ftp.debian-ports.org/debian unreleased main |
http://ftp.debian-ports.org/ 及其镜像站点中包含了一些 被修改过 却 还没有整合 到上游项目和Debian 中的软件包。
还有那些包含 此架构 (如果apt 报告错误 说 "bad archive mirror" ,就换一个 )的Debian 镜像站点 ( 在 http://www.debian.org/mirror/list 可找到一个完整列表 )中的 不稳定版仓库(unstable):
deb http://ftp.fr.debian.org/debian unstable main |
如果在执行第一 次 apt-get 的时候, dpkg 报告 说缺少某些程序 ,那么, 在一个登录外壳中切换 到root 用户( 也就是说 su - ,不要只打 su )。
如果GNU Mach未识别出妳的网卡,或者妳用的是调制解调器的话,那么唯一 的升级方法就是 从外部下载那些软件包再将它们 传到GNU 系统 中了。 最简单的方法就是使用离线apt。参考 /usr/share/doc/apt-doc/offline.text.gz 以了解详细步骤。
Hurd终端
除了在安装过程 中用过的Mach 控制 台 之外 ,GNU/Hurd 还提供一个功能强大 的用户空间控制 台 程序 ,支持虚拟终端 。 它应当在系统启动时就自动启动了, 没自动启动的话 也可以用以下命令 来手动启动:
# console -d vga -d pc_mouse --repeat=mouse -d pc_kbd --repeat=kbd -d generic_speaker -c /dev/vcs |
控制台的自动启动选项 是在 /etc/default/hurd-console 中设置的
在Hurd 控制台中, 可使用 ALT+F1 、 ALT+F2 等快捷键来切换 到不同的虚拟终端。 ALT+CTRL+BACKSPACE 会将Hurd 控制台分离,此时妳 将回到Mach 控制 台,然后可使用 以上 的命令 来重新 启动控制 台。
X.Org
X.Org已经移植完成,而且, 它支持的所有 的那些不需要内核模块和drm 的显卡都 可使用 。
妳需要运行Hurd 控制 台 ,并且像之前的小节里说的那样设置 好重复器(repeaters)。
妳需要运行 dpkg-reconfigure x11-common 以允许任何用户启动Xorg ,因为X 封装 器 (wrapper) 不知道Hurd 和Mach 控制台。
妳还需要创建 /etc/X11/xorg.conf , 以启用control-alt-backspace 快捷键:
Section "InputDevice" Identifier "Generic Keyboard" Driver "kbd" Option "XkbOptions" "terminate:ctrl_alt_bksp" EndSection |
妳还需要安装几个X 软件包。 xorg 、 rxvt 和一个窗口管理器: twm 、 fvwm 、 wmaker 、 icewm 、 openbox...都可以。
X.Org应该不需要任何其它配置文件就可以正常工作了。 不过,某些情况下妳可能需要使用vesa 驱动。
最后,运行 startx 。
结语
目前还没有使用SysV rc 系统。 要想关机的话,使用 halt 或 reboot 命令。