Skolelinux
简介
版本
Skolelinux 是一份由 Debian Edu 项目製作的 Linux 分发版,作为 Debian Pure Blends 分发版,其为 Debian 正式辅助项目,以提供全面配置好的学校网路环境和学校适用方案。
Skolelinux / Debian Edu 以标準结构做到非常容易设定和管理,方便广大学校安装。许多服务为预先配置并默认开启,大量软体预先安装以待使用,老旧设备再利用和延长使用期以减少环境影响,并适用于对Linux 和网路知识知之甚少的使用者。
Skolelinux 参与了大量的新 debian-installer 安装程式的创建测试和 Debian 本地化工作,其项目启动于挪威,最初主要服务于学校中6-16 岁年龄段的使用者,现在该系统用于几个国家,安装最多的是挪威,西班牙,德国和法国。
计画方案
By Knut Yrvin, Oslo - February 8, 2010
Skolelinux 为百万学生设计得极其稳定。在大多数国家中教育行业比其他任何政府部门管理着更多的计算机。当支持数万或百万使用者时,无所选择地贡献尖端软体。所安装的软体是 Skolelinux 精心选择并处于对稳定性的关注而设定好的。
Skolelinux构建于 Debian,其有 2-3 年的发行周期和针对于安全更新的扩展时期。 Debian 是在业界最全面和严格测试的 GNU/Linux发行版。它在德国企业中是最受欢迎的伺服器系统,和基于 Maemo, Nokia 的移动 PC 平台而用于 N900。构建于 Debian 的Skolelinux 提升了稳定性和降低了管理费用。
最新的 Skolelinux具有比选用专利产品更低的硬体需求。升级更换较新硬体那要升级供应商他们的作业系统,而使用 Skolelinux 的学校可以延长硬体使用期 5-8年。Skolelinux 让学校运行成倍数量的计算机。由于较低的硬体需求和零许可证费用,Skolelinux可以使学校在採购新计算机时得到成倍的大量机器。
由于它的稳定性,规划的功能和无盘工作站的选择, Skolelinux在学校中相较任何其他可选的桌面削减半数操作成本。用于教育的软体是教师和计算机专家精选的。西班牙 Extramedura八万计算机管理者一致的意见,运行一台工作站的年人工成本低于 50 欧元。我们建议以 Skolelinux 实行中央管理,在一个学校一周可以用4-8 小时对 50-100 台工作站和 320 个用户进行管理。这可以减少集中维护,由于 Skolelinux 的 scalability。
一些计算机领域内对学校零维护方针的争论,陈述使用专有系统的计算机无须维护。很可惜,上述学校两周之后不会有任 何能用的计算机。当有 5-10名不同的学生每天使用一台计算机时,它数周甚至数天内理所当然的情况是直到专属软体停止工作 -造成破坏的学生,恶意的软体或病毒造成无用的机器。人工和计画设定是要恢复上述机器。一个没有管理的 Skolelinux系统于一个或两个月中要做的。我们遇到有学校运行数年未维护的 Skolelinux。
即使如果 Skolelinux 稳定的运行在可靠的网路上时,跳过维护也是不明智的。Skolelinux 需要专业的维护,即使如果它只需少量的维护,也比依照学校专属方案可靠。当在学校中提供安全的和可接受的计算机服务时,定期的硬体,软体和服务维护是强制性的。
它在学校中的安装未获得足够的硬体和一个计算机网路。这里同样寻求教育的使用。一个城市需要对系统维护和教育培训两者投资。教师需要培训如何在教授数学,自然科学,历史等课程之时融合使用计算机。Skolelinux的一个重要优越性是它降低获取设备和管理费用而有更多的预算用于教师的计算机操作能力培训。
安装
在安装 Skolelinux 时,有一些选项供你选择。不必担心,那并没有许多。幸好我们隐藏了Debian 安装过程中及其后的複杂性。Debian Edu 毕竟是Debian,你如需要,有超过一万五千个软体包可从其中选择,以及亿万的设定选项。为了我们大多数的使用者,我们需要高质量的默认设定。
安装方式
引导选项选单
- Install 32位计算机默认文本模式安装
- 64 bit Install 64位机文本模式安装
- Graphical install 图形界面安装模式,可以使用滑鼠
- 64 bit graphical install 64位机图形界面安装模式
- Advanced options 这一引导选项增加最少的状态选择,并转换到手工分区
安装项目内容
– 主伺服器
* 主伺服器为你的学校提供一下服务: file, print, intranet,proxy, DNS, DHCP, LDAP, backup, nagios, sitesummary, and munin.所有服务均为预先配置安装即可使用。 每一学校仅需安装一台主伺服器。这一安装项目不包括图形界面,如果你需要图形界面,还需选择安装工作站或者瘦客户端伺服器。
– 工作站
* 从本地硬体引导启动计算机,运行所有程式,本地设备类似一台普通的计算机,但使用者登录需要主伺服器来确认,并储存使用者的档案和桌面内容。
– 移动工作站
* 如同以上工作站,但使用贮藏证书验证功能,亦可在学校网路之外使用。使用者的档案和项目保存在本地磁碟中。笔记本电脑将选择该安装项目而非“工作站”或“独立主机”,亦于先前发行版中建议使用。
– 瘦客户机/伺服器
*痩客户机(和无盘工作站)伺服器同样呼叫 LTSP伺服器。痩客户机不以硬体驱动引导而是从该伺服器运行程式。这台计算机需要两块网卡和大量的记忆体,适宜更多的处理器。参看关于网路客户端的章节,获得这一主题的更多信息。选取该安装项目同时也开启工作站项目(即使并没有选择“工作站”选项),一台痩客户机伺服器也一直可以如同工作站使用。
– 独立主机
* 一台普通计算机,而不依赖主伺服器即可工作。无需进入网路的机器,如笔记本电脑。
– 最小安装
* 该选项安装仅获得使用 ’debian-edu-expert’ 引导选项。其安装基本软体包并配置计算机不以任何服务和套用来融入 Debian Edu 网路,是手工自主伺服器转移简单服务的套用平台。
前3项内容可以全部安装到同一台机器上。意味主伺服器与痩客户机伺服器如同工作站一样的使用。我们一直假设之后多数人将通过 PXE 安装。
起步
第一步
这章讲述在安装之后需要开始的第一步。
至少你要做:
1. 以用户 "localadmin" 登录伺服器(其密码同于 "root" 账户) - 你不能以 root 登录图形界面,作为 localadmin ,你可以使用 sudo变更为 root.
2. 通过 GOsa2 添加用户
3. 通过 GOsa2 添加工作站
下面讲述添加用户和工作站,请读整个章节,其涉及怎样正确做到这些步骤,而且其他材料大概每个人都用得上。
以下 HowTo 章节涉及更多建议和技巧以及一些经常问及的问题。
运行的服务
在主伺服器上运行的若干服务可以通过 web 管理界面进行管理,下面要讲述每一种服务。
基于 Web 浏览器的管理,使用 GOsa2FIXME: gosa needs to bedocumented properly here, following the structure of the existing lwatinstructions. _Then_ the lwat text should be deleted.
为了访问 GOsa2 ,要有 Skolelinux 主伺服器和一个安装了一种 web 浏览器的客户系统。
有一种选择,作为 localadmin 用户,你可以在主伺服器上安装一个微型桌面,在(非图形) shell 终端执行下列命令:
$ sudo apt-get update
$ sudo apt-get install gnome-session gnome-terminal iceweasel xorg
$ startx安装之后,以 localadmin 用户启动图形会话
使用一个 web 浏览器以 URL 访问 GOsa2 ,以 super-admin用户名和主伺服器 root 用户密码登录。
2">GOsa2
GOsa2 是一款基于 web 的管理工具,它将帮你管理你的 Debian Edu 设定的如乾重要部分。你可以管理下列主要归类(增加,修改,删除):
用户管理
组管理
NIS Netgroup 管理
机器管理
DNS 管理
DHCP 管理
以你的 web 浏览器指向 www 来访问 GOsa2。
如果你未使用新 Debian Edu Squeeze 机器,你将收到关于 ssl 证书的错误信息,恰当地决定你的浏览器接受或忽视。
如果你是使用新 Debian Edu Squeeze 机器,此处已不理会规则,你不必烦扰。
登录和综览
以 super-admin登录 GOsa2 后你将看到 GOsa2 综览页面。
接下来,你可以在总览页面选单选择任务。 作为导航,我们建议使用萤幕左侧的选单,在那可以看到 GOsa2 提供的所有管理页面。
Debian Edu 帐户,组,系统信息保存在 LDAP目录,该数据的使用不仅为主伺服器,同样在网路中也用于(无盘)工作站,瘦客户机伺服器和 Windows 机器。有关学生和教师等的 LDAP帐户信息仅需输入一次,其后此信息由 LDAP 提供,在整个 Skolelinux 网路中所有系统均可获取该信息。
更新软体
这部分讲述如何使用 aptitude upgrade和 kde-update-notifier。
使用 aptitude非常简单。更新系统只需以 root 身份在命令行中执行两个命令:aptitude update (更新可获得软体包的列表)和 aptitude upgrade (升级更新的软体包)。
替代使用命令行,你也可以使用 kde-update-notifier. FIXME: Explain how to use kde-update-notifier, best with screenshots.
一个好主意是安装 cron-apt和 apt-listchanges并设定它们向你传送邮件以便读取。
cron-apt将每天一次向你传送邮件,提示那些需要更新的软体,它不会安装这些更新的软体包,但下载它们(通常在夜间),如此你在执行 aptitude upgrade时不必等待下载。
apt-listchanges可以传送新变更记录给你。
一般管理
配置档案历史:使用 git 版本控制系统跟蹤 /etc/ 以 Debian Edu Squeeze etckeeper 脚本(先前版本使用 etcinsvk,已自Debian 中移除)来介绍使用 git 作为版本控制系统跟蹤 /etc/中所有档案。
这样能够查看一个档案在何时添加,变更和移除,而且对于文本档案还可以查看它的变化。git 存储位置在/etc/.git/。
每小时自动记录任何变化,允许取出和複查以往的配置档案。
FIXME: 这里有一个 bug ,新档案不能自动跟蹤,请提交 bug 到 Debian BTS!
查看历史,使用 etckeeper vcs log命令。检查两个时间点间的不同,可以使用类似 etcinsvk vcs diff 命令。
参看etckeeper手册页可以得到更多信息。
实用命令列表:
etckeeper vcs log
etckeeper vcs status
etckeeper vcs diff
etckeeper vcs add .
etckeeper vcs commit -a
man etckeeper
使用示例
在一个刚安装的系统上试用,这样可以看到自系统安装以来的所有变化:
etckeeper vcs log
查看当前未跟蹤或没有新变化的档案:
etckeeper vcs status
因为不想等待一个小时而使用手工处理一个档案:
etckeeper vcs commit -a /etc/resolv.conf
调整分区大小
在 Debian Edu 中最多的分区是逻辑卷,仅 /boot/ 分区不是。同 Debian/Etch 一起释出的 Debian Edu 可以在分区挂载时扩展该分区,这一 Linux 核心功能始于 2.6.10 版。静态缩减分区需要在该分区卸载时完成。
一个好的建议是避免创建非常大的分区,对于大分区,如果需要自备份恢复时,将要很长的时间,同样对于大分区的档案系统检查也需要非常长的时间。一个好的限度在 20 GiB,如果可能,创建几个小分区比一个非常大的分区更好。
debian-edu-fsautoresize脚本提供很容易地扩展所有分区的工作,届时它依据从 /usr/share/debian-edu-config/fsautoresizetab, /site/etc/fsautoresizetab和 /etc/fsautoresizetab读取设定。它在基于这些档案所提供的规则上也推荐以小的自由空间来扩展分区。 没有任何理由,它将仅显示需要扩展档案系统的命令。根据选项 -n是需要实际执行命令来扩展档案系统。
该脚本于 fsautoresize-hosts网路组上在每个客户清单内每小时自动执行。
调整 Squid proxy 所使用的分区大小时,在 etc/squid/squid.conf中的仓库大小还需要更新。助手脚本 /usr/share/debian-edu-config/tools/squid-update-cachedir提供这一工作的自动化,检查 /var/spool/squid/分区当前的大小并设定 Squid 使用其分区容量的 80% 作为它的仓库容量。逻辑卷管理
逻辑卷管理 (LVM) 允许在分区挂载和使用期间调整其大小。你可以在 LVM HowTo中学习更多关于逻辑卷的知识。
手工扩展逻辑卷你简单地告诉 lvextend命令你想要它变得多大。例如,扩展 home0 到 30GB 你用如下命令:
lvextend -L30G /dev/vg_system/skole+tjener+home0
resize2fs /dev/vg_system/skole+tjener+home0
向home0 扩展30G ,你在命令中插入一个 '+' (-L+30G)。
使用ldapvi
ldapvi是一个以常规文本编辑器编辑 LDAP 资料库的命令行工具。
以下要执行:
ldapvi --ldap-conf -ZD '(cn=admin)'
ldapvi -ZD 'uid=super-admin,ou=People,dc=skole,dc=skolelinux,dc=no'
注意: ldapvi使用任何预设的编辑器。在 shell 中执行 export EDITOR=vim可以快速设定环境以 vi 作为编辑器。
警告: ldapvi是一个非常强大的工具。谨慎不要弄乱 LDAP 资料库。
图形界面
如果你选择一个工作于 LDAP 资料库上的图形界面,查看有无 luma软体包存在。
命令行工具
ldap-createuser-krb 是一个小的在 kerberos 创建 LDAP 用户和设定他们密码的命令行工具,虽然在测试中大体实用。
volatile
自从 Squeeze 发行, Debian 在新建的 stable-updates 套件中包含以前维护在 volatile 中的软体包。
FIXME: 在这增加更多有关 stable-updates 的信息。
backports
你运行 Debian Edu,是因为你选择 Debian Edu 的稳定性。它极佳的运行,也正是一个难题:一些你所喜爱的软体略微过时。这里步入 backports。
Backports 是从 Debian 测试版(大多数)和不稳定版(仅少数情况,如安全更新)中预编译的软体包,它们运行在如 Debian Edu 那样的 Debian 稳定发布版上而无需新的库档案(个方面)。 我们建议你选择所需的单一 backports 而不要使用所有可用的 backports。
简单地使用 backports :
编辑 /etc/apt/sources.list 档案
# apt-get update
届时你可以使用 aptitude -t squeeze-backports install <packagename>来安装或更新一次软体包,或者你可以在/etc/apt/preferences 中设定一个软体包一直从backports 安装。
最后在这里介绍具有的优势,在 backports 得到更新时,会自动安装。
升级
如果你想从一个版本升级到另一个版本(例如从 Squeeze 5.0.4 到 5.0.6)但你没有网际网路连线,仅有实物媒体,以下是升级步骤:
插入 CD/DVD-ROM 到光碟机并挂载光碟,使用 apt-cdrom 命令:
$ mount /cdrom
# apt-cdrom add -m
引用 apt-cdrom(8) 手册页:
apt-cdrom 是用来添加新 CDROM 到 APTs 可用源清单。 apt-cdrom 细緻地核定光碟结构,而且修正一些可能存在的烧录错误并核实索引档案。
它必须使用 apt-cdrom 来添加 CDs 到 APT 系统,而不能手工完成。此外多片 CD 集中的每一片需要分别插入和检测以报告可能存在的烧录错误。
届时运行这两个命令来升级系统:
# apt-get update
# apt-get upgrade
Java
运行 standalone Java applications
Standalone Java applications 是支持开箱即用的 OpenJDK Java runtime。
浏览器中运行
FIXME: 更新在 squeeze 中与 web 浏览器有关 java 的信息。
可以在 Debian Edu Lenny 中获得这个版本的 OpenJDK Java runtime,但不支持在 web 浏览器中运行,这将在下一个发布中修正。在 Lenny 中,自 Sun 的非自由(但可免费获得)Java 需要安装。
安装源自 Sun 的 Java 你需要编辑 /etc/apt/sources.list,首先确定将从 non-free安装软体包。这里需要类似这样的一行:
deb 镜像源 lenny main contrib non-free
然后:
# apt-get update
现在你準备好运行这个命令:
# apt-get install sun-java6-plugin sun-java6-jre sun-java6-fonts
创建资料夹
以这一脚本管理者可以在每个用户主目录内创建资料夹并设定访问许可和许可权。
在下面的例子中显示作为 group=teachers 和 permissions=2770 的一个用户可以上交一份作业保存在资料夹 "assignments" ,那里教师具有写许可权能够批改它。
home_path="/skole/tjener/home0";
shared_folder="assignments";
permissions="2770";
created_dir=0;
for home in $(ls $home_path);do
. if [ ! -d "$home_path/$home/$shared_folder" ]; then
. mkdir $home_path/$home/$shared_folder
chmod $permissions $home_path/$home/$shared_folder
. #set the right owner and group
#"username" = "group name" = "folder name"
user=$home
group=teachers
chown $user:$group $home_path/$home/$shared_folder
((created_dir+=1))
else
. echo -e "the folder $home_path/$home/$shared_folder already exists.\n"
. fi
done
echo "$created_dir folders has been created"
轻鬆读写
当使用者在(无盘)工作站插入 USB 驱动器或 DVD/CDROM ,会出现一个以何种方式操作的询问视窗,就像在任何其他常规安装的机器上。
当使用者在瘦客户机插入 USB 驱动器或 DVD/CDROM 自他们通常使用的桌面并不显示视窗,而是自动挂载并在 /media/$user 资料夹对其浏览和读写。这对于大多数没有经验的使用者是相当困难的。
作为下面的脚本,为所有使用者轻鬆访问 USB 驱动器,CDROMs 或任何媒体连线到瘦客户机而在用户主资料夹创建 "Media" 符号连线。
home_path="/skole/tjener/home0"; shared_folder="Media"; permissions="775" \ created_dir=0;
for home in $(ls $home_path); do
if [ ! -d "$home_path/$home/$shared_folder" ]; then
ln -s /media/$home $home_path/$home/$shared_folder ((created_dir+=1))
else
echo -e "the folder $home_path/$home/$shared_folder already exists.\n"
fi
done
echo "$created_dir folders has been created"
有关在 LTSP 伺服器上可移除媒体的提醒
提醒:当在 LTSP 伺服器上插入 USB 驱动器和其他可移除媒体引起在远程 LTSP 客户端显示讯息。
当远程用户收到这个讯息或使用从控制台pmount,一个远程用户甚至可以挂载可移除驱动器并存取其上的档案。
这个作为 Debian Edu bug #1376进行跟蹤。
自动清理
killer是一个 perl 脚本,它摆脱后台任务。后台任务定义为某过程在用户当时未登录机器期间运行。它每小时运行一次任务工作。
安装它以 root 用户身份运行以下命令:
apt-get install killer
自动安装升级
unattended-upgrades是一个 Debian 软体包,用以自动安装安全(和其他)更新。如果你计画使用它,你要有一些方法监控你的系统,例如,同时安装 apt-listchanges软体包并设定它给你传送有关更新的邮件。那里一直是 /var/log/dpkg.log。
安装这些软体包以 root 用户身份运行如下命令:
apt-get install unattended-upgrades apt-listchanges
夜间自动关闭
在夜晚关闭客户机来节约能源和费用,并在早晨自动开机。这个软体包将尝试从午后四点每个小时关闭机器,但不关闭似乎有用户在使用的机器。它将尝试告诉 BIOS 在早晨七点左右开机,主伺服器将尝试使用wake-on-lan 包从六点半开机。这些时间可以在个别机器crontabs改变。
这里的一些考虑:
客户机在有人使用时将不会关机。这是自那里检测到输出,作为例外情况,对于 LTSP 瘦客户机 LDM ssh 连线命令进行检测。
避免保险丝熔断,一个有把握的好主意是不要同时启动所有客户机。
这里可有两种不同的方法来唤醒客户机。其一是需要使用 BIOS 的功能和準确的硬体时间,而且主机板和 BIOS 版本支持 nvram-wakeup。其他需要伺服器通告各处所有客户机唤醒,并且对于所有客户机要支持 wake-on-lan。
如何设定夜间关机
在客户机上实现夜间关机,涉及 /etc/shutdown-at-night/shutdown-at-night,或者增添主机名(如在客户机上的 'uname -n'输出)到网路组 "shutdown-at-night-hosts"。增加主机到 LDAP 网路组可以使用 lwat网页工具完成。客户机可能需要在 BIOS 中设定 wake-on-lan。同样重要的开关和路线将用于在 wake-on-lan伺服器和客户机之间通过 WOL 包到客户机,甚至假如客户机是在关机时。一些开关失败地通过数据包到客户端,那是在开关中未达到 ARP 表,阻塞WOL 包。
能在伺服器上开启 wake-on-lan,添加客户机到 /etc/shutdown-at-night/clients,作为每个客户机的连线,首先是 IP 地址,接下来是 MAC 地址(网卡地址),以空格分隔它们,或者创建一个脚本 /etc/shutdown-at-night/clients-generator来生成客户机清单。
对于使用 sitesummary,这里是一个 /etc/shutdown-at-night/clients-generator範例:
#!/bin/sh
PATH=/usr/sbin:$PATH
export PATH
sitesummary-nodes -w
另一个选择是如果网路组在客户机上使用 shutdown-at-night ,这个脚本使用 ng-utils软体包中的网路组工具:
#!/bin/sh
PATH=/usr/sbin:$PATH
export PATH
netgroup -h shutdown-at-night-hosts
这部分文本最初从 README获得。
访问
从网际网路上透过防火墙访问机器,考虑安装 autossh-package。它可以使用设定一个 SSH-tunnel 到网际网路上的一台机器由你访问。从那台机器,你可以通过 SSH-tunnel 透过防火墙访问伺服器。
服务的机器
FIXME: 它几乎属于无效
使用 debian-edu-expert 引导选项安装minimal项目
为服务安装软体包
设定服务
禁止主伺服器上的相关服务
在主伺服器上更新 DNS
设定PXE选单
PXE 设定的生成使用 debian-edu-pxeinstall脚本。它允许不理会一些设定而由添加一个 /etc/debian-edu/pxeinstall.conf档案以取代準则。
设定 PXE 安装
PXE 预设所得的安装选项能让任何人以 PXE 引导一台机器。密码保护 PXE 安装选项,可以类似这样的内容创建 /var/lib/tftpboot/menupassword.cfg档案:
MENU PASSWD $4$NDk0OTUzNTQ1NTQ5$7d6KvAlVCJKRKcijtVSPfveuWPM$
密码 hash 需要以一个想要的密码 MD5 hash 来取代。
PXE 安装将从设定那里接受语言,键盘布局和镜像设定的套用,当安装主伺服器时,将在安装期间询问其他问题(项目,参与调查,分区和 root 密码)。避免这些问题,档案 /etc/debian-edu/www/debian-edu-install.dat可以提供预先选出的答案来改善 debconf 标準。可在 /etc/debian-edu/www/debian-edu-install.dat获得已经解释过的 debconf 準则的若干示例。你所做的改变将同 debian-edu-pxeinstall一样在不久后用于重建 PXE-安装环境。用以 debian-edu-pxeinstall重建期间增补 debconf 準则到 /etc/debian-edu/www/debian-edu-install.dat,以你增加的 debconf 準则添加 /etc/debian-edu/www/debian-edu-install.dat.local档案。
FIXME: 以 DebianEdu/Documentation/Squeeze/HowTo/NetworkClients做比较,去除多余的信息。
桌面
KDE
包含两个预设内容:
debian_edu_pupils(对学生团组成员的授权)
在学生桌面显示定製的头像
保证桌面头像后面的程式也出现在 kde 面板中
不启动专家模式
确保学生不能开启另一个 kde 会话
禁止学生可能获得 root 会话
debian_edu_root(对 root 用户和管理者团组成员的授权)
添加桌面头像连线到 tjener 本地 web 伺服器提供容易访问所有管理程式
注释:可以使用 kiosktool修改项目。然而,除非你之后step below,你的变更将因升级覆盖写入。FIXME: 这是中断和错误要提交:kiosktool 升级恢复预设桌面头像。
如果你想要改进 kiosk 剪影,你可以複製保存的并改进它们,或者在(作为示例) /etc/kde3/kioskprofiles/创建新 kiosk 剪影并在 /etc/kde-user-profile启用它们。kiosk 工具在你点击“所属剪影”和浏览新资料夹而为你工作。
改变KDE
你在以上面 kiosktool 之类讲解更改 kioskmode 设定之后,你要为使用无盘工作站複製一些档案到 chroot 内部。
假设无盘工作站是运行 i386,下面的命令必须在工作站伺服器上执行:
export LTSPCHROOT=/opt/ltsp/i386/
cp -rv /etc/kde-profile/ $LTSPCHROOT/etc/
cp -v /etc/kderc $LTSPCHROOT/etc/
cp -v /etc/kde-user-profile $LTSPCHROOT/etc/
unset LTSPCHROOT
此外以 amd64取代 i386来套用。
禁用KDE
如果你不想使用 kioskmode,恰当地移除either just remove the file /etc/kderc 档案。或者,如果你只想暂时禁用kioskmode,这里的意见关闭所有项目。
改进KDE
在 Debian/Etch,定製 kde 登录萤幕的方法已改变。现在,它通过在 /etc/default/kdm.d/加入一个档案,明确规定变更而不使用预设设定。
这里示例使 desktop-base软体包中的主题生效:
USETHEME="true"
THEME="/usr/share/apps/kdm/themes/debian-moreblue"
对于如何使用这些变化的资料,参看在 /etc/init.d/kdm的代码。
== 使 KDE, Gnome 和 LXDE 结合
如果你想使用 Gnome 或 LXDE 替换 KDE,以下是 安装指南。
安装后再安装其他桌面环境,简单地使用 apt-get:
apt-get install gnome lxde
FIXME: 讲解如何并行安装和使用它们以及在“常规登录”使用 $desktop_environment on "normal logins" 和瘦客户机登录 lxde。大概在 DebianEdu/Documentation/Squeeze/HowTo/NetworkClients中介绍。
Flash
自由软体 flash-player gnash是预设安装的,但改用 Adobe Flash 是一种选择。安装(非自由) Adobe Flash Player web 浏览器外挂程式,从 contrib安装 flashplugin-nonfreedebian 软体包。因此你需要在 /etc/apt/sources.list里允许使用contrib 软体库。
DVDs
libdvdcss 是为娱乐的最多数商业 DVDs 所需要的。出于法律的原因,它不包含在 Debian(Edu) 中。如果法律允许你使用它,你可以使用来自 debian-multimedia的软体包。添加多媒体仓库(下面的段落作恰当的讲解)并安装多媒体和 dvd 库:
apt-get install libdvdcss2 w32codecs
多媒体仓库
下面是使用 debian-multimedia
手写字型
软体包 ttf-linex(预设安装)安装字型 "Abecedario" ,它对于小孩子是好字型。字型有以小孩使用的若干形式:点并以线条。
网路客户端
简介
瘦客户机和无盘工作站二者通称 LTSP 客户端。LTSP is the Linux Terminal Server Project.
瘦客户机
瘦客户机可以设定普通个人电脑具有 (X-)终端功能,那里的所有程式运行在 LTSP 伺服器上。这一方法是机器从软碟或直接从伺服器使用 network-PROM (或 PXE) 引导,而不使用本地客户机的硬碟驱动器。
无盘工作站
无盘工作站在本地运行所有软体。客户机直接从 LTSP 伺服器引导而不是本地硬碟驱动器。软体在 LTSP 伺服器上管理和维护,但它运行在无盘工作站上。主目录和系统设定也保存在伺服器上。无盘工作站是一个类似于瘦客户机的低维护成本再利用较新硬体的极好方法。
根据网路选择机器种类
每个 LTSP 伺服器有两个网卡,一个设定在 10.0.0.0/8 子网(共享主伺服器),另一个构成本地 192.168.0.0/24 子网(对于每个 LTSP 伺服器的单独子网)。
无盘工作站获得私有 IP 地址分配在子网 10.0.0.0/8,而瘦客户机连线在私有子网 192.168.0.0/24。
在 LTSP 伺服器上改变 PXE 选单
PXE 选单让 LTSP 客户机可选择网路引导,安装和其他可能的选项。预设使用 /var/lib/tftpboot/pxelinux.cfg/default档案,如果在该目录内没有其他档案与客户机匹配,开箱即用的设定连线到 /var/lib/tftpboot/debian-edu/default-menu.cfg。
如果想要所有客户机引导为无盘工作站取代全部 PXE 选单设定,可以实施改变这个符号连线:
ln -s /var/lib/tftpboot/debian-edu/default-diskless.cfg /var/lib/tftpboot/\
pxelinux.cfg/default
如果希望所有客户机作为瘦客户机引导来代替,改变符号连线类似这样:
ln -s /var/lib/tftpboot/debian-edu/default-thin.cfg /var/lib/tftpboot/pxelinux.\
cfg/default
也可参看在 pxelinux 文档。
如果需要客户机在一个瘦客户机伺服器的 192.168.x.x 接口上引导为无盘工作站而取代瘦客户机,编辑
/var/lib/tftpboot/ltsp/i386/pxelinux.cfg/default
增添一个 '3' (没有引号)到行尾。那里不需要在 GOsa 里添加这些工作站,保存你的工作和一个 "staticxx" IP 地址(看下面)。
分离的主伺服器和 LTSP 伺服器
出于性能和安全的考虑,需要设定分离的主伺服器而不作为诸如 LTSP 伺服器。
在主网路上 (10.0.x.x) 有 ltspserver00 服务于无盘工作站,在那里 tjener 不是组合伺服器,这需要如下步骤:
自ltspserver00 複製 /var/lib/tftpboot 的 ltsp 目录到 tjener 上的一个目录。
複製/var/lib/tftpboot/debian-edu/default-diskless.cfg到 tjener 的一个目录。
编辑/var/lib/tftpboot/debian-edu/default-diskless.cfg使用 ltspserver00 的 IP 地址,下面的示例使用 10.0.2.10 (预设的):
DEFAULT ltsp/i386/vmlinuz initrd=ltsp/i386/initrd.img nfsroot=10.0.2.10:/opt\
/ltsp/i386 boot=nfs ro quiet 3
在 tjener 上设定符号连线 /var/lib/tftpboot/pxelinux.cfg指向 /var/lib/tftpboot/debian-edu/default-diskless.cfg。
详细叙述
lts.conf
对于瘦客户机所作的专门的改制和配置,你可以编辑档案 /opt/ltsp/i386/etc/lts.conf。安装 ltsp-docs 软体包并运行 "man lts.conf" 查看可用的配置选项。
默认值是定义下面 [default],配置一个客户机,明确规定那个客户机使用客户机网卡硬体地址或类似这个 IP 地址 [192.168.0.10]。
示例:确定瘦客户机 ltsp010 使用 1280x1024 解析度,添加类似这样的内容:
[192.168.0.10]
X_MODE_0 = 1280x1024
X_HORZSYNC = "60-70"
X_VERTREFRESH = "59-62"
其下面某些地方为预设设定。
确定你所作的更改,这需要重启客户机。
在 lts.conf中使用 IP 地址,你需要添加客户机网卡硬体地址到你的 dhcp 伺服器。另一方法需要你直接在你的 lts.conf档案中使用客户机的网卡硬体地址。
负载均衡
第一部分
它能为了负载均衡而设定客户机连线到若干伺服器中的一个。这以供/opt/ltsp/i386/usr/share/ltsp/get_hosts 这一脚本为 LDM 连线在一个或更多伺服器做记号。在这添加每一ltsp chroot 所需包含的对于每一个伺服器的 ssh 主键。
首先,你需要选择一个 LTSP 伺服器为负载均衡伺服器。所有客户机将以 PXE 从这个伺服器引导和载入 Skolelinux 镜像。镜像载入之后, LDM 使用 "get_hosts" 脚本选择哪一个伺服器来连线。这是你之后如何做的。
现在你要移动你的客户机从 192.168.1.0 网路到 10.0.0.0网路。这是因为那时你使用负载均衡,客户机将要直接访问 LDM 选择的伺服器。如果你让你的客户机在 192.168.1.0网路,所有客户机在与选择 LDM 伺服器取得联繫之前的流量将通过那个伺服器。
设定客户机工作在 10.0.0.0 网路上,你要编辑在主伺服器(tjener)上的 /etc/dhcp3/dhcpd.conf。在那表明:
FIXME: 这需要在 LDAP 改变 DHCP 设定。
subnet 10.0.0.0 netmask 255.0.0.0 {
range 10.0.2.100 10.0.3.242;
}
你要在 "range" 之下增加这些:
filename "/var/lib/tftpboot/ltsp/i386/pxelinux.0";
next-server xxx;
option root-path "/opt/ltsp/i386";
option log-servers ltspserver01;
use-host-decl-names on;
Next-server 需要你所选择的负载均衡伺服器的 IP 地址或主机名。如果你使用主机名,你要有 DNS 的工作。记着重启 dhcp 服务。
第二部分
现在你来做一个 "get_hosts" 脚本为 LDM 联接标记一个伺服器。LDM_SERVER参数比这个脚本重要。因而,这个参数应该不定义,如果已经使用 get_hosts。get_hosts 脚本按随意顺序在标準输出上填写每个伺服器的IP 地址或主机名。
编辑"/opt/ltsp/i386/etc/lts.conf" 添加诸如这样的内容:
MY_SERVER_LIST = "xxxx xxxx xxxx"
以主伺服器的 IP 或主机名两者之一取代 xxxx,清单以空格分隔。那时,置下面的脚本于你所选择的负载均衡伺服器的 /opt/ltsp/i386/usr/lib/ltsp/get_hosts 目录中。
# Randomize the server list contained in MY_SERVER_LIST parameter
TMP_LIST=""
SHUFFLED_LIST=""
for i in $MY_SERVER_LIST; do
rank=$RANDOM
let "rank %= 100"
TMP_LIST="$TMP_LIST\n${rank}_$i"
done
TMP_LIST=$(echo -e $TMP_LIST | sort)
for i in $TMP_LIST; do
SHUFFLED_LIST="$SHUFFLED_LIST $(echo $i | cut -d_ -f2)"
done
echo $SHUFFLED_LIST
第三部分
那里现在有你製作的 "get_hosts" 脚本,他择时对 ltsp chroot 做 ssh主键。这可以製作一个档案包含自所有那些将是负载均衡伺服器的 /opt/ltsp/i386/etc/ssh/ssh_known_hosts的内容。在所有负载均衡伺服器上保存这个档案为/etc/ltsp/ssh_known_hosts.extra。最后的步骤非常重要,因为每次伺服器引导运行ltsp-update-sshkeys 并且如果它存在,就包含于 /etc/ltsp/ssh_known_hosts.extra。
如果你保存你的新主机档案作为 /opt/ltsp/i386/etc/ssh/ssh_known_hosts,它将在你重启动伺服器时清除。
对于这个设定有一些明显的缺点。所有客户机从一个伺服器获取它们的镜像,这样如果大量客户机在同一时间引导会导致伺服器的高负载。客户机也有赖于那个伺服器总是可用的,没有它客户机不能引导或获得 LDM 伺服器。因此这一设定极其依赖此伺服器,这不是很好。
你的客户机现在应该负载均衡!
客户机的声音
LTSP 瘦客户机支持三种不同的声音系统以套用, ESD, PulseAudio和 ALSA。 ESD 和 PulseAudio支持网路声音和使用从伺服器到客户机穿行的声音。ALSA 是设定通过 PulseAudio修改它的声音来源。 对于选择仅使用支持 OSS 声音系统,通过 /usr/sbin/debian-edu-ltsp-audiodivert 生成一个包装来修改它们的声音源自 PulseAudio。运行这个脚本无争议地获得这样可重定向施用清单。
LTSP 无盘工作站可用本地声音并对网路声音无须特殊设定。
升级环境
经常适当以新软体包对 LTSP 环境做有益的升级,明晰安全处境和可用的改进。在每个 LTSP 伺服器以 root 用户运行这些命令进行更新:
ltsp-chroot # this does "chroot /opt/ltsp/i386" and more, ie it also prevents
# daemons from being started
aptitude update
aptitude upgrade
aptitude dist-upgrade
exit
在 LTSP 环境中安装另外的软体
为 LTSP 客户机安装外加的软体,你需要在 LTSP 伺服器的 chroot 内部执行安装。
ltsp-chroot
## optionally, edit the sources.list:
#vim /etc/apt/sources.list
aptitude update
aptitude install $new_package
exit
教学
Moodle
以 root 身份运行命令 aptitude install moodle来安装 moodle。
Moodle 是一套课程管理系统 (CMS) -一个自由,开源软体,设计使用合理的教学原则,帮助教育工作者建设有效的线上学习社区。你可以下载并在任何电脑上方便使用(包括 web主机),当前它的规模可以从单一教师站点到二十万学生的大学。在法国一些学校使用 moodle 保留学生动态蹤迹。
这些是世界上所有 moodle 站点,大体集中于欧洲和北美,查看 机构地址中离你最近的站点来获得关于它的印象。更多信息可获自 moodle 项目主页包括 文档and 支持。
监控学生
一些学校使用 Controlaula 或 Italc 一类的管理工具来督导他们的学生。
参看 Italc 的 wiki
FIXME: 说明如何安装和使用 italc - 511387讲述确实相当令人满意。
apt-get install italc-client italc-master
警告:监控者可能在其许可权内违背原则和触犯法律。
限制访问
一些学校使用 squidguard 或 dansguardian 来限制网际网路的访问。 FIXME: 讲解如何安装和使用 squidguard 和/或 dansguardian
警告:限制访问信息或言论自由可能在你的许可权内违背原则和触犯法律。
安装
如同在 Lenny 中, Squeeze 也提供 swi-prolog软体包。执行命令 apt-get install swi-prolog即可
FIXME: 预设设定 swi-prolog ?
转载请注明出处海之美文 » Skolelinux