Linux 版 (精华区)

发信人: netiscpu (夜☆星光点点☆), 信区: Linux
标  题: [文档]构建无盘工作站(由台湾交大sdat提供)
发信站: 紫 丁 香 (Mon Oct 12 00:26:49 1998), 转信



发信人: dfbb (赵无忌☆迷恋红尘), 信区: Linux
标  题:  [文档]构建无盘工作站(由台湾交大sdat提供)
发信站: BBS 水木清华站 (Sun Oct 11 21:10:02 1998)


RPL(Remote Program Load)--"远端开机",一直为很重要的网路运用方式,其优点与特
点许多文章都有介绍,所以本文不再赘述.目前许多 OS都支援远端开机,只不过现在的
OS发展愈来愈庞大,remote-boot的效果实在不怎麽好,有的 RPL OS网路启动还分
real-mode(16 bit,慢的可以),protected mode(32 bit),甚至非常挑网路卡.RPL 安
装与正常安装有非常大的差距,正常安装支援的网路卡不见得适用於 RPL安装,总是以
极麻烦的拐弯抹角方式才能安装成功,後续新增的 RPL client也是以非常麻烦方式增
加,差不多失去了"统一设定"的优点.

而对 Linux而言其为如假包换真正 32 bit OS,remote-boot启动就是纯正 32 bit OS
网路环境,除了 loading kernel以外(文中另外说明),启动载入速度豪不客气远远打败
其他 PC RPL OS (Linux >> Windows 95 >>> OS/2 Warp 3.0).由於 Linux起始时载入
的架构并不大(不包含 X,即使载入 X还是比人家快),除启动速度快以外,即使有相当数
量的 client来说,server负载并不大.

更重要的是只要 Linux有支援的网路卡,就直接套用在 remote-boot安装绝对没问题.
另外如果以文中介绍的 distribution来架构 client的结构,就可以达到只要其中一台
client新增或修改程式,其它的 client也全部更动,差不多做到了真正"统一设定"的优
点.无论续加或删减 client相关的手续也远远方便於其他 OS(就只是 cp & rm而已).

在 Unix世界里本来就有 bootp client,而 Linux也支援,只不过要找有支援 bootp的
boot-rom 实在不简单,我问过的都没有.除非自己烧 boot-rom,而如何制作 bootp的
boot-rom code在 linux有个软体为 netboot可以作出 boot-rom code,但是还是要买
烧录器来烧 eprom,这就比较麻烦了.另外就是如 Hope-Net vol-43介绍的以此
netboot来制作软碟模拟 boot-rom来做 bootp client.但是此 netboot能支援的网路卡
太少了(PCI的几乎没支援),并且每台 client需搭配其专用的"开机片"(因为每台 NIC
的 irq & io并不一样),比较起以 boot-rom开机反而不方便许多.

但是以另一种方式,即是以 Linux模拟 Novell server,client以一般的 ipx boot-rom
来连上 Linux同样达到 remote-boot目的.我想没有一家网路卡或 boot-rom 敢不支
援 Novell的吧.另外以此种方式来 remote-boot有个最大特色即是 client可以选择
OS来开机,不只可以用 Linux来开,也可以选 DOS/Win来开,当然 DOS/Win也要装在
Linux上.



*************************************************
[安装前准备]
*************************************************

Remote-boot(Diskless) Linux在 linux自己系统上就已经有好多篇文章可以参考,最
重的是:
kernel source /Documentation/nfsroot.txt
说明 linux开始支援 root on via NFS server(我没查从哪一版开始).另外有许多资
料说明如何架构 diskless linux方法及档案结构设定,相关的资料在:
/usr/doc/faq/mini/NFS-Root.gz (内容同上)
/usr/doc/faq/mini/diskless.gz
这一篇算是蛮老的,而且是以 Sun SPARC来作 boot server,不太明白为何作者不乾脆
就以 Linux来作为 boot server?,事实上仍然能以 Linux来作 NFS server.

另外有一篇非常详尽的说明,只不过是在 Slackware 3.3上:
Slackware CD-ROM /docs/mini/NFS-Root-Client
这篇文章架构方式就与 faq 的diskless 大不相同,并且 server & client端都是
Linux.这篇文章似乎就比上面那篇完整详尽,且客户端结构也优於该篇,而以下文章就
很类似此篇结构.

