提供全 Linux 办公室
啊,弗朗索瓦,今晚餐厅看起来很棒。再环顾四周,确保每个工作站都配备了必要的工具。我希望这里完美无瑕。
晚上好,我的朋友们,欢迎来到 马塞尔餐厅,这里是精致 Linux 烹饪和美妙葡萄酒的故乡。请坐下放松。弗朗索瓦,快去拿酒。快点!最好是 1999 年的教皇新堡葡萄酒。
你们这些光顾我的餐厅已有一段时间的人无疑会很高兴,因为许多公司(和个人)正在寻找其桌面操作系统的替代品。Linux 是自然的选择,并提供了许多相对轻松的切换方式。不幸的是,运行 KDE 和 GNOME 的现代 Linux 发行版可能需要大量的系统资源,而许多希望进行切换的公司拥有的 PC 硬件配置不高。幸运的是,Linux 使设置工作站成为可能,通过最少的 Linux 安装,将大部分工作卸载到强大的中央服务器上。
这种类型的设置是瘦客户端设计。客户端可以有多瘦取决于您选择的方法。正如您对所有优质食材的期望一样,有很多种烹饪方法。新鲜的龙虾清蒸后佐以融化的黄油和大蒜当然很美味,但这不是唯一的方法。我们 Linux 厨房准备的东西也是如此,在这种情况下是瘦客户端实现。事实上,一种方法允许您在不重新安装客户端 PC 的情况下设置 Linux 工作站。
实现我们的瘦客户端目标可能最简单的方法是运行一个带有 X 服务器且几乎没有其他东西的 Linux 工作站。您可以不启动 KDE 或 GNOME,而是使用 OpenSSH
startx /usr/X11R6/bin/xterm
由此产生的桌面远非有趣。您得到一个普通的旧 X 桌面,除了一个正在运行的 X 终端,没有任何窗口控制。您可以用这个做什么?首先,您可以使用 OpenSSH 连接到您的服务器,就像这样
ssh -C -X -l user_name server_name-C 选项在安全流中设置数据压缩,而 -X 启用 X 请求的转发。一旦您发现自己处于命令提示符下,您可以通过键入 startkde 或 wmaker 或您喜欢的任何桌面来在远程主机上启动桌面会话。突然间,您会发现自己在远程服务器上运行完整的图形桌面会话。
请注意,服务器的 /etc/ssh/sshd_config 文件必须启用 X11 转发,客户端请求才能被接受。以下是该文件中的参数应有的样子
X11Forwarding yes
如果您需要更改参数,您还需要使用 service sshd restart 重新启动 sshd。这种远程桌面设置效果非常好,即使您已经运行了图形 Linux 桌面,它也可能非常有用。如果访问服务器上的桌面需要您去机房(恰好在建筑物的另一边),则尤其有用。
如果您想运行自己的桌面和服务器上的桌面,请通过按 Ctrl-Alt-F2(或 F3 或 F4...)切换到您的虚拟控制台之一,并像这样启动第二个 X 会话
startx /usr/X11R6/bin/xterm -- :1
-- :1 选项(注意双连字符)调出第二个图形桌面——又一个无聊的 xterm 在无聊的背景上。从这里,您可以使用 ssh 连接到您的服务器并启动您喜欢的任何桌面会话。要切换回您的常规会话,请按 Ctrl-Alt-F7 或 Ctrl-Alt-F8 以切换到第二个会话。这种设置的缺点是它不完全瘦,而且即使使用压缩,OpenSSH 流也可能显得有点慢。
进行 X 显示会话(并使客户端更瘦)的最佳方法是使用 XDMCP,即 X 显示管理器控制协议。从客户端 PC 上的 Linux 命令行,您只需键入
X -query server_name
神奇地,您将拥有一个图形登录屏幕,与服务器上运行的屏幕完全相同。啊,我的朋友们,正如您可能期望的那样,在我们可以执行该简单命令之前,必须为此食谱做一些准备,但准备工作很简单。在弗朗索瓦为您续杯的同时,我将解释一下。
为了将图形登录屏幕呈现给查询主机,/etc/X11/xdm/Xaccess 文件需要取消注释以下行
* #any host can get #a login window * CHOOSER BROADCAST #any indirect host #can get a chooser
您还需要运行 xdm(或 kdm 或 gdm),这意味着您的服务器以运行级别 5 启动。那些启动进入图形登录屏幕的人可能可以略过接下来的几行。要在运行级别 5 中启动服务,您必须将 /etc/inittab 文件中的 initdefault 设置为 5
id:5:initdefault:如果您没有启动进入图形桌面,则上面的 5 应为 3。最后一件需要在 /etc/inittab 文件中设置的事情。向下看到底部,您应该看到类似这样的内容
# Run xdm in runlevel 5 # xdm is now a separate service x:5:respawn:/etc/X11/prefdm -nodaemon注销并重新启动 X 服务器,以便新更改生效。然后,从工作站,只需运行 X -query ip_address(当然是您服务器的 IP 地址)。如果您正在运行 XDM,则应该可以正常工作。但是,你们中的许多人将使用 KDE 的 KDM 登录管理器,您可能会发现自己看到一个中间有一个 X 的纯灰色屏幕(虽然您可以移动该 X,但它不是很吸引人)。这是因为 KDM 的 XDMCP 访问需要进行更多调整。
KDE 使用 kdmrc 文件。在我的系统上,它位于 /etc/kde/kdm 中。查找以下行,并确保 [Xdmcp] 部分中的 Enable 参数设置为 true
[Xdmcp] # Whether KDM should listen to XDMCP requests. Enable=true
当弗朗索瓦端出双层黄油布里干酪来搭配您的葡萄酒时,让我告诉您关于最瘦的客户端,即无盘工作站。有几种选项可用于此方法;今天我将重点介绍一种。然而,鉴于这对于工作场所的 Linux 桌面部署来说是多么重要的工具,我觉得作为这家精致 Linux 美食之家的老板,我有责任指出一些其他值得您考虑的项目。我将在打烊时间之前与您分享其中的一些,但现在,让我们谈谈启动这些工作站。
可以使用 Etherboot 网站 etherboot.sourceforge.net 上的工具创建带有适用于您的以太网卡的驱动程序的启动软盘。从源代码构建只需解压缩发行版,更改为 src 并键入 make 即可。然而,由于 ROM-o-matic.net (rom-o-matic.net) 的工作人员,有一种更简单的方法可以做到这一点。他们维护着从 Etherboot 项目生成的启动 ROM 集合。只需选择发布级别(通常最新的是最好的)、卡类型(3c509、tulip 等)并单击 Get ROM。然后可以将下载的文件传输到软盘
cat eb-5.0.6-yournic.lzdsk > /dev/fd0
瞧!我们的软盘完成了。将其放入工作站 PC 并重新启动。当系统从卡启动时,默认情况下它将暂停几秒钟,让您有机会进行本地或网络启动——网络是默认设置。问题是,您的客户端在启动后无处可连接。这就是 www.ltsp.org 上的 Linux 终端服务器项目发挥作用的地方。该项目的重点是使瘦客户端 Linux 的设置和操作尽可能简单,不是吗?
好的,让我们暂时把工作站放在脑后,专注于服务器。您将需要一些额外的东西,从 DHCP 服务器(来自您的 Linux 发行版的 dhcp 软件包)和 TFTP 服务器(很可能是您发行版中的 tftp-server)开始。您还需要安装 NFS 服务器的软件包。任何主要的发行版都会在 CD 上提供这些软件包,因此您无需到处寻找。
对于 TFTP,您将在 /etc/xinetd.d 中找到该服务的条目。不幸的是,尽管软件包安装会创建一个条目,但默认情况下它也会被禁用。因此,请确保服务 (/etc/xinetd.d/tftp) 具有以下行
disable = no
然后,重新启动 xinetd 以激活 TFTP 守护进程。
如果您尚未这样做,现在是获取 LTSP 软件包的好时机。该站点确实为所有内容提供了 tar 和 gzip 压缩的软件包,但它也为 Red Hat、SuSE、Mandrake 等提供了预编译的 RPM 软件包。Debian 用户也会找到预打包的 DEB。如果您选择使用 tar 压缩包,只需解压缩它们并在每个软件包中运行 install.sh 脚本即可。说到软件包,以下是您需要的软件包——我在这里列出的是 RPM,但软件包的顺序是您需要的顺序:ltsp_core、ltsp_kernel、ltsp_x_core 和 ltsp_x_fonts。还有一些额外的本地应用程序软件包,例如 Netscape,但我们现在先不谈论它们。
在我的设置中,这是事情变得有点有趣的地方。我在三台不同的机器上安装了 LTSP,发现它们的顺序非常重要。我需要运行 dhcpd 才能进行 LTSP 配置步骤,但启动守护进程需要我有一个有效的 /etc/dhcpd.conf 文件。因为我没有这样的设置,所以自动配置失败了,所以我决定创建我自己的 dhcpd.conf 文件;这并不难。看看以下配置。它应该足以让您开始,当然,请记住,我的域的 IP 地址(以及我的 root-path 服务器 IP)肯定与您的不同
subnet 192.168.22.0 netmask 255.255.255.0 { option domain-name "yourdomain.dom"; option root-path "192.168.22.10:/opt/ltsp/i386"; range dynamic-bootp 192.168.22.128 192.168.22.254; default-lease-time 21600; max-lease-time 43200; } host baroque { filename "/lts/vmlinuz-2.4.18-ltsp-1"; hardware ethernet 00:50:FX:5B:XX:56; fixed-address 192.168.22.5; option host-name "baroque"; }
请注意,我至少创建了一个主机。文件名对于最新的 LTSP 发行版是正确的,但以太网卡的硬件或 MAC 地址(除了在这里是虚构的之外)必须是您的客户端的有效地址。使用命令 service dhcpd start 启动 dhcpd。
一旦您安装了 DEB、RPM 或 tar 压缩包并启动了各种服务,您就可以感谢 LTSP 的工作人员了,因为其他工作几乎都为您完成了。您需要做的就是执行提供的初始化脚本
cd /opt/ltsp/templates ./ltsp_initialize
在您键入命令后,您将被警告该脚本即将更新一些重要的系统文件,特别是 /etc/dhcpd.conf、/etc/exports 和其他一些文件(图 1)。
由于 NFS 已使用新的导出更新,并且 DHCP 配置信息已更改,因此您应该重新启动 NFS 守护进程以及 DHCP 守护进程
service nfs restart service dhcpd restart
我们快完成了,我的朋友们。在几秒钟内,我们将拥有一个顶级的,但适中的 Linux 瘦客户端安装。由于 LTSP 的所有软件都在 /opt/ltsp 中,我们需要去那里进行一些配置。首先编辑文件 /opt/ltsp/i386/etc/lts.conf。具体来说,查找这一行
SERVER = 192.168.22.10确保它反映了您用作服务器的主机的 IP 地址。这个 lts.conf 文件是一个值得了解的文件。它允许您调整单个工作站配置,以防默认设置不适用于特定工作站。这是我为我的名为 baroque 的工作站创建的配置(它需要配置旧的串行鼠标)
[baroque] XSERVER = vesa X_MOUSE_PROTOCOL = "Microsoft" X_MOUSE_DEVICE = "/dev/ttyS0" X_MOUSE_BUTTONS = 3 LOCAL_APPS = N SWAPFILE_SIZE = 64m RUNLEVEL = 5请记住,当您添加工作站(并使更多工作站联机)时,您需要将这些工作站放入 /etc/dhcpd.conf 文件中。是的,当您进行更改时,您确实需要重新启动 dhcpd 服务,但仅此而已。
现在我们已经解决了这个问题,放入您的软盘,启动您的工作站,几秒钟后,您应该会看到您的内核映像正在通过 TFTP 下载到工作站。配置启动时对话框将滚动过去,然后是自动 X 配置。顺便说一句,如果在这个阶段 X 给您带来了麻烦,您可以将工作站的条目在 lts.conf 文件中更改为运行级别 3。然后您将启动进入纯文本屏幕。
打烊时间即将到来,我的朋友们,但我确实说过我会告诉您有关类似的项目。您可能想看看 Solucorp 的 X 终端工具包 (www.solucorp.qc.ca),由 Linuxconf 的 Jacques Gélinas 领导。您也可以访问 Diego Torres Milano 的网站 pxes.sourceforge.net,并查看他的 PXES Linux 瘦客户端软件包。
谢谢你们,我的朋友们,今晚在 马塞尔餐厅 分享了这个夜晚。我真的希望您在瘦 Linux 方面的体验是美好的,并且您会在您的工作场所考虑它。成本效益以及简化的管理使其成为这个注重成本的世界中的完美选择。更新服务器,您就更新了每个人;备份服务器,您就备份了每个工作站——没有比这更容易的了。弗朗索瓦,请最后一次为我们的客人续杯葡萄酒。直到下个月。祝您健康!祝您胃口好!
Marcel Gagné 居住在安大略省密西沙加市。他是 Addison-Wesley 出版的《Linux 系统管理:用户指南》(ISBN 0-201-71934-7)的作者(目前正在撰写他的下一本书)。您可以通过电子邮件 mggagne@salmar.com 与他联系。