Debian Edu / Skolelinux Stretch 9+edu0 手册 2019-05-06


目录

1. 对于 Debian Edu 9+edu0 别名 Stretch 的手册
2. 关于 Debian Edu 和 Skolelinux
2.1. 部分历史及为何使用两个名称
3. 结构
3.1. 网络
3.1.1. 缺省网络设置
3.1.2. 主服务器 (tjener)
3.1.3. 运行在主服务器上的服务
3.1.4. LTSP 服务器
3.1.5. 瘦客户端
3.1.6. 无盘工作站
3.1.7. 网络客户端
3.2. 管理
3.2.1. 安装
3.2.2. 文件系统存取配置
4. 需求
4.1. 硬件需求
4.2. 所知工作的硬件
5. 网络设置需求
5.1. 缺省设置
5.2. 互联网路由
6. 安装和下载选项
6.1. 在哪里找到另外的信息
6.2. 下载 Debian Edu 9+edu0 代号 Stretch 的安装媒体
6.2.1. i386,amd64 的网络安装 CD 镜像
6.2.2. i386 和 amd64 的 USB 驱动器 ISO 镜像
6.2.3. 源代码
6.3. 以邮件请求 CD / DVD
6.4. 安装 Debian Edu
6.4.1. 安装类型和选项
6.4.2. 安装过程
6.4.3. 一些典型的注释
6.4.4. 安装使用 USB 闪存驱动器来取代 CD / 蓝光光盘
6.4.5. 通过网络安装 (PXE) 并引导无盘客户端
6.4.6. 定制镜像
6.5. 屏幕快照观览
7. 起步
7.1. 起步的最低步骤
7.1.1. 运行在主服务器上的服务
7.2. GOsa² 简介
7.2.1. GOsa² 登录和概览
7.3. 使用 GOsa² 管理用户
7.3.1. 添加用户
7.3.2. 搜索,修改和删除用户
7.3.3. 设置密码
7.3.4. 提高的用户管理
7.4. 用 GOsa² 管理用户组
7.4.1. 命令行上的组管理
7.5. 用 GOsa² 管理机器
7.5.1. 搜索和删除机器
7.5.2. 修改现有机器/网络组管理
8. 打印机管理
9. 时钟同步
10. 扩展占满的分区
11. 维护
11.1. 更新软件
11.1.1. 保留你自己的安全更新相关信息
11.2. 备份管理
11.3. 服务器监视
11.3.1. Munin
11.3.2. Icinga
11.3.3. Sitesummary
11.4. 更多有关 Debian Edu 定制的信息
12. 升级
12.1. 升级的一般说明
12.2. 从 Debian Edu Jessie 升级
12.2.1. 升级主服务器
12.2.2. 升级工作站
12.2.3. 升级 LTSP chroot(默认架构 i386)
12.2.4. 重建 LTSP chroot
12.3. 从较旧的 Debian Edu / Skolelinux 安装(Jessie 之前)升级
13. HowTo
14. 一般管理 HowTo
14.1. 配置的历史:使用 git 版本控制系统跟踪 /etc/
14.1.1. 用法示例
14.2. 调整分区大小
14.2.1. 逻辑卷管理
14.3. 在主服务器上安装图形环境来使用 GOsa²
14.4. 使用 ldapvi
14.5. JXplorer,一个 LDAP 图形用户界面
14.6. ldap-createuser-krb,一个命令行工具
14.7. 使用 stable-updates
14.8. 使用 backports 安装较新的软件
14.9. 用 CD 或类似的映像升级
14.10. 自动清理剩余的进程
14.11. 安全升级的自动安装
14.12. 夜间自动关机
14.12.1. 如何设置夜间关机
14.13. 访问处于防火墙背后的 Debian-Edu 服务器
14.14. 为从主服务器分散负载而安装额外的服务机器
14.15. 源自 wiki.debian.org 的 HowTo 文档
15. 如何进行高级管理
15.1. User Customisations with GOsa²
15.1.1. Create Users in Year Groups
15.2. Other User Customisations
15.2.1. Creating folders in the home directories of all users
15.2.2. Easy access to USB drives and CD-ROMs/DVDs
15.3. Use a dedicated storage server
15.4. Restrict ssh login access
15.4.1. 无 LTSP 客户端的设置
15.4.2. 有 LTSP 客户端的设置
15.4.3. A note for more complex setups
16. 桌面 HowTo
16.1. Using KDE Plasma, GNOME, LXDE, Xfce and/or MATE together
16.2. Flash
16.3. Playing DVDs
16.4. Handwriting fonts
17. HowTos for networked clients
17.1. Introduction to thin clients and diskless workstations
17.1.1. LTSP client type selection
17.2. Configuring the PXE menu
17.2.1. Configuring the PXE installation
17.2.2. Adding a custom repository for PXE installations
17.2.3. Changing the PXE menu on a combined (main and LTSP) server
17.2.4. Separate main and LTSP server
17.2.5. Use a different LTSP client network
17.3. Changing network settings
17.4. LTSP in detail
17.4.1. LTSP client configuration in LDAP (and lts.conf)
17.4.2. Force all thin clients to use LXDE as default desktop environment
17.4.3. 负载均衡 LTSP 服务器
17.4.4. Sound with LTSP clients
17.4.5. Use printers attached to LTSP clients
17.4.6. Upgrading the LTSP environment
17.4.7. Slow login and security
17.5. Connecting Windows machines to the network / Windows integration
17.5.1. Joining a domain
17.5.2. XP home
17.5.3. Managing roaming profiles
17.5.4. Redirecting profile directories
17.5.5. Avoiding roaming profiles
17.6. Remote Desktop
17.6.1. Remote Desktop Service
17.6.2. Available Remote Desktop clients
18. Samba in Debian Edu
18.1. Getting Started
18.1.1. Accessing files via Samba
18.2. Domain Membership
18.2.1. Windows hostname
18.2.2. Joining the SKOLELINUX Domain with Windows XP
18.2.3. Joining the SKOLELINUX Domain with Windows Vista/7
18.3. First Domain Logon
19. HowTos for teaching and learning
19.1. Teaching Programming
19.2. Monitoring pupils
19.3. Restricting pupils' network access
19.4. 源自 wiki.debian.org 的 HowTo 文档
20. HowTos for users
20.1. 修改密码
20.2. Java
20.2.1. 运行独立 Java 应用程序
20.2.2. Running Java applications in the web browser
20.3. 使用电子邮件
20.3.1. Thunderbird
20.3.2. Obtaining a Kerberos ticket to read email on diskless workstations
20.4. Volume control
21. 贡献
21.1. 地区贡献
21.2. 世界贡献
21.3. 文档作者和翻译者
22. 支持
22.1. 基于无偿的支持
22.1.1. in English
22.1.2. in Norwegian
22.1.3. in German
22.1.4. in French
22.2. 专业支持
23. New features in Debian Edu Stretch
23.1. New features for Debian Edu 9+edu0 Codename Stretch
23.1.1. Known issues
23.1.2. Installation changes
23.1.3. Software updates
23.1.4. Documentation and translation updates
23.1.5. Other changes compared to the previous release
24. Copyright and authors
25. Translation copyright and authors
26. 文档的翻译
26.1. 如何翻译本文档
26.1.1. 翻译所使用的 PO 文件
26.1.2. 使用 web 浏览器在线翻译
27. Appendix A - The GNU General Public License
27.1. 对于 Debian Edu 9+edu0 别名 Stretch 的手册
27.2. GNU GENERAL PUBLIC LICENSE
27.3. TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
28. Appendix B - no Debian Edu Live CD/DVDs for Stretch yet
28.1. Features of the Standalone image
28.2. Features of the Workstation image
28.3. Activating translations and regional support
28.4. Stuff to know
28.5. Known issues with the image
28.6. Download
29. Appendix C - Features in older releases
29.1. New features for Debian Edu 8+edu0 Codename Jessie released 2016-07-02
29.1.1. Installation changes
29.1.2. Software updates
29.1.3. Documentation and translation updates
29.1.4. Other changes compared to the previous release
29.2. New features in Debian Edu 7.1+edu0 Codename Wheezy released 2013-09-28
29.2.1. User visible changes
29.2.2. Installation changes
29.2.3. Software updates
29.2.4. Documentation and translation updates
29.2.5. LDAP related changes
29.2.6. Other changes
29.2.7. Known issues
29.3. 旧版本的历史信息
29.3.1. 关于旧发行版本的更多信息

1. 对于 Debian Edu 9+edu0 别名 Stretch 的手册

Debian Edu 登录

本手册针对 Debian Edu Stretch 9+edu0 发行版本。

http://wiki.debian.org/DebianEdu/Documentation/Stretch 上的版本是一个维基,并会时常更新。

翻译debian-edu-doc 软件包的部分可以安装在万维网服务器上,并可 在线 获得。

2. 关于 Debian Edu 和 Skolelinux

Debian Edu 亦称 Skolelinux 是一个基于 Debian 的 Linux 发布版提供一个开箱即用的已完全配置的学校网络环境。

一俟学校网络所需所有服务的学校服务器安装之后就是设置(参看下一章 details of the architecture of this setup) 而这个系统准备好被使用。仅需要通过 GOsa²,一个感觉良好的 Web-UI,或任何其他 LDAP 编辑器添加用户和机器。还准备好使用 PXE 的网络引导环境,那样最初从 CD,蓝光光盘或者 USB 闪存安装主服务器之后所有其他机器可以通过网络安装,这包括“漫游工作站”(那可以脱离学校网络,通常是笔记本或上网本)而且 PXE 对于无盘机的引导就像传统的瘦客户端。

一些教学应用如 celestia, dirgeo, gcompris, kalzium, kgeography, solfege 和 scratch 包含在缺省桌面设置中,通过 Debian 世界可以容易地几乎无尽扩展。

2.1. 部分历史及为何使用两个名称

Skolelinux 是由 Debian Edu 项目制作的一个 Linux 发布版。作为 Debian 正式子项目 Debian Pure Blends 发布。

Skolelinux 是提供开箱即用的完全配置学校网络环境的 Debian 版而用于你的学校的方法。

Skolelinux 项目在 2001 年 7 月 2 日启动于挪威而大约在同时 Raphaël Hertzog 在法国开始了 Debian-Edu。直到 2003 年两个项目合为一体,而维持了两者的名称。"Skole" 和 (Debian-)"Education" 在这些范围中正是两个好领会的措辞。

起初在挪威的主要目标群体是学校适合 6-16 岁年龄组。现在这个系统在世界上的一些国家使用,大多数安装在挪威,西班牙,德国和法国。

3. 结构

文档的这部分叙述 Skolelinux 安装所提供的网络架构和服务。

3.1. 网络

Debian Edu 网络拓扑

该图是假设网络拓扑草图。缺省设置的 Skolelinux 网络假设一个(并且只一个)主服务器,允许包含常规工作站和 LTSP 服务器(以连接瘦客户端和/或无盘工作站)两者。工作站的数目可大可小如你所需(从一个没有到大量启动的)。这同样适用于 LTSP 服务器,其每个是在分开的网络因而客户端和 LTSP 服务器之间的流量不影响其余的网络服务器。

在每个学校网络中仅能有一个主服务器的原因是主服务器提供 DHCP,因而在每一网络中只能一台机器在工作。能够从主服务器向其他机器迁移服务而该服务在另一机器上就绪,随后更新 DNS 配置,为服务指出 DNS 别名到正确的计算机。

为了简化 Skolelinux 的标准设置,互联网连接在单独的路由上运行。既能够以调制解调器也能以 ISDN 连接设置 Debian;然而,不要尝试做 Skolelinux 开箱即用的如上设置工作(该设置需要调整其缺省状况而这将分开提供文档)。

3.1.1. 缺省网络设置

DHCPD 在 Tjener 服务器上为 10.0.0.0/8 网络工作,通过 PXE-boot 提供 syslinux 菜单而你可以选择是不是安装一个新服务器/工作站,引导瘦客户端或者无盘工作站,运行内存测试,或者从本地硬盘引导。

This is designed to be modified - that is, you can have the NFS-root in syslinux pointing to one of the LTSP servers or change the DHCP next-server option (stored in LDAP) to have clients directly boot via PXE from the terminal server.

在 LTSP 服务器上的 DHCPD 仅用于第二个接口(已预配置选项 192.168.0.0/24 和 192.168.1.0/24)的专用网络并将罕需变化。

在 LDAP 中所含有的所有子网配置。

3.1.2. 主服务器 (tjener)

一个 Skolelinux 网络需要一个主服务器(也称作 "tjener" 是挪威语“服务器”的意思)预先缺省 IP 地址为 10.0.2.2 并由选择主服务器配置文件 (profile) 而安装。除了主服务器profile之外还能(但不依赖)选择并安装 LTSP 服务器和工作站配置文件 (profile)。

3.1.3. 运行在主服务器上的服务

除了瘦客户机的管理之外,所有的服务最初设置在一台中央计算机上(主服务器)。为了性能的原因,LTSP 服务器将要分开来(不过在同一机器上可以安装主服务器和 LTSP 服务器两者的配置文件)。所有服务分配了专用 DNS 名称并且只在 IPv4 上提供。分配的 DNS 名称使其容易地从主服务器迁移单独的服务到不同的机器,简单地在主服务器上关闭该服务,而后变更 DNS 配置指向该服务的新位置(当然,首先要在这台机器上设置)。

通过网络传输的密码是encrypted保证所有连接安全,那样没有密码是作为普通文本通过网络发送。

以下是在 Skolelinux 网络中缺省设置的服务及其每一服务的 DNS 名称的列表。如有可能所有配置文件会以名称(无域名)关联到服务于是易于学校改变或者它们的域(如果它们有自己的 DNS 域)或是它们所使用的 IP 地址。

服务列表

服务描述

平常名称

DNS 服务名称

中央日志

rsyslog

syslog

域名服务

DNS (BIND)

domain

机器的自动网络配置

DHCP

bootps

时钟同步

NTP

ntp

通过网络文件系统的主目录

SMB / NFS

homes

电子邮局

IMAP (Dovecot)

postoffice

目录服务

OpenLDAP

ldap

用户管理

GOsa²

---

Web 服务器

Apache/PHP

www

中央备份

sl-backup, slbackup-php

backup

Web 缓存

Proxy (Squid)

webcache

打印

CUPS

ipp

安全远程登录

OpenSSH

ssh

自动配置

Cfengine

cfengine

(若干) LTSP 服务器

LTSP

ltsp

网络块设备服务器

NBD

---

以错误报告监视机器和服务,和 Web 上的Status与历史。由电子邮件报告错误

Munin, Icinga 和 Sitesummary

sitesummary

每个用户的个人文件保存在他们的主目录中,由服务器做得到。主目录可从所有机器进入,给予用户无论他们使用那个机器而可以存取相同文件。不可知操作系统的服务器,通过 NFS 的 Unix 客户端,SMB 的 Windows 和 Macintosh 客户端提供存取通路。

只预设电子邮件本地投递设置(如在学校内),但如果学校有固定互联网连接那么可以设置投递电子邮件到更广的互联网。客户端设置为投递电子邮件到服务器(使用‘smarthost’),而用户可以通过 IMAP 读取他们的个人邮件

所有服务使用同一个用户名和密码可以进入,得益于中央用户数据库的验证和授权。

使用 web 代理在本地 (Squid) 贮存文件在经常访问的位置提升性能。还能在单独的机器上一同做路由上限制的 web 流量与互联网访问的控制。

客户端的网络配置是使用 DHCP 自动完成的。所有类型的客户端可以连接到私有的 10.0.0.0/8 子网并且将获得协商 IP 地址;LTSP 客户机将会通过独立的 192.168.0.0/24 子网(这是保证 LTSP 客户机的网络流量不干扰到其他的网络服务)连接到相配合的 LTSP 服务器。

中央日志为所有机器发送日志信息到服务器而设置。日志服务设置仅为接收从本地网络到来的信息。

缺省的 DNS 服务器仅用内部域 (*.intern) 设置,直到实在的(“外部的”)DNS 域可以被设置。该 DNS 服务器为其网络上的所有机器可以用其作为主 DNS 服务器而设置作为缓存 DNS 服务器。

学生和教师有能力发布网站。该 web 服务器提供认证用户的程序,并对某用户和组群限制访问个人页面。作为 web 服务器能在服务器一侧安排,而用户将有能力创作有力的网页。

有关用户和机器的信息可以在一处中央位置被转换,让在其网络上的所有计算机可以自动使用。做到中央目录服务器的设置。该目录将有用户,用户组,机器,以及机器组的信息。不想在文件组,邮件列表之间有任何不同而避免用户混淆。机器组必然形成将使用与用户组和邮件列表名称空间相同的网络组。

服务和用户的管理将主要通过 web,并按照确定的标准,在 Skolelinux 的组件 web 浏览器中良好运作。代表委派个别用户或用户组使具有管理系统的能力。

为了避免 NFS 的某个难题,而使之较简单地排除问题,彼此分别的机器需要同步时钟。Skolelinux 服务器设置为本地网络时间协议 (NTP) 服务器的实现,所有工作站和客户端设置与服务器同步。服务器自己将通过互联网的 NTP 上游机器同步它的时钟,以此保证整个网络有准确时间。

打印机便于连接,或是直接连到主网,或者连接到服务器,工作站抑或 LTSP 服务器。打印机的使用可由单独的用户按照他们所属组来控制;这将由打印机的使用限额和使用控制做到。

3.1.4. LTSP 服务器

一个 Skolelinux 网络上可以有许多 LTSP 服务器(在 Stretch 之前的发行中称之为“瘦客户机服务器”),是由选择了 LTSP 服务器配置文件而安装的。

LTSP 服务器设置接收来自瘦客户端和工作站的日志,并转递这些信息到中央日志接受者。

请注意:瘦客户端使用服务器上安装的程序。无盘工作站使用安装在服务器的 LTSP chroot 中的程序,客户端根文件系统用 NBD (网络块设备)提供。每一修改 LTSP chroot 之后相关的 NBD 图像需要重新生成;在 LTSP 服务器上运行 ltsp-update-image

3.1.5. 瘦客户端

瘦客户端设置普通个人计算机能具有 (X) 终端的功能。这意味着该机器从软盘或者直接从服务器使用网络 PROM (即 PXE)引导而不使用本地客户端的硬盘驱动器。瘦客户端设置使用的是 Linux 终端服务器项目 (LTSP)。

Thin clients are a good way to make use of older, weaker machines as they effectively run all programs on the LTSP server. This works as follows: the service uses DHCP and TFTP to connect to the network and boot from the network. Next, the file system is mounted from the LTSP server using NBD, and finally the X Window System is started. The display manager (LDM) connects to the LTSP server via SSH with X-forwarding. This way all data is encrypted on the network. For very old thin clients which are too slow for the encryption this can be set to the behavior from former versions, which is to use a direct X connection via XDMCP.

3.1.6. 无盘工作站