总括来说,架构方法不同但目的都一样,主要目的大略有三项,这也是其他 RPL PC OS
(DOS/Win,Win95,OS/2)重要的特点:

一.精简个别 client目录
二.共用部分使用最佳化
三.统一设定最佳化.

当然也可以自行以各种方法架构出最适当的 diskless linux的结构,本文说明也许不
是最好的架构,可以依照手边现有的套件及实际网路环境,参考上述的文章选择最适合
的架构方式或自行规划另一种架构.


本篇说明以 Linux Slackware 3.xx(我是用 Slackware 3.1)版本为准,准备的套件软
体有:

Linux Slackware     最好是用"完整版",因为 Slackware有一种 "Slacktest"安装方
                    式,就是以 CD-ROM来执行 Linux,此种方式转来套用在 RPL
                    client架构特别适合.可以作到"统一设定"的优点,并大量节省
                    各 client占用 server的空间,大概 10 mb出头左右而已.如果
                    不是以此种架构来安装 client如 Hope-Net Vol-43介绍的方式,
                    则每台 client在 server上的架构是真正完整的Linux 架构,大
                    概 50-180 mb不等,看装有哪系列为定.另外交大"云观二"也有此
                    种安装,只不过东西都太老了.而其他 Distribution 如 RedHat,
                    OpenLinux....是否有此种方式,没用过不知道,Debine确定是没
                    有的(我装过).
                    而一般台湾 mirror过来的 ftp site几乎都没有此套件,我看过
                    有些中文 linux书有,有的没有,而"大享"出的都有,Hope-Net附
                    的是绝对没有.
                    如何判断手上 Slackware是否有 "Slacktest"安装方式,查看
                    CD-ROM目录结构是否有 /slaktest 及 /live 这两个目录(缺一
                    不可,我看过某家出的书附上的 Linux就只挂一个 /slaktest,
                    /live就不见蛋,我手上某杂志附的Slackware 3.3 就是如此).

Mars_NWE            档名 mars_nwe-0.98.pl7.tgz ,交大资科找得到.
                    模拟 Novell server,且模拟的相当逼真,不但 Novell client没
                    问题在Linux上存取,且也支援 remote-boot client来开机.
                    此程式安装设定有蛮多的,参考敝人拙作:
                    http://www.hope.com.tw/cdmag/cd9709/linux1.html
                    or Hope-Net Vol-40.

DHCPD               档名 dhcp-1_0_0_tar.gz 可以到 http://www.isc.org 抓回来.
                    这是 ISC组织中的一个计画,即是 Unix的 DHCPD,与声名显赫的
                    Samba一样支援一ㄊㄨㄚ平台,当然也支援 Linux.此 DHCPD也支
                    援 bootpd,由於现在 OS都有支援 DHCP(NT,95,OS/2 Warp.....)
                    并且也支援 NetBIOS name server(即 WINS),所以可以改原用
                    bootpd为 DHCPD.
                    国内许多 FTP site放的 package是 client端,档名开头为 dhcpcd
                    (DHCP Client Daemon),如果从国内找要抓後面没有 "c"的,不要
                    抓错了.

EtherBoot           档名 etherboot-2.1.tar.gz(或以後版本)
                    其中有包含一个修改 linux核心的套件,允许 swap也放在 server
                    上,如果 client真的完完全全没任何磁碟,就需要此套件
                    而 etherboot算是 netboot的"总集",除了 netboot外另包括其
                    他有关 diskless的工具及修补程式.也就是说有了此套件,netboot
                    可以不用抓了.

                    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                    非常感谢 Albert K T Hui(avatar@deva.net) 提供 swapping
                    via NFS 资料.
                    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

