Gentoo - LTSP Guide

本文详细介绍Linux Terminal Server Project (LTSP)的安装步骤及配置流程,包括事前准备、安装套件、系统服务设定等内容,并提供了常见问题解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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;

Bootp 選項
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";

LTSP 目錄選項
option root-path "192.168.0.254:/opt/ltsp-4.1/i386";
filename "/lts/vmlinuz-2.4.26-ltsp-2";

如果您的工作站有 ISA 網路卡, 請拿掉以下註解
和驅動程式的 IO
#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 {
分配動態性 IP 給工作站
range dynamic-bootp 192.168.0.1 192.168.0.16;
工作站的 PXE 開機設定
#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.txthttp://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/configno-listen: tcp 註解起來, 在 /etc/conf.d/xfsXFS_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 開機的工作站利用它的網路卡連到區域網路然後 會在機器啟動時一直連接著伺服器."

 
<think>嗯,用户问的是Gentoo Linux中的gentoo-kernel和gentoo-sources包的区别和作用。我需要先回想一下这两个包各自的用途。记得Gentoo是一个基于源代码的发行版,用户通常需要自己编译内核。 首先,gentoo-sources应该是提供标准的内核源代码,让用户可以自己配置和编译。而gentoo-kernel可能是一个预编译好的内核,或者自动编译的内核,方便不想手动编译的用户。不过不确定,需要确认一下。 然后,可能需要详细说明两者的主要区别:gentoo-sources是源码包,用户需要手动配置和编译;而gentoo-kernel是二进制包或者自动生成的,用户可以直接安装,节省时间。但需要确认gentoo-kernel是否确实是预编译的,或者是否由工具自动处理配置和编译。 另外,gentoo-kernel-bin可能是一个预编译的二进制包,而gentoo-kernel可能是指另一个自动化的过程。可能需要区分gentoo-kernel和gentoo-kernel-bin的区别,但用户的问题只提到gentoo-kernel和gentoo-sources。 还要考虑用户的使用场景。使用gentoo-sources的用户通常是希望自定义内核,优化系统,或者需要特定的驱动和功能。而gentoo-kernel适合那些希望节省时间,或者不需要深度定制的用户,比如服务器环境或快速部署。 需要注意Gentoo的文档或官方说明,确保信息准确。比如,gentoo-kernel可能利用了内核的自动配置工具,如genkernel或distribution内核的概念,自动处理配置和模块选择,而gentoo-sources则是纯源码,没有任何预设配置。 最后,总结两者适用的情况,帮助用户根据自己的需求选择。可能还要提到安装后的管理,比如gentoo-kernel是否自动处理initramfs和引导更新,而gentoo-sources需要用户自己处理这些步骤。</think>Gentoo Linux中`gentoo-kernel`和`gentoo-sources`是面向不同用户需求的内核包,具体区别如下: --- ### 一、gentoo-sources 包 1. **作用** 提供 **原始Linux内核源代码**,附带Gentoo官方补丁(如优化、安全修复等)。用户需手动完成内核配置、编译和安装。 2. **适用场景** - 需要高度定制内核(如调整CPU调度、文件系统支持) - 添加/移除特定硬件驱动 - 学习内核编译流程 3. **使用流程** ```bash # 安装源码 emerge gentoo-sources # 进入源码目录 cd /usr/src/linux # 手动配置(如make menuconfig) # 编译并安装 make && make modules_install && make install ``` 4. **特点** - 完全手动控制 - 适合进阶用户 - 需自行处理依赖和引导更新(如GRUB) --- ### 二、gentoo-kernel 包 1. **作用** 提供 **自动化编译的预配置内核**,基于`gentoo-sources`源码,但通过Gentoo工具链自动完成配置和编译。 2. **适用场景** - 快速部署标准内核 - 不想手动配置编译参数 - 需要自动处理initramfs和引导更新 3. **使用流程** ```bash # 安装预编译内核 emerge gentoo-kernel # 自动生成initramfs并更新引导 emerge --config gentoo-kernel ``` 4. **特点** - 自动化程度高 - 内置合理默认配置(如通用硬件支持) - 支持版本追踪(可通过`eselect kernel`切换) --- ### 三、核心区别总结 | 特性 | gentoo-sources | gentoo-kernel | |---------------------|-----------------------|------------------------| | 内容 | 原始源码 + 补丁 | 预配置的自动化编译内核 | | 编译方式 | 完全手动 | 自动完成 | | 配置灵活性 | 完全自定义 | 基于Gentoo默认配置 | | 适合用户 | 开发者/高级用户 | 普通用户/快速部署场景 | --- ### 四、扩展说明 - 若需完全免编译,可选用`gentoo-kernel-bin`(预编译二进制内核) - 两种包可共存,通过`eselect kernel list`切换不同内核版本 - 关键工具链:`genkernel`(自动化编译工具)常与`gentoo-sources`配合使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值