对于无盘工作站还使用的说法是 "stateless workstations", "lowfat clients" 或者 "half-thick clients"。为了清晰起见本手册定名为 "diskless workstations"。

无盘工作站在个人计算机上运行所有软件而没有在本地安装操作系统。这意味客户端机器直接从服务器的硬盘驱动器引导而运行的软件没有安装在本地硬盘驱动器上。

无盘工作站是以与瘦客户端一样的低维护成本再利用较旧(但有能力)的硬件的极佳方法。在服务器上管理和维护软件而不需要在客户端本地安装软件。主目录和系统设置也保存在服务器上。

无盘工作站是采用 Linux 终端服务器方案 (LTSP) 5.0. 版的部分。

3.1.7. 网络客户端

在这个手册中使用的术语 "networked clients" 或涉及瘦客户端或无盘工作站,还有运行 Mac OS 或者 Windows 的计算机。

3.2. 管理

All the Linux machines that are installed with the Skolelinux installer will be administrable from a central computer, most likely the server. It will be possible to log in to all machines via SSH (by default, root is not allowed to log in with password), and thereby have full access to the machines.

所有用户信息保留在 LDAP 目录中。用户帐号的更新对照这个数据库,用于客户端的用户验证。

3.2.1. 安装

现在有两个类型的安装媒体镜像:网络安装 (CD) 和多架构 USB 闪存。两者的镜像还可以从 USB 棒被引导。

力求一旦能从任何类型的媒体安装服务器,而由网络引导在网络上安装其他客户端。

仅是网络安装镜像在安装的时候需要访问互联网。

除了想要的语言(如挪威布克莫尔语,Nynorsk, Sami)和机器配置文件(主服务器,工作站,LTSP 服务器,……)之外,安装不会问到任何问题。所有其他配置以合理值自动设置,随后系统管理员从中心位置更改来安装。

3.2.2. 文件系统存取配置

每个 Skolelinux 用户帐号在文件服务器上分配使用文件系统的一部分。这部分(主目录)包含用户的配置文件,电子文件和网页。一些文件会被设置为系统上其他用户读取,一些会是互联网上每个人可读,而一些除该用户之外不会为任何人读取。

保证用户目录或共享目录使用的所有磁盘在安装中可以跨越所有计算机被唯一命名,它们可以被作为 /skole/host/directory/ 被挂载。最初,在文件服务器上创建的是一个目录, /skole/tjener/home0/,所有的用户帐号在那里创建。在需要提供特别的用户组或特别的用途模式时更多的目录能在那时被创建。

在标准 UNIX 许可系统下能够共享存取文件,用户需要附加到共享组(如 "students")而他们缺省是在个人基本组。如果用户有适当的umask来新建组权限项(002 或 007),而如果工作在setgid目录保证文件继承正确的组所有者,效果是组成员之间共享管理文件。

对新建文件的初始存取设置是一个方针问题。Debian 缺省umask是 022 (那会不允许组权限为described above),而 Debian Edu 使用缺省 022 - 导致创建的文件对于所有的人有读权限,那可以稍迟由明确用户行为消除。这可以选择改变(编辑 /etc/pam.d/common-session)为 007 的umask - 导致首先阻止读权限,制定他们的权限是必要的用户行为。这第一个接近促进知识的共享,并使系统更透明,而第二个方法降低不想要敏感信息散布的风险。第一个方案的问题是用户不清楚他们建立的资料会对所有其他用户有访问权限。他们可能仅由查看其他用户的目录发现看到能辨认为他们的文件。第二个方法具有的问题是少数人适合制定他们的文件权限,即使如果他们不包含敏感信息而其内容会帮助到想要得知其他解答个人问题的好打听用户(典型的配置争议)。

4. 需求

这是设置 Skolelinux 方案的不同方法。它可以被安装在一台单独应用的个人计算机上,或作为许多学校操作中心的整体方案。这个灵活性制定了网络部件,服务器和客户端机器的极为不同的配置。

4.1. 硬件需求

不同profile的目的在 network architecture 章中解释。

如果计划使用 LTSP,需要看 LTSP 硬件需求 wiki 页面

  • 运行 Debian Edu / Skolelinux 的计算机必须有或是 32 位(Debian 架构 'i386',最陈旧被支持的处理器是 686 级)或者 64 位(Debian 架构 'amd64')x86 处理器。

  • 建议用于 30 瘦客户机的主服务器和 LTSP 服务器配置至少 12 GiB 的内存而对于 50-60 瘦客户机则为 20 GiB。

  • 瘦客户端能够仅有 256 MiB RAM 而且是 400 MHz 的处理器,但推荐用更多的 RAM 和更快的处理器。

    • 为 LTSP 客户端网络上的交换能是自动的;交换区大小是 512 MiB,而如果你需要更大可以通过编辑 tiener 服务器上的 /etc/ltsp/nbdswapd.conf 设置 SIZE 变化量来调整。

    • 如果你的无盘工作站有硬盘驱动器,建议使用它们作为比网络交换快不少的交换区。

  • For workstations, diskless workstations and standalone systems, 1000 MHz and 512 MiB RAM are the absolute minimum requirements. For running modern webbrowsers and LibreOffice at least 1024 MiB RAM is recommended.

    • 有小内存的工作站如果交换空间也太小也许因 LibreOffice 的拼写检查而挂起。如果这经常发生可以由系统管理员禁用拼写检查。

  • 最低限度的磁盘空间需求取决于所安装的profile:

    • 组合主服务器 + LTSP 服务器:70 GiB。像通常一样在主服务器上的磁盘空间,“越多越好”。

    • LTSP 服务器:50 GiB。

    • 工作站或独立系统:30 GiB。

  • LTSP 服务器在使用缺省网络架构时需要两个网卡:

    • eth0 连接到主网(10.0.0.0/8),

    • eth1 用于 LTSP 客户端的服务(192.168.0.0/24 作为缺省),但 others are possible.

  • 笔记本电脑是可移动的工作站,因此它们有同工作站一样的需求。

4.2. 所知工作的硬件

http://wiki.debian.org/DebianEdu/Hardware/ 提供一个硬件测试列表。这个列表远不完整 :)

http://wiki.debian.org/InstallingDebianOn 是一个写作如何在一些具体硬件上安装,配置和使用 Debian 文档的一个结果,让可能的购买者知道所支持的硬件和存在所有者知道如果从硬件中获得最合适的。

一个优秀的 Debian 所支持的硬件数据库在线于 http://kmuto.jp/debian/hcl/

5. 网络设置需求

5.1. 缺省设置

当使用缺省的网络架构时,这些规则适用:

  • 你需要的正是主服务器,tjener。

  • 你在主网上可以有上百工作站。

  • 在主网上可以有许多 LTSP 服务器;两个分开的子网是在 LDAP 中预先配置的(DNS,DHCP),还能添加更多。

  • 在每一个 LTSP 服务器网络上可以有上百的瘦客户端和/或无盘工作站。

  • 可以有上百的其他机器会有充裕的 IP 地址来分配。

  • 为了访问互联网你需要一个路由/网关(参看下面)。

5.2. 互联网路由

路由/网关,在外部接口连接到互联网并在网络掩码 255.0.0.0 的 IP 地址 10.0.0.1 的内部接口运行,需要连接到互联网。

路由将不运行 DHCP 服务器,它可以运行 DNS 服务器,但这是不需要的而且也不会被使用。

已经有路由器但无法根据需要进行配置(由于技术原因不允许)的情况下,如果安装的是 Debian Edu ‘最小’配置,则具有两个网络接口的系统可能会变成网关。

安装之后:

  • 调整 /etc/network/interfaces 文件。

  • 将主机名永久修改为“gateway”。

  • 为 10.0.0.0/8 网络启用 IP 转发和 NAT。

  • 作为可选项,还可以安装防火墙和/或流量控制工具。

 #!/bin/sh
 # Turn a system with profile 'Minimal' into a gateway/firewall. 
 #
 sed -i 's/auto eth0/auto eth0 eth1/' /etc/network/interfaces
 sed -i '/eth1/ s/dhcp/static/' /etc/network/interfaces
 echo 'address 10.0.0.1' >> /etc/network/interfaces
 echo 'netmask 255.0.0.0' >> /etc/network/interfaces
 hostname -b gateway
 hostname > /etc/hostname 
 service networking stop
 service networking start
 sed -i 's#NAT=#NAT="10.0.0.0/8"#' /etc/default/enable-nat 
 service enable-nat restart
 # You might want a firewall (shorewall or ufw) and traffic shaping.
 #apt update
 #apt install shorewall
 # or
 #apt install ufw
 #apt install wondershaper  

如果你需要嵌入式路由器或访问点的设备我们建议使用 OpenWRT,当然你也可以使用原先的固件。使用原先的固件很容易;使用 OpenWRT 给你更多选择和控制权。检索 OpenWRT 网页的支持的硬件列表。

能够使用不同的网络设置(是 documented procedure 所做),但如果你不以一个存在的网络基础结构勉强去做,我们建议预防那么做并建议你维持缺省状态的 网络结构

6. 安装和下载选项

6.1. 在哪里找到另外的信息

我们建议在你开始安装一个为生产使用的系统之前阅读或至少要看 Debian Stretch 发行注记。请给 Debian Edu/Skolelinux 一个尝试,它将正确工作。 :-)

/!\ 无疑要阅读本手册的起始章,虽然,那所讲解的是第一次如何登录。

还有更多关于 Debian Stretch 发行版的信息可以在其安装手册中获得。

6.2. 下载 Debian Edu 9+edu0 代号 Stretch 的安装媒体

6.2.1. i386,amd64 的网络安装 CD 镜像

网络安装 CD,也可以用于从 USB 闪存安装,适合安装 i386 和 amd64 的机器。作为这个名称含有的意思,安装需要互联网访问。它可以获得自

  • debian-edu-9+edu0-CD.iso

    rsync -v --progress ftp.skolelinux.org::skolelinux-cd/debian-edu-9+edu0-CD.iso ./debian-edu-9+edu0-CD.iso

6.2.2. i386 和 amd64 的 USB 驱动器 ISO 镜像

The multi-architecture ISO image is 5.5 GiB large and can be used for installation of amd64 and i386 machines. Like the netinstall image it can be installed on USB flash drives or disk media of sufficient size. Please note that internet access is needed during installation if the 'LTSP Server' profile is chosen. Like the others it can be downloaded over HTTP or rsync via:

  • debian-edu-9+edu0-USB.iso

    rsync -v --progress ftp.skolelinux.org::skolelinux-cd/debian-edu-9+edu0-USB.iso ./debian-edu-9+edu0-USB.iso

6.2.3. 源代码

源代码可以从通常位置的 Debian 仓库获得。

6.3. 以邮件请求 CD / DVD

对于那些没有快速互联网连接,我们可以按 CD 或 DVD 以及运输的费用提供 CD 或 DVD 的发送。只要发送电子邮件到 cd@skolelinux.no 我们就会商量支付细节(运输和媒体)。 :) 记着在发送你需要 CD 或 DVD 的电子邮件中包含地址。

6.4. 安装 Debian Edu

在你安装 Debian Edu 时,你有一些要选择的选项。不要畏惧;那不多。我们很好地做到隐藏安装期间及以外 Debian 的复杂性。无论如何,Debian Edu 就是 Debian,而你如果需要这里有超过 52,000 个软件包来选择和亿万配置选项。对于我们的大多数用户,我们的缺省配置将是高质量的。

6.4.1. 安装类型和选项

在 64 位硬件上的安装程序引导菜单

64 位安装程序引导菜单

Graphical install 使用图形界面安装程序而你可以使用鼠标。

使用文本模式安装

进阶选项> 给予更多详细选项来选择的子菜单。

32位的安装选项> 允许在64位的硬件上进行32位的安装。

Help 给予所使用的安装程序的一些提示;参看以下的屏幕快照。

64 位安装程序高级选项屏幕快照 1

Back.. 返回到主菜单。

Graphical expert install 在图形模式中给予访问所有的问题,适用鼠标。

Graphical rescue mode 让这个安装介质成为紧急任务的救援盘。

Graphical automated install 需要preseed文件。

Expert install 给予访问在文本模式中所有的问题。

Rescue mode 文本模式;让这个安装介质成为紧急任务的救援盘。

Automated install 文本模式;需要预置文件。

在 32 位硬件上的安装程序启动引导菜单

32 位安装程序的启动引导菜单

与 64 位硬件的说明类似。

Help screen

安装程序帮助界面的屏幕快照

帮助屏幕是自己说明并能用键盘上的 <F>-键获得更多题目解释中的细节。

Add or change boot parameters for installations

在这两种情况中,在引导菜单中按 TAB 键可以编辑引导选项;屏幕显示 Graphical install 的命令行。

编辑命令行选项

  • 你可以使用网络上存在的 HTTP 代理服务来加快从 CD 安装主服务器profile。添加 mirror/http/proxy=http://10.0.2.2:3128/ 作为附加的引导参数。

  • 如果你在一台机器上已经有安装好的主服务器profile,后续的安装会通过 PXE 完成,而这将自动使用主服务器代理。

  • To install the GNOME desktop instead of the default KDE Plasma desktop, replace kde with gnome in the desktop=kde parameter.

  • To install the LXDE desktop instead, use desktop=lxde. (Recommended if LTSP is intended to be used.)

  • 替代安装 Xfce 桌面,使用 desktop=xfce

  • 而改为安装 MATE 桌面,使用 desktop=mate

6.4.2. 安装过程

记着如果你计划设置一个 LTSP 服务器系统需求你确保至少有两个网卡 (NIC)。

  • 选择一种语言(对于本安装及安装后的系统)。

  • 选择一个区域那通常是你生活的地方。

  • 选择键盘布局(缺省的地区通常很好)。

  • 从以下列表中选择profile:

    • 主服务器

      • 这是为学校提供所有服务的预配置“开箱即可工作”的主服务器(tjener)。每一个学校只可安装一台主服务器!这个预配置不包括图形用户界面。如果需要图形用户界面,此时在这里选择工作站或 LTSP 服务器。

    • 工作站

      • 一台计算机从它的本地硬盘驱动器引导,并且如一台普通的计算机本地驱动运行全部软件,只是由主服务器认证用户登录,那里储存着用户的文件和桌面profile。

    • 漫游工作站

      • 同于工作站但能够使用贮藏资格认证,意味这可以在学校外的网络中使用。用户的文件和profile保存在本地硬盘上。对于单一的用户notebook和laptop在较早的发布版中建议不选择“工作站”或“独立安装”。

    • LTSP 服务器

      • 瘦客户机(和无盘工作站)服务器,也称为 LTSP 服务器。客户端没有硬盘驱动器而是从服务器引导和运行软件。这台计算机需要两个网卡,大量的内存,适合更多的处理器或多核心。这个主题更多的信息参阅关于网络客户端的章节。选择这个配置也启用了工作站配置(甚至并没有选择) - LTSP 服务器也总是可以作为工作站使用。

    • 独立安装

      • 普通的计算机可以不以主服务器运转(那是,它不需要在网络中)。包括笔记本。

    • 最小安装

      • 这个profile安装基本软件包并配置该机器融入 Debian Edu 网络,但没有任何服务和应用。它用作从主服务器手工移出单一服务的平台。

    预先选择了主服务器工作站LTSP 服务器配置。如果想要这些配置能一起安装在一台机器里那就称作组合主服务器。这意味着这台主服务器会是 LTSP 服务器并且也用作工作站。这是默认选择,因为我们设想大多数人以后会通过 PXE 安装。请注意必须安装了两块网卡的机器作为组合主服务器或者作为 LTSP 服务器被安装之后变为实用。

  • 对自动分区说“是”或者“不”。要意识到说“是”将摧毁硬盘驱动器上的全部数据!而说“不”会依赖更多工作 - 你要保证需要的分区已经建立并且足够大。

  • 请对 http://popcon.skolelinux.org/ 说“是”来允许我们得知软件包的流行度并将被保留到将来的发布版中。尽管你不这样做,这却是你所做帮助的简单方法。 :)

  • 等待。如果所选配置包含 LTSP 服务器而后安装程序在最后会花相当的时间,“完成安装 - 运行 debian-edu-profile-udeb...”

  • 给出 root 密码之后,你会被询问创建“非管理任务”的常规用户帐号。这是 Debian Edu 非常重要的帐号:你要使用这个帐号管理 Skolelinux 网络。

    /!\ 该用户的这个密码必须要有至少 5 个字符的长度 - 否则登录不会被认可(即使较短的密码为安装程序所接受)。

  • 祝愉快

6.4.3. 一些典型的注释

6.4.3.1. 笔记本的注释

最合适你要使用的“漫游工作站”prolile(参看上面)。要知道所有数据保存在本地(那在备份上要用一些额外的任务)并储存登录证书(那么密码变更之后,如果你没有连接你的笔记本到网络并以新密码登录过可能依赖你的旧密码登录)。

6.4.3.2. 多架构 USB 闪存盘 / 蓝光光盘镜像安装的注释

在你从多架构 USB 闪存盘 / 蓝光光盘镜像安装之后,/etc/apt/sources.list 只会包含来自镜像的源。如果你有互联网连接,我们强烈建议为了获得可以被安装的安全更新而在其中添加如下数行:

deb http://ftp.debian.org/debian/ stretch main 
deb http://security.debian.org/ stretch/updates main 
6.4.3.3. CD 安装的注释

网络安装(那是我们的 CD 所提供的安装类型)会从 CD 中取出一些软件包而其余的从网上取得。从网上取得的软件包数量从profile到profile而变化但维持在低于gigabyte(除非你选择安装所有可用的桌面)。一旦你安装了主服务器(无论单纯的主服务器或组合服务器不成问题),其后的安装会使用它自己的代理来避免从网上多次下载相同的软件包。

6.4.3.4. 仅用于瘦客户端的 LTSP 服务器安装的注意事项

提供的内核引导参数 edu-skip-ltsp-make-client 可以跳过将 LTSP chroot 从瘦客户机 chroot 转换成组合瘦客户机/无盘工作站 chroot 的这个步骤。

这适用于某状况,例如如果你需要一个单纯的瘦客户端 chroot 抑或如果在另一服务器上已有的无盘 chroot,那可以被同步。对这些状况略过这步会减少相当的安装时间。

在重复创建组合 chroot 中除了较长的安装时间外没有损害,那就是为什么由缺省完成。

6.4.4. 安装使用 USB 闪存驱动器来取代 CD / 蓝光光盘

自从 Squeeze 发布以来能够直接复制 CD/DVD/蓝光光盘.iso 镜像到 USB 闪存驱动器(也称作“USB 棒”)并从它们引导。简单地执行像这样的一个命令,仅修改为你所需要的文件和驱动器名称:

sudo dd if=debian-edu-amd64-i386-XXX.iso of=/dev/sdX bs=1024

取决于你选择了哪个镜像,USB 闪存驱动器会表现得就像 CD 或者蓝光光盘。

6.4.5. 通过网络安装 (PXE) 并引导无盘客户端