原版 Win95 CD-ROM   明明要用 Linux来 remote-boot,关 Win 95啥事ㄌㄟ?
                    这也是此篇文章最大缺憾,因为要制作 remote-boot的 image-
                    file只有用 "真正" Novell server上的 \system\dosgen.exe 来
                    制作,等於要架起真正的 Novell server然後把 server上的该程
                    式拷到 Linux上才能制作image-file.因为即使 Mars_Nwe模拟的
                    很逼真,但是相关的系统工具版权为 Novell所有,所以 Mars_NWE
                    当然不会附上.
                    曾看过市面有一本解说 Novell的书即附有"ㄧ人版"的 Novell
                    server(不会很贵),为了此程式特别买这本书好像太......,但是
                    如果要让 Mars_NWE模拟的更逼真,就是 client可以在 Linux执行
                    syscon,fconsole.....等 Novell系统程式,买这本就赚到啦! 因为
                    Mars_NWE没有人数限制(新修正版,旧版有 248人--网友戏称为
                    magic number),而"真正" Novell 100人版,去问问就知道了(保证
                    吒舌!)
                    由於使用 Win 95的人很多,该 cd-rom也附有制作 image-file的
                    工具为 rplimage.exe(cdrom \nettools\admin\netsetup下),原
                    本是用来制作 Win 95在 Novell server远端开机的 image-file
                    ,用来做 linux的image-file也是可以.

假设网路环境:
一台remote-boot server和一堆 remote-boot clients且通通在一个 subnet.
domain name       : rpl
ip address        : 192.168.1.xx
netmask           : 255.255.255.0
remote-boot server: server1
                    ip=192.168.1.1
remote-boot client: client-1
                    ip=192.168.1.2
                    client-2
                    ip=192.168.1.3
                    :
                    :
                    类推....

一台已经装好的 Slackware Linux,最好可用空间大一点,用作来 remote-boot server
(RPL-server).


*************************************************
[安装第一台 client]
*************************************************


  首先架起一台 Linux,HD 最好大一点,除了自己系统档案外(70-180 mb,看装有哪系
  列而定),建议所有系列通通装上(D & N系列绝对不能少).预留给 client部分,共用
  档案大概 260 mb左右,而各 client占用大小大概 15-30 mb左右,共用部分不变外,
  client数目多寡相乘即可算出总共预留给 client空间.

  假设想让所有 client都共用大部分档案,除了各 client特别设定档案外(在 M$称
  此种架构为 Server Based Setup - SBS),而且手中的 Slackware 也有
  "Slacktest"安装方式.接著架起 "CD-ROM 执行的 Linux".这种 Linux也是要一块
  ext2的 partition,但不要很大,不到 20 mb即可,外加 swapper可以是 partition
  或是档案的 swapper参照市面书籍介绍安装说明.最好这一台 client的网路卡为
  ne2000,因为大部分 Slackware boot-disk kernel都有把 ne2000 给挂上去,如果
  用其他并不太多见的网路卡(尤其 PCI)的.只怕重开後抓不到网路卡,就算 kerrnel
  source有支援,但是此种 "CD-ROM"执行版的 Linux连 source也摆上 cd-rom 不能
  compile.虽然也可以 link回来 local HD重新 compile,与其大费周章 link回来并
  解开 kernel source(很大喔!!)倒不如设定好第一台 RPL client再重新 compile
  省事多了.

  如"正常" Linux安装一样,也是两块磁片(boot-disk & root-disk),如同ㄧ般安装
  Linux一样,最好 boot-disk是以 net.i 来做,因为 net.i绝对抓得到 ne2000.我曾
  装过忘了是哪个 boot-disk,就没有把 ne2000放进 kernel.而後安装到 select
  source 就是从 cd-rom安装时注意有个选项--"Slacktest",就是选此项.代表要以
  cd-rom来执行 linux,选择套件只要 A 系列即可,其他系列通通不要选.
  会发现此种安装最快,不到 5分钟,在网路设定时按照定一台(client-1)来设定,因
  为此台架构就是第一台 remote-boot client的架构.

  重开的 linux会不断的读 cd-rom,开完後看ㄧ下档案结构如:

  bin/
  boot/
  cdrom/
  dev/
  dos/
  etc/
  home/
  lib/
  lost+found/
  mnt/
  proc/
  root/
  sbin/
  shlib/
  usr -> /cdrom/live/usr

  原来喔...,是 /usr 这个目录 link到 cd-rom上的 /live/usr上了,而
  cdrom/live 下的 usr目录已经特别为此种执行方式做好相对应的 link.而 usr
  下的东东为 Unix大部分常用的程式(包括 GCC,XFree).

  测试ㄧ下此种 linux运作情形,telnet 到预备做 remote-boot server(也是
  Slackware Linux),也可以设定 X,以 xf86config来做再 startx,会看到 cd-rom
  不断的哀号.....但是此种 Linux不能新加或修改程式,因为 cd-rom 只能读不能
  写.而能写的部份,也就是通常此台 linux专用的设定档即必备的系统档(fsck,
  mount,tar,..)还是在硬碟上.由於该 link的目录或档案做好了,此种目录结构特
  别适合 Server Based Setup,每台 client只需ㄧ点点空间,大部分都共用这
  /live/usr 底下的.



