1. 简介
什么是 LTSP?
LTSP 是 "Linux Terminal Server Project"的缩写。安装在一台服务器上,他能够支持许多带有完全相同环境工作站(叫作瘦客户端)。所有的应用都在服务器端运行,而你可以使用老旧的 PC 进入到X终端。这可以减小花费和维护,特别是在你所登录的每台电脑需要一致工作空间的地方,例如,在学校或是公司。
2. 安装
开场白
在本文档中的所有例子都假定你服务器的 IP 地址是 192.9.168.0.254,你的域命名为 yourdomain.com,你的网络是 192.9.168.0.0/24。
安装
首先,你必须有可工作的 Gentoo 系统。请阅读你体系结构相应的 Gentoo 安装手册Gentoo 文档网站。
然后让我们开始最容易的步骤,安装 ltsp 核心的应用:
代码 2.1: Emerge LTSP |
# emerge ltsp-core |
这包括安装下面相依赖的软件包:
注释: 如果你设置了 kde/gnome 标签,也会安装完整的 kde/gnome 系统。 |
3. 配置
在 emerge 过程结束后,所有的服务都必须进行配置:
系统日志
为了简化问题分析,系统日志必须配置为接受远程连接。情阅读你的系统日志文档来了解如何实现。
NFS
下一步是编辑你的 /etc/exports 文件,以便允许工作站加载根文件系统。至少要有下面两行:
代码 3.1: /etc/exports |
/opt/ltsp/i386 192.168.0.0/255.255.255.0(ro,no_root_squash,async) /var/opt/ltsp/swapfiles 192.168.0.0/255.255.255.0(rw,no_root_squash,async) |
注释: 你可以改变网络、掩码设置以适应你的网络。 |
现在启动 NFS。
代码 3.2: 启动 nfs |
# rc-update add nfs default # /etc/init.d/nfs start |
xinetd/tftp
缺省下 TFTP 不会启动,要改变这个,编辑 /etc/xinetd.d/tftp 并把 disable=yes 替换为 disable=no. 然后启动 xinitd。
代码 3.3: 启动 xinetd |
# rc-update add xinetd default # /etc/init.d/xinetd start |
域名解析
为了使工作站接触所有的资源,必须要有正确的名字解析。有几种方法来达到这点。一种是为本地网络配置 DNS 服务器,另一种(更简单的)是在所有的系统上使用几乎相同的 /etc/hosts 文件。我们采取后一种方案。
所有的工作站必须列在 /etc/hosts 中。看看例子:
代码 3.4: /etc/hosts |
127.0.0.1 localhost 192.168.0.254 server server.yourdomain.com 192.168.0.1 ws-1 ws-1.yourdomain.com |
DHCP 配置
在我看来这是最复杂的步骤,你需要建立有效的 DHCP 配置(/etc/dhcp/dhcpd.conf)。这里是例子:
代码 3.5: dhcpd.conf |
// 一般选项 default-lease-time 21600; max-lease-time 21600; use-host-decl-names on; ddns-update-style ad-hoc; // Bootp 选项 allow booting; allow bootp; // 网络选项 option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; option routers 192.168.0.254; option domain-name-servers 192.168.0.254; option log-servers 192.168.0.254; option domain-name "yourdomain.com"; // LTSP 路径选项 option root-path "192.168.0.254:/opt/ltsp/i386"; filename "/lts/vmlinuz-2.4.19-ltsp-1"; // 如果你的工作站有 ISA 网卡,取消下面的行注释// 并且选择你的驱动和 IO #option option-128 code 128 = string; #option option-129 code 129 = text; #option option-128 e4:45:74:68:00:00; #option option-129 "NIC=ne IO=0x300"; shared-network WORKSTATIONS { subnet 192.168.0.0 netmask 255.255.255.0 { // 分配给工作站的动态 IP range dynamic-bootp 192.168.1.1 192.168.1.16; // 工作站特定的 PXE 引导配置 #host ws001 { # hardware ethernet 00:E0:06:E8:00:84; # fixed-address 192.168.0.1; #} } } |
如果你的工作站支持 PXE,你应当列出她们中的每一个,像我在 host ws001 中所作的(别忘了取消注释)。不要给它们在动态范围中的地址,否则可能会有工作站有相同的IP (将是有问题的)。
需要关于本项目的更多文档,请阅读 dhcp 官方手册: http://www.dhcp-handbook.com/
现在启动 DHCP ,就像你在 NFS 和 xinetd 中一样:
代码 3.6: 启动 dhcp |
# rc-update add dhcp default # /etc/init.d/dhcp start |
注释: DHCPD 需要 CONFIG_PACKET 和 CONFIG_FILTER 在内核中激活才能工作。 |
LTSP 配置
有很多选项来配置你的工作站,查看 http://www.ltsp.org/documentation/ltsp-3.0-4-en.html#AEN903 来得到 /opt/ltsp/i386/etc/lts.conf 的完整描述。
显示管理器
现在你要改变你的显示管理器配置,使之接受远程连接。
首先修改你的 Xaccess 文件,去掉下一行的注释:
代码 3.7: Xaccess |
#* #any host can get a login window |
现在修改你所使用的显示管理器配置:
XDM:在 /etc/X11/xdm/xdm-config 注释掉 DisplayManager.requestPort: 0
KDM:在 /usr/kde/3.1/share/config/kdm/kdmrc 找到 [Xdmcp] 部分并把 Enable = false 改为 Enable = true。
GDM:在 /etc/X11/gdm/gdm.conf 找到 [Xdmcp] 部分并把 Enable = false 改为 Enable = true。
然后启动显示管理器:
代码 3.8: 启动 xdm |
# rc-update add xdm default # /etc/init.d/xdm start |
警告: 好像 XDM 和 GDM有些问题。作者使用 KDM 来解决这些问题。 |
创建引导软盘
如果你的工作站不支持PXE引导,你必须创建一个引导软盘,在启动你的工作站时需要的。到 http://www.rom-o-matic.net/5.0.9/,选择你的 NIC(网卡),按下 Get ROM 并把镜像写到软盘中:
代码 3.9: 写软盘镜像 |
# cat nicfile.lzdsk > /dev/fd0 |
4. 故障处理
有很多原因会导致问题,但是周围也有很多资源帮助你来解决你的问题:
5. FAQ
问: 我的工作站是 Pentium II CPU,但是我的服务器使用 march=athlon-xp 编译,可以这样么?
答: 这没有问题,因为所有的应用在服务器上运行。
问:服务器应当有那种CPU,多少内存?
答: 这有一个很好的建议文档 http://ltsp.org/documentation/server_suggestions.html.
问: 你有PXE方面的更多信息么?
答: 是的,请看 http://ltsp.org/documentation/eproms.txt 和 http://ltsp.org/documentation/pxe.howto.html.
问: 可以在工作站上使用 3D 加速软件么?
答: 如果你使用 NVidia 卡,请看 http://ltsp.org/documentation/nvidia.txt.
问: 在有些应用中字体看起来褶皱,怎么办?
答: 你不得不安装 XFontServer,增加 USE_XFS=Y 到你的 lts.conf,编辑 /etc/X11/fs/config 注销掉 no-listen: tcp ,在 /etc/conf.d/xfs 文件中用 XFS_PORT="7100" 替换 XFS_PORT="-1" 并启动 xfs: /etc/init.d/xfs start。
问: 我怎么在工作站使用声卡?
答:Gentoo有一个 ltsp-sound 包,可以从README文件的到更多指引。
6. 词汇表
LTSP “LTSP提供了一种简单的方式,来应用低价工作站作为基于 GNU/Linux 服务器的图形或是字符终端。”
PXE “Pre-Boot Execution Environment的缩写。发音是 pixie,PXE是 Intel WfM 规范的一部分。它允许工作站从网络中的服务器上引导,在从本地硬盘上引导操作系统之前。一个 PXE的工作站通过跳线把其网卡连接到局域网,保证工作站即使关闭电源也可以连接到网络。”