对于这个安装方法依赖于你要运行主服务器。当客户端通过主网引导时,显示一个有安装程序和引导选项的新 PXE 菜单。如果有一个错误信息要求 XXX.bin 文件未见而 PXE 安装失败,那最可能的是客户端网卡依赖非自由固件。在这种情况中 Debian 安装程序的 initrd 必需被修改。这可以在服务器上执行命令: /usr/share/debian-edu-config/tools/pxe-addfirmware 来完成。

这是仅有主服务器 profile PXE 菜单看到的样子:

width=400

具有主服务器LTSP 服务器配置的 PXE 菜单看上去是这样的:

width=400

若要安装你所选择的桌面环境而不是默认的,按 tab 键并编辑内核引导选项 (像上文)。

这个设置也允许无盘工作站和瘦客户端在主网上被引导。不像工作站,无盘工作站没有用 GOsa² 被添加到 LDAP,但可以,为示例如果你想要强行主机名。

更多关于网络客户端的信息可以在 Network clients HowTo 章中被找到。

6.4.5.1. 修改 PXE 安装

PXE 安装使用 debian 安装程序 preseed 文件,那可以被修改来询问安装更多的软件包。

类似随后的一行需要添加到 tjener:/etc/debian-edu/www/debian-edu-install.dat

d-i    pkgsel/include string my-extra-package(s)

PXE 安装使用 /var/lib/tftpboot/debian-edu/install.cfg 和在 /etc/debian-edu/www/debian-edu-install.dat 中的 presseeding 文件。这些文件可以被改变来安排用在安装时的 presseding,来避免在通过网络安装时更多的提问。另一个方法是在 /etc/debian-edu/pxeinstall.conf/etc/debian-edu/www/debian-edu-install.dat.local 提供附加设置并运行 /usr/sbin/debian-edu-pxeinstall 来更新已生成的文件。

进一步的安装可以在 Debian 安装手册中找到。

要禁止或变更通过 PXE 安装时代理的使用,在 tjener:/etc/debian-edu/www/debian-edu-install.dat 中包含 mirror/http/proxymirror/ftp/proxypreseed/early_command 的数行需要被改变。要禁止安装时代理的使用,在最初两行的前面放置 '#',并从其末尾移除 "export http_proxy="http://webcache:3128"; " 部分。

由于 preseeding 文件被下载之前已需要一些设置可以不被preseeded。这些被配置的 PXElinux 基本中的引导主题可从 /var/lib/tftproot/debian-edu/install.cfg 得到。语言,键盘布局和桌面是上述设置的实例。

6.4.6. 定制镜像

创建定制 CD,DVD 或蓝光光盘因我们使用 Debian 安装器而相当容易,有模块化设计及其他宜人特性。Preseeding 允许你定义回答正常提问的问题。

那样你所有需要做的是以你的回答(这个在 Debian 安装程序手册的附录里叙述)和 remaster the CD/DVD 创建一个 preseeding 文件。

6.5. 屏幕快照观览

文本方式和图形安装有相同的功能 - 仅是外观不同。图形方式提供使用鼠标的机会,自然看着最宜人并且更新颖。除非用图形方式硬件有困难,那没有理由不使用它。

那么这里贯穿了一个 64-bit 主服务器 + 工作站 + LTSP 服务器图形安装过程的屏幕快照观览以及在主服务器第一次引导所看到的,处于工作站网络和 LTSP 客户机网络上 PXE 引导是怎样的:

01-Installer_64bit_boot_menu.png

02-select_a_language.png

03-select_your_location.png

04-Configure_the_keyboard.png

05-Detect_and_mount_CD-ROM.png

06-Load_installer_components_from_CD.png

07-Detect_network_hardware.png

08-Choose_Debian_Edu_profile.png

09-Really_use_the_automatic_partitioning_tool.png

10-Really_use_the_automatic_partitioning_tool-Yes.png

11-Participate_in_the_package_usage_survey.png

12-Set_up_users_and_passwords.png

12a-Set_up_users_and_passwords.png

12b-Set_up_users_and_passwords.png

12c-Set_up_users_and_passwords.png

12d-Setting-up-the-partitioner.png

13-Install the base system.png

14-Select_and_install_software.png

17-Select_and_install_software.png

18-Build LTSP chroot.png

19-Install_the_GRUB_boot_loader_on_a_hard_disk.png

20-Finish_the_Installation.png

21-Finish_the_Installation-Installation_complete.png

22-Tjener_GRUB_boot_menu.png

tjener KDM 登录

KDE 和浏览器

KDE 桌面

28-Diskless-WS-GRUB_Boot_menu-PXE.png

无盘工作站登录

KDE 桌面和菜单

7. 起步

7.1. 起步的最低步骤

主服务器安装时已创建了第一个用户的帐号。在后续文字中这个帐号会作为“首用户”被提到。这个帐户是特殊的,因为没有 Samba 帐号(可以通过 GOsa² 来添加),其主目录允许设置为 700(那样需要 chmod o+x ~ 来让个人网页可以被访问),而首用户可以使用 sudo 成为 root。

在添加用户前请参阅有关 Debian Edu 特定的文件系统访问配置的信息。

安装之后,作为首用户的你需要做的第一件事是:

  1. 登录到服务器 - 用 root 帐号你不能在图形登录。

  2. 使用 GOsa² 添加用户

  3. 以 GOsa² 添加工作站 - 瘦客户端和无盘工作站可以直接使用而不用这个步骤。

在下面详细讲述添加用户和工作站,请完整阅读这章。包括如何正确进行这些最少步骤以及,每个人大概会需要做的其他材料。

在这一手册的其他部分可以获得另外的信息:熟悉先前发布版的每个人会阅读 Stretch 中的新特性这一章。而对于从先前的发布版更新,一定要阅读更新这一章。

/!\ 如果普通的 DNS 流量阻塞你的外部网络而你需要使用某个特定的 DNS 服务器来查找互联网主机,你需要告知这个 DNS 服务器作为它的“转发器”来使用这一服务器。

这里的 HowTo 一章涵盖了更多的提示和技巧以及一些经常被问及的问题。

Debian Edu KDE 桌面

7.1.1. 运行在主服务器上的服务

可以通过一个 web 管理界面管理运行在主要服务器上的几个服务。我们会在下面叙述每一个。

7.2. GOsa² 简介

GOsa² 是一个可以帮助管理你的 Debian Edu 设置的一些重要部分的基于 web 的管理工具。使用 GOsa² 你可以管理(添加,修改,或者删除)这些主要的组:

  • 用户管理

  • 组管理

  • NIS 网络组管理员

  • 计算机管理

  • DNS 管理

  • DHCP 管理

为了访问 GOsa² 你需要 Skolelinux 主服务器和一个有 web 浏览器的(客户端)系统,而如果是作为称作组合服务器(主服务器 + LTSP 服务器 + 工作站配置)来安装就可以是主服务器自身。如果上面提到的全都没有,请参阅:在主服务器上安装图形环境来使用 GOsa²

从一个 web 浏览器中使用这个 URL https://www/gosa 来访问 GOsa²,并作为首用户登录。

  • 如果你使用的是新的 Debian Edu Stretch 计算机,该网站证书会被浏览器识别。

  • 否则,你将收到有关 SSL 证书有误的错误消息。如果你知道是独自在你的网络上,就告诉浏览器接受它并忽略那个。

对于总体上的 GOsa² 信息请参看:https://oss.gonicus.de/labs/gosa/wiki/documentation

7.2.1. GOsa² 登录和概览

作为首用户登录 GOsa² 后的概览页面

在 GOsa² 登录之后你会看到 GOsa² 的概览页面。

接下来,你可以在菜单里选择一个任务或者在综览页面中点击任何任务图标。为了导航,我们建议使用屏幕左侧的菜单,它将保持显示在所有 GOsa² 所提供的管理页面中。

在 Debian Edu 中,账户,组,和系统信息保存在一个 LDAP 目录里。这个数据不仅用于主服务器,而且也用于网络中的(无盘)工作站,LTSP 服务器和 Windows 机器,关于学生,教师,等的账户信息仅需要输入一次。之后由 LDAP 提供信息,在整个 Skolelinux 网络中的所有系统获得该信息。

GOsa² 是一种使用 LDAP 来存储其信息并提供分层的部门结构的管理工具。你可以为每个“部门”添加使用者账户,组,系统,网络组,等等。取决于你所设计的结构,你可以用 GOsa²/LDAP 中的部门结构迁移你的组织结构进入 Debian Edu 主服务器的 LDAP 数据树中。

安装默认的 Debian Edu 主服务器目前提供两个“部门”:教师和学生,加上 LDAP 树的基础层。学生账户设计为加入“学生”部门,教师加入“教师”部门;系统(服务器,Skolelinux 工作站,Windows 机器,打印机等)目前加入到基础层。找出你自己定制这个结构的方案。(你可以找到一个如何在年级组里创建用户的示例,在本手册的 HowTo/高级管理一章中有对于每个组的普通主目录。)

根据你要处理的任务(管理用户,管理组,管理系统等),GOsa² 会在所选部门(或基础层)上呈现不同的视图。

7.3. 使用 GOsa² 管理用户

首先,点击左边导航菜单中的“用户”。屏幕右侧会转为显示一个有“学生”和“教师”以及 GOsa² 超级管理员(那第一个被创建的用户)账户。上面这个表中你可以看到一个称作 Base 的字段而允许你引导通过你的树状结构(在那个区域移动你的鼠标会呈现一个下拉菜单)并为你想要的操作(例如添加一个新用户)选择一个基本折叠。

7.3.1. 添加用户

接下来你可以在树状导航项目中看到“操作”菜单。在这一项上面移动你的鼠标一个子菜单呈现在屏幕上;选择其中的“创建”,而后是“用户”。你将由用户创建向导来指导。

  • 最重要的是添加模板(新学生或新教师)和你的用户的全名(见图)。

  • 当你跟随向导时,你将看到 GOsa² 根据真实姓名自动生成用户名。它自动选择一个尚不存在的用户名,那么有相同全名的多类用户不是问题。注意如果全名中包含非 ASCII 字节 GOsa² 可能生成无效的用户名。

  • 如果你不喜欢生成的用户名,你可以在下拉框中选择其他用户名,但你在向导中没有自由选择。(如果你想要能够编辑提议的用户名,用一个编辑器打开 /etc/gosa/gosa.conf 并添加 allowUIDProposalModification="true"作为附加选项到 "location definition"。)

  • 在向导完成后,你将看到新用户对象的 GOsa² 屏幕。使用上端的标签检查全部字段。

创建用户后(无需自定义字段,向导现在已经为空),点击右下角的“确定”按钮。

作为最后一步,GOsa² 会询问新用户的密码。键入两次之后点击右下角的“设置密码”。 /!\ 某些字符可能不被允许作为密码的一部分。

如果一切顺利,你现在可以在用户列表中看到新用户。你现在能以那个新用户名登录你的网络中的任何 Skolelinux 机器。

7.3.2. 搜索,修改和删除用户

过滤器栏

要修改或删除用户,使用 GOsa² 浏览在你的系统中的用户列表。在屏幕中部你能够打开“过滤”框,一个由 GOsa² 提供的搜索工具。如果你不知道你的用户账户在树状结构中的确切位置,转变 GOsa²/LDAP 树的基本层并以“在子树中搜索”选项标记搜索。

当使用“过滤器”框时,结果将立即出现在表格列表视图中的文本的中间。每一行代表一个用户账户而在每行最远的项目是供你操作的小图标:剪切记录,复制记录,编辑用户,锁定账户,设置密码,获取照片(不可用)和移除用户。

将会显示一个新页面,你可以在哪里直接修改有关用户的信息,更改用户的密码和修改用户所属的组列表。

编辑用户数据

7.3.3. 设置密码

学生可以使用自己的用户名登录 GOsa² 来更改自己的密码。在桌面系统(或系统设置)菜单提供的易于访问的 GOsa² 入口,称为 Gosa。一个已登录的学生会被显示在一个很小版本的 GOsa² 中,仅允许访问这个学生自己的账户数据表单以及设置密码对话框。

以自己的用户名登录的教师在 GOsa² 中有特殊的权限。显示更多的 GOsa² 特权视图,并可以更改所有学生账户的密码。这应该非常适合年级期间。

以管理方式为用户设置新密码

  1. 搜索要修改的用户,如上所述

  2. 点击用户名所在行尾的钥匙符号

  3. 在随后提供的页面上,你可以设置自己选择的新密码

设置用户密码

谨防蕴含易于猜测密码的安全!

7.3.4. 提高的用户管理

可以通过使用 CSV 文件用 GOsa² 大量创建用户,可以使用任何好的电子表格软件(例如, localc )。至少,为随后的字段输入提供:uid,姓,名字和密码。确定在 uid 字段中没有重复的记录。请注意应该检查重复的 LDAP 中已经存在的 uid 记录(由在命令行中执行 getent passwd | grep tjener/home | cut -d":" -f1 而得到)。

上述 CSV 文件格式指标(GOsa² 对之相当不容):

  • 使用“,”作为字段分隔符

  • 不要使用引号

  • CSV 文件不必包含一个标题行(通常包含分类的列名)

  • 这些字段的顺序是不相关的,可以在 GOsa² 批量导入期间被定义

批量导入的步骤是:

  1. 点击左侧导航菜单中的“LDAP 管理器”链接

  2. 点击屏幕右侧的“导入”标签

  3. 浏览本地磁盘,并选择要导入的有用户列表的 CSV 文件

  4. 选择在批量导入期间应用的可用用户模板(如NewTeacher或NewStudent)

  5. 点击右下角的“导入”按钮

首先做一些测试是一个好主意,最好使用带有几个虚构用户的 CSV 文件,稍后可以删除。

7.4. 用 GOsa² 管理用户组

创建组

创建组

组管理与用户管理非常相似。

你可以输入每个组的名称和描述。确定在创建新组时选择 LADP 树中右侧水平位置。

默认下,不能创建合适的 Samba 组。如果你在组创建时忽略了检查 Samba 组选项,可以在之后修改该组。

添加用户到新创建的组会带你返回用户列表,你最有可能使用过滤器框来查找用户。也会检查 LDAP 树层。

组管理中输入的组也是常规的 unix 组,因此也可以将它们用于文件权限。

7.4.1. 命令行上的组管理

# List existing group mapping between UNIX and Windows groups.
net groupmap list

# Add your new or otherwise missing groups:
net groupmap add unixgroup=NEW_GROUP type=domain ntgroup="NEW_GROUP"\
                 comment="DESCRIPTION OF NEW GROUP"

7.5. 用 GOsa² 管理机器

机器管理基本上允许你管理 Debian Edu 网络中的所有联网设备。使用 GOsa² 添加到 LDAP 目录的每台机器有一个主机名,一个 IP 地址,一个 MAC 地址和一个域名(通常是“内部”)。完整的 Debian Edu 结构的描述参阅本手册的结构一章。

当连接到主网络时,无盘工作站和瘦客户端开箱即可工作。仅是有磁盘的工作站需要用 GOsa² 添加,但所有的都可以

要添加机器,请使用 GOsa² 主菜单,系统,添加。你可以从预配置地址空间 10.0.0.0/8 中使用一个 IP 地址/主机名。目前只有两个预定义固定地址:10.0.2.2 (tjener) 和 10.0.0.1(网关)。从 10.0.16.20 到 10.0.31.254(粗略的 10.0.16.0/20 即 4000 主机)地址为 DHCP 和动态分配保留。

要在 GOsa² 中分配具有 MAC 地址为 52:54:00:12:34:10 的一个静态 IP 地址你需要输入这个 MAC 地址,主机名和其 IP;抑或可以点击建议 ip 按钮将在 10.0.0.0/8 中显示第一个自由的固定地址,如果以这种方式添加第一台机器,最有可能的是 10.0.0.2。应最好考虑有关你的网络:例如你将为服务器而使用 x>10 和 x<50 的 10.0.0.x,而对于工作站 x>100。不要忽略激活已正确添加的系统。除主服务器之外所有系统将在那时有一个相关的图标。

如果机器引导作为瘦客户端/无盘工作站或已使用任何网络配置文件来安装,可以使用 sitesummary2ldapdhcp 脚本自动添加机器到 GOsa²。对于简单机器将开箱即可工作,对于实际有一个以上 mac 地址的机器使用被选择的一个,sitesummary2ldapdhcp -h 显示用法信息。请注意,sitesummary2ldapdhcp 处理后显示的 IP 地址属于动态 IP 范围。这些系统可以随后被修改适合你的网络:重命名每个新系统,激活 DHCP 和 DNS,以及如若需要的网络组,然后重新引导该系统。随后的屏幕快照显示在实际中所看到的是怎样的:

root@tjener:~# sitesummary2ldapdhcp -a -i ether-00:04:76:d3:28:b7 -t workstations
info: Create GOsa machine for auto-mac-00-04-76-d3-28-b7.intern [10.0.16.21] id ether-00:04:76:d3:28:b7.

Enter password if you want to activate these changes, and ^c to abort.

Connecting to LDAP as cn=admin,ou=ldap-access,dc=skole,dc=skolelinux,dc=no
enter password: 

GOsa² 系统列表

主机细目

修改主机

添加网络组

cronjob 更新 DNS 每小时运行一次; su -c ldap2bind 可用以手动触发更新。

7.5.1. 搜索和删除机器

搜索和删除机器与搜索和删除用户非常相似,因此这里不再重复信息。

7.5.2. 修改现有机器/网络组管理

使用 GOsa² 添加一台机器到 LDAP 树中之后,你可以修改其属性使用搜索功能并在计算机名称上点击 (与用户那样)。

这些系统的条目格式类似于一个你已经从修改用户条目所知道的,但在上下文间字段意味不同的事情。

例如,将机器添加到 NetGroup 不修改该机器或登录到该机器的用户的文件访问或命令执行权限;而是限制机器可以在主服务器上使用的服务。

默认安装提供网络组

  • cups-queue-autoflush-hosts

  • cups-queue-autoreenable-hosts

  • fsautoresize-hosts

  • ltsp-server-hosts

  • netblock-hosts

  • printer-hosts

  • server-hosts

  • shutdown-at-night-hosts

  • winstation-hosts

  • workstation-hosts

目前 NetGroup 功能是用在

  • NFS。

    • 主目录由主服务器导出被工作站和 LTSP 服务器挂载。由于安全原因,仅工作站主机,ltsp 服务器主机和服务器主机在内的主机网络组可以挂载导出的共享 NFS。那么记住在 LDAP 树中所配置这些正确的机器种类以及配置从 LDAP 里所使用的静态 IP 地址是相当重要的。

      /!\ 记着用 GOsa² 正确地配置工作站和 LTSP 服务器,否则你的用户将无法访问他们的主目录。无盘工作站和瘦客户端不使用 NFS,那么它们不需要被配置。

  • fs-autoresize

    • 这一组中的 Debian Edu 机器将自动调整运行空间不足的 LVM分 区大小。

  • 夜晚关机

    • 这一组的 Debian Edu 机器将在夜晚自动关闭以节省能源。

  • CUPS (cups-queue-autoflush-hosts 和 cups-queue-autoreenable-hosts)

    • 这些组当中的 Debian Edu 机器将每天晚上自动刷新所有打印队列,并且每小时重新启用任何禁用的打印队列。

  • netblock-hosts

    • 这组中的 Debian Edu 机器将只被允许连接到本地网络上的机器。结合 web 代理限制应被用在考试期间。