[设定 Server上 remote-boot client结构]

  就直接以此"耍宝型" linux 以 root身分telnet到 remote-boot server.
  假设第一台为 client-1,第二台为 client-2....类推,修改 server上
  /etc/hosts 如下:
  hosts
  ------
  192.168.1.1    server1.rpl    server1
  192.168.1.2    client-1.rpl   client-1
  192.168.1.3    client-2.rpl   client-2
  :
  :
  255.255.255.255    all-ones  # <-要加这一行,针对 DHCPD装在 linux

  在根目录( / )建一个目录, mkdir /export,此目录下再建 remote-boot结构目
  录
  mkdir /export/usr
  mkdir /export/client-1
  mkdir /export/client-2
  :
  :

  修改 server上的 /etc/exports
  exports
  ------------
  /export/usr             *.rpl(rw,no_root_squash)
  /export/client-1        client-1(rw,no_root_squash)
  /export/client-2        client-2(rw,no_root_squash)
  :
  :

  改好 exports要重新启动 server的 mountd & nfsd,
  以 ps ax | grep rpc.mountd
  看到 xxx  ?  S     0:00 rpc.mountd (xxx 为此 daemon的 pid)
  以 ps ax | grep rcp.nfsd
  看到 yyy  ?  S     7:39 /usr/sbin/rpc.nfsd (yyy 为此 daemon的 pid)
  再以
  kill -s SIGHUP xxx
  kill -s SIGHUP yyy
  即重新启动 mountd & nfsd.

  也同样的以此"耍宝型" linux来连上(mount) remote-boot server,先检查
  server是否分出来.

  showmount --exports 192.168.1.1

  Export list for 192.168.1.1
  /export/usr             *.rpl
  /export/client-1        client-1
  /export/client-2        client-2
  :
  :

  的确分出来,然後 mount 上, 
  mount -t nfs 192.168.1.1:/export/usr /mnt

  然後将本台的 /cdrom/live/usr 通通拷到 server上,做之前确定 server有足够
  空间(大概 260 mb出头).
  cp /cdrom/live/usr/. /mnt -a
  
  接著开始设定 server上第一台 remote-boot client结构.
  断掉本地 /mnt对 server的连接, 
  umount /mnt
  
  连上 server上第一台 client目录,
  mount -t nfs 192.168.1.1:/export/client-1 /mnt

  拷贝本地端目录到 server上,这步骤稍微罗唆一点:
  cp /bin /mnt -a
  cp /dev /mnt -a
  cp /lib /mnt -a
  cp /shlib /mnt -a
  cp /var /mnt -a
  cp /boot /mnt -a
  cp /etc /mnt -a
  cp /root /mnt -a
  cp /tmp /mnt -a
  cp /home /mnt -a
  cp /sbin /mnt -a
  mkdir /mnt/proc
  mkdir /mnt/cdrom
  mkdir /mnt/mnt  
  mkdir /mnt/usr
  拷贝完即是第一台目录结构完成,但是需要修改一些档案,才能符合 remote-boot 
  client的需求.
  
  修改 server上 /export/client-1/etc/fstab,该档应该是:
  fstab
  ---------
  /dev/hda2       swap        swap        defaults   1   1
  /dev/hda1          /        ext2        defaults   1   1
  none               /proc    proc        defaults   1   1

  假设 remote-boot client都没有硬碟,所以通通砍掉只留下 proc.
  fstab
  -----------
  none             /proc    proc        defaults   1   1

  再编辑 /export/client-1/etc/rc.d/rc.S,在此 script的最开头 mount上 server
  分出的 usr 目录,如,
  rc.S
  ----------
  #!/bin/sh
  #
  # /etc/rc.d/rc.S:  System initialization script.
  #
  # Mostly written by:  Patrick J. Volkerding, <volkerdi@ftp.cdrom.com>
  #
  PATH=/sbin:/usr/sbin:/bin:/usr/bin
  /sbin/mount 192.168.1.1:/export/usr    /usr    # <-----加入这一行
  
  既然已经 telnet到这 remote-boot server,乾脆利用 server针对 client需求
  重新编译核心.但是 remote-boot linux与正常的 Linux在核心设定仍然有一些
  些差异,所以在设定时特别加入适合 remote-boot linux的选项.

  由於 linux是 32位元多工多人作业系统,如果实际记忆体不足,就会有 swapper
  产生(硬碟置换档),既然已经是 diskless自然就没有硬碟.记忆体很大还无所谓,
  但是作为 client端可能不见得有很多记忆体.跑一些很耗记忆体的程式(如 X 
  window),就出了问题.但是也有修改程式允许 swap也放在 server上,只不过这 
  patch有认版本,太新太旧就不认得,我测试的区间在大於等於 2.0.21,小於 
  2.0.28之内,另外敝人很少碰"奇数版"核心,不太了解与"偶数版"相对应的版次.
  此外 Albert K T Hui也提供较新核心版本的 nfsswap的 patch资讯,可以从:
  http://www-math.math.rwth-aachen.de/~LBFM/claus/nfs-swap/
  抓回来(for kernel 2.0.30, 2.0.32, 2.1.59),只不过这些 patch有一点点小问
  题,会造成 yp client(ypbind)失效,而 etherboot内附的就不会发生此问题,大
  概是不同作者缘故吧.

  把 etherboot这程式放在 /usr/src下并解开:

  cd /usr/src
  tar zxfv etherboot-2.1.tar.gz

  找找 nfs-swap-2.0.21.dif.gz (版次不同,所在目录也不同),并复制到 linux核
  心的 source下.

  cp nfs-swap-2.0.21.dif.gz /usr/src/linux
  
  对核心作修改并设定,

  cd /usr/src/linux
  zcat nfs-swap-2.0.21.dif.gz | patch -p1 -s
  
  make config
  
  其中选项在
  * Filesystems
  *
  Quota support (CONFIG_QUOTA) [N/y/?] 
  Minix fs support (CONFIG_MINIX_FS) [Y/m/n/?] 
                 :
                 :
  /proc filesystem support (CONFIG_PROC_FS) [Y/n/?] 
  NFS filesystem support (CONFIG_NFS_FS) [Y/m/n/?]                        <
     Allow swap files to be on NFS filesystems (CONFIG_SWAP_NFS) [Y/n/?]  <
     Root file system on NFS (CONFIG_ROOT_NFS) [Y/n/?]                    <
        BOOTP support (CONFIG_RNFS_BOOTP) [Y/n/?]                         <
        RARP support (CONFIG_RNFS_RARP) [Y/n/?]                           <

  一定要打 Y(也不能 modules方式载入),其中 "CONFIG_SWAP_NFS"这选项需经过 
  patch才会显现出来,另外针对不同 client所装上的网路卡,在 Network Device 
  setting 选择载入,但绝对不能以 module方式载入,否则当 kernel bottting时
  因为还没启动网路卡,自然没启始网路就抓不到 "root-path"(挂掉!).在 
  "nfsroot.txt" 文章中有提到 Root on via NFS的 Linux并不支援 module载入
  方式,而我实际测试除了 network device不能之外,其他类型 modules还是可以
  载入,比如 File-System中的 VFAT module,我试过仍然可以 insmod再来 mount 
  Win95 VFAT的 partition.大概原作者考量怕把 network device也扔到 module
  去了,造成没办法 bootting,所以才如此建议吧.而後,

  make dep ; make clean ; make zImage
  
  重新编译核心,但不是给 server用,是留给 client来 remote-boot用的.

  到此 remote-boot client-1目录架构就算完成了,本地端的"耍宝型" Linux算是
  功成身退.(硬碟 format掉留给其他 OS,或留下做 swapper悉听尊便)
  

