linux无盘站
利用LTSP建構無硬碟工作站-LTSP伺服器安裝與組態
專欄作者:Nica Liu
發表日期:2002-10-04
點閱次數:14
版權聲明:本文旨在教學與介紹新技術為主,文中提及之產品及相關公司組織之商標,均為該公司組織所有。本技術文件可予下載列印,但不得為商業用途,非經原作者同意不得轉錄或抄襲。
利用LTSP建構無硬碟工作站-
LTSP ( Linux Terminal Server Project ) 伺服器的安裝與組態
首先,我們必須由開發此系統的網站中下載一些軟體,至少需包含下列套件:
ltsp_core-3.0.5-0.i386.rpm - LTSP 套件
ltsp_kernel-3.0.4-0.i386.rpm – 啟動工作站的 Linux 核心
ltsp_xcore-3.0.1-1.i386.rpm – 工作站的 X-Windows ( for kernel 4x 版 )
如果你想要用很老舊的個人電腦來作的話,你必須去下載一些與 X-Windows 3.3.6有關的套件使我們現有的顯示卡能達到較佳的效果。
至於工作站在音效上的支援,我們所需要的套件為 ltsp_sound-3.0.1.i386.tgz。我個人認為如非必要,不要在上頭使用音效,因為它很佔網路頻寬。
還有,我們在安裝 LTSP 前必須先裝好 DHCP, tftp-server 及 nfs-utils。
現在讓我們開始架設 LTSP 吧 !!
rpm -ihv ltsp_kernel-3.0.4-0.i386.rpm ltsp_core-3.0.5-0.i386.rpm ltsp_xcore-3.0.1-1.i386.rpm
要是你沒有先裝 GNOME ( 或者更精確的說法是:gdm 桌面管理程式 ),你會看到下面的錯誤訊息:
chmod: getting attributes of '/opt/ltsp/templates/gdm_Init_Default.tmpl':
no such file or directory
這是正常現象,你可以不用理會。
在進行下一步之前,先檢查你的 PATH 環境變數值,你必須在你的 PATH 值中看到 /sbin 及 /usr/sbin ,要是沒有的話,執行下列命令把它加進去:
export PATH= $PATH:/sbin:/usr/sbin
( 註:你可以執行 echo $PATH 來確認是否成功加入它了 )
現在,你可以著手 LTSP 的安裝了:
cd /opt/ltsp/templates
./ltsp_initialize
會出現以下訊息:
The Linux Terminal Server Project (http://www.LTSP.org)
About to update important system files. If you would like
to stop and review the changes that are about to be made,
you can cancel now and look at the replacement files that
are about to be installed.
Press ‘Enter’ to go on, or 'C' to cancel
按下 Enter 後,會出現下列的檔案列表,你可以在這兒輸入你想要改變的東西:
The following files will be created/modified:
/etc/X11/xdm/Xaccess The config file to allow remote xdm log [Y]
/etc/X11/xdm/Xservers Config file for xdm to launch local Xse [Y]
/etc/X11/xdm/Xsetup_workstation Sets the logo of your login window [Y]
/etc/dhcpd.conf.example Example config file for dhcp [Y]
/etc/exports The config file for nfs [Y]
/etc/hosts.allow Configuration file for tcp wrappers [Y]
/etc/inittab Config file for init [Y]
/etc/X11/xdm/ltsp.gif The background logo for your login [Y]
/etc/rc.d/rc5.d/S60nfs Startup links for nfs [Y]
/etc/rc.d/rc5.d/S13portmap Startup links for portmapper [Y]
/etc/sysconfig/syslog Startup info for syslogd [Y]
/etc/xinetd.d/tftp Enable the tftp daemon [Y]
/etc/X11/xdm/xdm-config The main config file for xdm/kdm [Y]
Ready to apply the changes? ( R-Review, A-Apply, C-Cancel )
按下 A 然後 Enter 你會看到下列訊息:
The Linux Terminal Server Project (http://www.LTSP.org)
Doing the update
Xaccess.tmpl
Saving old /etc/X11/xdm/Xaccess as /etc/X11/xdm/Xaccess.1
Xservers.tmpl
Saving old /etc/X11/xdm/Xservers as /etc/X11/xdm/Xservers.1
Xsetup_workstation.tmpl
Saving old /etc/X11/xdm/Xsetup_workstation as /etc/X11/xdm/Xsetup_workstation.1
dhcpd.tmpl
Saving old /etc/dhcpd.conf.example as /etc/dhcpd.conf.example.1
exports.tmpl
Saving old /etc/exports as /etc/exports.1
hosts.allow.tmpl
Saving old /etc/hosts.allow as /etc/hosts.allow.1
inittab.tmpl
Saving old /etc/inittab as /etc/inittab.1
ltsplogo.tmpl
Saving old /etc/X11/xdm/ltsp.gif as /etc/X11/xdm/ltsp.gif.1
nfs.tmpl
portmap.tmpl
syslog.tmpl
Saving old /etc/sysconfig/syslog as /etc/sysconfig/syslog.1
tftpd.tmpl
xdm-config.tmpl
Saving old /etc/X11/xdm/xdm-config as /etc/X11/xdm/xdm-config.1
這個套件的起始設定現在已經完成了,現在讓我們來設定 DHCP 伺服器吧。
首先,用你習慣的文字編輯工具來編輯 /etc/dhcpd.conf.example 這個檔,在這個組態檔中你可以看到一個範例的網路組態設定 192.168.0.0/255.255.255.0,你必須將此改為你網路中實際的值。
在 options root-path address 這一行,你要設成無硬碟工作站要啟動的伺服器位址。
要是你的網路中已經有 DHCP 伺服器了,你得將此值改正。。
在組態檔中有一個重要的參數 “ option log-servers ”,這兒要設定的是所有工作站記錄檔要存放在哪台電腦的 IP 位址,多半是設成你主要伺服器的位址。
你也要注意到 ” host ws001 {} ”,這個參數,這裡的這些數字必須和網路中工作站一樣,因為這些設定乃為各個工作站各別的環境設定,在關鍵字後頭,工作站的電腦名稱也要設定。
接下來,設定各個工作站的 IP 位址,依據 kernel 的檔名來為各個單位取名字,以ltsp_kernel-3.0.4-0.i386.rpm 套件來說,檔名就會是 /lts/vmlinuz-2.4.18-ltsp-1。
現在,執行下列命令來啟動 DHCP 伺服器:
service dhcpd start
syslog 的組態已經在 ltsp_initialize 寫好了,我們只須要重新載入即可:
service syslog reload
/etc/hosts 的組態設定正確是很重要的 ( 或者在 DNS 中已經完全設好了 )。 工作站所分配到的 IP 位址要和他的網域名稱配合,否則在工作站利用 NFS 連線到中央控管的網路伺服器上會出現問題。
現在是設定 xfs ( X-Windows font server )的時侯了,這一點是比較爭議的 – 因為各個站都能擁有它們自已的字型套件,但就某些方面來說,中央控管字型伺服器是比較好的方式。
若要這麼作的話,必須在 /etc/X11/fs/config中將 no-listen = tcp 的註解取掉,然後重新載入xfs 服務:
service xfs start
確定你作的是重新 ” 啟動 ” ( restart ) 而不是重新 “ 載入 ” ( reload ) 否則 xfs 無法正確的處理網路需求。
現在我們要完成 NFS 的組態,在 /etc/exports 的檔案中修正下列幾行,將之更正為你網路中的設定:
/opt/ltsp/i386 192.168.0.0/255.255.255.0(ro,no_root_squash)
/var/opt/ltsp/swapfiles 192.168.0.0/255.255.255.0(rw,no_root_squash)
下一步我們要作的是 /opt/ltsp/i386/etc/its.conf 的組態設定,這個檔案會被存到所有的工作站裡,參數的第一個區塊為預設值:
[Default]
SERVER = 192.168.0.254
XSERVER = auto
X_MOUSE_PROTOCOL = "PS/2"
X_MOUSE_DEVICE = "/dev/psaux"
X_MOUSE_RESOLUTION = 400
X_MOUSE_BUTTONS = 3
USE_XFS = Y
LOCAL_APPS = N
RUNLEVEL = 5
這些參數皆可由他們的名稱中知道它們所代表的意義,不過我們還是列出了一個簡短的概述:
SERVER – 處理所有執行無硬碟工作站的主機位址。
XSERVER – 在工作站執行的 X server ( 像是應用程式 )。預設為 auto ( 自動偵測 ),在 xFree 4x下,我們可設為一個可載入模組的名稱;在 XFree 3.3.6 下這個值為 X server的名稱 ( 例如 XF86_SVGA )。
X_MOUSE_PROTOCOL – 滑鼠的型態。
Microsoft – 對滑鼠而言,它指的是以 COM 埠介面連結的滑鼠。
PS/2 – PS/2 介面的滑鼠。
X_MOUSE_DEVICE – 滑鼠的設備檔,例如 COM1 為 /dev/ttyS0,COM2 為 /dev/ttyS1,PS/2 為 /dev/psaux。
X_MOUSE_BUTTONS – 滑鼠鍵的數目 ( 2 或 3 )。
USE_XFS – 是否要使用字型伺服器,在這要設定 Y 來使用字型伺服器。
LOCAL_APPS – 當你必須在本地端執行應用程式時須設為 Y ,在這種情況下,你必須安裝 ltsp_local_apps 套件。
RUNLEVEL – 設為 5 為圖型介面。
接下來的區塊為特定工作站個別的敘述及詳細設定的集結,設定在各個工作站名稱之後,此區塊中所有的值將會複寫預設值。
[ws001]
XSERVER = auto
LOCAL_APPS = N
USE_NFS_SWAP = N
SWAPFILE_SIZE = 48m
RUNLEVEL = 5
注意下面的這個參數,並與預設值對照一下:
USE_NFS_SWAP – 要不要在網路分割區上使用 swap 檔。假設我們工作站的記憶體有 64 MB 以上,我們可以設成 N ( 不要使用 swap 檔 )。
SWAPFILE_SIZE – swap 檔的大小,在我們要使用 swap 檔的時侯才要設定。
在工作站方面來說,除了 kernel 及 X-server 外我們是不需要其它東西的,而且由於不必在工作站上執行應用程式,所雨我們也不須要很多記憶體,這也就是為什麼我們只有在工作站的記憶體太少或是必須在本地端執行一些應用時,才會要用到 swap 檔。在此建議不要用 swap 檔,因為它的動作實在太慢,又會造成網路的負載過重…
這兒有些很好用的參數: X_MODE_0, X_MODE_1, X_MODE_2 可以讓我們設定螢幕的解析度:
X_MODE_0 = 800x600
X_MODE_1 = 1024x768
在這裡是將解析度在開機的時侯設成 800x600 以及在按下 Ctrl-Alt-Plus 時設成1024x768。
你在 lts.conf 用到的參數都可以在 lts.conf.readme 中找到完整的列表,建議你好好研讀一下。
若你在伺服器中使用 X Window 則必須編輯 /etc/X11/xdm/Xservers 檔,拿掉下面這行的註解:
:0 local /usr/X11R6/bin/X
如此一來就一切 OK 啦 !! 別忘了將 X 伺服器的 runlevel 設成 5,這樣NFS 和 xdm ( gdm 或 kdm ) 才能啟動。