机器配置的另一个重要部分是“Samba 主机”标志(在“主机信息”区域)。如果你计划添加现有的 Windows 系统到 Skolelinux Samba 域,你需要添加 Windows 主机到 LDAP 树并设置能够连接该 Windows 主机到这一域的标志。有关添加 Windows 主机到 Skolelinux 网络的更多信息参看本手册的 HowTo/NetworkClients 一章。

8. 打印机管理

For Printer Management point your web browser to https://www:631 and accept the self-signed certificate. This is the normal CUPS management interface where you can add/delete/modify your printers and can clean up the printing queue. By default only root is allowed but this can be changed: Open /etc/cups/cups-files.conf with an editor and add one or more valid group names matching your site policy to the line containing SystemGroup lpadmin. Existing GOsa² groups that might be used are gosa-admins and printer-admins (both with the first user as member), teachers and jradmins (no members after installation).

9. 时钟同步

Debian Edu 中的默认配置为保持所有机器上的时钟同步,但时钟未必准确。NTP 用于更新时间。默认情况下,时钟将与外部源进行同步。如果在使用时创建,这会使机器保持外网连接打开。

/!\ 如果您使用拨号或 ISDN ,且按分钟付费,您可能想要改变该默认设定。

要禁用与外部时钟的同步,需要修改主服务器和所有客户端以及 LTSP chroot 上的 /etc/ntp.conf 文件。在 server 记录前添加注释 ("#") 标记。这之后,NTP 服务器需要以 root 运行 /etc/init.d/ntp restart 来重启。如果机器使用外部时钟源要测试,运行 ntpq -c lpeer

10. 扩展占满的分区

由于自动分区可能出现的错误,安装后某些分区可能太满了。要扩充这些分区,以 root 运行 debian-edu-fsautoresize -n。参看如何管理章节中如何“重新分划分区大小”的更多信息。

11. 维护

11.1. 更新软件

本节介绍如何使用 apt-get upgrade

使用 apt-get 其实很容易。要更新系统需要以 root 在命令行中执行两个命令:apt-get update(更新可用软件包列表)和 apt-get upgrade(对可以升级的软件包升级)。

As Debian Edu uses libpam-tmpdir, setting a per user TMP directory, it is a good idea to run apt-get without the TMP and TMPDIR variables set in the LTSP chroot. It is also a good idea to upgrade using the C locale to get known output and sorting order, even though that making a difference is a bug in a package.

LC_ALL=C apt-get update ; LC_ALL=C TMP= TMPDIR= ltsp-chroot apt-get update
LC_ALL=C apt-get upgrade -y
LC_ALL=C TMP= TMPDIR= ltsp-chroot -p apt-get upgrade -y
ltsp-update-kernels # If a new kernel was installed

/!\ 如果在 LTSP chroot 中安装了新内核,运行 ltsp-update-kernels 来保持内核与内核模块同步是重要的。当机器做 PXE 引导时内核通过 TFTP 分发,而内核模块来自 LTSP chroot。

/!\ 运行 ltsp-update-image 重新生成 NBD 映像。

安装 cron-aptapt-listchanges 并配置它们来发送邮件到你正在阅读的地址也是一个好主意。

cron-apt 每天通过电子邮件通知你有关可升级的任何软件包。它不安装这些升级,但下载它们(通常在夜间),那么当你执行 apt-get upgrade 时不必等待下载。

如果希望更新可以容易地自动安装,仅需要以 wiki.debian.org/UnattendedUpgrades 中的讲述来配置 unattended-upgrades 软件包。在新的安全更新安装中默认启用。

apt-listchanges 可以通过电子邮件给你发送新变更日志记录,或者当在终端中运行 aptitudeapt-get 时显示它们。

11.1.1. 保留你自己的安全更新相关信息

作为上文所述运行 cron-apt 是获知已安装软件包安全更新的一个好方法。另一个保留相关安全更新通知的方法是订阅 Debian 安全通告邮件列表,那也有益于告诉你有关的安全更新。其缺点(对照 cron-apt)是也包含未安装软件包的相关更新信息。

11.2. 备份管理

在浏览器指向 https://www/slbackup-php 是备份管理。请注意那需要通过 SSL 访问该站点,因为你需要在那里输入 root 密码。如果你尝试不使用 SSL 来访问这个站点将会失败。注意:如果你临时允许 root 在备份服务器(默认是主服务器 'tjener')上登录该站点将只工作。

默认情况下 tjener 将备份 /skole/tjener/home0/etc//root/.svk 和 LDAP 到 LVM 下的 /skole/backup。如果你仅想要有事物的备用复本(以防万一你删除它们)这个设置会很适合你。

/!\ 要意识到这一备份方案不能从失灵的硬盘保护你。

如果你想要备份你的数据到外部服务器,磁带设备或者另一个硬盘你将需要修改这个存在的配置一点点。

如果您想恢复整个文件夹,最佳选择是使用如下命令行:

$ sudo rdiff-backup -r <date>  \
   /skole/backup/tjener/skole/tjener/home0/user \
   /skole/tjener/home0/user_<date>

这将在 /skole/tjener/home0/user_<date> 文件夹中留下来自 /skole/tjener/home0/user 对于 <date> 的内容

如果您想恢复单个文件,您可以从网络界面上选择该文件(以及版本),并下载该文件。

如果要清除较旧的备份,在备份页面的菜单中选择“维护”并选择要保留的最早的快照:

slbackup-php 维护

11.3. 服务器监视

11.3.1. Munin

https://www/munin/ 可得到 Munin 趋势报告系统。它提供基于一天,星期,月和每年的系统监测曲线图,并且当系统管理员在查找瓶颈及系统问题根源时给以帮助。

使用 Munin 监控的机器列表,是根据报告到 sitesummary 的主机列表自动生成的。Munin 监控所有安装了 munin-node 软件包的主机。从安装机器直到 Munin 监控启动正常地要一天,因为执行 cron 排序的工作。要加速这个过程,以 root 在 sitesummary 服务器(正常是主服务器)上运行 sitesummary-update-munin。这将更新 /etc/munin/munin.conf 文件。

收集的一组测量数据是在使用 munin-node-configure 程序的每台机器上自动生成而那些探测器插件从 /usr/share/munin/plugins/ 可以得到并符号链接相关的那些到 /etc/munin/plugins/

Munin 的相关信息,可参见http://munin-monitoring.org/

11.3.2. Icinga

Icinga 系统和服务监控可从 https://www/icinga/ 得到。这组自动生成被监控机器和服务使用 sitesummary 系统汇集的信息。有主服务器和 LTSP 服务器配置的机器受到完全的监控,同时工作站和瘦客户端受到简单的监控。要在工作站上启用完全监控,在该工作站上安装 nagios-nrpe-server 软件包。

这个用户名是 icingaadmin 而其默认密码是 skolelinux。出于安全原因,避免使用与 root 相同的密码。可以作为 root 运行以下命令来变更密码:

htpasswd /etc/icinga/htpasswd.users icingaadmin

在默认情况下 Icinga 不发送电子邮件。这可以在 /etc/icinga/sitesummary-template-contacts.cfg 中用 host-notify-by-emailnotify-by-email 替换 notify-by-nothing 来改变。

Icinga 配置文件使用的是 /etc/icinga/sitesummary.cfg。sitesummary cron job 生成有主机和服务监控列表的 /var/lib/sitesummary/icinga-generated.cfg

额外的 Icinga 检查可以在 /var/lib/sitesummary/icinga-generated.cfg.post 文件中设置将其包含在生成的文件里。

有关 Icinga 的信息可以从 https://www.icinga.com/ 或者在 icinga-doc 软件包中获得。

11.3.2.1. 一般的 Icinga 通知以及如何处理它们

以下是如何处理最常见的 Icinga 警告的说明。

11.3.2.1.1. DISK CRITICAL - free space: /usr 309 MB (5% inode=47%):

该分区(示例中的 /usr/)太满。这一般有两个方法来处理:(1)移除一些文件或者(2)增加该分区的大小。如果该分区是 /var/,叫 apt-get clean 清理 APT 贮藏可以移除一些文件。如果在 LVM 卷组中有更多空间可以获得,运行 debian-edu-fsautoresize 程序可以帮助扩展该分区。要在每天自动运行这个程序,可以添加提及的主机到 fsautoresize-hosts 网络组。

11.3.2.1.2. APT CRITICAL: 13 packages available for upgrade (13 critical updates).

可以获得升级的新软件包。必要的一些正常安全修正。要升级,以 root 在终端或者通过 ssh 登录运行 'apt-get upgrade && apt-get dist-upgrade'。在 LTSP 服务器,也要记着使用 ltsp-chroot apt-get update &&ltsp-chroot apt-get upgrade 更新 LTSP chroot。

如果不想手工升级软件包并且信任 Debian 对于新版本所做的优秀工作,可以配置 unattended-upgrades 在每个夜晚自动升级所有新软件包。这将不会升级 LTSP chroot。

要升级 LTSP chroot,可以使用 ltsp-chroot apt-get update && ltsp-chroot apt-get upgrade。在 64 位服务器上,将需要添加 -a i386 作为一个参数到 ltsp-chroot。在升更新这一主系统时更新该 chroot 是个好主意。

11.3.2.1.3. WARNING - Reboot required : running kernel = 2.6.32-37.81.0, installed kernel = 2.6.32-38.83.0

运行中的内核比最新安装的内核旧,需要重启来激活最新安装的内核。这通常相当急迫,作为新内核通常显示在 Debian Edu 修正的安全发布中。

11.3.2.1.4. WARNING: CUPS queue size - 61

CUPS 中打印机队列有大量未处理任务。这最可能是因为打印机不可用。cups-queue-autoreenable-hosts 网络组成员的主机每小时启用已禁用的打印列队,所以对于这样的主机不需要手动操作。cups-queue-autoflush-hosts 网络组成员的主机每天夜间清空打印列队。如果一台主机在其列队中有大量任务,考虑添加该主机到这两个网络组或其中之一。

11.3.3. Sitesummary

Sitesummary 用于从每台计算机收集信息并将其提交给中央服务器。这一汇集的信息可从 /var/lib/sitesummary/entries/ 中获得。/usr/lib/sitesummary/ 中的脚本可以得到生成的报告。

一个来自 sitesummary 的没有任何细节的简单报告可以从 https://www/sitesummary/ 获得。

一些关于 sitesummary 的文档可从 http://wiki.debian.org/DebianEdu/HowTo/SiteSummary 获得

11.4. 更多有关 Debian Edu 定制的信息

更多有关 Debian Edu 定制的信息可以在如何管理章节高级管理如何做章节中找到

12. 升级

/!\ 在阅读这一升级指南前,请注意真实升级你的生产服务器完全承担你自己的风险。Debian Edu/Skolelinux 完全无担保,由适用法律许可范围。

在试图升级之前请完整阅读本手册的这一章和 Stretch 的新特性一章。

12.1. 升级的一般说明

升级 Debian 从一个发行版到下一个通常相当容易。遗憾的是对于 Debian Edu 还不能真正在方法上修改配置文件。(参阅 Debian bug 311188 的更多信息)。升级仍然是能够做到的但是可能依赖一些工作。

一般来说,升级服务器比工作站更加困难,主服务器是最难升级的。无盘机器是容易的,如果未修改过作为它们的 chroot 环境,可以删除并重建它。如果有,这个 chroot 基本上相当工作站 chroot,如此也相当容易升级。

If you want to be sure that after the upgrade everything works as before, you should test the upgrade on a test system or systems configured the same way as your production machines. There you can test the upgrade without risk and see if everything works as it should.

确定也要阅读 Debian 安装手册中有关其当前稳定发布版的信息。

保持运行旧的稳定版数周长而等待一段时间也是明智的,那样其他人可以测试升级并提供他们测验的任何问题的文档。Debian Edu 旧稳定版在接下来的稳定版发布之后会受到继续支持一段时间,但当 Debian 终止对旧稳定版的支持时,Debian Edu 必然会同样做。

12.2. 从 Debian Edu Jessie 升级

/!\ 准备:确保已在测试环境中测试了从 Jessie 升级或者准备好了可以恢复的备份。