*************************************************
[制作 remote-boot image-file与 server端其他设定]
*************************************************


  本文一开始有提到 Unix本来就有 bootp的协定,而 linux都有支援 bootp相关
  的 server & client.但是支援 bootp的 boot-rom实在不好找,找一种随处都可
  以买到的 boot-rom所支援的协定,那就是 Novell ipx boot-rom.而非常有幸的 
  linux很难得拥有 Unix世界里非常少见的 NCP server(Novell有自己的 UNIX--
  Novell UnixWare),并且不只一个.因为 linux的 ipx socket是由大名鼎鼎的一
  家公司 Caldera (http://www.caldera.com)所支持,拜这家公司所赐,在 linux
  上不管是 server or client or ipx-router都蓬勃发展,独傲其他 Unix. linux
  上目前有两个,一为 Lin Ware deamon,另一为 Mars_NWE.前者有限制 kernel
  版本,必须在 1.3.58以前(因为会改 linux kernel source,以後版本已经不认
  得了),由於作者已不在研发 lin-wared,所以选择 Mars_NWE.
  
  这个 Mars_NWE模拟 Novell server相当逼真,也可以 remote-boot client,甚
  至允许让 client执行 syscon ,fconsole...等系统程式(甚至比某家出的二半
  调子 "FPNW"还优秀).

  由於 Mars_NWE安装及设定是有相当篇幅,参照 mars_nwe source/doc/install 
  或依前文所述的网址或杂志安装设定,并且确定各种平台 client(NT,95,OS/2..)
  连接存取正常,可以制作 image-file.

  如果是以原版 Win 95 CD-ROM的 rplimage.exe来制作 image-file,自然有些步
  骤还是得照 remote-boot Win95的规矩.
  找一台 Win95开机,但一定要为"原始"的 Win95,不能 OSR1(SP#1)或 OSR2(SP#2)
  ,因为等一会要用到的 rplimage.exe 会认版本.(微软从 OSR1的 Win95并没有附
  上 NETSETUP相关的工具,换句话说即不支援 remote-boot).并且一定要跳到 "纯 
  DOS"(DOS 7.0)就是开机时按 F8再到 "6"选项,为何不能进 Win95再以 "DOS box"
  来作呢?可以试试 DOS Box下的 rplimage.exe就知道.... :P
  
  进入 DOS 7.0来 format (format a:/s)一片软碟开机片,并且解开 linux /root 
  下的 lodlin.zip中有个 loadlin.exe也放在这开机片,并且把 server上刚才 
  compile出来的 /usr/src/linux/arch/i386/boot/zImage 
  给拷在这开机片.编辑此片的 autoexec.bat
  autoexec.bat
  -------------
  loadlin zimage root=/dev/nfs

  而这张要制作 image-file磁片还需要一些档案,总列表如下:
  boot-disk file list
  ---------------------
  IO       SYS
  MSDOS    SYS
  DRVSPACE BIN
  COMMAND  COM
  ZIMAGE         (Linux Kernel)
  LOADLIN  EXE   (载入 kernel的程式)
  AUTOEXEC BAT      
  DBLBUFF  SYS
  HIMEM    SYS   (最好从 95也拷过来,因为 95预设会载入,没放的话会等一阵子) 
  IFSHLP   SYS   (也是如此,理由同上)
  RPLBOOT  SYS   (这个比较伤脑筋一点,因为一般 Win95不会有这个档,而 remote
                  -boot一定要有这个档,不然会 bootting不起来,这个档也在 
                  CD-ROM上,只不过被压缩在 win95_23.cab中.解出来方法如下:
                  到光碟 \win95 目录下执行
                     
                  extract.exe /a /l c:\work win95_23.cab rplboot.sys
                     
                  其中 "c:\work" 为已存在要把 rplboot.sys置放的目录,自行
                  设定.
                  如果 Win95有装 PowerToy当然最好了,直接从 "档案总管"查
                  看该档解出来即可.
                  这个档解出拷到磁片即可,不用再以 config.sys中设定载入)


  从 Win 95 CD-ROM中的 \nettools\admin\netsetup下拷出 rplimage.exe(这个
  程式只能在dos执行).制作 image-file:

  rplimage a:

  就可以得到 net$dos.sys 的 image-file.

  如果真的有 Novell server系统工具,就简化许多手续.随便找一台 DOS开机(不
  受限 Win95 or DOS 6.22 or IBM PCDOS 7.0....),一样 format a:/s,把核心
  及 loadlin.exe 拷到磁片,新增编辑 autoexec.bat.再以 "DOSGEN.EXE"来制作 
  image-file如:

  dosgen a:

  也可得 net$dos.sys,但如果是 DOS 5.x(or 6x),还必须修改 image-file(这是 
  Novell bug)在 Novell Netware CD-ROM(或 DOS Client Shell磁片)找到 

  就只有这两个档,第二台也设定好了.
  开机後的 client-2也正常的话,也测试一下运作情形,但不要一股脑执行 
  "startx",也许 client-2的显示周边与第一台不同(一样的话另当别论),还是得 
  "xf86config",另外设定.
  
  
  第三台同第二台步骤拷贝,编修档案....第四,第五.......

  此外以任何一台将原本 Slackware并没有内附的套件,比如中文 "big5pack"放到 
  /usr/src ,解开并编译再安装.
  通常其他台到同套件目录不用再编译只要安装即可(make install--假设有 
  install的参数),因为大家都共用 /usr/src这目录,只要有一台安装好 binary事
  实上等於大家通通都有,但有些程式有自己的设定及 library,所以其他各台仍然
  需做 make install来安装及设定到各台自己专用的目录.

  很显然的,利用 Slackware "slaktest"结构来架构 remote-boot linux是最适合
  不过的方法.由於每台专用的设定及档案或目录仍然在 server上是个别独立的,
  并且每台需求空间就只有一点点,当 client数量增多时,这种结构愈发突显方便
  及空间利用率,不考虑安全性考量外,因为每台的最高使用者--root 地位都一样
  可以乱窜改共用的 /usr 目录,但只要限制能用 "root" 帐户的人数(不然就自己
  知道),一般的帐户还是无法乱改.甚至连 remote-boot server也是依照 "slak-
  test"架构运作,就是把 cd-rom上的 /live/usr 搬到硬碟上并 exports给 
  client来 mount,但似乎太危险了,client改挂了 server也跟著挂了.其实以开机
  的两片磁片重开再把 cd-rom /live/usr拷过一遍到硬碟还是一样可行,因为 
  server自己的设定及目录档案仍然与 client隔开独立的.


  也可以事先规划第一台另装套件有哪些,一一编译安装好再复制第一台目录结构
  到二,三,四.....,如此每台也跟著包含这些外加的套件,省去各台还得 make 
  install手续.
  另外 client数量不太少时(如 30-50台),帐户也不少时(30-50人),可以考虑以 
  remote-boot server兼做 yp(Yellow Page) server,而 client都以 yp client
  运用 server上的帐户,否则随便设想一下 50台--50人的排列组合是很可怕的耶..

  linux 的 yp使用参照:
  /usr/doc/faq/howto/NIS-HOWTO.gz
  及
  /usr/doc/yp-clients
  /usr/doc/ypserv             
  中说明来安装使用(Slackware 也内建--package-- yp server & client不用到
  处抓了).



#######################################################################
  
相较於其他 remote-boot PC OS,Linux可说是最好安装及管理的,不像某家後续
新增的client不是按原有 client的架构跟著有相关程式,仍然是"光光"的结构,得
个别安装软体(而且这些软体一个比一个恐龙,如 Off?????),宝贵的光阴与硬碟空
间就这样浪费了.另一家老牌字号 32-bit RPL OS虽然也有统一设定的好处,但 OS
结构本身实在太庞大了,跑任何程式总是慢人家两光....

而 Linux 优点与特点相较於其它 PC OS,有太多文章比较辩证了,敝人不敢多论,
但其中一个特点 -- "FREE" 足够打败其他 PC RPL OS.不要以为各家商业 NOS附
的 RPL OS都可以任意安装运用(因为在已经 cd-rom上,好像是免费的).而实际上
必须为各台买下使用权,有的 server如此使用还得另外付钱.

而 remote-boot linux只要频宽够大, server够 power,要装挂上几台就挂几台,
没人管您.而且 linux更新速度非常快,如有需要跟新整个架构,只要将新的 slak-
test /live/usr 拷到 server上即可,就算专用目录也要更新,只要第一台搞定,以 
cp 复制到其他台就完成,愈突显此种结构的优点,不像某家二半调子的 32-bit 
RPL OS正在改版,原本艰难痛苦安装好的 RPL架构,面临"革命"的压力(可能要以
"先拆後建"方式改版.... :P 天啊!!!!).



ps:最近在 linux版上看到一个小消息,某杂志(已经差不多是某大软体公司马前
   卒了)又对 linux评比非常不好,早在前阵子评量 Linux+Apache Vs. NT+IIS
   就掀起不小风风雨雨了.感到不解的是,该杂志有啥资格评量"不要钱"的 OS,
   而且特别喜欢针对 Linux(还有一堆 free OS--FreeBSD,NetBSD....为啥就不
   找),也特别针对某 Distribution.

   敝人私自以为,以本文的性质来说在 Diskless(RPL,M$ 说 Server Based 
   Setup)方面,Linux保证绝对势必一定不可否认优於 M$ 各种 RPL OS(Win95,
   DOS/Win).并且组织设定绝对弹性化,光是 diskless部分与该杂志文中所提缺
   陷南辕北辙,稍微注意本篇文章所有设定手续,会发现几乎都是在 server设定
   即可,而且只要以任一台 terminal(or Xterminal)登入进 server即可作所有
   管理的事(注意喔 server可没重开过喔!),而 NT的 RPL部分几乎必须亲自到
   console前操作,而且设定操作 server & client端都需确认,换句话说两边跑
   来跑去烦不胜烦,套句某网友一句话"有事没事都得到 NT console前再跪拜一
   次!!",且有事没事 server又得重开ㄧ次.与该文章评量 Linux "Mangeability 
   => C"简直颠倒.
   个人认为单以 RPL部分 Novell => A ,Linux => B(A), NT => C.
   (Linux的 Mars_NWE remote-boot与 Novell设定是完全一样的,如果不考虑 
   client OS,可以视为一样)
   
   当然光以某技术面来衡量是有欠客观性,而该文章所举之例主题模糊和可议性
   与实际情况似乎大不相同,随便单以本文探讨方面,轻易的击破该文的观点.

   敝人另有几篇 RPL PC OS文章:
   台大椰林 Novell精华区: Remote-Boot Win 95(for Novell)
   以及小坦克的窝  http://auto.fcu.edu.tw/~yytseng 
   (RPL Win95 for NT,Novell & IBM OS/2 Warp Server)
   曾在 OS/2 & Novell(到 Novell比较好找,post 较少)Remote-boot OS/2 -
   Warp 3.0 for Novell

   与本文 remote-boot Linux,正好可以比较各家 RPL client及各家 server的
   设定,稍微比对一下很显然 linux不管在 server端或 client端无论管理及设
   定优於各家 PC OS(server & client).

   敝人观後有一点点感想,一些著名的媒体散布的讯息可性度不一定正确(也许
   在某些动机下),尤其在网际网路上散布速度更快,但也更难求证.往往得到新
   的资讯只能可以做参考,不能当事实来评定.


   (当然啦,敝人的感想及本文内容也仅能做参考而已......)







----------
So many adventrues coulden't happen today
So many songs we forgot to play
So many dreams swinging out of the blue
We'll let them come true......(from Alphaville - Forever Young)
--
 * Origin: ★ 交通大学资讯科学系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>


--
m3m※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 159.226.41.99]m

--

                              Enjoy Linux!
                          -----It's FREE!-----

※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: mtlab.hit.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:208.043毫秒