为了设置客户端,我们必须在基础系统上工作。首先,我们将手动对启动脚本进行一些修改,其次,我们将使用基础系统引导工作站,以确保它正常工作并完善一些细节。请注意,这部分内容与发行版非常相关,这里描述的某些内容可能不适用于您的情况。我只能保证这适用于 SuSE 7.0。请随时向我发送针对特定发行版本的此页面副本!
在 init
启动后,它会执行 /etc/inittab
中描述的脚本。此脚本有一项非常特定的工作要做:使系统进入可以启动其他程序的状态。在我能想到的大多数发行版中,此脚本执行以下操作
/proc, /dev/pts
和 swap
文件系统。/usr
目录。如果您尝试网络引导主机,则必须对此脚本进行以下修改
mount -o remount,rw /
,因为客户端在启动时必须具有对根目录的读写访问权限。ln -s /etc/rc.d/portmap /etc/rc.d/boot/S01portmap
如果您使用的是 SuSE。ln -s /etc/rc.d/nfs /etc/rc.d/boot/S02nfs
对于 SuSE。
这是一项棘手的业务!内核不允许通过 NFS 进行交换,并且功能也不正常。您不能在 NFS 挂载的文件系统上使用 swapon
。我们必须做一些技巧来启用它
dd if=/dev/zero of=/var/swap bs=1k count=Xk
,其中 X 代表您的交换应该为多少 MB。将交换文件放在 /var
下也是必要的,只要它在启动时挂载。mkswapfs
命令格式化交换文件。losetup /dev/loop0 /var/swap
。mount /dev/loop0 swap
挂载环回设备。
/etc/fstab
/etc/fstab
文件包含在启动时自动挂载文件系统的条目。在我们的例子中,我们必须将以下行放在文件的末尾
server_IP:/usr/local/linux/base/usr /usr nfs nfsvers=3,wsize=2048,tcp 0 0
server_IP:/usr/local/linux/base/opt /opt nfs nfsvers=3,wsize=2048,tcp 0 0
server_IP:/usr/local/linux/base/lib/modules /lib/modules nfs nfsvers=3 wsize=2048,tcp 0 0
fileserver_IP:/home /home nfs nfsvers=3,wsize=2048,tcp 0 0
另外,不要忘记注释掉挂载本地分区的行。将此文件另存为 /etc/fstab.new
,因为它不应立即激活,只要我们必须首先引导基础系统。
您必须向系统提供两个文件,以允许用户执行登录。为此,只需将文件 /etc/passwd
和 /etc/shadow
从文件服务器复制到基础系统。请注意,每次向系统添加用户或用户更改其密码时,都必须执行此操作,因此最好通过创建 cron 作业来完成。
为了引导基础系统,我们必须首先创建一个启动盘。转到下一节并按照建议创建一个启动盘。请将“append”行更改为此行
append init=/sbin/init root=/dev/nfs
ip=X:Y:195.251.160.254:255.255.255.0:::'off'
nfsroot=Y:/usr/local/linux/base vga=0x318
(Of course, in a sigle line)
其中 X 代表您网络中未使用的 IP 地址,Y 代表 NFS 服务器的 IP 地址。当然,您必须使用 rw,no_root_squash
选项从 NFS 服务器导出 /usr/local/linux/base
目录。现在引导基础系统。一切都应该正常工作,但我不认为您有可能第一次启动就成功!有很多晦涩难懂的点,您忘记编辑了,或者我忘记提及了。
这是引导基础系统并向您的安装添加程序或新内核的标准方法。因此,备份您编辑的文件以及启动盘映像。
成功引导系统后,您将进入一个完整的 Linux 环境。以 root 用户身份登录,享受在新创建的系统中的第一次体验!现在到了困难时期... 您必须禁用一些自动启动的服务,并删除用户不需要的一些程序。
几乎所有发行版都会启动这些服务
inetd
,Internet 超级守护进程,负责启动其他守护进程,如 telnet、ftp 等。syslogd
,日志守护进程。在无盘客户端上不需要,因为所有修改都是对易于替换的文件进行的。httpd
,apache webserver。出于显而易见的原因不需要。dhcpclient
。自动获取 IP 地址所需。在我们的例子中,这是由内核完成的。lpd
,行式打印机守护进程。仅当您的主机连接了打印机时才需要。在大多数情况下,这是不需要的。/etc/rc.d/X
下的运行时目录中删除它们的条目。在 SuSE 或 RedHat 下,有更优雅的方法可以做到这一点,即使用 Yast 或 Linuxconfig。对于 Yast,转到 系统管理 ---> 更改配置文件
,并使用搜索找到您要停止的每个服务的条目。然后,从基础系统中卸载所有这些服务。在我看来,唯一看起来合理的保留运行的服务是 NameServer 缓存守护进程,它可以大大减少网络流量。
现在,您必须编辑一些文件
/etc/resolv.conf
用于提供域名服务器。添加以下条目:nameserver xxx.xxx.xxx.xxx 和 domain xxxxx,将 x 替换为正确的值。/etc/hosts
用于在本地将 IP 地址与主机名匹配。提供您网络的基本服务器名称。/etc/nntpserver
用于提供新闻服务器。只需附加域名服务器的主机名。/etc/fstab
恢复我们之前创建的 fstab.new
文件。也许,您不像我一样住在美国或英国,因此您必须配置语言。这可以通过 .profile 文件轻松完成。只需添加以下内容:export LANG="X"
,其中 X 是您的母语。然后,下载一个支持您的代码页的控制台字体,并借助 Yast 设置键盘键映射。将 .profile 复制到文件服务器的 /etc/skel
或所有用户的主目录。
如果您想为具有不同图形硬件的客户端提供可工作的 X 环境,则必须使用 XFBDev
服务器。如果您按照关于如何创建启动盘的说明进行操作,您现在应该处于 1024x768@16M 颜色的帧缓冲模式,这足以与 X 窗口一起使用。现在,您必须配置 X 服务器以加载帧缓冲驱动程序。SuSE 提供了一个出色的工具来配置 X,无论是 3.3.x 版本还是 4 版本。它对于 X 3.3.x 称为 sax
,对于 X 4.x 称为 sax2
。要使用 XFBDev 驱动程序,请使用 -s XF86_FBDev
选项启动 sax,并根据您的硬件配置服务器。如果您不使用 SuSE,则大部分工作必须手动完成。使用 xf86config4
创建基本的 /etc/X11/XF86Config
文件。请选择尽可能接近您需要的条目。然后编辑 /etc/X11/XF86Config
。此文件分为多个部分,这些部分以关键字“Section”开头,以“EndSection”结尾。进行以下修改
Option "Buttons" "5"
Option "ZAxisMapping" "4 5"
BoardName "AutoDetected"
Driver "fb"
Identifier "Device[0]"
VendorName "AutoDetected
Identifier "Modes[0]"
Modeline "1024x768" 71.39 1024 1040 1216 1 400 768 768 776 802
DefaultDepth 16
SubSection "Display"
Depth 16
Modes "1024x768"
EndSubSection
Device "Device[0]"
Identifier "Screen[0]"
Monitor "Monitor[0]"
Identifier "Layout[all]"
InputDevice "Keyboard[0]" "CoreKeyboard"
InputDevice "Mouse[1]" "CorePointer"
Screen "Screen[0]"
然后将 InputDevice 指令的第一个参数替换为可以在文件中较早位置找到的标识符。XF86Config
和 xf86cfg4
手册页。您将在附录 C 中找到一个可工作的 XF86Config 文件。
即使我们算上一些以此为傲的商业软件,KDE 也是最可扩展、可配置和启用互联网的窗口管理器!要下载 KDE,请 ftp 到 ftp.kde.org 并获取适用于您的发行版的 rpms。在那里,您还可以找到 vanilla 源代码和其他相关项目。
KDE 的主要配置是通过 K 控制中心完成的。在那里,您可以找到用于配置字体、颜色、背景等的选项。您可以配置的最重要的事情是 KDE 包含的 LAN 浏览守护进程 lisa
。在 \$KDE2ROOT/share/apps/lisa
下还有一个 readme 文件。配置 lisa 后,您必须使其(或她?)在每次计算机启动时都在后台启动。在 /root
下找到 lisa 的配置文件。将其复制到 /etc
下。之后,将命令 lisa -c /etc/lisa.conf
放在 /etc/rc.d/boot.local
文件中,或您安装的类似文件中。现在告诉我,搜索 Windows 或 Linux 网络哪个最容易?
如果您的用户来自 Windows 世界,他们习惯于在该死的“开始”菜单中查找程序。为了简化他们的过渡,请使用菜单编辑器程序编辑 KDE 菜单,并在其中添加或删除应用程序。然后,将 .kde2
目录从您的目录复制到文件服务器的 /etc/skel
目录。您创建的每个新帐户都将有权访问您创建的菜单(和设置)。