Gentoo - LTSP Guide
1.
介紹
什麼是 LTSP?
LTSP 為 Linux Terminal Server Project 的縮寫. 安裝的目的是為了提供
多個工作站環境使用的伺服器 (也叫做 thin-clients). 伺服器的套件都可以
都可以使用在比較老舊的機器上為 XTerminal 的用途. 這個方法將減少成本
以及維修的費用. 特別是一些需要此項作法的廠所, 如, 公司或是學校.
2.
安裝
事前準備
這份文件所有的範例將假定您的伺服器 IP 為 192.168.0.254, 您的網域名稱
為 yourdomain.com 和網路為 192.168.0.0/24
安裝
首先, 您需要有一台完好的 Gentoo 系統. 請參考
Gentoo 文件網站 的
Gentoo 安裝指南.
我們將由最簡單的步驟開始, 安裝 ltsp 套件:
原始碼 2.1: 安裝 LTSP |
# emerge ltsp
|
這將會依照依賴性安裝以下套件:
-
XFree: 他們也叫做 XTerminals, 猜猜看 :)
-
DHCP: DHCP 是一個自動設定電腦 TCP/IP 的通訊協定, ltsp
將使用它來分配工作站所需要的 IP.
-
NFS: NFS 是一種允許透過網路使用硬碟的通訊協定, ltsp
將使用他來幫工作站掛載基礎系統.
-
TFTP: TFTP 是一個簡單的檔案轉移的通訊協定, ltsp
將需要使用它來傳送核心(Kernel) 給工作站.
-
XINETD: Xinetd 是一個替換 inetd 的強大而且擁有許多高
階功能的套件, 我們將需要使用它來啟動 tftp.
注意:
如果您有在 USE 參數內設定 kde/gnome, 它也會安裝完整的 kde/gnome 到系統內.
|
3.
設定
安裝完成後, 所有的系統服務將需要進行設定:
系統記錄器
為了要更方便地分析問題,系統記錄器一定要允許遠端連線。
請參考您的系統記錄器文件完成此項設定。舉例來說,如果你使用的是 sysklogd,
你只需要編輯 /etc/conf.d/sysklogd 然後在 SYSKLOGD 那行加入 "-r":
原始碼 3.1: /etc/conf.d/sysklogd |
SYSLOGD="-m 0 -r"
KLOGD="-c 3 -2"
|
NFS
下一個步驟就是編輯您的 /etc/exports 檔案, 這是為了要讓
其他工作站可以掛在根(root)檔案系統. 這個檔案一定要兩最少以下的兩行:
原始碼 3.2: /etc/exports |
/opt/ltsp-4.1/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.3: 啟動 nfs |
# rc-update add nfs default
# /etc/init.d/nfs start
|
xinetd/tftp
要使用 TFPT 之前需要先編輯一點他的設定檔。首先,編輯
/etc/conf.d/in.tftpd 設定 tfptd 正確的目錄和選項:
原始碼 3.4: /etc/conf.d/in.tftpd |
INTFTPD_PATH="/tftpboot"
INTFTPD_OPTS="-s ${INTFTPD_PATH}"
|
-s 旗標指定 TFTP 以安全的 chroot 模式執行(建議你這麼做)。這代表你不用在 DHCP 設
定範例中包含 /tftpboot 路徑。
接著,設定 xinetd 讓 TFPT 可以接受遠端連線。首先,先檢查
/etc/xinetd.d/tftp 的檔案是否存在。預設的情況來說,xinetd 不會自動
啟動 TFTP,所以你將需要編輯 /etc/xinetd.d/tfpt 然後將
disable=yes 改為 disable=no。
原始碼 3.5: /etc/xinetd.d/tftp |
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
}
|
編輯 /etc/xinetd.conf 然後使用 # 將
only_from = localhost 註解使起來。最後,啟動 xinetd。
原始碼 3.6: 啟動 xinetd |
# rc-update add xinetd default
# /etc/init.d/xinetd start
|
解析網域名稱
為了要讓所有的工作站使用各方面的資源, 您需要設定一個正確的網域解析.
其中一個簡單的方法就是為區域網路設定一個網域名稱(DNS)伺服器,
另一個更簡單的方法就是在 /etc/hosts 放入所有的系統.
這也是我們待會會用的方式.
所有的工作站都需要被列入 /etc/hosts. 請查看下面的範例:
原始碼 3.7: /etc/hosts |
127.0.0.1 localhost
192.168.0.254 server server.yourdomain.com
192.168.0.1 ws001 ws001.yourdomain.com
|
DHCP 設定
這個步驟是這份文件中最難的部份, 您將需要建立一個有效的 DHCP 設定.
(/etc/dhcp/dhcpd.conf). 以下為範例:
原始碼 3.8: dhcpd.conf |
default-lease-time 21600;
max-lease-time 21600;
use-host-decl-names on;
ddns-update-style ad-hoc;
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";
option root-path "192.168.0.254:/opt/ltsp-4.1/i386";
filename "/lts/vmlinuz-2.4.26-ltsp-2";
#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 {
range dynamic-bootp 192.168.0.1 192.168.0.16;
#host ws001 {
# hardware ethernet 00:E0:06:E8:00:84;
# fixed-address 192.168.0.1;
#}
}
}
|
如果您的工作站支援 PXE,您應該按照以上的 host ws001 的方式
將每個都編寫進去 (別忘記拿掉註解)。記得不要分配動態型的 IP 給它們,
這是為了防止 IP 重複。請注意,如果你複製以上的範例,記得將任何 "//" 的
註解方式更改為 "##",不然 dhcp 將無法啟用。
關於更多官方 dhcp 的文件可以到
http://www.dhcp-handbook.com/ 找到.
現在啟動 DHCP:
原始碼 3.9: 啟動 dhcp |
# rc-update add dhcp default
# /etc/init.d/dhcp start
|
注意:
DHCPD 需要啟動核心(kernel) 內的 CONFIG_PACKET 和 CONFIG_FILTER.
|
LTSP 設定
關於更多的工作站設定, 請參考
http://www.ltsp.org/documentation/ltsp-3.0-4-en.html#AEN903
和 /opt/ltsp/i386/etc/lts.conf 內的詳細說明
在你開始前我們有幾建議,你將需要先
/opt/ltsp/i386/etc/lts.conf.example 複製到
/opt/ltsp/i386/etc/lts.conf 然後從那邊開始編輯。或許你也需要將
SCREEN_01 的選項設定為 SCREEN_01 = startx。要在遠端的用戶端使用
USB 華數,請加入類似以下的模組:
原始碼 3.10: /opt/ltsp/i386/etc/lts.conf |
MODULE_01 = usb-uhci
MODULE_02 = mousedev
MODULE_03 = usbmouse
X_MOUSE_PROTOCOL = "IMPS/2"
X_MOUSE_DEVICE = "/dev/input/mice"
|
顯示管理員
現在您將需要將您設定顯示管理員讓它接受遠端連線.
首先, 將您的 /etc/X11/xdm/Xaccess 檔案內的幾行註解按照以下拿掉:
原始碼 3.11: /etc/X11/xdm/Xaccess |
#* #任何主機都可以取得登入視窗
|
現在請設定您所選擇的顯示管理員:
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.
接著啟動顯示管理員 (displaymanager):
原始碼 3.12: Starting xdm |
# rc-update add xdm default
# /etc/init.d/xdm start
|
警告:
目前的 XDM 和 GDM 會有問題. 作者使用 KDM 來取代.
|
請注意,如果你的顯示管理員已經執行了,使用 CTRL-ALT-BACKSPACE 不會重新啟動
顯示管理員。
建立開機磁片
如果您的工作站沒有支援 PXE 開機, 您可以建立一個開機磁片
來啟動您的工作站並且連上終端機。請到 http://www.rom-o-matic.net/5.0.9/
選擇您的網路卡, 然後按下 Get ROM 來建立磁片的印象.
原始碼 3.13: 寫入磁碟映像檔 |
# cat nicfile.zdsk > /dev/fd0
|
4.
解決問題
各種狀況都會為問題的來源, 但是也有一些可以幫助您解決問題的資源:
5.
FAQ
Q: 我的工作站是用 Pentium II 處理器, 但是我的伺服器是編譯為
march=athlon-xp 這樣可行嗎?
A: 沒問題, 因為所有的程式都是在伺服器上執行.
Q: 伺服器應該要使用那種處理器和多少記憶體才夠呢?
A: 在
http://ltsp.org/documentation/server_suggestions.html
內有很好的建議.
Q: 有更多關於 PXE 的資料嗎?
A: 有的, 請查看
http://ltsp.org/documentation/eproms.txt
和 http://ltsp.org/documentation/pxe.howto.html.
Q: 有辦法在工作蘸上使用 3D加速軟體嗎?
A: 如果您使用 NVidia 的顯示卡, 請參考:
http://ltsp.org/documentation/nvidia.txt.
Q: 有些軟體的字型看起來很醜, 該怎麼辦呢?
A: You have to setup the XFontServer, 您將需要設定 XFontServer,
將 USE_XFS=Y 加到
lts.conf, 編輯 /etc/X11/fs/config 將
no-listen: tcp 註解起來, 在 /etc/conf.d/xfs
將 XFS_PORT="-1" 更換為 XFS_PORT="7100"
然後啟動 xfs: /etc/init.d/xfs start。然後請確定
/etc/X11/XF86Config (或是 /etc/X11/xorg.conf)
內的 Files 部份包含著 FontPath "unix/:7100"
Q: 我如何在我的工作站使用音效卡?
A: Gentoo 有提供 ltsp-sound 的套間,關於更多步驟請參考裡面的
README 檔。
Q: 我如何使用我的工作站上的音效卡呢?
A: Gentoo 內有 ltsp-sound 的套件, 關於詳細資料, 請參考裡面的
README 檔.
6.
詞彙
LTSP
"LTSP 提供了一個讓低成本的工作站可以透過 GNU/Linux 伺服器
使用圖形和特別的基礎終端機."
PXE
"PXE 為 Pre-Boot Execution Environment 的縮寫. 發音為 pixie. PXE
為 Intel 的 WfM 規格. 此規格可以讓一個工作站透過網路開機, 然後使用伺服器
的資源. 一個可以使用 PXE 開機的工作站利用它的網路卡連到區域網路然後
會在機器啟動時一直連接著伺服器."
這份文件是以
Creative Commons - 姓名標示-相同方式分享 授權條款發布
|