Please note that the following recipe applies to a default Debian Edu main server installation (desktop=kde, profiles Main Server, Workstation, LTSP Server). (For a general overview concerning jessie to stretch upgrade, see: https://www.debian.org/releases/stretch/releasenotes)

不要使用 X,使用虚拟控制台,以 root 登录。

请注意在 Stretch 中 aptapt-get 之间的一个区别:默认下 apt-get 保留下载的软件包,apt 从仓库移除它们(在成功安装之后)。

如果 apt 有错误而结束,尝试修正和/或运行 apt -f install 然后再一次 apt -y full-upgrade

12.2.1. 升级主服务器

  • 首先确保当前系统是最新的:

apt update
apt full-upgrade
  • 清理软件包仓库:

apt-get clean
  • 准备并开始升级到 Stretch:

# First, adjust for a changed profile name:
sed -i 's/Thin-Client-Server/LTSP-Server/' /etc/debian-edu/config
# Then it's best to use the new default mirror:
sed -i 's/http.debian.net/deb.debian.org/g' /etc/apt/sources.list
# Finally, replace jessie with stretch.
sed -i 's/jessie/stretch/g' /etc/apt/sources.list
apt update
apt full-upgrade
  • apt-list-changes:准备好阅读大量的消息;按 < 返回 > 向下滚动,<q> 离开这一页面。

  • 认真地阅读所有 debconf 信息,选择 ‘keep your currently-installed version’ 除非在下面有不同的规定;大多数情况点回车就好了。

  • 你将看到有关包配置的一些提示:

    • icinga-cgi: 提供 icingaadmin 的密码 (与用于 nagiosadmin 的相同)。

    • Just in case several display managers are installed: display-manager: Choose lightdm.

    • 配置 Kerberos 身份验证:输入 Kerberos 作为主机名。

    • 配置 icing-common:在 Icinga 中使用外部命令:选择 <Yes>。

    • tftp (etc/inetd.conf):选择 <Yes>。(参看 atftpd bug 789667

    • /etc/default/ldap2zone:选择 Y。

    • /etc/gosa/gosa.conf: Choose N. (Never accept a new gosa.conf version!)

  • Cope with the Squid3 to Squid renaming:

service squid stop          # This usually takes some time!
rm -rf /var/spool/squid
umount /var/spool/squid3
sed -i 's#spool/squid3#spool/squid#' /etc/fstab
mv /var/spool/squid3 /var/spool/squid
mount -a
rm /etc/squid3 -rf
rm /etc/default/squid3 -rf
  • Modify LDAP to use the fully qualified domain name (FQDN) for sudo:

ldapvi -ZD '(cn=admin)'
(Enter root password.)
Search for 'sudoHost :tjener', replace 'tjener' with 'tjener.intern'
(Enter 'y' to modify the LDAP data base.)
  • 应用和调整配置:

service autofs stop
cfengine-debian-edu -D installation
rm /etc/apache2/conf-enabled/nagios3.conf
a2dismod userdir
ln -s /etc/apache2/mods-available/userdir.load /etc/apache2/mods-available/debian-edu-userdir.load
a2enmod debian-edu-userdir
sed -i 's/udp4/udp/' /etc/inetd.conf   # Debian Bug #789667 (atftpd)
service squid start
service apache2 restart
  • 安装重命名的 metapackages:

apt update
apt install education-networked-common
apt install education-ltsp-server      # Only if profile 'LTSP-Server' is installed.
  • 获得新的 Debian Edu Stretch 插图:

apt install debian-edu-artwork-softwaves
  • If the upgraded system fails to boot on qemu/kvm, see 844446. Changing the architecture away from Broadwell in QEMU might help.

  • 重新启动后,再进行一些清理:

apt purge linux-image-3.16.0-4-amd64 
apt purge debian-edu-artwork-lines     # Only if not wanted as an alternative theme.
dpkg -P php5-imagick                   # Package might not be installed in all cases.
rm -rf /etc/php5
  • Enable otherwise broken PHP 7.0 support:

a2enmod php7.0                            
service apache2 restart
  • 检查升级系统是否正常工作:

重启;以首个用户登录并测试

  • 如果 GOsa² 图形用户界面正在工作,

  • 如果能够连接 LTSP 客户端和工作站,

  • 如果可以添加/删除系统的网络组成员资格,

  • 如果可以发送和接收内部电子邮件,

  • 如果可以管理打印机,

  • 如果其他网站特定的事正在工作。

12.2.2. 升级工作站

Do all the basic things like on the main-server and without doing the things not needed. And then do this in addition.

  • 要启用 LDAP 连接,更新服务器证书:

rm /etc/ldap/ssl/ldap-server-pubkey.pem
service nslcd stop
service fetch-ldap-cert restart
service nslcd start

12.2.3. 升级 LTSP chroot(默认架构 i386)

确保有充足的磁盘空间。LTSP 现在使用网络块设备(NBD)。NBD 镜像文件大小大约是 4 GiB(默认安装)。如果更新该镜像,需要为临时文件再多一个 4 GiB。

ltsp-chroot -m -a i386 apt update
ltsp-chroot -m -a i386 apt -y full-upgrade
sed -i 's/jessie/stretch/g' /opt/ltsp/i386/etc/apt/sources.list
ltsp-chroot -m -a i386 apt update
ltsp-chroot -m -a i386 apt -y full-upgrade
ltsp-chroot -m -a i386 apt -f install
ltsp-chroot -m -a i386 apt -y full-upgrade
  • 清理:

ltsp-chroot -m -a i386 apt --purge autoremove
  • 在服务器端更新 LTSP 支持:

ltsp-update-kernels
ltsp-update-sshkeys
ltsp-update-image

为节省磁盘空间,可改为使用 ltsp-update-image -n;参阅 man ltsp-update-image

12.2.4. 重建 LTSP chroot

在 LTSP 服务器上还可以重新创建 LTSP chroot。新的 chroot 仍将支持瘦客户端和无盘工作站二者。

移除 /opt/ltsp/i386(或 /opt/ltsp/amd64,取决于你的设置)。如果有充裕的磁盘空间,考虑备份它。

以 root 运行 debian-edu-ltsp --arch i386(或 debian-edu-ltsp --arch amd64)重新创建 chroot。

12.3. 从较旧的 Debian Edu / Skolelinux 安装(Jessie 之前)升级

要从任何旧版本升级,需要首先升级到基于 Jessie 的 Debian Edu 版本,然后才能按照上述说明进行操作。在 Debian Edu Jessie 手册中给出了有关如何从先前的发布版,Wheezy 升级到 Jessie 的说明。同样 Wheezy 手册叙述了如何从 Squeeze 升级。

13. HowTo

14. 一般管理 HowTo

起步维护章节讲述 Debian Edu 如何开始以及如何做基本的维护工作。在这一章的叙述中有更多“进一步”的提示和技巧。

14.1. 配置的历史:使用 git 版本控制系统跟踪 /etc/

在 Debian Edu Squeeze 中引进的 etckeeper(以前版本使用的 etcinsvk 已从 Debian 中移除),使用 git 作为版本控制系统跟踪 /etc/ 中的所有文件。

这可以查看文件何时添加,更改和删除,以及文件如果是文本文件时发生的改变。这个 git 存储信息的仓库是在 /etc/.git/ 中。

每个小时,任何更改都会自动记录,从而允许提取和审核配置历史记录。

在该历史中查看,使用 etckeeper vcs log 命令。检查两个时间点之间的差异,可以使用如 etckeeper vcs diff 的命令。

更多的信息参看 man etckeeper 的输出。

常用命令列表:

etckeeper vcs log
etckeeper vcs status
etckeeper vcs diff
etckeeper vcs add .
etckeeper vcs commit -a
man etckeeper

14.1.1. 用法示例

在新安装的系统上,尝试从系统安装后看到所做的所有更改:

etckeeper vcs log

查看目前哪些文件没有被跟踪而哪些文件不是最新的:

etckeeper vcs status

因为不想等待一小时,而要手工提交文件:

etckeeper vcs commit -a /etc/resolv.conf

14.2. 调整分区大小

在 Debian Edu 中,除了 /boot/ 分区之外的所有分区是在逻辑 LVM 卷上。从 Linux 内核 2.6.10 以来,可以在它们被挂载时扩展分区。缩减分区仍然需要在该分区被卸载时发生。

避免创建非常大的分区(如,20GiB),因为在其上运行 fsck 或者当需要从备份恢复它们时需要时间。最好,如果可能,创建比一个很大分区较小的若干分区。

提供了助理脚本 debian-edu-fsautoresize 使其更易于扩展占满的分区。当应用时,它从 /usr/share/debian-edu-config/fsautoresizetab/site/etc/fsautoresizetab/etc/fsautoresizetab 得到配置信息。它依照这些文件中提供的值,在出现太小的自由空间时建议扩展分区。当不用参数运行它时,将仅显示该命令需要扩展这个文件系统。需要参数 -n 来实际执行这些命令扩展这个文件系统。

这个脚本每小时在列于 fsautoresize-hosts 网络组中的每个客户端被自动执行。

当调整 Squid 代理所使用的分区大小时,还需要更新 etc/squid/squid.conf 中缓存大小的值。提供的这个助理脚本 /usr/share/debian-edu-config/tools/squid-update-cachedir 自动去做,检查当前分区 /var/spool/squid/ 的大小并配置 Squid 使用其 80% 作为它的缓存大小。

14.2.1. 逻辑卷管理

逻辑卷管理 (LVM) 能够使被挂载并在使用的分区重分划大小。可以从 LVM HowTo 中学到更多有关 LVM。

简单地指令 lvextend 命令需要增加多大来手动扩展一个逻辑卷。例如,使用下述命令来扩展 home0 到 30GiB:

lvextend -L30G /dev/vg_system/skole+tjener+home0
resize2fs /dev/vg_system/skole+tjener+home0

通过附加 30GiB 来扩展 home0,插入一个“+”(-L+30G)

14.3. 在主服务器上安装图形环境来使用 GOsa²

如果(大概意外地)安装了一个纯主服务器 profile 而没有一个便于使用的 web 浏览器的客户端,作为这一主服务器安装时创建的用户(第一个用户)在(非图形)shell 中使用这个命令序列在该主服务器上安装一个最小桌面是容易的:

  $ sudo apt-get update
  $ sudo apt-get install gnome-session gnome-terminal firefox-esr xorg
  # after installation, start a graphical session for the first user 
  $ startx

14.4. 使用 ldapvi

ldapvi 是一个在命令行中以常规文本编辑器编辑 LDAP 数据库的工具。

下面需要执行:

ldapvi --ldap-conf -ZD '(cn=admin)'

注意:ldapvi 会使用任何默认编辑器。在 shell 中执行 export EDITOR=vim 使之可以配置成仿 vi 作为编辑器的环境。

用 ldapvi 添加 LDAP 对象,使用带有字符串的对象序列号在新的 LDAP 对象的前面。

/!\ 提醒:ldapvi 是一个强有力的工具。当心而不弄乱 LDAP 数据库,同样的提醒适用于 JXplorer。

14.5. JXplorer,一个 LDAP 图形用户界面

如果希望使用图形用户界面来处理 LDAP 数据库,查看 jxplorer 软件包,默认情况下已安装。要获得写访问连接像这样:

host: ldap.intern
port:636
Base dn:dc=skole,dc=skolelinux,dc=no 
Security level: ssl + user + password
User dn: cn=admin,ou=ldap-access

当询问证书时点击 "This session only"。

14.6. ldap-createuser-krb,一个命令行工具

ldap-createuser-krb 是一个在 Kerberos 里创建 LDAP 用户和设置其密码的小命令行工具。虽然,几乎是用于测试。

14.7. 使用 stable-updates

自 2011 年 Squeeze 发布以来,Debian 已经在 stable-updates 套件里包含了以前在 volatile.debian.org 中维护的软件包。

While you can use stable-updates directly, you don't have to: stable-updates are pushed into the stable suite regularly when stable point releases are done, which roughly happens every two months.

14.8. 使用 backports 安装较新的软件

运行 Debian Edu 是选择了它的稳定。Debian Edu 运行得令人满意;这正是一个难题:有时候你喜欢的软件有一点儿过时。这里介入了 backports.debian.org。

Backports 是从 Debian 测试版(大部分)和 Debian 不稳定版(仅在几个事例中,例如安全更新)重新编译的软件包,那么它们在如 Debian Edu 的稳定 Debian 发布版上将不以新的库文件运行(各个是可以的)。我们建议选出适合自己需要的个别 backports,而不要使用在这里可用的所有 backports。

使用 backports 是简单的:

echo "deb http://deb.debian.org/debian/ stretch-backports main" >> /etc/apt/sources.list
apt-get update

其后可以容易地安装那一个 backported 软件包,下面的命令将安装 backported 版本的 tuxtype

apt-get install -t stretch-backports tuxtype

就像其他软件包一样自动更新 backports (如果可用)。像常规的软件库,backports 有三个部分:main,contrib 和 non-free。

14.9. 用 CD 或类似的映像升级

如果要从一个版本升级到另一个版本(例如从 Stretch 9.1 + edu0 到 9.3 + edu1),但没有互联网连接,则只能使用物理介质,请执行以下步骤:

插入 CD / DVD / 蓝光光盘 / USB 闪存驱动器,将其挂载并使用 apt-cdrom 命令:

mount /media/cdrom
apt-cdrom add -m

引用 apt-cdrom(8)手册页:

  • apt-cdrom 用于添加新的 CD-ROM 到 APT 可用源列表。apt-cdrom 负责测定盘片的结构而且校正一些可能存在的刻录错误并核对索引文件。

  • 必须用 apt-cdrom 将光盘添加到 APT 系统,而不能以手工完成。并且一套多光盘中的每一片必须分别插入并检查以指出可能存在的刻录错误。

然后运行这两个命令来升级系统:

apt-get update
apt-get upgrade

14.10. 自动清理剩余的进程

killer is a perl script that gets rid of background jobs. Background jobs are defined as processes that belong to users who are not currently logged into the machine. It's run by cron job once an hour.

要安装它,以 root 身份运行以下命令:

 apt-get install killer

14.11. 安全升级的自动安装

unattended-upgrades 是会自动安装安全(和其他)升级的 Debian 软件包。这个软件包是默认安装并预配置来安装安全升级。在 /var/log/unattended-upgrades/ 里提供其日志;而且,那里一贯是 /var/log/dpkg.log/var/log/apt/

14.12. 夜间自动关机

能够通过自动在晚间关闭客户机器而在早晨恢复来节约能量和金钱。这个软件包从下午 16:00 每小时的整点会试图关闭机器,但不会关闭似乎有用户的。在早晨 7:00 左右会尝试告诉 BIOS 打开机器,而主服务器会尝试从 06:30 由发送局域网数据包来打开机器。这些时间可以在单独机器的时间计划中被改变。

当在设置这个时应当记住的一些因素:

  • 当有人在使用客户端的时候其不应被关闭。这由检查输出来自来确保,而作为特殊的情况,对同 LTSP 瘦客户端工作的 LDM ssh 连接命令进行检查。

  • 为了避免使保险丝熔断,最好确保所有的客户机不要同时启动。

  • There are two different methods available to wake up clients. One uses a BIOS feature and requires a working and correct hardware clock, as well as a motherboard and BIOS version supported by nvram-wakeup; the other requires clients to have support for wake-on-lan, and the server to know about all the clients that need to be woken up.

14.12.1. 如何设置夜间关机

On clients that should turn off at night, touch /etc/shutdown-at-night/shutdown-at-night, or add the hostname (that is, the output from 'uname -n' on the client) to the netgroup "shutdown-at-night-hosts". Adding hosts to the netgroup in LDAP can be done using the GOsa² web tool. The clients might need to have wake-on-lan configured in the BIOS. It is also important that the switches and routers used between the wake-on-lan server and the clients will pass the WOL packets to the clients even if the clients are turned off. Some switches fail to pass on packets to clients that are missing in the ARP table on the switch, and this blocks the WOL packets.

启用服务器上的 wake-on-lan,添加客户端到 /etc/shutdown-at-night/clients,每一行一个,第一个是 IP 地址,随后是 MAC 地址(网卡地址),分隔以空格;或者创建一个即时生成客户端列表的脚本 /etc/shutdown-at-night/clients-generator

这个 /etc/shutdown-at-night/clients-generator 是与 sitesummary 一同使用的示例:

  #!/bin/sh
  PATH=/usr/sbin:$PATH
  export PATH
  sitesummary-nodes -w

如果用 netgroup 来激活客户端 shutdown-at-night 的另一种选择是这一脚本使用来自 ng-utils 软件包的 netgroup 工具:

  #!/bin/sh
  PATH=/usr/sbin:$PATH
  export PATH
  netgroup -h shutdown-at-night-hosts

14.13. 访问处于防火墙背后的 Debian-Edu 服务器

要从互联网上访问防火墙背后的机器,考虑安装 autossh 软件包。它可以用来建立一个 SSH 隧道到一台你可以访问到的互联网上的机器。从该机器,可以通过 SSH 隧道访问防火墙背后的服务器。

14.14. 为从主服务器分散负载而安装额外的服务机器

在默认安装中,所有服务是在主服务器 tjener 上运行。为简化移动某服务到另一机器,可以用到 minimal 安装配置。以这一配置安装会让一台机器是 Debian Edu 网络的一部分,但(还)未运行任何服务。

设置一台专用于某些服务的机器所需要的步骤:

  • 使用 debian-edu-expert 引导选项安装 minimal 配置

  • 安装用于服务的软件包

  • 配置服务

  • 禁用主服务器上的服务

  • 在主服务器上更新 DNS(通过 LDAP/GOsa²)

14.15. 源自 wiki.debian.org 的 HowTo 文档

FIXME: The HowTos from http://wiki.debian.org/DebianEdu/HowTo/ are either user- or developer-specific. Let's move the user-specific HowTos over here (and delete them over there)! (But first ask the authors (see the history of those pages to find them) if they are fine with moving the howto and putting it under the GPL.)

15. 如何进行高级管理

In this chapter advanced administration tasks are described.

15.1. User Customisations with GOsa²

15.1.1. Create Users in Year Groups

In this example we want to create users in year groups, with common home directories for each group (home0/2014, home0/2015, etc). We want to create the users by csv import.

(作为在主服务器上的 root 用户

  • Make the necessary year group directories

mkdir /skole/tjener/home0/2014

(as superuser in Gosa)

  • Department

Main menu: goto 'Directory structure', click the 'Students' department. The 'Base' field should show '/Students'. From the drop box 'Actions' choose 'Create'/'Department'. Fill in values for Name (2014) and Description fields (students graduating in 2014), leave the Base field as is (should be '/Students'). Save it clicking 'Ok'. Now the new department (2014) should show up below /Students. Click it.

  • Group

Choose 'Groups' from the main menu; 'Actions'/Create/Group. Enter group name (leave 'Base' as is, should be /Students/2014) and click the check box left of 'Samba group'. 'Ok' to save it.

  • Template

Choose 'users' from the main menu. Change to 'Students' in the Base field. An Entry NewStudent should show up, click it. This is the 'students' template, not a real user. As you'll have to create such a template (to be able to use csv import for your structure) based on this one, notice all entries showing up in the Generic, POSIX and Samba tabs, maybe take screenshots to have information ready for the new template.

Now change to /Students/2014 in the Base field; choose Create/Template and start to fill in your desired values, first the Generic tab (add your new 2014 group under Group Membership, too), then add POSIX and Samba account.

  • Import users

Choose your new template when doing csv import; testing it with a few users is recommended.

15.2. Other User Customisations

15.2.1. Creating folders in the home directories of all users

With this script the administrator can create a folder in each user's home directory and set access permissions and ownership.

In the example shown below with group=teachers and permissions=2770 a user can hand in an assignment by saving the file to the folder "assignments" where teachers are given write access to be able to make comments.

 #!/bin/bash
 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 have been created"

15.2.2. Easy access to USB drives and CD-ROMs/DVDs

When users insert a USB drive or a DVD / CD-ROM into a (diskless) workstation, a popup window appears asking what to do with it, just like in any other normal installation.

When users insert a USB drive or a DVD / CD-ROM into a thin client there is only a notify-window showing up for a few seconds. The media is automatically mounted and it is possible to access it browsing to the /media/$user folder. This is quite difficult for many non experienced users.

It is possible to have the default KDE "Plasma" file manager Dolphin showing up if KDE "Plasma" (or LDXE, if installed in parallel to KDE "Plasma") is in use as desktop environment. To configure this, simply execute /usr/share/debian-edu-config/ltspfs-mounter-kde enable on the terminal server. (When using GNOME, device icons will be placed on the desktop allowing easy access).

In addition the following script could be used to create the symlink "media" for all users in their home folder for easy access to USB drives, CD-ROM / DVD or whatever media is connected to the thin client. This might come in handy if users want to edit files directly on their plugged in media.

 #!/bin/bash
 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"
15.2.2.1. A warning about removable media on LTSP servers

/!\ Warning: When inserted into an LTSP server USB drives and other removable media cause popup messages on remote LTSP clients.

If remote users acknowledge the popup or use pmount from the console, they can even mount the removable devices and access the files.

15.3. Use a dedicated storage server

Take these steps to set up a dedicated storage server for user home directories and possibly other data.

  • Add a new system of type server using GOsa² as outlined in the Getting started chapter of this manual.

    • This example uses 'nas-server.intern' as the server name. Once 'nas-server.intern' is configured, check if the NFS export points on the new storage server are exported to the relevant subnets or machines:

          root@tjener:~# showmount -e nas-server
          Export list for nas-server:
          /storage         10.0.0.0/8
          root@tjener:~#

      Here everything on the backbone network is granted access to the /storage export. (This could be restricted to netgroup membership or single IP addresses to limit NFS access like it is done in the tjener:/etc/exports file.)

  • Add automount information about 'nas-server.intern' in LDAP to allow all clients to automatically mount the new export on request.

    • This can't be done using GOsa², because a module for automount is missing. Instead, use ldapvi and add the required LDAP objects using an editor.

      ldapvi --ldap-conf -ZD '(cn=admin)' -b ou=automount,dc=skole,dc=skolelinux,dc=no

      When the editor shows up, add the following LDAP objects at the bottom of the document. (The "/&" part in the last LDAP object is a wild card matching everything 'nas-server.intern' exports, removing the need to list individual mount points in LDAP.)

          add cn=nas-server,ou=auto.skole,ou=automount,dc=skole,dc=skolelinux,dc=no
          objectClass: automount
          cn: nas-server
          automountInformation: -fstype=autofs --timeout=60 ldap:ou=auto.nas-server,ou=automount,dc=skole,dc=skolelinux,dc=no
      
          add ou=auto.nas-server,ou=automount,dc=skole,dc=skolelinux,dc=no
          objectClass: top
          objectClass: automountMap
          ou: auto.nas-server
      
          add cn=/,ou=auto.nas-server,ou=automount,dc=skole,dc=skolelinux,dc=no
          objectClass: automount
          cn: /
          automountInformation: -fstype=nfs,tcp,rsize=32768,wsize=32768,rw,intr,hard,nodev,nosuid,noatime nas-server.intern:/&
  • Add the relevant entries in tjener.intern:/etc/fstab, because tjener.intern does not use automount to avoid mounting loops:

    • Create the mount point directories using mkdir, edit '/etc/fstab' as adequate and run mount -a to mount the new resources.

  • Enable access in case diskless workstations are used. This is a special case, because sshfs is used instead of NFS and automount:

    • Create the mount point directories in the LTSP diskless client's root (default /opt/ltsp/i386/) as well.

      Add a line containing 'LOCAL_APPS_EXTRAMOUNTS=/storage' to /opt/ltsp/i386/etc/lts.conf (example).

      Create a link in each user's home dir like 'ln -s /storage Storage' to help users find the resources.

Now users should be able to access the files on 'nas-server.intern' directly by just visiting the '/tjener/nas-server/storage/' directory using any application on any workstation, LTSP thin client or LTSP server, and visiting ~/Storage in case an LTSP diskless client is used.

15.4. Restrict ssh login access

一些限制 ssh 登录的方法,在这里列出一些。

15.4.1. 无 LTSP 客户端的设置

If no LTSP clients are used a simple solution is to create a new group (say sshusers) and to add a line to the machine's /etc/ssh/sshd_config file. Only members of the sshusers group will then be allowed to ssh into the machine from everywhere.

Managing this case with GOsa is quite simple:

  • Create a group sshusers on the base level (where already other system management related groups like gosa-admins show up).

  • 添加用户到新组 sshusers

  • 添加 AllowGroups sshusers 到 /etc/ssh/sshd_config。

  • 执行 service ssh restart

15.4.2. 有 LTSP 客户端的设置

默认的 LTSP 客户机设置使用 ssh 连接到 LTSP 服务器。那么需要使用 PAM 的不同方法。

  • 在 LTSP 服务器的 /etc/pam.d/sshd 文件中开启 pam_access.so。

  • Configure /etc/security/access.conf to allow connections for (sample) users alice, jane, bob and john from everywhere and for all other users only from the internal networks by adding these lines:

+ : alice jane bob john : ALL
+ : ALL : 10.0.0.0/8 192.168.0.0/24 192.168.1.0/24
- : ALL : ALL
#

If only dedicated LTSP servers are used, the 10.0.0.0/8 network could be dropped to disable internal ssh login access. Note: someone connecting his box to the dedicated LTSP client network(s) will gain ssh access to the LTSP server(s) as well.

15.4.3. A note for more complex setups

If LTSP clients were attached to the backbone network 10.0.0.0/8 (combi server or LTSP cluster setup) things would be even more complicated and maybe only a sophisticated DHCP setup (in LDAP) checking the vendor-class-identifier together with appropriate PAM configuration would allow to disable internal ssh login.

16. 桌面 HowTo

16.1. Using KDE Plasma, GNOME, LXDE, Xfce and/or MATE together

To install other desktop environments after installation, simply use apt:

 apt update
 apt install education-desktop-gnome education-desktop-lxde education-desktop-xfce education-desktop-mate

Users will then be able to choose any of the five desktop environment via the login manager before logging in. Of course, you can also choose to give less choices. Keep in mind that there will be several programs for the same purpose (like file managers, editors, PDF viewers...) if more than one desktop environment is installed; this might confuse users.

The use of LXDE as default on thin clients can be forced; see networked clients for details.

If you don't want to do installations with the default desktop KDE Plasma, you can also install with one of the four alternative desktops, GNOME, LXDE, Xfce or MATE directly.

16.2. Flash

The free software flash-player gnash is installed by default. Please note that Firefox ESR will drop Flash support early 2018.

16.3. Playing DVDs

libdvdcss is needed for playing most commercial DVDs. For legal reasons it's not included in Debian (Edu). If you are legally allowed to use it, you can build your own local packages using the libdvd-pkg Debian package; make sure contrib is enabled in /etc/apt/sources.list.

apt update
apt install libdvd-pkg

回答 debconf 的提问,然后运行 dpkg-reconfigure libdvd-pkg

16.4. Handwriting fonts

The package fonts-linex (which is installed by default) installs the font "Abecedario" which is a nice handwriting font for kids. The font has several forms to be used with kids: dotted, and with lines.

17. HowTos for networked clients

17.1. Introduction to thin clients and diskless workstations

One generic term for both thin clients and diskless workstations is LTSP client. LTSP is the Linux Terminal Server Project.

Thin client

A thin client setup enables an ordinary PC to function as an (X-)terminal, where all software runs on the LTSP server. This means that this machine boots from a diskette or directly from the server using network-PROM (or PXE) without using a local client hard drive.

Diskless workstation

A diskless workstation runs all software locally. The client machines boot directly from the LTSP server without a local hard drive. Software is administered and maintained on the LTSP server (inside of the LTSP chroot), but it runs on the diskless workstation. Home directories and system settings are stored on the server too. Diskless workstations are an excellent way of reusing older (but powerful) hardware with the same low maintenance cost as with thin clients.

LTSP defines 320MB as the default minimum amount of RAM for diskless workstations. If the amount of RAM is less, the machine will boot as thin client. The related LTSP parameter is FAT_RAM_THRESHOLD with the default value 300. So if (for example) the clients should only boot as diskless workstations if they have 1 GB RAM, add FAT_RAM_THRESHOLD=1000 to lts.conf (or set this in LDAP). Unlike workstations diskless workstations run without any need to add them with GOsa², because LDM is used to login and connect to the LTSP server.

LTSP client firmware

LTSP client boot will fail if the client's network interface requires a non-free firmware. A PXE installation can be used for troubleshooting problems with netbooting a machine; if the Debian Installer complains about a missing XXX.bin file then non-free firmware has to be added to the initrd used by LTSP clients.

In this case execute the following commands on an LTSP server.

# First get information about firmware packages
apt-get update && apt-cache search ^firmware-

# Decide which package has to be installed for the network interface(s). 
# Most probably this will be firmware-linux-nonfree.
# Things have to take effect in the LTSP chroot for architecture i386.
ltsp-chroot -a i386 apt-get update
ltsp-chroot -d -a i386 apt-get -y -q install <package name>

# copy the new initrd to the server's tftpboot directory and update the NBD image.
ltsp-update-kernels
ltsp-update-image

As a shorter alternative -- installing all available firmware and updating the tftpboot directory -- you could execute:

/usr/share/debian-edu-config/tools/ltsp-addfirmware

17.1.1. LTSP client type selection

Each LTSP server has two ethernet interfaces: one configured in the main 10.0.0.0/8 subnet (which is shared with the main server), and another forming a local 192.168.0.0/24 subnet (a separate subnet for each LTSP server).

On the main subnet the complete PXE menu is provided; the separate subnet for each LTSP server allows only diskless and thin LTSP client selection.

Using the default PXE menu on the main subnet 10.0.0.0/8, a machine could be started as diskless workstation or thin client. By default clients in the separate subnet 192.168.0.0/24 will run as diskless workstations if the amount of RAM is sufficient. If all clients in this LTSP client subnet should run as thin clients, the following has to be done.

(1)Open the file /opt/ltsp/i386/etc/ltsp/update-kernels.conf with an editor
and replace the line
CMDLINE_LINUX_DEFAULT="init=/sbin/init-ltsp quiet"
with
CMDLINE_LINUX_DEFAULT="init=/sbin/init-ltsp LTSP_FATCLIENT=False quiet"
(2)Execute 'ltsp-chroot -a i386 /usr/share/ltsp/update-kernels'
(3)Execute 'ltsp-update-kernels'
(4)Execute 'ltsp-update-image'

17.2. Configuring the PXE menu

The PXE configuration is generated using the script debian-edu-pxeinstall. It allows some settings to be overridden by adding a file /etc/debian-edu/pxeinstall.conf with replacement values.

17.2.1. Configuring the PXE installation

The PXE installation option is by default available to anyone able to PXE boot a machine. To password protect the PXE installation options, a file /var/lib/tftpboot/menupassword.cfg can be created with content similar to this:

MENU PASSWD $4$NDk0OTUzNTQ1NTQ5$7d6KvAlVCJKRKcijtVSPfveuWPM$

The password hash should be replaced with an MD5 hash for the desired password.

The PXE installation will inherit the language, keyboard layout and mirror settings from the settings used when installing the main-server, and the other questions will be asked during installation (profile, popcon participation, partitioning and root password). To avoid these questions, the file /etc/debian-edu/www/debian-edu-install.dat can be modified to provide preselected answers to debconf values. Some examples of available debconf values are already commented in /etc/debian-edu/www/debian-edu-install.dat. Your changes will be lost as soon as debian-edu-pxeinstall is used to recreate the PXE-installation environment. To append debconf values to /etc/debian-edu/www/debian-edu-install.dat during recreation with debian-edu-pxeinstall, add the file /etc/debian-edu/www/debian-edu-install.dat.local with your additional debconf values.

More information about modifying PXE installations can be found in the Installation chapter.

17.2.2. Adding a custom repository for PXE installations

For adding a custom repository add something like this to /etc/debian-edu/www/debian-edu-install.dat.local:

#add the skole projects local repository
d-i     apt-setup/local1/repository string      http://example.org/debian stable main contrib non-free
d-i     apt-setup/local1/comment string         Example Software Repository
d-i     apt-setup/local1/source boolean         true
d-i     apt-setup/local1/key    string          http://example.org/key.asc

and then run /usr/sbin/debian-edu-pxeinstall once.

17.2.3. Changing the PXE menu on a combined (main and LTSP) server

The PXE menu allows network booting of LTSP clients, the installer and other alternatives. The file /var/lib/tftpboot/pxelinux.cfg/default is used by default if no other file in that directory matches the client, and out of the box it is set to link to /var/lib/tftpboot/debian-edu/default-menu.cfg.

If all clients should boot as diskless workstations instead of getting the full PXE menu, this can be implemented by changing the symlink:

ln -s /var/lib/tftpboot/debian-edu/default-diskless.cfg /var/lib/tftpboot/pxelinux.cfg/default

If all clients should boot as thin clients instead, change the symlink like this:

ln -s /var/lib/tftpboot/debian-edu/default-thin.cfg /var/lib/tftpboot/pxelinux.cfg/default

See also the PXELINUX documentation at http://syslinux.zytor.com/wiki/index.php/PXELINUX .

17.2.4. Separate main and LTSP server

For performance and security considerations it might be desired to set up a separate main server which doesn't act as LTSP server.

To have ltspserver00 serve diskless workstations on the main (10.0.0.0/8) network, when the main server is not a combined server, follow these steps:

  • copy the ltsp directory from /var/lib/tftpboot on ltspserver00 to the same directory on the main server.

  • copy /var/lib/tftpboot/debian-edu/default-diskless.cfg to the same directory on the main server.

  • edit /var/lib/tftpboot/debian-edu/default-diskless.cfg to use the IP address of ltspserver00; the following example uses 10.0.2.10 for the IP address of ltspserver00 on the main network:

 DEFAULT ltsp/i386/vmlinuz initrd=ltsp/i386/initrd.img nfsroot=10.0.2.10:/opt/ltsp/i386 init=/sbin/init-ltsp boot=nfs ro quiet ipappend 2
  • set the symlink in /var/lib/tftpboot/pxelinux.cfg on the main server to point to /var/lib/tftpboot/debian-edu/default-diskless.cfg.

As an alternative, you could use ldapvi, search for 'next server tjener' and replace tjener with ltspserver00.

17.2.5. Use a different LTSP client network

192.168.0.0/24 is the default LTSP client network if a machine is installed using the LTSP profile. If lots of LTSP clients are used or if different LTSP servers should serve both i386 and amd64 chroot environments the second preconfigured network 192.168.1.0/24 could be used as well. Edit the file /etc/network/interfaces and adjust the eth1 settings accordingly. Use ldapvi or any other LDAP editor to inspect DNS and DHCP configuration.

17.3. Changing network settings

The debian-edu-config package comes with a tool which helps in changing the network from 10.0.0.0/8 to something else. Have a look at /usr/share/debian-edu-config/tools/subnet-change. It is intended for use just after installation on the main server, to update LDAP and other files that need to be edited to change the subnet.

/!\ Note that changing to one of the subnets already used elsewhere in Debian Edu will not work. 192.168.0.0/24 and 192.168.1.0/24 are already set up as LTSP client networks. Changing to these subnets will require manual editing of configuration files to remove duplicate entries.

There is no easy way to change the DNS domain name. Changing it would require changes to both the LDAP structure and several files in the main server file system. There is also no easy way to change the host and DNS name of the main server (tjener.intern). To do so would also require changes to LDAP and files in the main-server and client file system. In both cases the Kerberos setup would have to be changed, too.

17.4. LTSP in detail

17.4.1. LTSP client configuration in LDAP (and lts.conf)

To configure specific thin clients with particular features, you can add settings in LDAP or edit the file /opt/ltsp/i386/etc/lts.conf. Please note that ltsp-update-image has to be run after each change to lts.conf. The image update isn't needed if lts.conf is copied to the /var/lib/tftpboot/ltsp/i386/ directory.

/!\ We recommend to configure clients in LDAP (and not edit lts.conf directly, however, configuration webforms for LTSP are currently not available in GOsa², you have to use a plain LDAP browser/explorer or ldapvi), as this makes it possible to add and/or replace LTSP servers without loosing (or having to redo) configuration.

The default values in LDAP are defined in the cn=ltspConfigDefault,ou=ltsp,dc=skole,dc=skolelinux,dc=no LDAP object using the ltspConfig attribute. One can also add host specific entries in LDAP.

Run man lts.conf to have a look at available configuration options (see /usr/share/doc/ltsp/LTSPManual.html for detailed information about LTSP).

The default values are defined under [default]; to configure one client, specify it in terms of its MAC address or IP address like this: [192.168.0.10].

Example: To make the thin client ltsp010 use 1280x1024 resolution, add something like this:

[192.168.0.10]
X_MODE_0 = 1280x1024
X_HORZSYNC = "60-70"
X_VERTREFRESH = "59-62"

somewhere below the default settings.

To force the use of a specific xserver on an LTSP client, set the XSERVER variable. For example:

[192.168.0.11]
XSERVER = nvidia

If a thin client comes up with a black screen the use of a specific color depth might help. For example:

[192.168.0.12]
X_COLOR_DEPTH=16

Depending on what changes you make, it may be necessary to restart the client.

To use IP addresses in lts.conf you need to add the client MAC address to your DHCP server. Otherwise you should use the client MAC address directly in your lts.conf file.

17.4.2. Force all thin clients to use LXDE as default desktop environment

Make sure that LXDE is installed on the LTSP server; then add these lines below [default] in "lts.conf":

LDM_SESSION=LXDE
LDM_FORCE_SESSION=true

17.4.3. 负载均衡 LTSP 服务器

17.4.3.1. Part 1

It is possible to set up the clients to connect to one of several LTSP servers for load-balancing. This is done by providing /opt/ltsp/i386/usr/share/ltsp/get_hosts as a script printing one or more servers for LDM to connect to. In addition to this, each LTSP chroot needs to include the SSH host key for each of the servers.

First of all, you must choose one LTSP server to be the load-balancing server. All the clients will PXE-boot from this server and load the Skolelinux image. After the image is loaded, LDM chooses which server to connect to by using the "get_hosts" script. You will decide later how this is done.

The load-balancing server must be announced to the clients as the "next-server" via DHCP. As DHCP configuration is in LDAP, modifications have to be done there. Use ldapvi --ldap-conf -ZD '(cn=admin)' to edit the appropriate entry in LDAP. (Enter the main server's root password at the prompt; if VISUAL isn't set, the default editor will be nano.) Search for a line reading dhcpStatements: next-server tjener Next-server should be the IP address or hostname of the server you chose to be the load-balancing server. If you use hostname you must have a working DNS. Remember to restart the DHCP service.

Now you have to move your clients from the 192.168.0.0 network to the 10.0.0.0 network; attach them to the backbone network instead of the network attached to the LTSP server's second network card. This is because when you use load-balancing, the clients need direct access to the server chosen by LDM. If you leave your clients on the 192.168.0.0 network, all of the clients' traffic will go through that server before it reaches the chosen LDM server.

17.4.3.2. Part 2

Now you have to make a "get_hosts" script which generates a list of server names for LDM to connect to. The parameter LDM_SERVER overrides this script. In consequence, this parameter must not be defined if the get_hosts is going to be used. The get_hosts script writes on the standard output each server IP address or host name, in random order.

Edit "/opt/ltsp/i386/etc/lts.conf" and add something like this:

MY_SERVER_LIST = "xxxx xxxx xxxx"

Replace xxxx with either the IP addresses or hostnames of the servers as a space-separated list. Then, put the following script in /opt/ltsp/i386/usr/lib/ltsp/get_hosts on the server you chose to be the load-balancing server.

 #!/bin/bash
 # Randomise 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
17.4.3.3. Part 3

Now that you've made the "get_hosts" script, it's time to make the SSH host key for the LTSP chroots. This can be done by making a file containing the content of /opt/ltsp/i386/etc/ssh/ssh_known_hosts from all the LTSP servers that will be load-balanced. Save this file as /etc/ltsp/ssh_known_hosts.extra on all load-balanced servers. The last step is very important because ltsp-update-sshkeys runs every time a server is booted, and /etc/ltsp/ssh_known_hosts.extra is included if it exists.

/!\ If you save your new host file as /opt/ltsp/i386/etc/ssh/ssh_known_hosts, it will be erased when you reboot the server.

There are some obvious weaknesses with this setup. All clients get their image from the same server, which causes high loads on the server if many clients are booted at the same time. Also, the clients require that server to be always available; without it they cannot boot or get an LDM server. Therefore this setup is very dependent on one server, which isn't very good.

Your clients should now be load-balanced!

17.4.4. Sound with LTSP clients

LTSP thin clients use networked audio to pass audio from the server to the clients.

LTSP diskless workstations handle audio locally.

17.4.5. Use printers attached to LTSP clients

  • Attach the printer to the LTSP client machine (both USB and parallel port are supported).

  • Configure this machine to run a printer in lts.conf (default location: /opt/ltsp/i386/etc/lts.conf), see the LTSP manual /usr/share/doc/ltsp/LTSPManual.html#printer for details.

  • Configure the printer using the web interface https://www:631 on the main server; choose network printer type AppSocket/HP JetDirect (for all printers regardless of brand or model) and set socket://<LTSP client ip>:9100 as connection URI.

17.4.6. Upgrading the LTSP environment

It is useful to upgrade the LTSP environment with new packages fairly often, to make sure security fixes and improvements are made available. To upgrade, run these commands as user root on each LTSP server:

ltsp-chroot -a i386  # this does "chroot /opt/ltsp/i386" and more, ie it also prevents daemons from being started
apt update
apt upgrade
apt full-upgrade
exit
ltsp-update-image
17.4.6.1. Installing additional software in the LTSP environment

To install additional software for an LTSP client you must perform the installation inside the chroot of the LTSP server.

ltsp-chroot -a i386
## optionally, edit the sources.list:
#editor /etc/apt/sources.list
apt update
apt install $new_package
exit
ltsp-update-image

17.4.7. Slow login and security

Skolelinux has added several security features on the client network preventing unauthorised superuser access, password sniffing, and other tricks which may be used on a local network. One such security measure is secure login using SSH, which is the default with LDM. This can slow down some client machines which are more than about fifteen years old, with as little as a 160 MHz processor and 32 MB RAM. Although it's not recommended, you can add a line to /opt/ltsp/i386/etc/lts.conf containing:

LDM_DIRECTX=True

/!\ Warning: The above protects initial login, but all activities after that use unencrypted networked X. Passwords (except the initial one) will travel in cleartext over the network, as well as anything else.

Note: Since such fifteen-year-old thin clients may also have trouble running newer versions of LibreOffice and Firefox due to pixmap caching issues, you may consider running thin clients with at least 128 MB RAM, or upgrade the hardware, which will also give you the benefit of being able to use them as diskless workstations.

17.5. Connecting Windows machines to the network / Windows integration

17.5.1. Joining a domain

For Windows clients the Windows domain "SKOLELINUX" is available to be joined. A special service called Samba, installed on the main server, enables Windows clients to store profiles and user data, and also authenticates the users during the login.

/!\ Joining a domain with a Windows client requires the steps described in the Debian Edu Stretch Samba Howto.

Windows will sync the profiles of domain users on every Windows login and logout. Depending on how much data is stored in the profile, this could take some time. To minimise the time needed, deactivate things like local cache in browsers (you can use the Squid proxy cache installed on the main server instead) and save files into the H: volume rather than under "My Documents".

17.5.1.1. User groups in Windows

If you want to check user groups on Windows, you need to download the tool IFMEMBER.EXE from Microsoft. Then you can use this for example in the logon script which resides on the main server in /etc/samba/netlogon/LOGON.BAT.

17.5.2. XP home

Users bringing in their XP laptops from home can still connect to the main server using their skolelinux credentials, provided the workgroup is set to SKOLELINUX. However, they may need to disable the Windows firewall before the main server will appear in Network Neighbourhood (or whatever it's called now).

17.5.3. Managing roaming profiles

Roaming profiles contain user work environments which include desktop items and settings. Examples include personal files, desktop icons and menus, screen colours, mouse settings, window size and position, application configurations, and network and printer connections. Roaming profiles are available wherever the user logs on, provided the server is available.

Since the profile is copied from the server to the machine during logon, and copied back to the server during logout, a large profile can make Windows login/logout painfully slow. There can be many reasons for a large profile, but the most common problem is that users save their files on the Windows desktop or in the "My Documents" folder instead of in their home directory. Also, some badly designed programs use the profile to store data and as scratch space.

The educational approach: one way to deal with overlarge profiles is to explain the situation to the users. Tell them not to store huge files on the desktop, and if they fail to listen, it's their own fault when login is slow.

Tweaking the profile: a different approach to dealing with the problem is to remove parts of the profile, and redirect other parts to regular file storage. This moves the workload from the users to the administrator, while adding complexity to the installation. There are at least three ways to edit the parts that are removed from the roaming profile.

17.5.3.1. Example smb.conf files for roaming profiles

FIXME: Maybe it is better to purge the examples. People who want to use roaming profiles should know what they are doing ...

/!\ Note The examples are outdated since in wheezy kerberos was configured for samba too!

You might find an example smb.conf in your preferred language delivered by the installation on the main server under /usr/share/doc/debian-edu-config/examples/. The source file is in English and is called smb-roaming-profiles-en.conf; look for a file with the appropriate code in the filename (the German translation, for example, will be named smb-roaming-profiles-de.conf). Inside the config file are a lot of explanations which you should have a look at.

17.5.3.2. Machine policies for roaming profiles

Machine policies can be edited and copied to all the other computers.

  1. Pick a freshly installed Windows computer, and run gpedit.msc

  2. Under the selection "User Configuration" -> "Administrative Templates" -> "System" -> "User Profiles" -> "Exclude directories in roaming profile", you can enter a semicolon-separated list of directories to exclude from the profile. The directories are internationalised and must be written in your own language the way they are in the profile. Examples of directories to exclude are:

    • log

    • Locale settings

    • Temporary Internet Files

    • My Documents

    • Application Data

    • Temporary Internet Files

  3. Save your changes, and exit the editor.

  4. Copy c:\windows\system32\GroupPolicy to all other Windows machines.

    • It's a good idea to copy it to your Windows OS deployment system to have it included at install time.

17.5.3.3. Global policies for roaming profiles

By using the legacy Windows policy editor (poledit.exe), you can create a Policy file (NTConfig.pol) and put it in your netlogon share on the main server. This has the advantage of working almost instantly on all Windows machines.

For some time, the policy editor standalone download has been removed from the Microsoft web site, but it's still available as part of the ORK Tools.

With poledit.exe you can create .pol files. If you put such a file on the main server as /etc/samba/netlogon/NTLOGON.POL it will automatically be read by Windows machines and temporarily overwrite the registry, thus applying the changes.

To make sensible use of poledit.exe you also need to download appropriate .adm files for your operating system and applications; otherwise you cannot define many settings in poledit.exe.

Be aware that the new group policy tools, gpedit.msc and gpmc.msc, cannot create .pol files; they either only work for the local machine or need an Active Directory server.

If you understand German, http://gruppenrichtlinien.de is a very good web site on this topic.

17.5.3.4. Editing Windows registry

You can edit the registry of the local computer, and copy this registry key to other computers

  1. Start the Registry Editor.

  2. Navigate to HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon

  3. Use the menu "Edit menu" -> "New" -> "String Value".

  4. Call it ExcludeProfileDirs

  5. Enter a semicolon-separated list of paths to exclude (in the same way as for a machine policy)

  6. Now you can choose to export this registry key as a .reg file. Mark a selection, right-click, and select "Export".

  7. Save the file and you can double click it, or add it to a script to spread it to other machines.

Sources:

17.5.4. Redirecting profile directories

Sometimes just removing directories from the profile is not enough. You may find that users lose files because they mistakenly save things into "My Documents" when this is not saved in the profiles. You may also want to redirect the directories used by some badly programmed applications to normal network shares.

17.5.4.1. Redirecting using machine policies

All the instructions given above about machine policies apply here too. You can use gpedit.msc to edit the policy and copy it to all machines. The redirection should be available under "User Configuration" -> "Windows Settings" -> "Folder Redirection". Directories that it can be useful to redirect include "Desktop" and "My Documents".

One thing to remember is that if you enable folder redirection, those folders are automatically added to the synchronised folders list. If you do not want this, you should disable it via one of the following routes:

  • "User Configuration" -> "Administrative Templates" -> "Network" -> "Offline Files"

  • "Computer Configuration" -> "Administrative Templates" -> "Network" -> "Offline Files"

17.5.4.2. Redirecting using global policies

FIXME: explain how to use profiles from global policies for Windows machines in the skolelinux network

17.5.5. Avoiding roaming profiles

17.5.5.1. Disabling roaming using a local policy

Using local policies, you can disable the roaming profile on individual machines. This is often wanted on special machines - for instance on dedicated machines, or machines that have lower than usual bandwith.

You can use the machine policy method describe above; the key is in "Administrative Templates" -> "System" -> "User Profiles" -> "Only allow local profiles".

17.5.5.2. Disabling roaming using global policies

FIXME: describe roaming profile key for the global policy editor here

17.5.5.3. Disabling roaming in smb.conf

If, perhaps, everyone has their own dedicated machine, and nobody else is allowed to touch it, editing the Samba configuration will let you disable roaming profiles for the entire network. You can alter the smb.conf file on the main server, unsetting the "logon path" and "logon home" variables, then restart samba.

logon path = ""
logon home = ""

17.6. Remote Desktop

17.6.1. Remote Desktop Service

Choosing the LTSP server profile or the combined server profile also installs xrdp, a package which uses the Remote Desktop Protocol to present a graphical login to a remote client. Microsoft Windows users can connect to the LTSP server running xrdp without installing additional software - they simply start a Remote Desktop Connection on their Windows machine and connect.

Additionally, xrdp can connect to a VNC server or another RDP server.

Some municipalities provide a remote desktop solution so that students and teachers can access Skolelinux from their home computer running Windows, Mac or Linux.

Xrdp comes without sound support; to compile the required modules this script could be used.

 #!/bin/bash
 # Script to compile / recompile xrdp PulseAudio modules.
 # The caller needs to be root or a member of the sudo group.
 # Also, /etc/apt/sources.list must contain a valid deb-src line.
 set -e
  if [[ $UID -ne 0 ]] ; then  
     if ! groups | egrep -q sudo ; then
         echo "ERROR: You need to be root or a sudo group member."
         exit 1
     fi
 fi
 if ! egrep -q  ^deb-src /etc/apt/sources.list ; then
     echo "ERROR: Make sure /etc/apt/sources.list contains a deb-src line."
     exit 1
 fi
 TMP=$(mktemp -d)
 PULSE_UPSTREAM_VERSION="$(dpkg-query -W -f='${source:Upstream-Version}' pulseaudio)"
 XRDP_UPSTREAM_VERSION="$(dpkg-query -W -f='${source:Upstream-Version}' xrdp)"
 sudo apt -q update
 # Get sources and build dependencies:
 sudo apt -q install dpkg-dev
 cd $TMP
 apt -q source pulseaudio xrdp
 sudo apt -q build-dep pulseaudio xrdp
 # For pulseaudio 'configure' is all what is needed:
 cd pulseaudio-$PULSE_UPSTREAM_VERSION/
 ./configure
 # Adjust pulseaudio modules Makefile (needs absolute path)
 # and build the pulseaudio modules.
 cd $TMP/xrdp-$XRDP_UPSTREAM_VERSION/sesman/chansrv/pulse/
 sed -i 's/^PULSE/#PULSE/' Makefile
 sed -i "/#PULSE_DIR/a \
 PULSE_DIR = $TMP/pulseaudio-$PULSE_UPSTREAM_VERSION" Makefile
 make
 # Copy modules to Pulseaudio modules directory, adjust rights.
 sudo cp *.so /usr/lib/pulse-$PULSE_UPSTREAM_VERSION/modules/
 sudo chmod 644 /usr/lib/pulse-$PULSE_UPSTREAM_VERSION/modules/module-xrdp*
 # Restart xrdp, now with sound enabled.
 sudo service xrdp restart

17.6.2. Available Remote Desktop clients

  • freerdp-x11 is installed by default and is capable of RDP and VNC.

    • RDP - the easiest way to access Windows terminal server. An alternative client package is rdesktop.

    • VNC client (Virtual Network Computer) gives access to Skolelinux remotely. An alternative client package is xvncviewer.

  • NX graphical client gives students and teachers access to Skolelinux remotely on Windows, Mac or Linux PC. One municipality in Norway has provided NX support to all students since 2005. They report that the solution is stable.

  • Citrix ICA client HowTo to access Windows terminal server from Skolelinux.

18. Samba in Debian Edu

/!\ The information in this chapter is outdated. Please read the information provided on the Samba wiki about supported Windows versions, needed registry patches and other procedures. Probably a line containing server max protocol = NT1 needs to be added to the [global] section of /etc/samba/smb-debian-edu.conf on the main server. Please consider updating this chapter if you know how to configure Samba for Debian Edu.

https://wiki.samba.org/index.php/Joining_a_Windows_Client_or_Server_to_a_Domain

https://wiki.samba.org/index.php/Required_Settings_for_Samba_NT4_Domains

Samba has been fully prepared for use as an NT4-style domain controller with Windows XP, Windows Vista and Windows 7 as clients. After a machine has joined the domain, this machine can be fully managed with GOsa².

18.1. Getting Started

This documentation presumes that you have installed the Debian Edu main server and maybe also a Debian Edu workstation to verify that working under Debian Edu/Skolelinux works for you. We presume that you have already created some users that can flawlessly use the Debian Edu workstation. We also presume that you have a Windows XP/Vista/7 workstation at hand, so you can test access to the Debian Edu main server from a Windows machine.

After installation of the Debian Edu main server the Samba host \\TJENER should be visible in your Windows Network Neighbourhood. Debian Edu's Windows domain is SKOLELINUX. Use a Windows machine (or a Linux system with smbclient) to browse your Windows/Samba network environment.

  1. START -> Run command

  2. enter \\TJENER and press return

  3. -> a Windows Explorer window should open and show the netlogon share on \\TJENER, and maybe printers you already have configured for printing under Unix/Linux (CUPS queues).

18.1.1. Accessing files via Samba

Student and teacher user accounts that have been configured via GOsa² should be able to authenticate against \\TJENER\HOMES or \\TJENER\<username> and access their home directories with Windows machines not joined to the Windows SKOLELINUX domain.

  1. START -> Run command

  2. enter \\TJENER\HOMES or \\TJENER\<username> and press return

  3. enter your login credentials (username, password) in the authentication dialog window that appears

  4. -> a Windows Explorer window should open and show files and folders in your Debian Edu home directory.

By default only the [homes] and the [netlogon] shares are exported; further share examples for students and teachers can be found in /etc/samba/smb-debian-edu.conf on your Debian Edu main server.

18.2. Domain Membership

To use Samba on TJENER as a domain controller, your network's Windows workstations have to join the SKOLELINUX domain provided by the Debian Edu main server.

The first thing you have to do is to enable the SKOLELINUX\Administrator account. This account is not intended for day-to-day usage; its current main purpose is to add Windows machines to the SKOLELINUX domain. To enable this account log on to TJENER as the first user (created during main server installation) and run this command:

  • $ sudo smbpasswd -e Administrator

The password of SKOLELINUX\Administrator has been preconfigured during the main server's installation. Please use the system's root account when authenticating as SKOLELINUX\Administrator.

Once you are done with your administrative work make sure to disable the SKOLELINUX\Administrator account again:

  • $ sudo smbpasswd -d Administrator

18.2.1. Windows hostname

Make sure your Windows machine has the name that you want to use in the SKOLELINUX domain. If not, rename it first (and then reboot). The NetBIOS host name of the Windows machine will later on be used in GOsa² and cannot be changed there (without breaking the domain membership for this machine).

18.2.2. Joining the SKOLELINUX Domain with Windows XP

Joining Windows XP machines (tested with Service Pack 3) works out of the box.

NOTE: Windows XP Home does not support domain membership; Windows XP Professional is required here.

  1. log on to the Windows XP machine as Administrator (or any other account with Administrator privileges)

  2. click on "Start" then right-click on "Computer" and click on "Properties"

  3. select tab "Computer Name" and click on "Change..."

  4. under "Member of", select the radio button beside "Domain:", type SKOLELINUX and then click "OK"

  5. a pop up box will request to enter credentials of an account with rights to join the domain. Type username SKOLELINUX\Administrator and the root password, click "OK"

  6. a confirmation pop up box will welcome you to the SKOLELINUX domain. Clicking on "OK", will result in having another message informing that a reboot for the machine is required to apply the changes. Click on "OK"

After the reboot, when you login the first time, click on the "Options >>" button and select the domain SKOLELINUX instead of the local domain ("this computer").

If joining the domain has been successful you should then be able to view the host details within GOsa² (under the menu section "Systems").

18.2.3. Joining the SKOLELINUX Domain with Windows Vista/7

Joining Windows Vista/7 machines to the SKOLELINUX domain requires the installation of a registry patch on the Windows Vista/7 client. This patch is provided at this location:

  • \\tjener\netlogon\win7+samba_domain-membership\Win7_Samba3DomainMember.reg

For further information please consult the included README_Win7-Domain-Membership.txt in the same folder. Make sure you apply this patch as a local Administrator of the Windows system.

After applying the above patch and rebooting the client system you should be able to join the SKOLELINUX domain:

  1. click on "Start" then right-click on "Computer" and click on "Properties"

  2. the basic system information page will open. Under "Computer name, domain, and workgroup settings", click on "Change Settings"

  3. on the System Properties page, click on "Change..."

  4. under "Member of", select the radio button beside "Domain:", type SKOLELINUX and then click "OK"

  5. a pop up box will request to enter credentials of an account with rights to join the domain. Type username SKOLELINUX\Administrator and the root password, click "OK"

  6. a confirmation pop up box will welcome you to the SKOLELINUX domain. Clicking on "OK", will result in having another message informing that a reboot for the machine is required to apply the changes. Click on "OK"

After the reboot, when you login the first time, click on the "Options >>" button and select the domain SKOLELINUX instead of the local domain ("this computer").

If joining the domain has been successful you should then be able to view the host details within GOsa² (under the menu section "Systems").

18.3. First Domain Logon

Debian Edu ships some logon scripts that pre-configure the Windows user profile on first logon. When logging on to a Windows workstation that has joined the SKOLELINUX domain for the first time the following tasks are run:

  1. copy the user's Firefox profile to a separate location and register that with Mozilla Firefox on Windows

  2. set up Web-Proxy and start page in Firefox

  3. set up Web-Proxy and start page in IE

  4. add a MyHome icon to the Desktop that points to drive H: and opens Windows Explorer on double-click

Other tasks are run on every logon. For further information on this, please refer to the /etc/samba/netlogon folder on your Debian Edu main server.

19. HowTos for teaching and learning

All Debian packages mentioned in this section can be installed by running apt install <package> (as root).

19.1. Teaching Programming

stable/education-development is a meta package depending on a lot of programming tools. Please note that almost 2 GiB of disk space is needed if this package is installed. For more details (maybe to install only a few packages), see the Debian Edu Development packages page.

19.2. Monitoring pupils

/!\ Warning: make sure you know the status of the laws about monitoring and restricting computer users' activities in your jurisdiction.

Some schools use control tools like Epoptes or iTALC to supervise their students. See also: Epoptes Homepage and iTALC Homepage.

To get full Epoptes support, these steps are required.

# Run on a combi server (and on each additional ltsp server):
apt update
apt install epoptes
ltsp-chroot -m --arch i386 apt update
ltsp-chroot -m --arch i386 apt install epoptes-client
ltsp-chroot -m --arch i386 apt install ssvnc
ltsp-chroot -m --arch i386 sed -i 's/test -f/#test -f/' /etc/init.d/epoptes-client 
ltsp-chroot -m --arch i386 sed -i 's/grep -qs/#grep -qs/' /etc/init.d/epoptes-client 
# If diskspace matters, use 'ltsp-update-image -n' instead.
ltsp-update-image

19.3. Restricting pupils' network access

Some schools use Squidguard or Dansguardian to restrict Internet access.

19.4. 源自 wiki.debian.org 的 HowTo 文档

The HowTos from http://wiki.debian.org/DebianEdu/HowTo/ are either user- or developer-specific. Let's move the user-specific HowTos over here (and delete them over there)! (But first ask the authors if they are happy with moving them and putting them under the GPL - see the page histories to find them.)

20. HowTos for users

20.1. 修改密码

Every user should change her or his password by using GOsa². To do so, just use a browser and go to https://www/gosa/.

Using GOsa² to change the password ensures that passwords for Kerberos (krbPrincipalKey), LDAP (userPassword) and Samba (sambaNTPassword and sambaLMPassword) are the same.

Changing passwords using PAM is working also at the GDM login prompt, but this will only update the Kerberos password, and not the Samba and GOsa² (LDAP) password. So after you changed your password at the login prompt, you really should also change it using GOsa².

20.2. Java

20.2.1. 运行独立 Java 应用程序

Standalone Java applications are supported out of the box by the OpenJDK Java runtime.

20.2.2. Running Java applications in the web browser

Running Java applets is supported in the Firefox ESR browser by the OpenJDK Java runtime. Please note that this support will end early 2018.

20.3. 使用电子邮件

All users can send and receive mails within the internal network; self-signed certificates are provided to allow TLS secured connections. To allow mail outside the internal network, the administrator needs to configure the mailserver exim4 to suit the local situation, starting with dpkg-reconfigure exim4-config.

Every user who wants to use Thunderbird needs to configure it as follows. For a user with username jdoe the internal email address is jdoe@postoffice.intern.

20.3.1. Thunderbird

  • 启动 Thunderbird

  • Click 'Skip this and use my existing email'

  • Enter your email address

  • Uncheck 'Remember password'

  • Don't enter your password as Kerberos single sign on will be used

  • Click 'Continue'

  • For both IMAP and SMTP the settings should be 'STARTTLS' and 'Kerberos/GSSAPI'; adjust if not detected automatically

  • Click 'Done'

  • First time accessing the inbox click 'Confirm Security Exception' to accept the certificate; same applies if sending mail for the first time.

20.3.2. Obtaining a Kerberos ticket to read email on diskless workstations

If working on a diskless workstation, you don't have a Kerberos TGT by default. To get one, click the credentials button in the system tray. Enter your password and the ticket will be granted.

20.4. Volume control

On thin clients, pavucontrol or alsamixer (but not kmix) can be used to change audio volume.

On other machines (workstations, LTSP servers, and diskless workstations), kmix or alsamixer can be used.

21. 贡献

21.1. 地区贡献

Currently there are local teams in Norway, Germany, the region of Extremadura in Spain, Taiwan and France. "Isolated" contributors and users exist in Greece, the Netherlands, Japan and elsewhere.

支持一章有解释说明并链接到地方资源,作为贡献支持是同一硬币的两面。

21.2. 世界贡献

在国际上我们组织成多种团队工作在不同的主题上。

大多数时间,开发者邮件列表是我们交流的主要媒介,虽然我们在 irc.debian.org #debian-edu 有每月的 IRC 会议而且还有,不经常的,真实聚会,在那里我们彼此亲身相识。新贡献者要阅读我们的 http://wiki.debian.org/DebianEdu/ArchivePolicy

正好在 Debian Edu 开发中学习的好方法是订阅提交的邮件列表

21.3. 文档作者和翻译者

这一文档需要你的帮助!最重要的是,文档尚未完成:如果阅读文档,会注意到文本中有许多 FIXME。如果你正好知道(一点儿)需要在这讲解的,请同我们分享你的知识。

The source of the text is a wiki and can be edited with a simple webbrowser. Just go to http://wiki.debian.org/DebianEdu/Documentation/Stretch/ and you can contribute easily. Note: a user account is needed to edit the pages; you need to create a wiki user first.

另一个非常好的贡献途径是通过翻译软件和文档来帮助用户。如何翻译本文档的信息可以在本书的翻译一章中找到。请考虑协助本书的翻译努力!

22. 支持

22.1. 基于无偿的支持

22.1.1. in English

22.1.2. in Norwegian

22.1.3. in German

22.1.4. in French

22.2. 专业支持

Lists of companies providing professional support are available from http://wiki.debian.org/DebianEdu/Help/ProfessionalHelp.

23. New features in Debian Edu Stretch

23.1. New features for Debian Edu 9+edu0 Codename Stretch

23.1.1. Known issues

23.1.2. Installation changes

  • 对于来自 Debian Stretch 的新版 debian-installer,更多细节参阅它的安装手册

  • The "Thin-Client-Server" profile has been renamed to "LTSP-Server" profile.

  • New artwork based on the "soft Waves" theme, the default artwork for Debian 9 Stretch.

23.1.3. Software updates

  • Everything which is new in Debian 9 Stretch, eg:

    • Linux kernel 4.9

    • Desktop environments KDE Plasma Workspace 5.8, GNOME 3.22, Xfce 4.12, LXDE 0.99.2, MATE 1.16

      • KDE Plasma Workspace is installed by default; to choose one of the others see this manual.

    • Firefox 45.9 ESR and Chromium 59

      • Iceweasel has been re-renamed to Firefox! :-)

    • Icedove has been re-renamed to Thunderbird and is now installed by default.

    • LibreOffice 5.2.6

    • Educational toolbox GCompris 15.10

    • Music creator Rosegarden 16.06

    • GOsa 2.7.4

    • LTSP 5.5.9

    • Debian Stretch includes more than 50000 packages available for installation.

23.1.4. Documentation and translation updates

  • Translation updates for the templates used in the installer. These templates are now available in 29 languages.

  • The Debian Edu Stretch Manual is fully translated to German, French, Italian, Danish, Dutch, Norwegian Bokmål and Japanese. The Japanese translation was newly added for Stretch.

    • Partly translated versions exist for Spanish, Polish and Simplified Chinese.

23.1.5. Other changes compared to the previous release

  • Icinga replaces Nagios as monitoring tool.

  • kde-spectacle replaces ksnapshot as screenshot tool.

  • The free flash player gnash is back again.

  • Plymouth is installed and activated by default, except for the 'Main Server' and 'Minimal' profiles; pressing ESC allows to view boot and shutdown messages.

  • Upon upgrade from Jessie the LDAP data base has to be adjusted. The sudoHost value 'tjener' has to be replaced with 'tjener.intern' using GOsa² or an LDAP editor.

  • The 32-bit PC support (known as the Debian architecture i386) now no longer covers a plain i586 processor. The new baseline is the i686, although some i586 processors (e.g. the "AMD Geode") will remain supported.

  • Debian 9 enables unattended upgrades (for security updates) by default for new installations. This might cause a delay of about 15 minutes if a system with a low uptime value is powered off.

  • LTSP now uses NBD instead of NFS for the root filesystem. After each single change to an LTSP chroot, the related NBD image must be regenerated (ltsp-update-image) for the changes to take effect.

  • Concurrent logins of the same user on LTSP server and LTSP thin client are no longer allowed.

24. Copyright and authors

This document is written and copyrighted by Holger Levsen (2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018), Petter Reinholdtsen (2001, 2002, 2003, 2004, 2007, 2008, 2009, 2010, 2012, 2014), Daniel Heß (2007), Patrick Winnertz (2007), Knut Yrvin (2007), Ralf Gesellensetter (2007), Ronny Aasen (2007), Morten Werner Forsbring (2007), Bjarne Nielsen (2007, 2008), Nigel Barker (2007), José L. Redrejo Rodríguez (2007), John Bildoy (2007), Joakim Seeberg (2008), Jürgen Leibner (2009, 2010, 2011, 2012, 2014), Oded Naveh (2009), Philipp Hübner (2009, 2010), Andreas Mundt (2010), Olivier Vitrat (2010, 2012), Vagrant Cascadian (2010), Mike Gabriel (2011), Justin B Rye (2012), David Prévot (2012), Wolfgang Schweer (2012, 2013, 2014, 2015, 2016, 2017, 2018), Bernhard Hammes (2012) and Joe Hansen (2015) and is released under the GPL2 or any later version. Enjoy!

If you add content to it, please only do so if you are the author. You need to release it under the same conditions! Then add your name here and release it under the "GPL v2 or any later version" licence.

25. Translation copyright and authors

The Spanish translation is copyrighted by José L. Redrejo Rodríguez (2007), Rafael Rivas (2009, 2010, 2011, 2012, 2015) and Norman Garcia (2010, 2012, 2013) and is released under the GPL v2 or any later version.

The Bokmål translation is copyrighted by Petter Reinholdtsen (2007, 2012, 2014, 2015, 2016, 2017, 2018), Håvard Korsvoll (2007-2009), Tore Skogly (2008), Ole-Anders Andreassen (2010), Jan Roar Rød (2010), Ole-Erik Yrvin (2014, 2016, 2017), Ingrid Yrvin (2014, 2015, 2016, 2017), Hans Arthur Kielland Aanesen (2014), Knut Yrvin (2014), FourFire Le'bard (2014), Stefan Mitchell-Lauridsen (2014), Ragnar Wisløff (2014) and Allan Nordhøy (2018) and is released under the GPL v2 or any later version.

The German translation is copyrighted by Holger Levsen (2007), Patrick Winnertz (2007), Ralf Gesellensetter (2007, 2009), Roland F. Teichert (2007, 2008, 2009), Jürgen Leibner (2007, 2009, 2011, 2014), Ludger Sicking (2008, 2010), Kai Hatje (2008), Kurt Gramlich (2009), Franziska Teichert (2009), Philipp Hübner (2009), Andreas Mundt (2009, 2010) and Wolfgang Schweer (2012, 2013, 2014, 2015, 2016, 2017, 2018) and is released under the GPL v2 or any later version.

The Italian translation is copyrighted by Claudio Carboncini (2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018) and Beatrice Torracca (2013, 2014) and is released under the GPL v2 or any later version.

The French translation is copyrighted by Christophe Masson (2008), Olivier Vitrat (2010), Cédric Boutillier (2012, 2013, 2014, 2015), Jean-Paul Guilloneau (2012), David Prévot (2012), Thomas Vincent (2012), Jean-Pierre Giraud (2019) and the French l10n team (2009, 2010, 2012, 2019) and is released under the GPL v2 or any later version.

The Danish translation is copyrighted by Joe Hansen (2012, 2013, 2014, 2015, 2016) and is released under the GPL v2 or any later version.

The Dutch translation is copyrighted by Frans Spiesschaert (2014, 2015, 2016, 2017, 2018) and is released under the GPL v2 or any later version.

The Japanese translation is copyrighted by victory (2016, 2017) and hoxp18 (2019) and is released under the GPL v2 or any later version.

The Polish translation is copyrighted by Stanisław Krukowski (2016, 2017) and Wiktor Wandachowicz (2019) and is released under the GPL v2 or any later version.

The Simplified Chinese translation is copyrighted by Ma Yong (2016, 2017, 2018, 2019), Boyuan Yang (2017) and Roy Zhang (2017) and is released under the GPL v2 or any later version.

26. 文档的翻译

本文档已有翻译成德语,意大利语,法语,丹麦语,荷兰语,挪威布克莫尔语以及日语的版本。存在不完整的西班牙语,波兰语和简体中文翻译。这里是已收录翻译的在线综览

26.1. 如何翻译本文档

26.1.1. 翻译所使用的 PO 文件

As in many free software projects, translations of this document are kept in PO files. More information about the process can be found in /usr/share/doc/debian-edu-doc/README.debian-edu-stretch-manual-translations. The Git repository (see below) contains this file too. Take a look there and at the language specific conventions if you want to help translating this document.

要提交翻译需要是 Salsa 的 debian-edu 项目成员。

Then check out the debian-edu-doc source using ssh access: git clone git@salsa.debian.org:debian-edu/debian-edu-doc.git

如果只是想要做翻译,仅需从 Git 签出少数文件(这是可以匿名进行的)。请提交相关 debian-edu-doc 软件包的错误并附上 PO 文件到错误报告。更多信息参阅如何提交错误的说明

可以用以下命令(需要安装 git 软件包来工作)匿名签出 debian-edu-doc 源代码:

  • git clone https://salsa.debian.org/debian-edu/debian-edu-doc.git

Then edit the file documentation/debian-edu-stretch/debian-edu-stretch-manual.$CC.po (replacing $CC with your language code). There are many tools for translating available; we suggest using lokalize.

然后或直接提交该文件到 Git (如有那样做的权限)抑或发送该文件到错误报告。

debian-edu-doc 目录内使用以下命令更新文件库的本地副本:

  • git pull

Read /usr/share/doc/debian-edu-doc/README.debian-edu-stretch-manual-translations to find information how to create a new PO file for your language if there isn't one yet, and how to update translations.

请留意这一手册仍在开发中,那就不要翻译任何含有 ” FIXME” 的字符串。

Basic information about Salsa (the host where our Git repository is located) and Git is available at https://wiki.debian.org/Salsa.

如果对 Git 不熟悉,查阅专业 Git 书籍;有一章代码库记录变化。也可能需要看一看 gitk 软件包所提供的 Git 图形界面。

26.1.2. 使用 web 浏览器在线翻译

Some language teams have decided to translate via Weblate. See https://hosted.weblate.org/projects/debian-edu-documentation/debian-edu-stretch/ for more information.

请报告任何问题。

27. Appendix A - The GNU General Public License

Note to translators: there is no need to translate the GPL license text.
Translations are available at https://www.gnu.org/licenses/old-licenses/gpl-2.0-translations.html. 

27.1. 对于 Debian Edu 9+edu0 别名 Stretch 的手册

Copyright (C) 2007-2018 Holger Levsen < holger@layer-acht.org > and others, see the Copyright chapter for the full list of copyright owners.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

27.2. GNU GENERAL PUBLIC LICENSE

Version 2, June 1991

Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

27.3. TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".

Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.

1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.

You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.

2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:

  • a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.

    b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.

    c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)

These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.

Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.

In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.

3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:

  • a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

    b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

    c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)

The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.

If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.

4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.

5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.

6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.

7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.

If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.

It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.

This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.

8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.

9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.

Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.

10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.

NO WARRANTY

11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

END OF TERMS AND CONDITIONS

28. Appendix B - no Debian Edu Live CD/DVDs for Stretch yet

/!\ Debian Edu Live CD/DVDs for Stretch are not available at the moment.

28.1. Features of the Standalone image

  • XFCE desktop

  • All packages from the Standalone profile

  • All packages from the laptop task

28.2. Features of the Workstation image

  • XFCE desktop

  • All packages from the Workstation profile

  • All packages from the laptop task

28.3. Activating translations and regional support

To activate a specific translation, boot using locale=ll_CC.UTF-8 as a boot option, where ll_CC.UTF-8 is the locale name you want. To activate a given keyboard layout, use the keyb=KB option where KB is the desired keyboard layout. Here is a list of commonly used locale codes:

Language (Region)

Locale value

Keyboard layout

Norwegian Bokmål

nb_NO.UTF-8

no

Norwegian Nynorsk

nn_NO.UTF-8

no

German

de_DE.UTF-8

de

French (France)

fr_FR.UTF-8

fr

Greek (Greece)

el_GR.UTF-8

el

Japanese

ja_JP.UTF-8

jp

Northern Sami (Norway)

se_NO

no(smi)

A complete list of locale codes is available in /usr/share/i18n/SUPPORTED, but only the UTF-8 locales are supported by the live images. Not all locales have translations installed, though. The keyboard layout names can be found in /usr/share/keymaps/i386/.

28.4. Stuff to know

  • The password for the user is "user"; root has no password set.

28.5. Known issues with the image

  • /!\ There are no images yet :(

28.6. Download

The image would be (but currently isn't) available via FTP, HTTP or rsync from ftp.skolelinux.org under cd-stretch-live/.

29. Appendix C - Features in older releases

29.1. New features for Debian Edu 8+edu0 Codename Jessie released 2016-07-02

29.1.1. Installation changes

29.1.2. Software updates

  • Everything which is new in Debian 8 Jessie, eg:

    • Linux kernel 3.16.x

    • Desktop environments KDE Plasma Workspace 4.11.13, GNOME 3.14, Xfce 4.10, LXDE 0.5.6

      • new optional desktop environment: MATE 1.8

      • KDE Plasma Workspace is installed by default; to choose one of the others see this manual.

    • the browsers Iceweasel 31 ESR and Chromium 41

    • LibreOffice 4.3.3

    • Educational toolbox GCompris 14.12

    • Music creator Rosegarden 14.02

    • GOsa 2.7.4

    • LTSP 5.5.4

    • new boot framework: systemd. More information is available in the Debian systemd wiki page and in thesystemd manual.

    • Debian Jessie includes about 42000 packages available for installation.

29.1.3. Documentation and translation updates

  • Translation updates for the templates used in the installer. These templates are now available in 29 languages.

  • Two manual translations have been completed: Dutch and Norwegian Bokmål.

  • The Debian Edu Jessie Manual is fully translated to German, French, Italian, Danish, Dutch and Norwegian Bokmål. A partly translated version exists for Spanish.

29.1.4. Other changes compared to the previous release

  • squid: Shutdown and reboot of the main server takes longer than before due to a new default setting shutdown_lifetime 30 seconds. As an example the delay could be set to 10 seconds by appending the line shutdown_lifetime 10 seconds to /etc/squid3/squid.conf.

  • ssh: The root user is no longer allowed to login via SSH with password. The old default PermitRootLogin yes has been replaced with PermitRootLogin without-password, so ssh-keys will still work.

  • slbackup-php: To be able to use the slbackup-php site (which uses root logins via ssh), PermitRootLogin yes has to be set temporarily in /etc/ssh/sshd_config.

  • sugar: As the Sugar desktop was removed from Debian Jessie, it is also not available in Debian Edu jessie.

29.2. New features in Debian Edu 7.1+edu0 Codename Wheezy released 2013-09-28

29.2.1. User visible changes

  • Updated artwork and new Debian Edu / Skolelinux logo, visible during installation, in the login screen and as desktop wallpaper.

29.2.2. Installation changes

  • New version of debian-installer from Debian Wheezy, see installation manual for more details.

  • The DVD image was dropped, instead we added a USB flash drive / Blu-ray disc image, which behaves like the DVD image, but is too big to fit on a DVD.

29.2.3. Software updates

  • Everything which is new in Debian Wheezy 7.1, eg:

    • Linux kernel 3.2.x

    • Desktop environments KDE "Plasma" 4.8.4, GNOME 3.4, Xfce 4.8.6, and LXDE 0.5.5 (KDE "Plasma" is installed by default; to choose GNOME, Xfce or LXDE: see manual.)

    • Web browser Iceweasel 17 ESR

    • LibreOffice 3.5.4

    • LTSP 5.4.2

    • GOsa 2.7.4

    • CUPS print system 1.5.3

    • Educational toolbox GCompris 12.01

    • Music creator Rosegarden 12.04

    • Image editor Gimp 2.8.2

    • Virtual universe Celestia 1.6.1

    • Virtual stargazer Stellarium 0.11.3

    • Scratch visual programming environment 1.4.0.6

    • New version of debian-installer from Debian Wheezy, see installation manual for more details.

    • Debian Wheezy includes about 37000 packages available for installation.

29.2.4. Documentation and translation updates

  • Translation updates for the templates used in the installer. These templates are now available in 29 languages.

  • The Debian Edu Wheezy Manual is fully translated to German, French, Italian and Danish. Partly translated versions exist for Norwegian Bokmål and Spanish.

29.2.5. LDAP related changes

  • Slight changes to some objects and acls to have more types to choose from when adding systems in GOsa. Now systems can be of type server, workstation, printer, terminal or netdevice.

29.2.6. Other changes

  • New Xfce desktop task.

  • LTSP diskless workstations run without any configuration.

  • On the dedicated client network of LTSP servers (default 192.168.0.0/24), machines run by default as diskless workstations if they are powerful enough.

  • GOsa gui: Now some options that seemed to be available, but are non functional, are greyed out (or are not clickable). Some tabs are completely hidden to the end user, others even to the GOsa admin.

29.2.7. Known issues

  • Using KDE "Plasma" on standalone and roaming workstations, at least Konqueror, Chromium and Step sometimes fail to work out-of-the box when the machines are used outside the backbone network, proxy use is required to use the other network but no wpad.dat information is found. Workaround: Use Iceweasel or configure the proxy manually.

29.3. 旧版本的历史信息

The following Debian Edu releases were made further in the past:

  • Debian Edu 6.0.7+r1 代号 "Squeeze",发布于 2013-03-03。

  • Debian Edu 6.0.4+r0 代号 "Squeeze",发布于 2012-03-11。

  • Debian Edu 5.0.6+edu1 代号 "Lenny",发布于 2010-10-05。

  • Debian Edu 5.0.4+edu0 代号 "Lenny",发布于 2010-02-08。

  • Debian Edu "3.0r1 Terra",发布于 2007-12-05。

  • Debian Edu "3.0r0 Terra" 发布于 2007-07-22。基于发布于 2007-04-08 的 Debian 4.0 Etch。

  • Debian Edu 2.0,发布于2006-03-14。基于 2005-06-06 发布的 Debian 3.1 Sarge。

  • Debian Edu "1.0 Venus" 发布于 2004-06-20。基于 2002-07-19 发布的 Debian 3.0 Woody。

A complete and detailed overview about older releases is contained in Appendix C of the Jessie manual; or see the related release manuals on the release manuals page.

29.3.1. 关于旧发行版本的更多信息

更旧发行版本相关的更多信息可以在 http://developer.skolelinux.no/info/cdbygging/news.html 找到。