<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
<article lang="en"><articleinfo><title>Debian Edu / Skolelinux Jessie 8+edu1 Manual <?dbtimestamp?></title></articleinfo>
<section id="AboutDebianEdu">
<title>Manual for Debian Edu 8+edu1 Codename Jessie
</title>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/23-Tjener-KDM_Login.png"/></imageobject><textobject><phrase>Debian Edu login</phrase></textobject></inlinemediaobject> 
</para>
<para>This is the manual for the Debian Edu Jessie 8+edu1 release.  
</para>
<para>The version at <ulink url="http://wiki.debian.org/DebianEdu/Documentation/Jessie"/> is a wiki and updated frequently.  
</para>
<para><link linkend="Translations">Translations</link> are part of the <computeroutput>debian-edu-doc</computeroutput> package which can be installed on a webserver, and is available <ulink url="http://maintainer.skolelinux.org/debian-edu-doc/">online</ulink>. 
</para>
</section>

<section id="AboutDebianEdu--About_Debian_Edu_and_Skolelinux">
<title>About Debian Edu and Skolelinux
</title>
<para>Debian Edu aka Skolelinux is a Linux distribution based on Debian providing an out-of-the box environment of a completely configured school network.   
</para>
<para>Directly after installation of a school server all services needed for a school network are set up (see the next chapter <link linkend="Architecture">details of the architecture of this setup</link>) and the system is ready to be used. Only users and machines need to be added via GOsa², a comfortable Web-UI, or any other LDAP editor. A netbooting environment using PXE has also been prepared, so after initial installation of the main server from CD, Blu-ray disc or USB flash drive all other machines can be installed via the network, this includes "roaming workstations" (ones that can be taken away from the school network, usually laptops or netbooks) as well as PXE booting for diskless machines like traditional thin-clients. 
</para>
<para>Several educational applications like celestia, drgeo, gcompris, kalzium, kgeography, solfege and scratch are included in the default desktop setup, which can be extended easily and almost endlessly via the Debian universe. 
</para>

<section id="AboutDebianEdu--Some_history_and_why_two_names">
<title>Some history and why two names
</title>
<para><ulink url="http://www.skolelinux.org">Skolelinux</ulink> is a Linux distribution created by the Debian Edu project. As a <ulink url="http://wiki.debian.org/DebianPureBlends">Debian Pure Blends</ulink> distribution it is an official <ulink url="http://www.debian.org">Debian</ulink> subproject. 
</para>
<para>What this means for your school is that Skolelinux is a version of Debian providing an out-of-the box environment of a completely configured school-network. 
</para>
<para>The Skolelinux project in Norway was founded on Juli 2nd 2001 and about the same time Raphaël Hertzog started Debian-Edu in France. Since 2003 both projects are united, but both names stayed. "Skole" and (Debian-)"Education" are just two well understood terms in these regions. 
</para>
<para>The main target group in Norway initially were schools serving the 6-16 years age bracket. Today the system is in use in several countries around the world, with most installations in Norway, Spain, Germany and France. 
</para>
</section>
</section>


<section id="Architecture">
<title>Architecture
</title>
<para>This section of the document describes the network architecture and services provided by a Skolelinux installation. 
</para>

<section id="Architecture--Network">
<title>Network
</title>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/Debian_Edu_Network_Jessie.png"/></imageobject><textobject><phrase>The Debian Edu network topology</phrase></textobject></inlinemediaobject> 
</para>
<para>The figure is a sketch of the assumed network topology. The default setup of a Skolelinux network assumes that there is one (and only one) main-server, while allowing the inclusion of both normal workstations and thin-client-servers (with associated thin-clients and/or diskless workstations). The number of workstations can be as large or small as you want (starting from none to a lot). The same goes for the thin-client servers, each of which is on a separate network so that the traffic between the clients and the thin-client server doesn't affect the rest of the network services. 
</para>
<para>The reason that there can only be one main server in each school network is that the main server provides DHCP, and there can be only one machine doing so in each network. It is possible to move services from the main server to other machines by setting up the service on another machine, and subsequently updating the DNS-configuration, pointing the DNS alias for that service to the right computer. 
</para>
<para>In order to simplify the standard setup of Skolelinux, the Internet connection runs over a separate router. It is possible to set up Debian with both a modem and an ISDN connection; however, no attempt is made to make such a setup work out of the box for Skolelinux (the setup needed to adjust the default situation to this should be documented separately). 
</para>

<section id="Architecture--The_default_network_setup">
<title>The default network setup
</title>
<para>DHCPD on Tjener serves the 10.0.0.0/8 network, providing a syslinux menu via PXE-boot where you can choose whether to install a new server/workstation, boot a thin client or a diskless workstation, run memtest, or boot from the local hard disk. 
</para>
<para>This is designed to be modified - that is, you can have the NFS-root in syslinux point 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. 
</para>
<para>DHCPD on the LTSP servers only serves a dedicated network on the second interface (192.168.0.0/24 and 192.168.1.0/24 are preconfigured options) and should seldom need to be changed. 
</para>
<para>The configuration of all subnets is stored in LDAP. 
</para>
</section>

<section id="Architecture--Main_server_.28tjener.29">
<title>Main server (tjener)
</title>
<para>A Skolelinux network needs one main server (also called "tjener" which is Norwegian and means "server") which per default has the IP address 10.0.2.2 and is installed by selecting the main server profile. It's possible (but not required) to also select and install the thin-client-server and workstation profiles in addition to the main server profile. 
</para>
</section>

<section id="Architecture--Services_running_on_the_main_server">
<title>Services running on the main server
</title>
<para>With the exception of the control of the thin-clients, all services are initially set up on one central computer (the main server). For performance reasons, the thin-client-server should be a separate machine (though it is possible to install both the main server and thin-client server profiles on the same machine). All services are allocated a dedicated DNS-name and are offered exclusively over IPv4. The allocated DNS name makes it easy to move individual services from the main-server to a different machine, by simply stopping the service on the main-server, and changing the DNS configuration to point to the new location of the service (which should be set up on that machine first, of course). 
</para>
<para>To ensure security all connections where passwords are transmitted over the network are encrypted, so no passwords are sent over the network as plain text. 
</para>
<para>Below is a table of the services that are set up by default in a Skolelinux network and the DNS name of each service. If possible all configuration files will refer to the service by name (without the domain name) thus making it easy for schools to change either their domain (if they have an own DNS domain) or the IP addresses they use. 
</para><informaltable><tgroup cols="3"><colspec colname="col_0"/><colspec colname="col_1"/><colspec colname="col_2"/><tbody><row rowsep="1"><entry align="center" colsep="1" nameend="col_2" namest="col_0" rowsep="1">
<para><emphasis role="strong">Table of services</emphasis>
</para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1">
<para> <emphasis role="strong">Service description</emphasis> 
</para></entry><entry colsep="1" rowsep="1">
<para> <emphasis role="strong">Common name</emphasis> 
</para></entry><entry colsep="1" rowsep="1">
<para> <emphasis role="strong">DNS service name</emphasis> 
</para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1">
<para> Centralised Logging 
</para></entry><entry colsep="1" rowsep="1">
<para> rsyslog  
</para></entry><entry colsep="1" rowsep="1">
<para> syslog 
</para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1">
<para> Domain Name Service 
</para></entry><entry colsep="1" rowsep="1">
<para> DNS (BIND) 
</para></entry><entry colsep="1" rowsep="1">
<para> domain 
</para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1">
<para> Automatic Network Configuration of Machines 
</para></entry><entry colsep="1" rowsep="1">
<para> DHCP 
</para></entry><entry colsep="1" rowsep="1">
<para> bootps 
</para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1">
<para> Clock Synchronisation 
</para></entry><entry colsep="1" rowsep="1">
<para> NTP 
</para></entry><entry colsep="1" rowsep="1">
<para> ntp 
</para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1">
<para> Home Directories via Network File System 
</para></entry><entry colsep="1" rowsep="1">
<para> SMB / NFS 
</para></entry><entry colsep="1" rowsep="1">
<para> homes 
</para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1">
<para> Electronic Post Office 
</para></entry><entry colsep="1" rowsep="1">
<para> IMAP (Dovecot)  
</para></entry><entry colsep="1" rowsep="1">
<para> postoffice 
</para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1">
<para> Directory Service 
</para></entry><entry colsep="1" rowsep="1">
<para> OpenLDAP 
</para></entry><entry colsep="1" rowsep="1">
<para> ldap 
</para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1">
<para> User Administration 
</para></entry><entry colsep="1" rowsep="1">
<para> GOsa² 
</para></entry><entry colsep="1" rowsep="1">
<para> ---  
</para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1">
<para> Web Server 
</para></entry><entry colsep="1" rowsep="1">
<para> Apache/PHP 
</para></entry><entry colsep="1" rowsep="1">
<para> www 
</para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1">
<para> Central Backup 
</para></entry><entry colsep="1" rowsep="1">
<para> sl-backup, slbackup-php 
</para></entry><entry colsep="1" rowsep="1">
<para> backup 
</para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1">
<para> Web Cache 
</para></entry><entry colsep="1" rowsep="1">
<para> Proxy (Squid) 
</para></entry><entry colsep="1" rowsep="1">
<para> webcache 
</para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1">
<para> Printing 
</para></entry><entry colsep="1" rowsep="1">
<para> CUPS 
</para></entry><entry colsep="1" rowsep="1">
<para> ipp 
</para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1">
<para> Secure Remote Login 
</para></entry><entry colsep="1" rowsep="1">
<para> OpenSSH 
</para></entry><entry colsep="1" rowsep="1">
<para> ssh 
</para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1">
<para> Automatic Configuration 
</para></entry><entry colsep="1" rowsep="1">
<para> Cfengine 
</para></entry><entry colsep="1" rowsep="1">
<para> cfengine 
</para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1">
<para> Thin Client Server/s 
</para></entry><entry colsep="1" rowsep="1">
<para> LTSP 
</para></entry><entry colsep="1" rowsep="1">
<para> ltsp 
</para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1">
<para> Machine and Service Surveillance with Error Reporting, plus Status and History on the Web. Error Reporting by email 
</para></entry><entry colsep="1" rowsep="1">
<para>munin, nagios and site-summary 
</para></entry><entry colsep="1" rowsep="1">
<para> munin, nagios and site-summary 
</para></entry></row></tbody></tgroup></informaltable>
<para>Personal files for each user are stored in their home directories, which are made available by the server. Home directories are accessible from all machines, giving users access to the same files regardless of which machine they are using. The server is operating system agnostic, offering access via NFS for Unix clients, SMB for Windows and Macintosh clients. 
</para>
<para>By default email is set up for local delivery (i.e. within the school) only, though email delivery to the wider Internet may be set up if the school has a permanent Internet connection. Mailing lists are set up based on the user database, giving each class their own mailing list. Clients are set up to deliver mail to the server (using 'smarthost'), and users can <link linkend="Users--Using_email">access their personal mail</link> through IMAP. 
</para>
<para>All services are accessible using the same username and password, thanks to the central user database for authentication and authorisation. 
</para>
<para>To increase performance on frequently accessed sites a web proxy that caches files locally (Squid) is used. In conjunction with blocking web-traffic in the router this also enables control of Internet access on individual machines. 
</para>
<para>Network configuration on the clients is done automatically using DHCP. Normal clients are allocated IP addresses in the private subnet 10.0.0.0/8, while thin clients are connected to the corresponding thin-client-server via the separate subnet 192.168.0.0/24 (this is to ensure that the network traffic of the thin clients doesn't interfere with the rest of the network services). 
</para>
<para>Centralised logging is set up so that all machines send their syslog messages to the server. The syslog service is set up so that it only accepts incoming messages from the local network. 
</para>
<para>By default the DNS server is set up with a domain for internal use only (*.intern), until a real ("external") DNS domain can be set up. The DNS server is set up as caching DNS server so that all machines on the network can use it as the main DNS Server. 
</para>
<para>Pupils and teachers have the ability to publish websites. The web server provides mechanisms for authenticating users, and for limiting access to individual pages and subdirectories to certain users and groups. Users will have the ability to create dynamic web pages, as the web server will be programmable on the server side. 
</para>
<para>Information on users and machines can be changed in one central location, and is made accessible to all computers on the network automatically. To achieve this a centralised directory server is set up. The directory will have information on users, user groups, machines, and groups of machines. To avoid user confusion there won't be any difference between file groups, mailing lists, and network groups. This implies that groups of machines which are to form network groups will use the same namespace as user groups and mailing lists. 
</para>
<para>Administration of services and users will mainly be via the web, and follow established standards, functioning well in the web browsers which are part of Skolelinux. The delegation of certain tasks to individual users or user groups will be made possible by the administration systems. 
</para>
<para>In order to avoid certain problems with NFS, and to make it simpler to debug problems, the different machines need synchronised clocks. To achieve this the Skolelinux server is set up as a local Network Time Protocol (NTP) server, and all workstations and clients are set up to synchronise with the server. The server itself should synchronise its clock via NTP against machines on the Internet, thus ensuring the whole network has the correct time. 
</para>
<para>Printers are connected where convenient, either directly onto the main network, or connected to a server, workstation or thin-client-server. Access to printers can be controlled for individual users according to the groups they belong to; this will be achieved by using quota and access control for printers. 
</para>
</section>

<section id="Architecture--LTSP_server.28s.29_.28Thin_client_server.28s.29.29">
<title>LTSP server(s) (Thin client server(s))
</title>
<para>A Skolelinux network can have many LTSP servers (also called thin client servers), which are installed by selecting the Thin client server profile. 
</para>
<para>The thin client servers are set up to receive syslog from the thin clients, and forward these messages to the central syslog recipient.  
</para>
</section>

<section id="Architecture--Thin_clients">
<title>Thin clients
</title>
<para>A thin client setup enables ordinary PCs to function as (X-)terminals. This means that the machine boots from a diskette or directly from the server using network-PROM (or PXE) without using the local client hard drive. The thin client setup used is that of the Linux Terminal Server Project (LTSP). 
</para>
<para>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 via NFS from the LTSP server, 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. 
</para>
</section>

<section id="Architecture--Diskless_workstations">
<title>Diskless workstations
</title>
<para>For diskless workstations the terms "stateless workstations", "lowfat clients" or "half-thick clients" are also used. For the sake of clarity this manual sticks to the term "diskless workstations". 
</para>
<para>A diskless workstation runs all software on the PC without a locally installed operating system. This means that client machines boot directly from the server's hard drive without running software installed on a local hard drive.  
</para>
<para>Diskless workstations are an excellent way of reusing older (but powerful) hardware with the same low maintenance cost as with thin clients. Software is administered and maintained on the server with no need for local installed software on the clients. Home directories and system settings are stored on the server too.  
</para>
<para>Diskless workstations were introduced as part of the Linux Terminal Server Project (LTSP) with version 5.0. 
</para>
</section>

<section id="Architecture--Networked_clients">
<title>Networked clients
</title>
<para>The term "networked clients" is used in this manual to refer to both thin clients and diskless workstations, as well as computers running Mac OS or Windows. 
</para>
</section>
</section>

<section id="Architecture--Administration">
<title>Administration
</title>
<para>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 (root not allowed by default), and thereby have full access to the machines. 
</para>
<para>We use cfengine to edit configuration files. These files are updated from the server to the clients. In order to change the client configuration, it suffices to edit the server configuration and let the automation distribute the changes. 
</para>
<para>All user information is kept in an LDAP directory. Updates of user accounts are made against this database, which is used by the clients for user authentication. 
</para>

<section id="Architecture--Installation">
<title>Installation
</title>
<para>Currently there are two kinds of installation media images: netinstall (CD)  and multi-arch USB flash drive. Both images can also be booted from USB sticks. 
</para>
<para>The aim is to be able to install a server from any type medium once, and install all other clients over the network by booting from the network.  
</para>
<para>Only the netinstall image needs access to the Internet during installation. 
</para>
<para>The installation should not ask any questions, with the exception of desired language (e.g. Norwegian Bokmål, Nynorsk, Sami) and machine profile (server, workstation, thin client server). All other configuration will be set up automatically with reasonable values, to be changed from a central location by the system administrator subsequent to the installation. 
</para>
</section>

<section id="Architecture--File_system_access_configuration">
<title>File system access configuration
</title>
<para>Each Skolelinux user account is assigned a section of the file system on the file server. This section (home directory) contains the user's configuration files, documents, email and web pages. Some of the files should be set to have read access for other users on the system, some should be readable by everyone on the Internet, and some should not be accessible for reading by anyone but the user. 
</para>
<para>To ensure that all disks that are used for user directories or shared directories can be uniquely named across all the computers in the installation, they can be mounted as <computeroutput>/skole/host/directory/</computeroutput>. Initially, one directory is created on the file server, <computeroutput>/skole/tjener/home0/</computeroutput>, in which all the user accounts are created. More directories may then be created when needed to accommodate  particular user groups or particular patterns of usage. 
</para>
<para>To enable shared access to files under the normal UNIX permissions system, users need to be in supplementary shared groups (such as "students") as well as the personal primary group that they're in by default. If users have an appropriate umask to make newly created items group-accessible (002 or 007), and if the directories they're working in are setgid to ensure the files inherit the correct group-ownership, the result is controlled file sharing between the members of a group. 
</para>
<para>The initial access settings for newly created files are a matter of policy. The Debian default umask is 022 (which would not allow group-access as described above), but Debian Edu uses a default of 002 - meaning that files are created with read access for everybody, which can later be removed by explicit user action. This can alternatively be changed (by editing <computeroutput>/etc/pam.d/common-session</computeroutput>) to a umask of 007 - meaning read access is initially blocked, necessitating user action to make them accessible.  The first approach encourages knowledge sharing, and makes the system more transparent, whereas the second method decreases the risk of unwanted spreading of sensitive information. The problem with the first solution is that it is not apparent to the users that the material they create will be accessible to all other users. They can only detect this by inspecting other users' directories and seeing that their files are readable. The problem with the second solution is that few people are likely to make their files accessible, even if they do not contain sensitive information and the content would be helpful to inquisitive users who want to learn how others have solved particular problems (typically configuration issues). 
</para>
</section>
</section>
</section>


<section id="Requirements">
<title>Requirements
</title>
<para>There are different ways of setting up a Skolelinux solution. It can be installed on just one standalone PC, or as a region-wide solution at many schools operated centrally. This flexibility makes a huge difference to the configuration of network components, servers and client machines. 
</para>

<section id="Requirements--Hardware_requirements">
<title>Hardware requirements
</title>
<para>The purpose of the different profiles is explained in the <link linkend="Architecture">network architecture</link> chapter. 
</para>
<itemizedlist>
<listitem>
<para>The computers running Debian Edu / Skolelinux must have either 32 bit (Debian architecture 'i386', oldest supported processors are Intel Pentium and AMD K5) or 64 bit (Debian architecture 'amd64') x86 processors. 
</para></listitem>
<listitem>
<para>At least 2 GiB RAM for 30 clients and 4 GiB RAM for 50-60 clients are recommended for the main and thin client server profiles.  
</para></listitem>
<listitem>
<para>Thin clients with only 64 MiB RAM and 133 MHz on 32 bit processors are possible, though 256 MiB RAM or more and faster processors are recommended. 
</para>
<itemizedlist>
<listitem>
<para>Swapping over the network is automatically enabled for LTSP clients; the swap size is 512 MiB, and if you need more you can tune this by editing <computeroutput>/etc/ltsp/nbdswapd.conf</computeroutput> on tjener to set the SIZE variable. 
</para></listitem>
<listitem>
<para>If your diskless workstations have hard drives, it is recommended to use them for swap as it is a lot faster than network swapping. 
</para></listitem></itemizedlist></listitem>
<listitem>
<para>For workstations, diskless workstations and standalone systems, 800 MHz and 512 MiB RAM are the absolute minimum requirements. For running modern webbrowsers and LibreOffice 1024 MiB RAM is recommended.  
</para>
<itemizedlist>
<listitem>
<para>On workstations with little RAM the spell checker might cause LibreOffice to hang if the swap space is also too small. If this happens frequently the spell checker can be disabled by system administrators. 
</para></listitem></itemizedlist></listitem>
<listitem>
<para>The minimum disk space requirements depend on the profile which is installed: 
</para>
<itemizedlist>
<listitem>
<para>main server + thin client server: 60 GiB. As usual with disk space on a main server, "the bigger the better". 
</para></listitem>
<listitem>
<para>thin client server: 40 GiB. 
</para></listitem>
<listitem>
<para>workstation or standalone: 30 GiB.  
</para></listitem></itemizedlist></listitem>
<listitem>
<para>Thin client servers need two network cards when using the default network architecture: 
</para>
<itemizedlist>
<listitem>
<para>eth0 is connected to the main network (10.0.0.0/8), 
</para></listitem>
<listitem>
<para>eth1 is used for serving LTSP clients (192.168.0.0/24 as default, but <link linkend="NetworkClients--Use_a_different_LTSP_client_network">others are possible</link>. 
</para></listitem></itemizedlist></listitem>
<listitem>
<para>Laptops are movable workstations, so they have the same requirements as workstations. 
</para></listitem></itemizedlist>
</section>

<section id="Requirements--Hardware_known_to_work">
<title>Hardware known to work
</title>
<para>A list of tested hardware is provided at <ulink url="http://wiki.debian.org/DebianEdu/Hardware/"/> . This list is not nearly complete <inlinemediaobject><imageobject><imagedata fileref="./images/smile.png"/></imageobject><textobject><phrase>:)</phrase></textobject></inlinemediaobject> 
</para>
<para><ulink url="http://wiki.debian.org/InstallingDebianOn"/> is an effort to document how to install, configure and use Debian on some specific hardware, allowing potential buyers to know if that hardware is supported and existing owners to know how get the best out of that hardware. 
</para>
<para>An excellent database of hardware supported by Debian is online at <ulink url="http://kmuto.jp/debian/hcl/"/>. 
</para>
</section>
</section>

<section id="Requirements--Requirements_for_network_setup">
<title>Requirements for network setup
</title>

<section id="Requirements--Default_Setup">
<title>Default Setup
</title>
<para>When using the default network architecture, these rules apply: 
</para>
<itemizedlist>
<listitem>
<para>You need exactly one main server, the tjener. 
</para></listitem>
<listitem>
<para>You can have hundreds of workstations on the main network. 
</para></listitem>
<listitem>
<para>You can have a lot of LTSP servers on the main network; two different subnets are preconfigured (DNS, DHCP) in LDAP, more could be added.  
</para></listitem>
<listitem>
<para>You can have hundreds of thin clients and/or diskless workstations on each LTSP server network.  
</para></listitem>
<listitem>
<para>You can have hundreds of other machines which will have dynamic IP addresses assigned. 
</para></listitem>
<listitem>
<para>For access to the Internet you need a router/gateway (see below). 
</para></listitem></itemizedlist>
</section>

<section id="Requirements--Internet_router">
<title>Internet router
</title>
<para>A router/gateway, connected to the Internet on the external interface and running on the IP address 10.0.0.1 with netmask 255.0.0.0 on the internal interface, is needed to connect to the Internet. 
</para>
<para>The router should not run a DHCP server, it can run a DNS server, though this is not needed and will not be used. 
</para>
<para>If you are looking for a router firewall solution capable of running on an old PC, we recommend <ulink url="http://www.ipcop.org">IPCop</ulink> or <ulink url="http://www.zelow.no/floppyfw">floppyfw</ulink>. 
</para>
<para>If you need something for an embedded router or accesspoint we recommend using <ulink url="http://openwrt.org">OpenWRT</ulink>, though of course you can also use the original firmware. Using the original firmware is easier; using OpenWRT gives you more choices and control. Check the OpenWRT webpages for a list of <ulink url="http://wiki.openwrt.org/TableOfHardware">supported hardware</ulink>.  
</para>
<para>It is possible to use a different network setup (there is a <ulink url="http://wiki.debian.org/DebianEdu/HowTo/ChangeIpSubnet">documented procedure</ulink> to do this), but if you are not forced to do this by an existing network infrastructure, we recommend against doing so and recommend you stay with the default <link linkend="Architecture">network architecture</link>. 
</para>
</section>
</section>


<section id="Installation">
<title>Installation and download options
</title>

<section id="Installation--Where_to_find_additional_information">
<title>Where to find additional information
</title>
<para>We recommend that you read or at least take a look at the <ulink url="http://www.debian.org/releases/jessie/releasenotes">release notes for Debian Jessie</ulink> before you start installing a system for production use. Please give Debian Edu/Skolelinux a try, it should just work. <inlinemediaobject><imageobject><imagedata fileref="./images/smile.png"/></imageobject><textobject><phrase>:-)</phrase></textobject></inlinemediaobject>  
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/alert.png"/></imageobject><textobject><phrase>/!\</phrase></textobject></inlinemediaobject> Be sure to read the <link linkend="GettingStarted">getting started</link> chapter of this manual, though, as it explains how to log in for the first time. 
</para>
<para>Even more information about the Debian Jessie release is available in its <ulink url="http://www.debian.org/releases/jessie/installmanual">installation manual</ulink>. 
</para>
</section>

<section id="Installation--Download_the_installation_media_for_Debian_Edu_8.2B-edu0_Codename_.26quot.3BJessie.26quot.3B">
<title>Download the installation media for Debian Edu 8+edu0 Codename "Jessie"
</title>

<section id="Installation--netinstall_CD_image_for_i386.2C_amd64">
<title>netinstall CD image for i386, amd64
</title>
<para>The netinstall CD, which also can be used for installation from USB flash drives, is suitable to install i386 and amd64 machines. As the name implies, internet access is required for the installation. It's available via 
</para>
<itemizedlist><listitem override="none">
<para><ulink url="ftp://ftp.skolelinux.org/skolelinux-cd/debian-edu-8+edu0-CD.iso">debian-edu-8+edu0-CD.iso</ulink> 
</para>
<para><ulink url="http://ftp.skolelinux.org/skolelinux-cd/debian-edu-8+edu0-CD.iso">debian-edu-8+edu0-CD.iso</ulink> 
</para>
<para><computeroutput>rsync -v --progress ftp.skolelinux.org::skolelinux-cd/debian-edu-8+edu0-CD.iso ./debian-edu-8+edu0-CD.iso </computeroutput> 
</para></listitem></itemizedlist>
</section>

<section id="Installation--USB_flash_drive_.2BAC8_Blu-ray_disc_ISO_image_for_i386_and_amd64">
<title>USB flash drive / Blu-ray disc ISO image for i386 and amd64
</title>
<para>The multi-architecture ISO image is roughly 5 GiB large and can be used for installation of amd64 and i386 machines. Please note that internet access during installation is needed. Like the others it can be downloaded over FTP, HTTP or rsync via: 
</para>
<itemizedlist><listitem override="none">
<para><ulink url="ftp://ftp.skolelinux.org/skolelinux-cd/debian-edu-8+edu0-USB.iso">debian-edu-8+edu0-USB.iso</ulink> 
</para>
<para><ulink url="http://ftp.skolelinux.org/skolelinux-cd/debian-edu-8+edu0-USB.iso">debian-edu-8+edu0-USB.iso</ulink> 
</para>
<para><computeroutput>rsync -v --progress ftp.skolelinux.org::skolelinux-cd/debian-edu-8+edu0-USB.iso ./debian-edu-8+edu0-USB.iso </computeroutput> 
</para></listitem></itemizedlist>
</section>

<section id="Installation--Sources">
<title>Sources
</title>
<para>Sources are available from the Debian archive, see <ulink url="http://cdimage.debian.org/debian-cd/8.5.0/source/iso-dvd/"/> for some download options.  
</para>
</section>
</section>

<section id="Installation--Request_a_CD_.2BAC8_DVD_by_mail">
<title>Request a CD / DVD by mail
</title>
<para>For those without a fast Internet connection, we can offer a CD or DVD sent for the cost of the CD or DVD and shipping. Just send an email to <ulink url="mailto:cd@skolelinux.no">cd@skolelinux.no</ulink> and we will discuss the payment details (for shipping and media) <inlinemediaobject><imageobject><imagedata fileref="./images/smile.png"/></imageobject><textobject><phrase>:)</phrase></textobject></inlinemediaobject> Remember to include the address you want the CD or DVD to be sent to in the email. 
</para>
</section>

<section id="Installation--Installing_Debian_Edu">
<title>Installing Debian Edu
</title>
<para>When you do a Debian Edu installation, you have a few options to choose from. Don't be afraid; there aren't many. We have done a good job of hiding the complexity of Debian during the installation and beyond. However, Debian Edu is Debian, and if you want there are more than 42,000 packages to choose from and a billion configuration options. For the majority of our users, our defaults should be fine. 
</para>

<section id="Installation--Select_type_of_installation">
<title>Select type of installation
</title><informaltable><tgroup cols="1"><colspec colname="col_0"/><tbody><row rowsep="1"><entry colsep="1" rowsep="1">
<para><inlinemediaobject><imageobject><imagedata fileref="./images/01-Installer_boot_menu.png"/></imageobject><textobject><phrase>Installer boot menu</phrase></textobject></inlinemediaobject>
</para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1" valign="top">
<para> <emphasis role="strong">Install</emphasis> is the default text mode installation on i386 and amd64.
</para>
<para> <emphasis role="strong">64 bit install</emphasis> does an amd64 text-mode install.
</para>
<para> <emphasis role="strong">Graphical install</emphasis> uses the GTK installer where you can use the mouse.
</para>
<para> <emphasis role="strong">64 bit graphical install</emphasis> uses the amd64 GTK installer where you can use the mouse.
</para>
<para> <emphasis role="strong">Advanced options &gt;</emphasis> gives a sub menu with more detailed options to choose
</para>
<para><emphasis role="strong">Help</emphasis> gives some hints on using the installer
</para></entry></row></tbody></tgroup></informaltable><informaltable><tgroup cols="1"><colspec colname="col_0"/><tbody><row rowsep="1"><entry colsep="1" rowsep="1">
<para><inlinemediaobject><imageobject><imagedata fileref="./images/Installer_advanced_options_a.png"/></imageobject><textobject><phrase>Installer advanced options screen 1</phrase></textobject></inlinemediaobject>
</para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1" valign="top">
<para><emphasis role="strong">Back..</emphasis> brings back to the main menu.
</para>
<para><emphasis role="strong">Expert install</emphasis> gives access to all available questions in text mode.
</para>
<para> <emphasis role="strong">Rescue mode</emphasis> makes this install medium become a rescue disk for emergency tasks.
</para>
<para> <emphasis role="strong">Automated install</emphasis> needs a preseed file.
</para>
<para> <emphasis role="strong">64 bit expert install</emphasis> gives access to all available questions in text mode on amd64.
</para>
<para> <emphasis role="strong">64 bit rescue mode</emphasis> makes this install medium become a rescue disk for emergency tasks on amd64.
</para>
<para> <emphasis role="strong">64 bit automated install</emphasis> needs a preseed file.
</para></entry></row></tbody></tgroup></informaltable><informaltable><tgroup cols="1"><colspec colname="col_0"/><tbody><row rowsep="1"><entry colsep="1" rowsep="1">
<para><inlinemediaobject><imageobject><imagedata fileref="./images/Installer_advanced_options_b.png"/></imageobject><textobject><phrase>Installer advanced options screen 2</phrase></textobject></inlinemediaobject>
</para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1" valign="top">
<para><emphasis role="strong">Graphical expert install</emphasis> gives access to all available questions in graphical mode.
</para>
<para> <emphasis role="strong">Graphical rescue mode</emphasis> makes this install medium become a rescue disk for emergency tasks with a graphical GTK look.
</para>
<para> <emphasis role="strong">Graphical automated install</emphasis> needs a preseed file.
</para>
<para> <emphasis role="strong">64 bit graphical expert install</emphasis> gives access to all available questions in graphical mode on amd64.
</para>
<para> <emphasis role="strong">64 bit graphical rescue mode</emphasis> makes this install medium become a rescue disk for emergency tasks on amd64 with a graphical GTK look.
</para>
<para> <emphasis role="strong">64 bit graphical automated install</emphasis> needs a preseed file.
</para></entry></row></tbody></tgroup></informaltable><informaltable><tgroup cols="1"><colspec colname="col_0"/><tbody><row rowsep="1"><entry colsep="1" rowsep="1">
<para><inlinemediaobject><imageobject><imagedata fileref="./images/Installer_help.png"/></imageobject><textobject><phrase>Installer help screen</phrase></textobject></inlinemediaobject>
</para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1" valign="top">
<para> This Help screen is self explaining and enables the &lt;F&gt;-keys on the keyboard for getting more detailed help on the topics described.
</para></entry></row></tbody></tgroup></informaltable>

<section id="Installation--Additional_boot_parameters_for_installations">
<title>Additional boot parameters for installations
</title>
<para>On i386/amd64, boot options can be edited by pressing the TAB key in the boot menu. 
</para>
<itemizedlist>
<listitem>
<para>The multi-architecture USB flash drive / Blu-ray disc image defaults to using amd64-installgui on 64-bit x86 machines, and installgui on 32-bit x86 machines. 
</para></listitem>
<listitem>
<para>If you want to boot the amd64 text mode with the multi-architecture image, that would be <computeroutput>amd64-install</computeroutput>. 
</para></listitem>
<listitem>
<para>Likewise you can choose <computeroutput>amd64-expertgui</computeroutput> to get the GUI version on amd64. 
</para></listitem>
<listitem>
<para>If you want to boot the i386 mode with the multi-arch image on an amd64 machine you need to manually select <computeroutput>install</computeroutput> (text mode) or <computeroutput>expertgui</computeroutput> (graphical mode). 
</para></listitem>
<listitem>
<para>You can use an existing HTTP proxy service on the network to speed up the installation of the main server profile from CD. Add <computeroutput>mirror/http/proxy=http://10.0.2.2:3128/</computeroutput> as an additional boot parameter. 
</para></listitem>
<listitem>
<para>If you have already installed the main server profile on a machine, further installations should be done via PXE, as this will automatically use the proxy of the main server. 
</para></listitem>
<listitem>
<para>To install the <emphasis role="strong">GNOME</emphasis> desktop instead of the <emphasis role="strong">KDE "Plasma"</emphasis> desktop, add <computeroutput>desktop=gnome</computeroutput> to the kernel boot parameters. 
</para></listitem>
<listitem>
<para>To install the <emphasis role="strong">LXDE</emphasis> desktop instead, add <computeroutput>desktop=lxde</computeroutput> to the kernel boot parameters. 
</para></listitem>
<listitem>
<para>To install the <emphasis role="strong">Xfce</emphasis> desktop instead, add <computeroutput>desktop=xfce</computeroutput> to the kernel boot parameters. 
</para></listitem>
<listitem>
<para>And to install the <emphasis role="strong">MATE</emphasis> desktop instead, add <computeroutput>desktop=mate</computeroutput> to the kernel boot parameters. 
</para></listitem></itemizedlist>
</section>
</section>

<section id="Installation--The_installation_process">
<title>The installation process
</title>
<para>Remember the <ulink url="http://wiki.debian.org/DebianEdu/Documentation/Jessie/Requirements">system requirements</ulink> and make sure you have at least two network cards (NICs) if you plan on setting up a thin client server. 
</para>
<itemizedlist>
<listitem>
<para>Choose a language (for the installation and the installed system) 
</para></listitem>
<listitem>
<para>Choose a location which normally should be the location where you live. 
</para></listitem>
<listitem>
<para>Choose a keyboard keymap (the country's default is usually fine) 
</para></listitem>
<listitem>
<para>Choose profile(s) from the following list: 
</para>
<itemizedlist>
<listitem>
<para><emphasis role="strong">Main-Server</emphasis> 
</para>
<itemizedlist><listitem override="none">
<para>This is the main server (tjener) for your school providing all services pre-configured to work out of the box. You must only install one main server per school!  This profile does not include a graphical user interface. If you want a graphical user interface, then select Workstation or Thin-Client-Server in addition to this one. 
</para></listitem></itemizedlist></listitem>
<listitem>
<para><emphasis role="strong">Workstation</emphasis> 
</para>
<itemizedlist><listitem override="none">
<para>A computer booting from its local hard drive, and running all software and devices locally like an ordinary computer, except that user logins are authenticated by the main server, where the users' files and desktop profile are stored. 
</para></listitem></itemizedlist></listitem>
<listitem>
<para><emphasis role="strong">Roaming workstation</emphasis> 
</para>
<itemizedlist><listitem override="none">
<para>Same as workstation but capable of authentication using cached credentials, meaning it can be used outside the school network. The users' files and profiles are stored on the local disk. For single user notebooks and laptops this profile should be selected and not 'Workstation' or 'Standalone' as suggested in earlier releases. 
</para></listitem></itemizedlist></listitem>
<listitem>
<para><emphasis role="strong">Thin-Client-Server</emphasis> 
</para>
<itemizedlist><listitem override="none">
<para>A thin client (and diskless workstation) server, also called a LTSP server. Clients without hard drives boot and run software from this server. This computer needs two network cards, a lot of memory, and ideally more than one processor or core. See the chapter about <link linkend="NetworkClients">networked clients</link> for more information on this subject. Choosing this profile also enables the workstation profile (even if it is not selected) - a thin client server can always be used as a workstation, too. 
</para></listitem></itemizedlist></listitem>
<listitem>
<para><emphasis role="strong">Standalone</emphasis> 
</para>
<itemizedlist><listitem override="none">
<para>An ordinary computer that can function without a main server (that is, it doesn't need to be on the network). Includes laptops. 
</para></listitem></itemizedlist></listitem>
<listitem>
<para><emphasis role="strong">Minimal</emphasis> 
</para>
<itemizedlist><listitem override="none">
<para>This profile will install the base packages and configure the machine to integrate into the Debian Edu network, but without any services and applications.  It is useful as a platform for single services manually moved out from the main-server. 
</para></listitem></itemizedlist></listitem></itemizedlist>
<para>The <emphasis role="strong">Main Server</emphasis>, <emphasis role="strong">Workstation</emphasis> and <emphasis role="strong">Thin Client Server</emphasis> profiles are preselected. These profiles can be installed on one machine together if you want to install a so called <emphasis>combined main server</emphasis>. This means the main server will be a thin client server and also be used as a workstation. This is the default choice, since we assume most people will install <link linkend="Installation--Installation_over_the_network_.28PXE.29_and_booting_diskless_clients">via PXE</link> afterwards. Please note that you must have 2 network cards installed in a machine which is going to be installed as a combined main server or as a thin client server to become usefull after the installation.  
</para></listitem></itemizedlist>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/alert.png"/></imageobject><textobject><phrase>/!\</phrase></textobject></inlinemediaobject> The ordering of the network cards after installation might differ from the ordering during installation. The wanted ordering can be achieved by editing  <computeroutput>/etc/udev/rules.d/70-persistent-net.rules</computeroutput>: Usually <emphasis>if this happens</emphasis>, you will want to replace eth0 with eth1 and eth1 with eth0; a reboot is needed for the changes to take effect.  
</para>
<itemizedlist>
<listitem>
<para>Say "yes" or "no" to automatic partitioning. Be aware that saying "yes" will destroy all data on the hard drives!  Saying "no" on the other hand will require more work - you will need to make sure that the required partitions are created and are big enough. 
</para></listitem>
<listitem>
<para>Please say "yes" to submitting information to <ulink url="http://popcon.skolelinux.org/"/> to allow us to know which packages are popular and should be kept for future releases.  Although you don't have to, it is a simple way for you to help. <inlinemediaobject><imageobject><imagedata fileref="./images/smile.png"/></imageobject><textobject><phrase>:)</phrase></textobject></inlinemediaobject> 
</para></listitem>
<listitem>
<para>Wait. If the selected profiles include Thin-client-server then the installer will spend quite some time at the end, "Finishing the installation - Running debian-edu-profile-udeb..." 
</para></listitem>
<listitem>
<para>After giving the root password, you will be asked to create a normal user account "for non-administrative tasks". For Debian Edu this account is very important: it is the account you will use to manage the Skolelinux network.  
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/alert.png"/></imageobject><textobject><phrase>/!\</phrase></textobject></inlinemediaobject> The password for this user <emphasis role="strong">must</emphasis> have a length of <emphasis role="strong">at least 5 characters</emphasis> - otherwise login will not be possible (even though a shorter password will be accepted by the installer). 
</para></listitem>
<listitem>
<para>Be happy 
</para></listitem></itemizedlist>
</section>

<section id="Installation--Notes_on_some_characteristics">
<title>Notes on some characteristics
</title>

<section id="Installation--A_note_on_notebooks">
<title>A note on notebooks
</title>
<para>Most likely you will want to use the 'Roaming workstation' profile (see above). Be aware that all data is stored locally (so take some extra care over backups) and login credentials are cached (so after a password change, logins may require your old password if you have not connected your laptop to the network and logged in with the new password). 
</para>
</section>

<section id="Installation--A_note_on_multi-arch_USB_flash_drive_.2BAC8_Blu-ray_disc_image_installs">
<title>A note on multi-arch USB flash drive / Blu-ray disc image installs
</title>
<para>After you install from the multi-arch USB flash drive / Blu-ray disc image, <computeroutput>/etc/apt/sources.list</computeroutput> will only contain sources from that image. If you have an Internet connection, we strongly suggest adding the following lines to it so that available security updates can be installed: 
</para><screen><![CDATA[deb http://ftp.debian.org/debian/ jessie main 
deb http://security.debian.org/ jessie/updates main ]]></screen>
</section>

<section id="Installation--A_note_on_CD_installs">
<title>A note on CD installs
</title>
<para>A netinst installation (which is the type of installation our CD provides) will fetch some packages from the CD and the rest from the net. The amount of packages fetched from the net varies from profile to profile but stays below a gigabyte (unless you choose to install all possible desktops). Once you have installed the main-server (whether a pure main-server or combi-server does not matter), further installation will use its proxy to avoid downloading the same package several times from the net. 
</para>
</section>

<section id="Installation--A_note_on_thin-client-server_installations">
<title>A note on thin-client-server installations
</title>
<para>First of all, this profile name is confusing for historic reasons. Currently this profile actually installs an LTSP server environment for thin-clients and for diskless workstations. Debian bug <ulink url="https://bugs.debian.org/588510#">588510</ulink> has been filed to change the name of the profile into a better suited one. 
</para>
<para>Providing the kernel boot parameter <computeroutput>edu-skip-ltsp-make-client</computeroutput> makes it possible to skip the step which converts the LTSP chroot from a thin-client chroot into a combined thin-client/diskless workstation chroot.  
</para>
<para>This is useful in certain situations, such as if you want a pure thin client chroot or if there is already a diskless chroot on another server, which can be rsynced. For these situations skipping this step will cut down the installation time considerably. 
</para>
<para>Except for the longer installation time there is no harm in always creating combined chroots, which is why this is done by default. 
</para>
</section>
</section>

<section id="Installation--Installation_using_USB_flash_drives_instead_of_CD_.2BAC8_Blu-ray_discs">
<title>Installation using USB flash drives instead of CD / Blu-ray discs
</title>
<para>Since the Squeeze release it is possible to directly copy the CD/DVD/BD <computeroutput>.iso</computeroutput> images to a USB flash drive (also known as "USB sticks") and boot from them. Simply execute a command like this, just adapting the file and device names to your needs: 
</para>
<para><computeroutput>sudo dd if=debian-edu-amd64-i386-XXX.iso of=/dev/sdX bs=1024</computeroutput> 
</para>
<para>Depending on which image you choose, the USB flash drive will behave just like a CD or Blu-ray disc. 
</para>
</section>

<section id="Installation--Installation_over_the_network_.28PXE.29_and_booting_diskless_clients">
<title>Installation over the network (PXE) and booting diskless clients
</title>
<para>For this installation method it is required that you have a running main server. When clients boot via the main network, a new PXE menu with installer and boot selection options is displayed. If PXE installation fails with an error message claiming a XXX.bin file is missing, then most probably the client's network card requires nonfree firmware. In this case the Debian Installer's initrd must be modified. This can be achieved by executing the command:  <computeroutput>/usr/share/debian-edu-config/tools/pxe-addfirmware </computeroutput> on the server. 
</para>
<para>This is how the PXE menu looks with the <emphasis role="strong">Main-Server</emphasis> profile only: 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/pxe-tjener.png"/></imageobject><textobject><phrase>width=400</phrase></textobject></inlinemediaobject> 
</para>
<para>This is how the PXE menu looks with the <emphasis role="strong">Main-Server</emphasis> and <emphasis role="strong">Thin-Client-Server</emphasis> profiles: 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/28-Diskless-WS-GRUB_Boot_menu-PXE.png"/></imageobject><textobject><phrase>width=400</phrase></textobject></inlinemediaobject> 
</para>
<para>This setup also allows diskless workstations and thin clients to be booted on the main network. Unlike workstations, diskless workstations don't have to be added to LDAP with GOsa², but can be, for example if you want to force the hostname. 
</para>
<para>More information about network clients can be found in the <link linkend="NetworkClients">Network clients HowTo</link> chapter. 
</para>

<section id="Installation--Modifying_PXE_installations">
<title>Modifying PXE installations
</title>
<para>The PXE installation uses a debian-installer preseed file, which can be modified to ask for more packages to install. 
</para>
<para>A line like the following needs to be added to <computeroutput>tjener:/etc/debian-edu/www/debian-edu-install.dat</computeroutput> 
</para><screen><![CDATA[d-i    pkgsel/include string my-extra-package(s)]]></screen>
<para>The PXE installation uses <computeroutput>/var/lib/tftpboot/debian-edu/install.cfg</computeroutput> and the preseeding file in <computeroutput>/etc/debian-edu/www/debian-edu-install.dat</computeroutput>. These files can be changed to adjust the preseeding used during installation, to avoid more questions when installing over the net. Another way to achieve this is to provide extra settings in <computeroutput>/etc/debian-edu/pxeinstall.conf</computeroutput> and <computeroutput>/etc/debian-edu/www/debian-edu-install.dat.local</computeroutput> and to run <computeroutput>/usr/sbin/debian-edu-pxeinstall</computeroutput> to update the generated files.  
</para>
<para>Further information can be found in the <ulink url="http://www.debian.org/releases/jessie/installmanual">manual of the Debian Installer</ulink>. 
</para>
<para>To disable or change the use of the proxy when installing via PXE, the lines containing <computeroutput>mirror/http/proxy</computeroutput>, <computeroutput>mirror/ftp/proxy</computeroutput> and <computeroutput>preseed/early_command</computeroutput> in <computeroutput>tjener:/etc/debian-edu/www/debian-edu-install.dat </computeroutput> need to be changed.  To disable the use of a proxy when installing, put '#' in front of the first two lines, and remove the "<computeroutput>export http_proxy="http://webcache:3128"; </computeroutput>" part from the last one. 
</para>
<para>Some settings can not be preseeded because they are needed before the preseeding file is downloaded.  These are configured in the PXElinux-based boot arguments available from <computeroutput>/var/lib/tftproot/debian-edu/install.cfg</computeroutput>.  Language, keyboard layout and desktop are examples of such settings. 
</para>
</section>
</section>

<section id="Installation--Custom_images">
<title>Custom images
</title>
<para>Creating custom CDs, DVDs or Blu-ray discs can be quite easy since we use the <ulink url="http://wiki.debian.org/DebianInstaller/">Debian Installer</ulink>, which has a modular design and other nice features. <ulink url="http://wiki.debian.org/DebianInstaller/Preseed">Preseeding</ulink> allows you to define answers to the questions normally asked.  
</para>
<para>So all you need to do is to create a preseeding file with your answers (this is described in the appendix of the Debian Installer manual) and <ulink url="http://wiki.debian.org/DebianInstaller/Modify/CD">remaster the CD/DVD</ulink>. 
</para>
</section>
</section>

<section id="Installation--Screenshot_tour">
<title>Screenshot tour
</title>
<para>The text mode and the graphical installation are functionally identical - only the appearance is different. The graphical mode offers the opportunity to use a mouse, and of course looks much nicer and more modern. Unless the hardware has trouble with the graphical mode, there is no reason not to use it.  
</para>
<para>So here is a screenshot tour through a graphical Main-Server + Workstation + Thin Client Server installation and how it looks at the first boot of the tjener, a PXE boot on the workstation network and on the thinclient network: 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/01-Installer_boot_menu.png"/></imageobject><textobject><phrase>01-Installer_boot_menu.png</phrase></textobject></inlinemediaobject> 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/02-select_a_language.png"/></imageobject><textobject><phrase>02-select_a_language.png</phrase></textobject></inlinemediaobject> 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/03-select_your_location.png"/></imageobject><textobject><phrase>03-select_your_location.png</phrase></textobject></inlinemediaobject> 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/04-Configure_the_keyboard.png"/></imageobject><textobject><phrase>04-Configure_the_keyboard.png</phrase></textobject></inlinemediaobject> 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/05-Detect_and_mount_CD-ROM.png"/></imageobject><textobject><phrase>05-Detect_and_mount_CD-ROM.png</phrase></textobject></inlinemediaobject> 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/06-Load_installer_components_from_CD.png"/></imageobject><textobject><phrase>06-Load_installer_components_from_CD.png</phrase></textobject></inlinemediaobject> 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/07-Detect_network_hardware.png"/></imageobject><textobject><phrase>07-Detect_network_hardware.png</phrase></textobject></inlinemediaobject> 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/08-Choose_Debian_Edu_profile.png"/></imageobject><textobject><phrase>08-Choose_Debian_Edu_profile.png</phrase></textobject></inlinemediaobject> 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/09-Really_use_the_automatic_partitioning_tool.png"/></imageobject><textobject><phrase>09-Really_use_the_automatic_partitioning_tool.png</phrase></textobject></inlinemediaobject> 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/10-Really_use_the_automatic_partitioning_tool-Yes.png"/></imageobject><textobject><phrase>10-Really_use_the_automatic_partitioning_tool-Yes.png</phrase></textobject></inlinemediaobject> 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/11-Participate_in_the_package_usage_survey.png"/></imageobject><textobject><phrase>11-Participate_in_the_package_usage_survey.png</phrase></textobject></inlinemediaobject> 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/12-Set_up_users_and_passwords.png"/></imageobject><textobject><phrase>12-Set_up_users_and_passwords.png</phrase></textobject></inlinemediaobject> 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/12a-Set_up_users_and_passwords.png"/></imageobject><textobject><phrase>12a-Set_up_users_and_passwords.png</phrase></textobject></inlinemediaobject> 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/12b-Set_up_users_and_passwords.png"/></imageobject><textobject><phrase>12b-Set_up_users_and_passwords.png</phrase></textobject></inlinemediaobject> 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/12c-Set_up_users_and_passwords.png"/></imageobject><textobject><phrase>12c-Set_up_users_and_passwords.png</phrase></textobject></inlinemediaobject> 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/12d-Setting-up-the-partitioner.png"/></imageobject><textobject><phrase>12d-Setting-up-the-partitioner.png</phrase></textobject></inlinemediaobject> 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/12e-creating_ext4.png"/></imageobject><textobject><phrase>12e-creating_ext4.png</phrase></textobject></inlinemediaobject> 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/13-Install+the+base+system.png"/></imageobject><textobject><phrase>13-Install the base system.png</phrase></textobject></inlinemediaobject> 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/14-Select_and_install_software.png"/></imageobject><textobject><phrase>14-Select_and_install_software.png</phrase></textobject></inlinemediaobject> 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/17-Select_and_install_software.png"/></imageobject><textobject><phrase>17-Select_and_install_software.png</phrase></textobject></inlinemediaobject> 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/18-Build+LTSP+chroot.png"/></imageobject><textobject><phrase>18-Build LTSP chroot.png</phrase></textobject></inlinemediaobject> 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/19-Install_the_GRUB_boot_loader_on_a_hard_disk.png"/></imageobject><textobject><phrase>19-Install_the_GRUB_boot_loader_on_a_hard_disk.png</phrase></textobject></inlinemediaobject> 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/20-Finish_the_Installation.png"/></imageobject><textobject><phrase>20-Finish_the_Installation.png</phrase></textobject></inlinemediaobject> 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/21-Finish_the_Installation-Installation_complete.png"/></imageobject><textobject><phrase>21-Finish_the_Installation-Installation_complete.png</phrase></textobject></inlinemediaobject> 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/22-Tjener_GRUB_boot_menu.png"/></imageobject><textobject><phrase>22-Tjener_GRUB_boot_menu.png</phrase></textobject></inlinemediaobject> 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/23-Tjener-KDM_Login.png"/></imageobject><textobject><phrase>tjener KDM Login</phrase></textobject></inlinemediaobject> 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/24-Tjener-KDE_Start.png"/></imageobject><textobject><phrase>KDE starting...</phrase></textobject></inlinemediaobject> 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/26-Tjener-KDE_Desktop_Browser.png"/></imageobject><textobject><phrase>KDE and Browser</phrase></textobject></inlinemediaobject> 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/27-Tjener-KDE_Desktop.png"/></imageobject><textobject><phrase>KDE Desktop</phrase></textobject></inlinemediaobject> 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/28-Diskless-WS-GRUB_Boot_menu-PXE.png"/></imageobject><textobject><phrase>28-Diskless-WS-GRUB_Boot_menu-PXE.png</phrase></textobject></inlinemediaobject> 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/29-Diskless-WS-LDM_Login.png"/></imageobject><textobject><phrase>Diskless Workstation Login</phrase></textobject></inlinemediaobject> 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/31-ThinClient-KDE_Desktop.png"/></imageobject><textobject><phrase>KDE Desktop</phrase></textobject></inlinemediaobject> 
</para>
</section>
</section>


<section id="GettingStarted">
<title>Getting started
</title>

<section id="GettingStarted--Minimum_steps_to_get_started">
<title>Minimum steps to get started
</title>
<para>During installation of the main server a first user account was created. In the following text this account will be referenced as "first user". This account is special, as there's no Samba account (can be added via GOsa²), the home directory permission is set to 700 (so <computeroutput>chmod o+x ~</computeroutput> is needed to make personal web pages accessible), and the first user can use <computeroutput>sudo</computeroutput> to become root. 
</para>
<para>After the installation, the first things you need to do as first user are: 
</para><orderedlist numeration="arabic">
<listitem>
<para>Log into the server - with the root account you cannot log in graphically.  
</para></listitem>
<listitem>
<para>Add users with GOsa² 
</para></listitem>
<listitem>
<para>Add workstations with GOsa² - thin-client and diskless workstation can be used directly without this step. 
</para></listitem>
<listitem>
<para>Run <computeroutput>sudo debian-edu-nscd-netgroup-cache disable</computeroutput> in a terminal as a workaround for Debian bug <ulink url="https://bugs.debian.org/791562#">791562</ulink>. 
</para></listitem></orderedlist>
<para>Adding users and workstations is described in detail below, so please read this chapter completely. It covers how to perform these minumum steps correctly as well, as other stuff that everybody will probably need to do. 
</para>
<para>There is additional information available elsewhere in this manual: the <link linkend="Features">New features in Jessie</link> chapter should be read by everyone who is familiar with previous releases. And for those upgrading from a previous release, make sure to read the <link linkend="Upgrades">Upgrades</link> chapter. 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/alert.png"/></imageobject><textobject><phrase>/!\</phrase></textobject></inlinemediaobject> If generic DNS traffic is blocked out of your network and you need to use some specific DNS server to look up internet hosts, you need to tell the DNS server to use this server as its "forwarder".  Update /etc/bind/named.conf.options and specify the IP address of the DNS server to use. 
</para>
<para>The <link linkend="HowTo">HowTo</link> chapter covers more tips and tricks and some frequently asked questions. 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/27-Tjener-KDE_Desktop.png"/></imageobject><textobject><phrase>Debian Edu KDE desktop</phrase></textobject></inlinemediaobject> 
</para>

<section id="GettingStarted--Services_running_on_the_main_server">
<title>Services running on the main server
</title>
<para>There are several services running on the main server which can be managed via a web management interface. We'll describe each service below. 
</para>
</section>
</section>

<section id="GettingStarted--Introduction_to_GOsa.2BALI-">
<title>Introduction to GOsa²
</title>
<para>GOsa² is a web based management tool that helps to manage some important parts of your Debian Edu setup. With GOsa² you can manage (add, modify, or delete) these main groups: 
</para>
<itemizedlist>
<listitem>
<para>User Administration 
</para></listitem>
<listitem>
<para>Group Administration 
</para></listitem>
<listitem>
<para>NIS Netgroup Administrator 
</para></listitem>
<listitem>
<para>Machine Administration 
</para></listitem>
<listitem>
<para>DNS Administration 
</para></listitem>
<listitem>
<para>DHCP Administration 
</para></listitem></itemizedlist>
<para>For GOsa² access you need the Skolelinux main server and a (client) system with a web browser installed which can be the main server itself if it was installed as a so called combined server (main server + thin client server + workstation). If all of the mentioned before is not available, see: <link linkend="Administration--Installing_a_graphical_environment_on_the_main-server_to_use_GOsa.2BALI-">Installing a graphical environment on the main-server to use GOsa²</link>. 
</para>
<para>From a web browser use the URL <ulink url="https://www/gosa"/> for GOsa² access, and log in as the first user. 
</para>
<itemizedlist>
<listitem>
<para>If you are using a new Debian Edu Jessie machine, the site certificate will be known by the browser. 
</para></listitem>
<listitem>
<para>Otherwise, you will get an error message about the SSL certificate being wrong. If you know you are alone on your network, just tell the browser to accept it and ignore that. 
</para></listitem></itemizedlist>
<para>For general information on GOsa² have a look at: <ulink url="https://oss.gonicus.de/labs/gosa/wiki/documentation"/>. 
</para>

<section id="GettingStarted--GOsa.2BALI-_Login_plus_Overview">
<title>GOsa² Login plus Overview
</title>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/gosa2_overview.png"/></imageobject><textobject><phrase>GOsa² overview page after login as the first  user</phrase></textobject></inlinemediaobject> 
</para>
<para>After logging in to GOsa² you will see the overview page of GOsa². 
</para>
<para>Next, you can choose a task in the menu or click any of the task icons on the overview page. For navigation, we recommend using the menu on the left side of the screen, as it will stay visible there on all administration pages offered by GOsa². 
</para>
<para>In Debian Edu, account, group, and system information is stored in an LDAP directory. This data is used not only by the main server, but also by the (diskless) workstations, the thin client servers and the Windows machines on the network. With LDAP, account information about students, pupils, teachers, etc. only needs to be entered once. After information has been provided in LDAP, the information will be available to all systems on the whole Skolelinux network. 
</para>
<para>GOsa² is an administration tool that uses LDAP to store its information and provide a hierarchical department structure. To each "department" you can add user accounts, groups, systems, netgroups, etc. Depending on the structure of your institution, you can use the department structure in GOsa²/LDAP to transfer your organisational structure into the LDAP data tree of the Debian Edu main server. 
</para>
<para>A default Debian Edu main server installation currently provides two "departments": Teachers and Students, plus the base level of the LDAP tree. Student accounts are intended to be added to the "Students" department, teachers to the "Teachers" department; systems (servers, Skolelinux workstations, Windows machines, printers etc.) are currently added to the base level. Find your own scheme for customising this structure. (You can find an example how to create users in year groups, with common home directories for each group in the <ulink url="https://wiki.debian.org/DebianEdu/Documentation/Jessie//HowTo/AdvancedAdministration#User_Customisations_with_GOsa.2BALI-">HowTo/AdvancedAdministration</ulink> chapter of this manual.) 
</para>
<para>Depending on the task that you want to work on (manage users, manage groups, manage systems, etc.) GOsa² presents you with a different view on the selected department (or the base level).  
</para>
</section>
</section>

<section id="GettingStarted--User_Management_with_GOsa.2BALI-">
<title>User Management with GOsa²
</title>
<para>First, click on "Users" in the left navigation menu. The right side of the screen will change to show a table with department folders for "Students" and "Teachers" and the account of the GOsa² Super-Administrator (the first created user). Above this table you can see a field called <emphasis>Base</emphasis> that allows you to navigate through your tree structure (move your mouse over that area and a drop-down menu will appear) and to select a base folder for your intended operations (e.g. adding a new user).  
</para>

<section id="GettingStarted--Adding_users">
<title>Adding users
</title>
<para>Next to that tree navigation item you can see the "Actions" menu. Move your mouse over this item and a submenu appears on screen; choose "Create" here, and then "User". You will be guided by the user creation wizard. 
</para>
<itemizedlist>
<listitem>
<para>The most important thing to add is the template (newstudent or newteacher) and the full name of your user (see image). 
</para></listitem>
<listitem>
<para>As you follow the wizard, you will see that GOsa² generates a username automatically based on the real name. It automatically chooses a username that doesn't exist yet, so multiple users with the same full name are not a problem.  Note that GOsa² can generate invalid usernames if the full name contains non-ASCII characters.  
</para></listitem>
<listitem>
<para>If you don't like the generated username you can select another username offered in the drop-down box, but you do not have a free choice here in the wizard. (If you want to be able to edit the proposed username, open <computeroutput>/etc/gosa/gosa.conf</computeroutput> with an editor and add <computeroutput>allowUIDProposalModification="true"</computeroutput> as an additional option to the "location definition".)  
</para></listitem>
<listitem>
<para>When the wizard has finished, you are presented with the GOsa² screen for your new user object. Use the tabs at the top to check the completed fields. 
</para></listitem></itemizedlist>
<para>After you have created the user (no need to customise fields the wizard has left empty for now), click on the "Ok" button in the bottom-right corner. 
</para>
<para>As the last step GOsa² will ask for a password for the new user. Type that in twice and then click "Set password" in the bottom-right corner. <inlinemediaobject><imageobject><imagedata fileref="./images/alert.png"/></imageobject><textobject><phrase>/!\</phrase></textobject></inlinemediaobject> Some characters may not be allowed as part of the password. 
</para>
<para>If all went well, you can now see the new user in the user list table. You should now be able to log in with that username on any Skolelinux machine within your network. 
</para>
</section>

<section id="GettingStarted--Search.2C_modify_and_delete_users">
<title>Search, modify and delete users
</title>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/filterbox.png"/></imageobject><textobject><phrase>Filterbox</phrase></textobject></inlinemediaobject> 
</para>
<para>To modify or delete a user, use GOsa² to browse the list of users on your system. On the middle of the screen you may open the "Filter" box, a search tool provided by GOsa². If you don't know the exact location of your user account in your tree, change to the base level of the GOsa²/LDAP tree and search there with the option marked "Search in subtrees". 
</para>
<para>When using the "Filter" box, results will immediately appear in the middle of the text in the table list view. Every line represents a user account and the items farthest to the right on each line are little icons that provide actions for you: cut entry, copy entry, edit user, lock account, set password, take snapshot (not usable) and remove user. 
</para>
<para>A new page will show up where you can directly modify information about the user, change the password of the user and modify the list of groups the user belongs to. 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/edit_user.png"/></imageobject><textobject><phrase>Editing user data</phrase></textobject></inlinemediaobject> 
</para>
</section>

<section id="GettingStarted--Set_passwords">
<title>Set passwords
</title>
<para>The students can change their own passwords by logging into GOsa² with their own usernames. To ease the access of GOsa², an entry called Gosa is provided in the desktop's System (or System settings) menu. A logged-in student will be presented with a very minimal version of GOsa² that only allows access to the student's own account data sheet and to the set-password dialog. 
</para>
<para>Teachers logged in under their own usernames have special privileges in GOsa². They are shown a more privileged view of GOsa², and can change the passwords for all student accounts. This may be very handy during class. 
</para>
<para>To administratively set a new password for a user 
</para><orderedlist numeration="arabic">
<listitem>
<para>search for the user to be modified, as explained above 
</para></listitem>
<listitem>
<para>click on the key symbol at the end of the line that the username is shown in 
</para></listitem>
<listitem>
<para>on the page subsequently presented you can set a new password chosen by yourself 
</para></listitem></orderedlist>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/change_password_administratively.png"/></imageobject><textobject><phrase>Set user password</phrase></textobject></inlinemediaobject> 
</para>
<para><emphasis role="strong">Beware of security implications due to easy to guess passwords!</emphasis> 
</para>
</section>

<section id="GettingStarted--Advanced_user_management">
<title>Advanced user management
</title>
<para>It is possible to mass-create users with GOsa² by using a CSV file, which can be created with any good spreadsheet software (for example <computeroutput>localc</computeroutput>). At least, entries for the following fields have to be provided: uid, last name (sn), first name (givenName) and password. Make sure that there are no duplicate entries in the uid field. Please note that the check for duplicates must include already existing uid entries in LDAP (which could be obtained by executing <computeroutput>getent passwd | grep tjener/home | cut -d":" -f1</computeroutput> on the command line).    
</para>
<para>These are the format guidelines for such a CSV file (GOsa² is quite intolerant about them): 
</para>
<itemizedlist>
<listitem>
<para>Use "," as field separator 
</para></listitem>
<listitem>
<para>Do not use quotes 
</para></listitem>
<listitem>
<para>The CSV file <emphasis role="strong">must not</emphasis> contain a header line (of the sort that normally contains the column names) 
</para></listitem>
<listitem>
<para>The order of the fields is not relevant, and can be defined in GOsa² during the mass import 
</para></listitem></itemizedlist>
<para>The mass import steps are: 
</para><orderedlist numeration="arabic">
<listitem>
<para>click the "LDAP Manager" link in the navigation menu on the left 
</para></listitem>
<listitem>
<para>click the "Import" tab in the screen on the right 
</para></listitem>
<listitem>
<para>browse your local disk and select a CSV file with the list of users to be imported 
</para></listitem>
<listitem>
<para>choose an available user template that should be applied during mass import (such as NewTeacher or NewStudent) 
</para></listitem>
<listitem>
<para>click the "Import" button in the bottom-right corner 
</para></listitem></orderedlist>
<para>It's a good idea to do some tests first, preferably using a CSV file with a few fictional users, which can be deleted later. 
</para>
</section>
</section>

<section id="GettingStarted--Group_Management_with_GOsa.2BALI-">
<title>Group Management with GOsa²
</title>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/create_group.png"/></imageobject><textobject><phrase>create group</phrase></textobject></inlinemediaobject> 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/list_groups.png"/></imageobject><textobject><phrase>create group</phrase></textobject></inlinemediaobject> 
</para>
<para>The management of groups is very similar to the management of users.  
</para>
<para>You can enter a name and a description per group. Make sure that you choose the right level in the LDAP tree when creating a new group.  
</para>
<para>By default, the appropriate Samba group isn't created. If you forgot to check the Samba group option during group creation, you can modify the group later on. 
</para>
<para>Adding users to a newly created group takes you back to the user list, where you most probably would like to use the filter box to find users. Check the LDAP tree level, too. 
</para>
<para>The groups entered in the group management are also regular unix groups, so you can use them for file permissions too. 
</para>

<section id="GettingStarted--Group_Management_on_the_command_line">
<title>Group Management on the command line
</title><screen><![CDATA[# 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"]]></screen>
<para>This is explained in more detail in the <link linkend="NetworkClients--Connecting_Windows_machines_to_the_network_.2BAC8_Windows_integration">HowTo/NetworkClients</link> chapter of this manual. 
</para>
</section>
</section>

<section id="GettingStarted--Machine_Management_with_GOsa.2BALI-">
<title>Machine Management with GOsa²
</title>
<para>Machine management basically allows you to manage all networked devices in your Debian Edu network. Every machine added to the LDAP directory using GOsa² has a hostname, an IP address, a MAC address and a domain name (which is usually "intern"). For a fuller description of the Debian Edu architecture see the <link linkend="Architecture">architecture</link> chapter of this manual. 
</para>
<para>Diskless workstations and thin-clients work out-of-the-box when connected to the main network. Only workstations with disks <emphasis role="strong">have</emphasis> to be added with GOsa², but all <emphasis role="strong">can</emphasis>. 
</para>
<para>To add a machine, use the GOsa² main menu, systems, add. You can use an IP address/hostname from the preconfigured address space 10.0.0.0/8. Currently there are only two predefined fixed addresses: 10.0.2.2 (tjener) and 10.0.0.1 (gateway). The addresses from 10.0.16.20 to 10.0.31.254 (roughly 10.0.16.0/20 or 4000 hosts) are reserved for DHCP and are assigned dynamically. 
</para>
<para>To assign a host with the MAC address 52:54:00:12:34:10 a static IP address in GOsa² you have to enter the MAC address, the hostname and the IP; alternatively you might click the <computeroutput>Propose ip</computeroutput> button which will show the first free fixed address in 10.0.0.0/8, most probably something like 10.0.0.2 if you add the first machine this way. It may be better to first think about your network: for example you could use 10.0.0.x with x&gt;10 and x&lt;50 for servers, and x&gt;100 for workstations. Don't forget to activate the just added system. With the exception of the main server all systems will then have a matching icon.  
</para>
<para>If the machines have booted as thin clients/diskless workstations or have been installed using any of the networked profiles, the <computeroutput>sitesummary2ldapdhcp</computeroutput> script can be used to automatically add machines to GOsa², <computeroutput>sitesummary2ldapdhcp -h</computeroutput> shows usage information. Please note, that the IP addresses shown after usage of <computeroutput>sitesummary2ldapdhcp</computeroutput> belong to the dynamic IP range. These systems can then be modified though to suit your network: rename each new system, activate DHCP and DNS, add it to netgroups, if needed; reboot the system afterwards.   The following screenshots show how this looks in practice: 
</para><screen><![CDATA[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: ]]></screen>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/gosa_systems_list.png"/></imageobject><textobject><phrase>GOsa² systems listing</phrase></textobject></inlinemediaobject> 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/gosa_systems_host_details.png"/></imageobject><textobject><phrase>Host details</phrase></textobject></inlinemediaobject> 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/gosa_systems_edit_host.png"/></imageobject><textobject><phrase>Modify host</phrase></textobject></inlinemediaobject> 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/gosa_systems_add_netgroup.png"/></imageobject><textobject><phrase>Add netgroup</phrase></textobject></inlinemediaobject> 
</para>
<para>A cronjob updating DNS runs every hour; <computeroutput>su -c ldap2bind</computeroutput> can be used to trigger the update manually.  
</para>

<section id="GettingStarted--Search_and_delete_machines">
<title>Search and delete machines
</title>
<para>Searching for and deleting machines is quite similar to searching for and deleting users, so that information is not repeated here. 
</para>
</section>

<section id="GettingStarted--Modify_existing_machines_.2BAC8_Netgroup_management">
<title>Modify existing machines / Netgroup management
</title>
<para>After adding a machine to the LDAP tree using GOsa², you can modify its properties using the search functionality and clicking on the machine name (as you would with users). 
</para>
<para>The format of these system entries is similar to the one you already know from modifying user entries, but the fields mean different things in this context. 
</para>
<para>For example, adding a machine to a <computeroutput>NetGroup</computeroutput> does not modify the file access or command execution permissions for that machine or the users logged in to that machine; instead it restricts the services that machine can use on your main-server. 
</para>
<para>The default installation provides the <computeroutput>NetGroups</computeroutput> 
</para>
<itemizedlist>
<listitem>
<para>cups-queue-autoflush-hosts 
</para></listitem>
<listitem>
<para>cups-queue-autoreenable-hosts 
</para></listitem>
<listitem>
<para>fsautoresize-hosts 
</para></listitem>
<listitem>
<para>ltsp-server-hosts 
</para></listitem>
<listitem>
<para>netblock-hosts 
</para></listitem>
<listitem>
<para>printer-hosts 
</para></listitem>
<listitem>
<para>server-hosts 
</para></listitem>
<listitem>
<para>shutdown-at-night-hosts 
</para></listitem>
<listitem>
<para>winstation-hosts 
</para></listitem>
<listitem>
<para>workstation-hosts 
</para></listitem></itemizedlist>
<para>Currently the <computeroutput>NetGroup</computeroutput> functionality is used for 
</para>
<itemizedlist>
<listitem>
<para>NFS. 
</para>
<itemizedlist><listitem override="none">
<para>The home directories are exported by the main-server to be mounted by the workstations and the LTSP servers. For security reasons, only hosts within the workstation-hosts, ltsp-server-hosts and server-hosts <computeroutput>NetGroups</computeroutput> can mount the exported NFS shares. So it is rather important to remember to configure these kinds of machines properly in the LDAP tree using GOsa² and to configure them to use static IP addresses from LDAP. 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/alert.png"/></imageobject><textobject><phrase>/!\</phrase></textobject></inlinemediaobject> Remember to configure workstations and ltsp-servers properly with GOsa², or your users won't be able to access their home directories. Diskless workstations and thin clients don't use NFS, so they don't need to be configured. 
</para></listitem></itemizedlist></listitem>
<listitem>
<para>fs-autoresize 
</para>
<itemizedlist><listitem override="none">
<para>Debian Edu machines in this group will automatically resize LVM partitions that run out of space. 
</para></listitem></itemizedlist></listitem>
<listitem>
<para>shutdown at night 
</para>
<itemizedlist><listitem override="none">
<para>Debian Edu machines in this group will automatically shut down at night to save energy. 
</para></listitem></itemizedlist></listitem>
<listitem>
<para>CUPS (cups-queue-autoflush-hosts and cups-queue-autoreenable-hosts) 
</para>
<itemizedlist><listitem override="none">
<para>Debian Edu machines in these groups will automatically flush all print queues every night, and re-enable any disabled print queue every hour. 
</para></listitem></itemizedlist></listitem>
<listitem>
<para>netblock-hosts 
</para>
<itemizedlist><listitem override="none">
<para>Debian Edu machines in this group will only be allowed to connect to machines on the local network.  Combined with web proxy restrictions this might be used during exams. 
</para></listitem></itemizedlist></listitem></itemizedlist>
<para>Another important part of machine configuration is the 'Samba host' flag (in the 'Host information' area). If you plan to add existing Windows systems to the Skolelinux Samba domain, you need to add the Windows host to the LDAP tree and set this flag to be able to join the Windows host to the domain. For more information about adding Windows hosts to the Skolelinux network see the <link linkend="NetworkClients--Connecting_Windows_machines_to_the_network_.2BAC8_Windows_integration">HowTo/NetworkClients</link> chapter of this manual. 
</para>
</section>
</section>
</section>

<section id="GettingStarted--Printer_Management">
<title>Printer Management
</title>
<para>For Printer Management point your web browser to <ulink url="https://www:631"/>. 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 <computeroutput>SystemGroup lpadmin</computeroutput>. Existing GOsa² groups that might be used are <computeroutput>gosa-admins</computeroutput> (with the first user as member), <computeroutput>teachers</computeroutput> and <computeroutput>jradmins</computeroutput> (no members after installation).  
</para>
</section>

<section id="GettingStarted--Clock_synchronisation">
<title>Clock synchronisation
</title>
<para>The default configuration in Debian Edu is to keep the clocks on all machines synchronous but not necessarily correct.  NTP is used to update the time. The clocks will be synchronised with an external source by default.  This can cause machines to keep the external Internet connection open if it is created when used. 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/alert.png"/></imageobject><textobject><phrase>/!\</phrase></textobject></inlinemediaobject> If you use dialup or ISDN and pay per minute, you want to change this default setting. 
</para>
<para>To disable synchronisation with an external clock, the file /etc/ntp.conf on the main-server and all clients and LTSP chroots need to be modified.  Add comment ("#") marks in front of the <computeroutput>server</computeroutput> entries.  After this, the NTP server needs to be restarted by running <computeroutput>/etc/init.d/ntp restart</computeroutput> as root.  To test if a machine is using the external clock sources, run <computeroutput>ntpq -c lpeer</computeroutput>. 
</para>
</section>

<section id="GettingStarted--Extending_full_partitions">
<title>Extending full partitions
</title>
<para>Because of a possible bug with automatic partitioning, some partitions might be too full after installation.  To extend these partitions, run <computeroutput>debian-edu-fsautoresize -n</computeroutput> as root.  See the "Resizing Partitions" HowTo in the <link linkend="Administration--Resizing_Partitions">administration HowTo chapter</link> for more information. 
</para>
</section>


<section id="Maintenance">
<title>Maintenance
</title>

<section id="Maintenance--Updating_the_software">
<title>Updating the software
</title>
<para>This section explains how to use <computeroutput>apt-get upgrade</computeroutput>. 
</para>
<para>Using <computeroutput>apt-get</computeroutput> is really simply. To update a system you need to execute two commands on the command line as root: <computeroutput>apt-get update</computeroutput> (which updates the lists of available packages) and <computeroutput>apt-get upgrade</computeroutput> (which upgrades the packages for which an upgrade is available). 
</para>
<para>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. 
</para><screen><![CDATA[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]]></screen>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/alert.png"/></imageobject><textobject><phrase>/!\</phrase></textobject></inlinemediaobject> It is important to run <computeroutput>ltsp-update-kernels</computeroutput> if a new kernel was installed in the LTSP chroot, to keep the kernel and kernel modules in sync.  The kernel is handed out via TFTP when the machine does PXE boot, and the kernel modules are fetched from the LTSP chroot. 
</para>
<para>It is also a good idea to install <computeroutput>cron-apt</computeroutput> and <computeroutput>apt-listchanges</computeroutput> and configure them to send mail to an address you are reading. 
</para>
<para><computeroutput>cron-apt</computeroutput> will notify you once a day via email about any packages that can be upgraded. It does not install these upgrades, but does download them (usually in the night), so you don't have to wait for the download when you do <computeroutput>apt-get upgrade</computeroutput>. 
</para>
<para>Automatic installation of updates can be done easily if desired, it just needs the <computeroutput>unattended-upgrades</computeroutput> package to be installed and configured as described on <ulink url="https://wiki.debian.org/UnattendedUpgrades">wiki.debian.org/UnattendedUpgrades</ulink>. 
</para>
<para><computeroutput>apt-listchanges</computeroutput> can send new changelog entries to you via email, or alternativly display them in the terminal when running <computeroutput>aptitude</computeroutput> or <computeroutput>apt-get</computeroutput>. 
</para>

<section id="Maintenance--Keep_yourself_informed_about_security_updates">
<title>Keep yourself informed about security updates
</title>
<para>Running <computeroutput>cron-apt</computeroutput> as described above is a good way to learn when security updates are available for installed packages. Another way to stay informed about security updates is to subscribe to the <ulink url="http://lists.debian.org/debian-security-announce/">Debian security-announce mailinglist</ulink>, which has the benefit of also telling you what the security update is about. The downside (compared to <computeroutput>cron-apt</computeroutput>) is that it also includes information about updates for packages which aren't installed. 
</para>
</section>
</section>

<section id="Maintenance--Backup_Management">
<title>Backup Management
</title>
<para>For backup management point your browser to <ulink url="https://www/slbackup-php"/>. Please note that you need to access this site via SSL, since you have to enter the root password there. If you try to access this site without using SSL it will fail. Note: the site will only work if you temporarily allow ssh root login on the backup server (tjener by default). 
</para>
<para>By default tjener will back up <computeroutput>/skole/tjener/home0</computeroutput>, <computeroutput>/etc/</computeroutput>, <computeroutput>/root/.svk</computeroutput> and LDAP to /skole/backup which is under the LVM. If you only want to have spare copies of things (in case you delete them) this setup should be fine for you. 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/alert.png"/></imageobject><textobject><phrase>/!\</phrase></textobject></inlinemediaobject> Be aware that this backup scheme doesn't protect you from failing hard drives. 
</para>
<para>If you want to back up your data to an external server, a tape device or another hard drive you'll have to modify the existing configuration a bit. 
</para>
<para>If you want to restore a complete folder, your best option is to use the command-line: 
</para><screen><![CDATA[$ sudo rdiff-backup -r <date>  \
   /skole/backup/tjener/skole/tjener/home0/user \
   /skole/tjener/home0/user_<date>]]></screen>
<para>This will leave the content from <computeroutput>/skole/tjener/home0/user</computeroutput> for <computeroutput>&lt;date&gt;</computeroutput> in the folder <computeroutput>/skole/tjener/home0/user_&lt;date&gt;</computeroutput> 
</para>
<para>If you want to restore a single file, then you should be able to select the file (and the version) from the web interface, and download only that file. 
</para>
<para>If you want to get rid of older backups, choose "Maintenance" in the menu on the backup page and select the oldest snapshot to keep: 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/slbackup-php_maintenance.png"/></imageobject><textobject><phrase>slbackup-php Maintenance</phrase></textobject></inlinemediaobject> 
</para>
</section>

<section id="Maintenance--Server_Monitoring">
<title>Server Monitoring
</title>

<section id="Maintenance--Munin">
<title>Munin
</title>
<para>The Munin trend reporting system is available from <ulink url="https://www/munin/"/>.  It provides system status measurement graphs on a daily, weekly, monthly and yearly basis, and provides the system administrator with help when looking for bottlenecks and the source of system problems. 
</para>
<para>The list of machines being monitored using Munin is generated automatically, based on the list of hosts reporting to sitesummary.  All hosts with the package munin-node installed are registered for Munin monitoring.  It will normally take one day from a machine being installed until Munin monitoring starts, because of the order the cron jobs are executed.  To speed up the process, run <computeroutput>sitesummary-update-munin</computeroutput> as root on the sitesummary server (normally the main-server).  This will update the <computeroutput>/etc/munin/munin.conf</computeroutput> file. 
</para>
<para>The set of measurements being collected is automatically generated on each machine using the <computeroutput>munin-node-configure</computeroutput> program, which probes the plugins available from <computeroutput>/usr/share/munin/plugins/</computeroutput> and symlinks the relevant ones to <computeroutput>/etc/munin/plugins/</computeroutput>. 
</para>
<para>Information about Munin is available from <ulink url="http://munin.projects.linpro.no/"/> . 
</para>
</section>

<section id="Maintenance--Nagios">
<title>Nagios
</title>
<para>Nagios system and service monitoring is available from <ulink url="https://www/nagios3/"/>. The set of machines and services being monitored is automatically generated using information collected by the sitesummary system. The machines with the profile Main-server and Thin-client-server receive full monitoring, while workstations and thin clients receive simple monitoring. To enable full monitoring on a workstation, install the <computeroutput>nagios-nrpe-server</computeroutput> package on the workstation. 
</para>
<para>The username is <computeroutput>nagiosadmin</computeroutput> and the default password is <computeroutput>skolelinux</computeroutput>. For security reasons, avoid using the same password as root. To change the password you can run the following command as root: 
</para><screen><![CDATA[htpasswd /etc/nagios3/htpasswd.users nagiosadmin]]></screen>
<para>By default Nagios does not send email. This can be changed by replacing <computeroutput>notify-by-nothing</computeroutput> with <computeroutput>host-notify-by-email</computeroutput> and <computeroutput>notify-by-email</computeroutput> in the file <computeroutput>/etc/nagios3/sitesummary-template-contacts.cfg</computeroutput>. 
</para>
<para>The Nagios configuration file used is <computeroutput>/etc/nagios3/sitesummary.cfg</computeroutput>.  The sitesummary cron job generates <computeroutput>/var/lib/sitesummary/nagios-generated.cfg</computeroutput> with the list of hosts and services to monitor. 
</para>
<para>Extra Nagios checks can be put in the file <computeroutput>/var/lib/sitesummary/nagios-generated.cfg.post</computeroutput> to get them included in the generated file. 
</para>
<para>Information about Nagios is available from <ulink url="http://www.nagios.org/"/> or in the <computeroutput>nagios3-doc</computeroutput> package. 
</para>

<section id="Maintenance--Common_Nagios_warnings_and_how_to_handle_them">
<title>Common Nagios warnings and how to handle them
</title>
<para>Here are instructions on how to handle the most common Nagios warnings. 
</para>

<section id="Maintenance--DISK_CRITICAL_-_free_space:_.2BAC8usr_309_MB_.285.25_inode.3D47.25.29:">
<title>DISK CRITICAL - free space: /usr 309 MB (5% inode=47%):
</title>
<para>The partition (/usr/ in the example) is too full.  There are in general two ways to handle this: (1) remove some files or (2) increase the size of the partition.  If the partition is /var/, purging the APT cache by calling <computeroutput>apt-get clean</computeroutput> might remove some files.  If there is more room available in the LVM volume group, running the program <computeroutput>debian-edu-fsautoresize</computeroutput> to extend the partitions might help.  To run this program automatically every hour, the host in question can be added to the <computeroutput>fsautoresize-hosts</computeroutput> netgroup. 
</para>
</section>

<section id="Maintenance--APT_CRITICAL:_13_packages_available_for_upgrade_.2813_critical_updates.29.">
<title>APT CRITICAL: 13 packages available for upgrade (13 critical updates).
</title>
<para>New package are available for upgrades.  The critical ones are normally security fixes.  To upgrade, run 'apt-get upgrade &amp;&amp; apt-get dist-upgrade' as root in a terminal or log in via ssh to do the same.  On thin client servers, remember to also update the LTSP chroot using <computeroutput>ltsp-chroot apt-get update &amp;&amp; ltsp-chroot apt-get upgrade</computeroutput>. 
</para>
<para>If you do not want to manually upgrade packages and trust Debian to do a good job with new versions, you can install the <computeroutput>unattended-upgrades</computeroutput> package and configure it to automatically upgrade all new packages every night.  This will not upgrade the LTSP chroots. 
</para>
<para>To upgrade the LTSP chroot, one can use <computeroutput>ltsp-chroot apt-get update &amp;&amp; ltsp-chroot apt-get upgrade</computeroutput>.  On 64-bit servers, one will have to add <computeroutput>-a i386</computeroutput> as an argument to ltsp-chroot.  It is a good idea to update the chroot when updating the host system. 
</para>
</section>

<section id="Maintenance--WARNING_-_Reboot_required_:_running_kernel_.3D_2.6.32-37.81.0.2C_installed_kernel_.3D_2.6.32-38.83.0">
<title>WARNING - Reboot required : running kernel = 2.6.32-37.81.0, installed kernel = 2.6.32-38.83.0
</title>
<para>The running kernel is older than the newest installed kernel, and a reboot is required to activate the newest installed kernel.  This is normally fairly urgent, as new kernels normally show up in Debian Edu to fix security issues. 
</para>
</section>

<section id="Maintenance--WARNING:_CUPS_queue_size_-_61">
<title>WARNING: CUPS queue size - 61
</title>
<para>The printer queues in CUPS have a lot of jobs pending.  This is most likely because of a unavailable printer.  Disabled print queues are enabled every hour on hosts that are member of the <computeroutput>cups-queue-autoreenable-hosts</computeroutput> netgroup, so for such hosts no manual action should be required.  The print queues are emptied every night on hosts that are member of the <computeroutput>cups-queue-autoflush-hosts</computeroutput> netgroup.  If a host have a lot of jobs in their queue, consider adding this host to one or both of these netgroups. 
</para>
</section>
</section>
</section>

<section id="Maintenance--Sitesummary">
<title>Sitesummary
</title>
<para>Sitesummary is used to collect information from each computer and submit it to the central server.  The information collected is available in <computeroutput>/var/lib/sitesummary/entries/</computeroutput>. Scripts in <computeroutput>/usr/lib/sitesummary/</computeroutput> are available to generate reports. 
</para>
<para>A simple report from sitesummary without any details is available from <ulink url="https://www/sitesummary/"/>. 
</para>
<para>Some documentation on sitesummary is available from <ulink url="http://wiki.debian.org/DebianEdu/HowTo/SiteSummary"/> 
</para>
</section>
</section>

<section id="Maintenance--More_information_about_Debian_Edu_customisations">
<title>More information about Debian Edu customisations
</title>
<para>More information about Debian Edu customisations useful for system administrators can be found in the <link linkend="Administration">Administration Howto chapter</link> and in the <link linkend="AdvancedAdministration">Advanced administration Howto chapter</link> 
</para>
</section>
</section>


<section id="Upgrades">
<title>Upgrades
</title>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/alert.png"/></imageobject><textobject><phrase>/!\</phrase></textobject></inlinemediaobject> Before reading this upgrade guide, please note that live updates to your production servers are carried out at your own risk. <emphasis role="strong">Debian Edu/Skolelinux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law.</emphasis>  
</para>
<para>Please read this chapter and the <link linkend="Features">New features in Jessie</link> chapter of this manual completely before attempting to upgrade. 
</para>

<section id="Upgrades--General_notes_on_upgrading">
<title>General notes on upgrading
</title>
<para>Upgrading Debian from one distribution to the next is generally rather easy. For Debian Edu this is unfortunately not yet true as we modify configuration files in ways we shouldn't. (See Debian bug <ulink url="https://bugs.debian.org/311188#">311188</ulink> for more information.) Upgrading is still possible but may require some work.  
</para>
<para>In general, upgrading the servers is more difficult than the workstations and the main-server is the most difficult to upgrade. The diskless machines are easy, as their chroot environment can be deleted and recreated, if you haven't modified it. If you have, the chroot is basically a workstation chroot anyway, so rather easy to upgrade. 
</para>
<para>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. 
</para>
<para>Make sure to also read the information about the current Debian Stable release in its <ulink url="http://www.debian.org/releases/stable/installmanual">installation manual</ulink>. 
</para>
<para>It may also be wise to wait a bit and keep running Oldstable for a few weeks longer, so that others can test the upgrade and document any problems they experience. The Oldstable release of Debian Edu will receive continued support for some time after the next Stable release, but when Debian <ulink url="http://www.debian.org/security/faq#lifespan">ceases support for Oldstable</ulink>, Debian Edu will necessarily do the same. 
</para>
</section>

<section id="Upgrades--Upgrades_from_Debian_Edu_Wheezy">
<title>Upgrades from Debian Edu Wheezy
</title>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/alert.png"/></imageobject><textobject><phrase>/!\</phrase></textobject></inlinemediaobject> Be prepared: make sure you have tested the upgrade from Wheezy in a test environment or have backups ready to be able to go back.  
</para>
<para>Please note that the following recipe applies to a default Debian Edu main server installation (desktop=kde, profiles Main-Server, Workstation, Thin-Client-Server). (For a general overview concerning wheezy to jessie upgrade, see: <ulink url="https://www.debian.org/releases/jessie/releasenotes"/>) 
</para>
<para>Don't use X, use a virtual console, log in as root. Read all debconf information carefully, choose 'keep the local version currently installed'; in most cases hitting return will be fine. Press 'q' to quit the apt-listchanges pager once you've read the information. 
</para>

<section id="Upgrades--Upgrade_the_server_side">
<title>Upgrade the server side
</title>
<itemizedlist>
<listitem>
<para>Make sure the current system is up-to-date. 
</para></listitem></itemizedlist><screen><![CDATA[apt-get update
apt-get -y upgrade]]></screen>
<itemizedlist>
<listitem>
<para>Do the actual upgrade. 
</para></listitem></itemizedlist><screen><![CDATA[sed -i 's/wheezy/jessie/g' /etc/apt/sources.list
apt-get update
apt-get -y dist-upgrade]]></screen>
<para>If <computeroutput>apt-get</computeroutput> finishes with an error, try to fix it and/or run <computeroutput>apt-get -f install</computeroutput> and then <computeroutput>apt-get -y dist-upgrade</computeroutput> once again. 
</para>
<itemizedlist>
<listitem>
<para>Apply debian-edu configuration (takes some time). 
</para></listitem></itemizedlist><screen><![CDATA[cfengine-debian-edu -D installation]]></screen>
<itemizedlist>
<listitem>
<para>Regenerate <computeroutput>gosa.secrets</computeroutput> to make GOsa² work with new php version; backup <computeroutput>gosa.conf</computeroutput> just in case it has been modified. 
</para></listitem></itemizedlist><screen><![CDATA[rm /etc/gosa/gosa.secrets
cp /etc/gosa/gosa.conf /etc/gosa/gosa.conf.wheezy_version
cp /etc/gosa/gosa.conf.orig /etc/gosa/gosa.conf
gosa-encrypt-passwords]]></screen>
<itemizedlist>
<listitem>
<para>Adjust the &lt;conf&gt; and &lt;main&gt; sections in /etc/gosa/gosa.conf: 
</para>
<itemizedlist><listitem override="none">
<para>Replace the config version string with a new one like this: <computeroutput>&lt;conf configVersion="Managed-by-Debian-Edu"&gt;</computeroutput> 
</para>
<para>Remove the sambaHashHook item so that &lt;main&gt; ends like this: <computeroutput>passwordHook=""&gt;</computeroutput> 
</para></listitem></itemizedlist></listitem>
<listitem>
<para>Install missing package; the package name was obtained using <computeroutput>/usr/lib/debian-edu-config/testsuite/taskpkgs | grep error:</computeroutput> after the step above. 
</para></listitem></itemizedlist><screen><![CDATA[apt-get -y install killer]]></screen>
<itemizedlist>
<listitem>
<para>Check if the upgraded system works. 
</para></listitem></itemizedlist>
<para>Reboot and test if it works like before: Log in as first user and test if the GOsa² gui is working, if you're able to connect LTSP clients and workstations, if you can add/remove a netgroup membership of a system, if you can send and receive internal email, if you can manage printers, and maybe other site specific things. Use the testsuite scripts if you spot an error. 
</para>
<itemizedlist>
<listitem>
<para>Consider an optional step (Debian bug <ulink url="https://bugs.debian.org/779646#">779646</ulink>). 
</para></listitem></itemizedlist>
<para>Clean up after cfengine has autoremoved packages without purging. This will remove configuration files of removed packages and should only be used with care; use <computeroutput>dpkg -l|grep ^rc</computeroutput> first to check what would be removed, then run <computeroutput>for i in $(dpkg -l|grep ^rc|cut -d' ' -f3);do dpkg -P $i;done</computeroutput>. 
</para>
</section>

<section id="Upgrades--Upgrade_LTSP_chroot_.28default_arch_i386.29">
<title>Upgrade LTSP chroot (default arch i386)
</title><screen><![CDATA[sed -i '/jessie/ s/deb/#deb/g' /opt/ltsp/i386/etc/apt/sources.list
ltsp-chroot -m -a i386 apt-get update
ltsp-chroot -m -a i386 apt-get -y upgrade
sed -i 's/wheezy/jessie/g' /opt/ltsp/i386/etc/apt/sources.list
ltsp-chroot -m -a i386 apt-get update
ltsp-chroot -m -a i386 apt-get -y dist-upgrade
ltsp-chroot -m -a i386 apt-get -f install
ltsp-chroot -m -a i386 apt-get -y dist-upgrade]]></screen>
<para>If <computeroutput>apt-get</computeroutput> still finishes with an error, try to fix it and/or run the <computeroutput>apt-get</computeroutput> commands again, esp. <computeroutput>apt-get -f install</computeroutput>. 
</para>
<itemizedlist>
<listitem>
<para>Install missing package in the LTSP chroot. 
</para></listitem></itemizedlist><screen><![CDATA[ltsp-chroot -m -a i386 apt-get -y install killer]]></screen>
<itemizedlist>
<listitem>
<para>Cleaning up. 
</para></listitem></itemizedlist><screen><![CDATA[ltsp-chroot -m -a i386 apt-get --purge autoremove]]></screen>
<itemizedlist>
<listitem>
<para>Update LTSP support on the server side. 
</para></listitem></itemizedlist><screen><![CDATA[ltsp-update-kernels
ltsp-update-sshkeys]]></screen>
</section>

<section id="Upgrades--Recreating_an_LTSP_chroot">
<title>Recreating an LTSP chroot
</title>
<para>On the LTSP server(s) the LTSP chroot could also be recreated. The new chroot will still  support both thin-clients and diskless workstations. 
</para>
<para>Remove <computeroutput>/opt/ltsp/i386</computeroutput> (or <computeroutput>/opt/ltsp/amd64</computeroutput>, depending on your setup). If you have enough diskspace, consider backing it up.  
</para>
<para>Recreate the chroot by running <computeroutput>debian-edu-ltsp --arch i386</computeroutput> (or <computeroutput>debian-edu-ltsp --arch amd64</computeroutput>) as root.  
</para>
</section>
</section>

<section id="Upgrades--Upgrades_from_older_Debian_Edu_.2BAC8_Skolelinux_installations_.28before_Wheezy.29">
<title>Upgrades from older Debian Edu / Skolelinux installations (before Wheezy)
</title>
<para>To upgrade from any older release, you will need to upgrade to the Wheezy based Debian Edu release first, before you can follow the instructions provided above. Instructions are given in the <ulink url="https://wiki.debian.org/DebianEdu/Documentation/Wheezy#">Manual for Debian Edu Wheezy</ulink> about how to upgrade to Wheezy from the previous release, Squeeze, and the Squeeze manual covers the one before that! (Lenny was it's name and before that there was even another one, based on what was called Etch.) 
</para>
</section>
</section>


<section id="HowTo">
<title>HowTo
</title>
<itemizedlist>
<listitem>
<para>HowTos for <link linkend="Administration">general administration</link> 
</para></listitem>
<listitem>
<para>HowTos for <link linkend="AdvancedAdministration">advanced administration</link> 
</para></listitem>
<listitem>
<para>HowTos for <link linkend="Desktop">the desktop</link> 
</para></listitem>
<listitem>
<para>HowTos for <link linkend="NetworkClients">networked clients</link> 
</para></listitem>
<listitem>
<para>HowTos for <link linkend="Samba">Samba</link> 
</para></listitem>
<listitem>
<para>HowTos for <link linkend="TeachAndLearn">teaching and learning</link> 
</para></listitem>
<listitem>
<para>HowTos for <link linkend="Users">users</link> 
</para></listitem></itemizedlist>
</section>


<section id="Administration">
<title>HowTos for general administration
</title>
<para>The <link linkend="GettingStarted">Getting Started</link> and <link linkend="Maintenance">Maintenance</link> chapters describe how to get started with Debian Edu and how to do the basic maintenance work. The howtos in this chapter have some more "advanced" tips and tricks. 
</para>

<section id="Administration--Configuration_history:_tracking_.2BAC8etc.2BAC8_using_the_git_version_control_system">
<title>Configuration history: tracking /etc/ using the git version control system
</title>
<para>With the introduction of <computeroutput>etckeeper</computeroutput> in Debian Edu Squeeze (previous versions used <computeroutput>etcinsvk</computeroutput> which was removed from Debian), all files in <computeroutput>/etc/</computeroutput> are tracked using <ulink url="http://www.git-scm.com/">git</ulink> as a version control system.  
</para>
<para>This makes it possible to see when a file is added, changed and removed, as well as what was changed if the file is a text file. The git repository is stored in <computeroutput>/etc/.git/</computeroutput>. 
</para>
<para>Every hour, any changes are automatically recorded, allowing configuration history to be extracted and reviewed.  
</para>
<para>To look at the history, the command <computeroutput>etckeeper vcs log</computeroutput> is used.  To check the differences between two points in time, a command like <computeroutput>etckeeper vcs diff </computeroutput> can be used.   
</para>
<para>See the output of <computeroutput>man etckeeper</computeroutput> for more information. 
</para>
<para>List of useful commands: 
</para><screen><![CDATA[etckeeper vcs log
etckeeper vcs status
etckeeper vcs diff
etckeeper vcs add .
etckeeper vcs commit -a
man etckeeper]]></screen>

<section id="Administration--Usage_examples">
<title>Usage examples
</title>
<para>On a freshly installed system, try this to see all changes done since the system was installed: 
</para><screen><![CDATA[etckeeper vcs log]]></screen>
<para>See which files are currently not tracked and which are not up-to-date: 
</para><screen><![CDATA[etckeeper vcs status]]></screen>
<para>To manually commit a file, because you don't want to wait up to an hour: 
</para><screen><![CDATA[etckeeper vcs commit -a /etc/resolv.conf]]></screen>
</section>
</section>

<section id="Administration--Resizing_Partitions">
<title>Resizing Partitions
</title>
<para>In Debian Edu, all partitions other than the <computeroutput>/boot/</computeroutput> partition are on logical LVM volumes. With Linux kernels since version 2.6.10, it is possible to extend partitions while they are mounted. Shrinking partitions still needs to happen while the partition is unmounted. 
</para>
<para>It is a good idea to avoid creating very large partitions (over, say, 20GiB), because of the time it takes to run <computeroutput>fsck</computeroutput> on them or to  restore them from backup if the need arises.  It is better, if possible, to create several smaller partitions than one very large one. 
</para>
<para>The helper script <computeroutput>debian-edu-fsautoresize</computeroutput> is provided to make it easier to extend full partitions.  When invoked, it reads the configuration from <computeroutput>/usr/share/debian-edu-config/fsautoresizetab</computeroutput>, <computeroutput>/site/etc/fsautoresizetab</computeroutput> and <computeroutput>/etc/fsautoresizetab</computeroutput>.  It then proposes to extend partitions with too little free space, according to the rules provided in these files.  If run with no arguments, it will only show the commands needed to extend the file system. The argument <computeroutput>-n</computeroutput> is needed to actually execute these commands to extend the file systems. 
</para>
<para>The script is executed automatically every hour on every client listed in the <computeroutput>fsautoresize-hosts</computeroutput> netgroup. 
</para>
<para>When the partition used by the Squid proxy is resized, the value for cache size in <computeroutput>etc/squid/squid.conf</computeroutput> needs to be updated as well.  The helper script <computeroutput>/usr/share/debian-edu-config/tools/squid-update-cachedir</computeroutput> is provided to do this automatically, checking the current partition size of <computeroutput>/var/spool/squid/</computeroutput> and configuring Squid to use 80% of this as its cache size. 
</para>

<section id="Administration--Logical_Volume_Management">
<title>Logical Volume Management
</title>
<para>Logical Volume Management (LVM) enables resizing the partitions while they are mounted and in use. You can learn more about LVM from the <ulink url="http://www.tldp.org/HOWTO/LVM-HOWTO/">LVM HowTo</ulink>. 
</para>
<para>To extend a logical volume manually you simply tell the <computeroutput>lvextend</computeroutput> command how large you want it to grow to. For example, to extend home0 to 30GiB you use the following commands: 
</para><screen><![CDATA[lvextend -L30G /dev/vg_system/skole+tjener+home0
resize2fs /dev/vg_system/skole+tjener+home0]]></screen>
<para>To extend home0 by additional 30GiB, you insert a '+' (-L+30G) 
</para>
</section>
</section>

<section id="Administration--Installing_a_graphical_environment_on_the_main-server_to_use_GOsa.2BALI-">
<title>Installing a graphical environment on the main-server to use GOsa²
</title>
<para>If you (probably accidentally) installed a pure main-server profile and don't have a client with a web-browser handy, it's easy to install a minimal desktop on the main server using this command sequence in a (non-graphical) shell as the user you created during the main server's installation (first user): 
</para><screen><![CDATA[  $ sudo apt-get update
  $ sudo apt-get install gnome-session gnome-terminal iceweasel xorg
  # after installation, start a graphical session for the first user 
  $ startx]]></screen>
</section>

<section id="Administration--Using_ldapvi">
<title>Using ldapvi
</title>
<para><ulink url="http://www.lichteblau.com/ldapvi/manual/">ldapvi</ulink> is a tool to edit the LDAP database with a normal text editor on the commandline. 
</para>
<para>The following needs to be executed: 
</para><screen><![CDATA[ldapvi --ldap-conf -ZD '(cn=admin)']]></screen>
<para>Note: <computeroutput>ldapvi</computeroutput> will use whatever is the default editor. By executing <computeroutput>export EDITOR=vim</computeroutput> in the shell prompt one can configure the environment to get a vi clone as editor. 
</para>
<para>To add an LDAP object using ldapvi, use object sequence number with the string <computeroutput>add</computeroutput> in front of the new LDAP object. 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/alert.png"/></imageobject><textobject><phrase>/!\</phrase></textobject></inlinemediaobject> Warning: <computeroutput>ldapvi</computeroutput> is a very powerful tool. Be careful and don't mess up the LDAP database, same warning applies for JXplorer. 
</para>
</section>

<section id="Administration--JXplorer.2C_an_LDAP_GUI">
<title>JXplorer, an LDAP GUI
</title>
<para>If you prefer a GUI to work with the LDAP database, check out the <computeroutput>jxplorer</computeroutput> package, which is installed by default. To get write access connect like this: 
</para><screen><![CDATA[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

Click "This session only" if asked for the certificate.]]></screen>
</section>

<section id="Administration--ldap-createuser-krb.2C_a_command-line_tool">
<title>ldap-createuser-krb, a command-line tool
</title>
<para><computeroutput>ldap-createuser-krb</computeroutput> is a small command line tool to create LDAP users and set their passwords in Kerberos. It's mostly useful for testing, though. 
</para>
</section>

<section id="Administration--Using_stable-updates">
<title>Using stable-updates
</title>
<para>Since the Squeeze release in 2011, Debian has included packages formerly maintained in volatile.debian.org in the <ulink url="http://wiki.debian.org/StableUpdates">stable-updates suite</ulink>. 
</para>
<para>While you can use stable-updates directly, you don't have to: stable-updates are pushed into the stable suite regularily when stable point releases are done, which roughly happens every two months. 
</para>
</section>

<section id="Administration--Using_backports.debian.org_to_install_newer_software">
<title>Using backports.debian.org to install newer software
</title>
<para>You are running Debian Edu because you prefer the stability of Debian Edu. It runs great; there is just one problem: sometimes software is a little bit more outdated than you like. This is where backports.debian.org steps in. 
</para>
<para>Backports are recompiled packages from Debian testing (mostly) and Debian unstable (in a few cases only, e.g. security updates), so they will run without new libraries (wherever this is possible) on a stable Debian distribution like Debian Edu. <emphasis role="strong">We recommend you to pick out individual backports which fit your needs, and not to use all backports available there.</emphasis>  
</para>
<para>Using backports is simple: 
</para><screen><![CDATA[echo "deb http://ftp.debian.org/debian/ jessie-backports main" >> /etc/apt sources.list
apt-get update]]></screen>
<para>After which one can install backported packages easily, the following command will install a backported version of <emphasis>tuxtype</emphasis>: 
</para><screen><![CDATA[apt-get install -t jessie-backports tuxtype]]></screen>
<para>Backports are automatically updated (if available) just like other packages. (Previously, extra configuration was needed to achieve this, but since 2011 this [[<ulink url="http://backports.debian.org/news/squeeze-backports_and_lenny-backports-sloppy_started/|is"/> not needed anymore]. 
</para>
<para>Like the normal archive, backports has three sections: main, contrib and non-free. 
</para>
</section>

<section id="Administration--Upgrading_with_a_CD_or_similar_image">
<title>Upgrading with a CD or similar image
</title>
<para>If you want to upgrade from one version to another (for example from Jessie 8.1+edu0 to 8.3+edu1) but you do not have Internet connectivity, only physical media, follow these steps: 
</para>
<para>Insert the CD / DVD / Blu-ray disc / USB flash drive, mount it and use the apt-cdrom command: 
</para><screen><![CDATA[mount /media/cdrom
apt-cdrom add -m]]></screen>
<para>To quote the apt-cdrom(8) man page: 
</para>
<itemizedlist><listitem override="none">
<para>apt-cdrom is used to add a new CDROM to APTs list of available sources. apt-cdrom takes care of determining the structure of the disc as well as correcting for several possible mis-burns and verifying the index files.  
</para></listitem><listitem override="none">
<para>It is necessary to use apt-cdrom to add CDs to the APT system, it cannot be done by hand. Furthermore each disk in a multi-cd set must be inserted and scanned separately to account for possible mis-burns. 
</para></listitem></itemizedlist>
<para>Then run these two commands to upgrade the system: 
</para><screen><![CDATA[apt-get update
apt-get upgrade]]></screen>
</section>

<section id="Administration--Automatic_cleanup_of_leftover_processes">
<title>Automatic cleanup of leftover processes
</title>
<para><computeroutput>killer</computeroutput> is 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.  
</para>
<para>To install it run the following command as root: 
</para><screen><![CDATA[ apt-get install killer]]></screen>
</section>

<section id="Administration--Automatic_installation_of_security_upgrades">
<title>Automatic installation of security upgrades
</title>
<para><computeroutput>unattended-upgrades</computeroutput> is a Debian package which will install security (and other) updates automatically. If you plan to use it, you should have some means to monitor your systems, such as installing the <computeroutput>apt-listchanges</computeroutput> package and configuring it to send you emails about updates. And there is always <computeroutput>/var/log/dpkg.log</computeroutput>. 
</para>
<para>To install these packages run the following command as root: 
</para><screen><![CDATA[ apt-get install unattended-upgrades apt-listchanges]]></screen>
</section>

<section id="Administration--Automatic_shutdown_of_machines_during_the_night">
<title>Automatic shutdown of machines during the night
</title>
<para>It is possible to save energy and money by automatically turning client machines off at night and back on in the morning. The package will try to turn off the machine every hour on the hour from 16:00 in the afternoon, but will not turn it off if it seems to have users.  It will try to tell the BIOS to turn on the machine around 07:00 in the morning, and the main-server will try to turn on machines from 06:30 by sending wake-on-lan packets. These times can be changed in the crontabs of individual machines. 
</para>
<para>Some considerations should be kept in mind when setting this up: 
</para>
<itemizedlist>
<listitem>
<para>The clients should not be shut down when someone is using them. This is ensured by checking the output from <computeroutput>who</computeroutput>, and as a special case, checking for the LDM ssh connection command to work with LTSP thin clients. 
</para></listitem>
<listitem>
<para>To avoid blowing electrical fuses, it is a good idea to make sure all clients do not start at the same time. 
</para></listitem>
<listitem>
<para>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 <computeroutput>nvram-wakeup</computeroutput>; 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. 
</para></listitem></itemizedlist>

<section id="Administration--How_to_set_up_shutdown-at-night">
<title>How to set up shutdown-at-night
</title>
<para>On clients that should turn off at night, touch <computeroutput>/etc/shutdown-at-night/shutdown-at-night</computeroutput>, or add the hostname (that is, the output from '<computeroutput>uname -n</computeroutput>' on the client) to the netgroup "shutdown-at-night-hosts". Adding hosts to the netgroup in LDAP can be done using the <computeroutput>GOsa²</computeroutput> 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. 
</para>
<para>To enable wake-on-lan on the server, add the clients to <computeroutput>/etc/shutdown-at-night/clients</computeroutput>, with one line per client, IP address first, followed by MAC address (ethernet address), separated by a space; or create a script <computeroutput>/etc/shutdown-at-night/clients-generator</computeroutput> to generate the list of clients on the fly. 
</para>
<para>Here is an example <computeroutput>/etc/shutdown-at-night/clients-generator</computeroutput> for use with sitesummary: 
</para><screen><![CDATA[  #!/bin/sh
  PATH=/usr/sbin:$PATH
  export PATH
  sitesummary-nodes -w]]></screen>
<para>An alternative if the netgroup is used to activate shutdown-at-night on clients is this script using the netgroup tool from the <computeroutput>ng-utils</computeroutput> package: 
</para><screen><![CDATA[  #!/bin/sh
  PATH=/usr/sbin:$PATH
  export PATH
  netgroup -h shutdown-at-night-hosts]]></screen>
</section>
</section>

<section id="Administration--Access_Debian-Edu_servers_located_behind_a_firewall">
<title>Access Debian-Edu servers located behind a firewall
</title>
<para>To access machines behind a firewall from the Internet, consider installing the package <computeroutput>autossh</computeroutput>.  It can be used to set up an SSH tunnel to a machine on the Internet that you have access to. From that machine, you can access the server behind the firewall via the SSH tunnel. 
</para>
</section>

<section id="Administration--Installing_additional_service_machines_for_spreading_the_load_from_main-server">
<title>Installing additional service machines for spreading the load from main-server
</title>
<para>In the default installation, all services are running on the main-server, tjener. To simplify moving some to another machine, there is a <emphasis>minimal</emphasis> installation profile available. Installing with this profile will lead to a machine, which is part of the Debian Edu network, but which doesn't have any services running (yet).  
</para>
<para>These are the required steps to setup a machine dedicated to some services: 
</para>
<itemizedlist>
<listitem>
<para>install the <emphasis>minimal</emphasis> profile using the <emphasis>debian-edu-expert</emphasis> boot-option 
</para></listitem>
<listitem>
<para>install the packages for the service 
</para></listitem>
<listitem>
<para>configure the service 
</para></listitem>
<listitem>
<para>disable the service on main-server 
</para></listitem>
<listitem>
<para>update DNS (via LDAP/GOsa²) on main-server 
</para></listitem></itemizedlist>
</section>

<section id="Administration--HowTos_from_wiki.debian.org">
<title>HowTos from wiki.debian.org
</title>
<para>
FIXME: The HowTos from <ulink url="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.) 
</para>
<itemizedlist>
<listitem>
<para><ulink url="http://wiki.debian.org/DebianEdu/HowTo/AutoNetRespawn"/> 
</para></listitem>
<listitem>
<para><ulink url="http://wiki.debian.org/DebianEdu/HowTo/BackupPC"/> 
</para></listitem>
<listitem>
<para><ulink url="http://wiki.debian.org/DebianEdu/HowTo/ChangeIpSubnet"/> 
</para></listitem>
<listitem>
<para><ulink url="http://wiki.debian.org/DebianEdu/HowTo/SiteSummary"/> 
</para></listitem>
<listitem>
<para><ulink url="http://wiki.debian.org/DebianEdu/HowTo/Squid_LDAP_Authentication"/> 
</para></listitem></itemizedlist>
</section>
</section>


<section id="AdvancedAdministration">
<title>Advanced administration
</title>
<para>In this chapter advanced administration tasks are described.   
</para>

<section id="AdvancedAdministration--User_Customisations_with_GOsa.2BALI-">
<title>User Customisations with GOsa²
</title>

<section id="AdvancedAdministration--Create_Users_in_Year_Groups">
<title>Create Users in Year Groups
</title>
<para>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. 
</para>
<para><emphasis>(as root on Tjener) </emphasis> 
</para>
<itemizedlist>
<listitem>
<para>Make the necessary year group directories  
</para></listitem></itemizedlist>
<para>mkdir /skole/tjener/home0/2014 
</para>
<para><emphasis>(as superuser in Gosa)</emphasis> 
</para>
<itemizedlist>
<listitem>
<para>Department 
</para></listitem></itemizedlist>
<para>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. 
</para>
<itemizedlist>
<listitem>
<para>Group 
</para></listitem></itemizedlist>
<para>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. 
</para>
<itemizedlist>
<listitem>
<para>Template 
</para></listitem></itemizedlist>
<para>Choose 'users' from the main menu. Change to 'Students' in the Base field. An Entry <computeroutput>'NewStudent'</computeroutput> 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. 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. 
</para>
<itemizedlist>
<listitem>
<para>Import users 
</para></listitem></itemizedlist>
<para>Choose your new template when doing csv import; testing it with a few users recommended. 
</para>
</section>
</section>

<section id="AdvancedAdministration--Other_User_Customisations">
<title>Other User Customisations
</title>

<section id="AdvancedAdministration--Creating_folders_in_the_home_directories_of_all_users">
<title>Creating folders in the home directories of all users
</title>
<para>With this script the administrator can create a folder in each user's home directory and set access permissions and ownership. 
</para>
<para>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. 
</para><screen><![CDATA[ #!/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"]]></screen>
</section>

<section id="AdvancedAdministration--Easy_access_to_USB_drives_and_CDROMs.2BAC8DVDs">
<title>Easy access to USB drives and CDROMs/DVDs
</title>
<para>When users insert a USB drive or a DVD / CDROM into a (diskless) workstation, a popup window appears asking what to do with it, just like in any other normal installation. 
</para>
<para>When users insert a USB drive or a DVD / CDROM 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. 
</para>
<para>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 <computeroutput>/usr/share/debian-edu-config/ltspfs-mounter-kde enable</computeroutput> on the terminal server. (When using GNOME, device icons will be placed on the desktop allowing easy access).  
</para>
<para>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, CDROM / 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. 
</para><screen><![CDATA[ #!/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"]]></screen>

<section id="AdvancedAdministration--A_warning_about_removable_media_on_LTSP_servers">
<title>A warning about removable media on LTSP servers
</title>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/alert.png"/></imageobject><textobject><phrase>/!\</phrase></textobject></inlinemediaobject> Warning: When inserted into an LTSP server USB drives and other removable media cause popup messages on remote LTSP clients. 
</para>
<para>If remote users acknowledge the popup or use pmount from the console, they can even mount the removable devices and access the files. 
</para>
<para>This is being tracked as <ulink url="http://bugs.skolelinux.org/1376">Debian Edu bug #1376</ulink>. 
</para>
</section>
</section>
</section>

<section id="AdvancedAdministration--Use_a_dedicated_storage_server">
<title>Use a dedicated storage server
</title>
<para>Take these steps to set up a dedicated storage server for user home directories and possibly other data. 
</para>
<itemizedlist>
<listitem>
<para>Add a new system of type server using GOsa² as outlined in the <link linkend="GettingStarted--Machine_Management_with_GOsa.2BALI-">Getting started</link> chapter of this manual. 
</para>
<itemizedlist><listitem override="none">
<para>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: 
</para><screen><![CDATA[    root@tjener:~# showmount -e nas-server
    Export list for nas-server:
    /storage         10.0.0.0/8
    root@tjener:~#]]></screen>
<para>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.) 
</para></listitem></itemizedlist></listitem>
<listitem>
<para>Add automount information about 'nas-server.intern' in LDAP to allow all clients to automatically mount the new export on request. 
</para>
<itemizedlist><listitem override="none">
<para>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. 
</para>
<para><computeroutput>ldapvi --ldap-conf -ZD '(cn=admin)' -b ou=automount,dc=skole,dc=skolelinux,dc=no</computeroutput> 
</para>
<para>When the editor shows up, add the following LDAP objects at the bottom of the document. (The "/&amp;" 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.) 
</para><screen><![CDATA[    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:/&]]></screen></listitem></itemizedlist></listitem>
<listitem>
<para>Add the relevant entries in tjener.intern:/etc/fstab, because tjener.intern does not use automount to avoid mounting loops: 
</para>
<itemizedlist><listitem override="none">
<para>Create the mount directories using <computeroutput>mkdir</computeroutput>, edit '/etc/fstab' as adequate and run <computeroutput>mount -a</computeroutput> to mount the new resources. 
</para></listitem></itemizedlist></listitem></itemizedlist>
<para>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 client or LTSP server. 
</para>
</section>

<section id="AdvancedAdministration--Restrict_ssh_login_access">
<title>Restrict ssh login access
</title>
<para>There are several ways to restrict ssh login, some are listed here. 
</para>

<section id="AdvancedAdministration--Setup_without_LTSP_clients">
<title>Setup without LTSP clients
</title>
<para>If no LTSP clients are used a simple solution is to create a new group (say <computeroutput>sshusers</computeroutput>) and to add a line to the machine's /etc/ssh/sshd_config file. Only members of the <computeroutput>sshusers</computeroutput> group will then be allowed to ssh into the machine from everywhere. 
</para>
<para>Managing this case with GOsa is quite simple: 
</para>
<itemizedlist>
<listitem>
<para>Create a group <computeroutput>sshusers</computeroutput> on the root level (where already other system management related groups like <computeroutput>gosa-admins</computeroutput> show up). 
</para></listitem>
<listitem>
<para>Add users to the new group <computeroutput>sshusers</computeroutput>. 
</para></listitem>
<listitem>
<para>Add  <computeroutput>AllowGroups sshusers</computeroutput> to /etc/ssh/sshd_config. 
</para></listitem>
<listitem>
<para>Execute <computeroutput>service ssh restart</computeroutput>. 
</para></listitem></itemizedlist>
</section>

<section id="AdvancedAdministration--Setup_with_LTSP_clients">
<title>Setup with LTSP clients
</title>
<para>The default LTSP client setup uses ssh connections to the LTSP server. So a different approach using PAM is needed. 
</para>
<itemizedlist>
<listitem>
<para>Enable pam_access.so in the LTSP server's /etc/pam.d/sshd file.  
</para></listitem>
<listitem>
<para>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: 
</para></listitem></itemizedlist><screen><![CDATA[+ : alice jane bob john : ALL
+ : ALL : 10.0.0.0/8 192.168.0.0/24 192.168.1.0/24
- : ALL : ALL
#]]></screen>
<para>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 pluging in his box into the dedicated LTSP client network(s) will gain ssh access to the LTSP server(s) as well. 
</para>
</section>

<section id="AdvancedAdministration--A_note_for_more_complex_setups">
<title>A note for more complex setups
</title>
<para>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 apropriate PAM configuration would allow to disable internal ssh login. 
</para>
</section>
</section>
</section>


<section id="Desktop">
<title>HowTos for the desktop
</title>

<section id="Desktop--Modifying_the_KDM_login_screen">
<title>Modifying the KDM login screen
</title>
<para>Customisations to the KDM login screen are made by adding a file in <computeroutput>/etc/default/kdm.d/</computeroutput> specifying variables to override the default. 
</para>
<para>Here is one example used to activate the theme in the <computeroutput>desktop-base</computeroutput> package: 
</para><screen><![CDATA[USETHEME="true"
THEME="/usr/share/apps/kdm/themes/debian-moreblue"]]></screen>
<para>See the code in <computeroutput>/etc/init.d/kdm</computeroutput> for information on how these variables are used. 
</para>
</section>

<section id="Desktop--Using_KDE_.26quot.3BPlasma.26quot.3B.2C_GNOME.2C_LXDE.2C_Xfce_and.2BAC8or_MATE_together">
<title>Using KDE "Plasma", GNOME, LXDE, Xfce and/or MATE together
</title>
<para>To install other desktop environments after installation, simply use apt-get: 
</para><screen><![CDATA[ apt-get install gnome lxde xfce4 mate-desktop]]></screen>
<para>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. 
</para>
<para>The usage of LXDE as default on thin clients can be forced; see  <link linkend="NetworkClients">networked clients</link> for details. 
</para>
<para>If you don't want to do installations with the default desktop KDE "Plasma", you can also <link linkend="Installation--The_installation_process">install with one of the four alternative desktops, GNOME, LXDE, Xfce or MATE</link> directly.  
</para>
</section>

<section id="Desktop--Flash">
<title>Flash
</title>
<para>While the free software flash-player <computeroutput>gnash</computeroutput> is <emphasis>not</emphasis> installed by default anymore, as it has been removed from Jessie, installing a non-free flash player is still an option. Please note that upgrading is special in this case. 
</para>
<para>To install the (non-free) Adobe Flash Player web browser plugin, install the <computeroutput>flashplugin-nonfree</computeroutput> Debian package from <computeroutput>contrib</computeroutput>. This requires <computeroutput>contrib</computeroutput> enabled in <computeroutput>/etc/apt/sources.list</computeroutput>. Use <computeroutput>update-flashplugin-nonfree --status</computeroutput> to check for a newer version and <computeroutput>update-flashplugin-nonfree --install</computeroutput> to install it. 
</para>
<para>The solution for Chromium is similar, it needs the package <computeroutput>pepperflashplugin-nonfree</computeroutput> (also from <computeroutput>contrib</computeroutput>) to be installed, which will install the (non-free) Adobe Flash Player web browser plugin. Use <computeroutput>update-pepperflashplugin-nonfree --status</computeroutput> to check for a newer version and <computeroutput>update-pepperflashplugin-nonfree --install</computeroutput> to install it.  
</para>
<para>Please note that the <computeroutput>pepperflashplugin-nonfree</computeroutput> package implements a more recent version of the Flash specification than does the <computeroutput>flashplugin-nonfree</computeroutput>, however. 
</para>
</section>

<section id="Desktop--Playing_DVDs">
<title>Playing DVDs
</title>
<para>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 use the packages from deb-multimedia.org. Add the multimedia repository (as described in the following section) and install the required libraries: 
</para><screen><![CDATA[apt-get install libdvdcss2 w32codecs]]></screen>
</section>

<section id="Desktop--Using_the_multimedia_repository">
<title>Using the multimedia repository
</title>
<para>To use www.deb-multimedia.org do the following: 
</para><screen><![CDATA[# install the debian-keyring securely:
apt-get install debian-keyring
# fetch the deb-multimedia key insecurely:
gpg --keyserver pgpkeys.pca.dfn.de --recv-keys 07DC563D1F41B907
# check securely if the key is correct and add it to the keyring used by APT if it is:
gpg --keyring /usr/share/keyrings/debian-keyring.gpg --check-sigs 07DC563D1F41B907 && gpg --export 07DC563D1F41B907 | apt-key add -
# add repository to sources.list - please check the homepages for mirrors!
echo "deb http://deb-multimedia.org jessie main" >> /etc/apt/sources.list
# update the list of available packages:
apt-get update]]></screen>
</section>

<section id="Desktop--Handwriting_fonts">
<title>Handwriting fonts
</title>
<para>The package <computeroutput>fonts-linex</computeroutput> (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. 
</para>
</section>
</section>


<section id="NetworkClients">
<title>HowTos for networked clients
</title>

<section id="NetworkClients--Introduction_to_thin_clients_and_diskless_workstations">
<title>Introduction to thin clients and diskless workstations
</title>
<para>One generic term for both thin clients and diskless workstations is <emphasis>LTSP client</emphasis>. <ulink url="http://ltsp.org">LTSP is the Linux Terminal Server Project</ulink>. 
</para>
<para><emphasis role="strong">Thin client</emphasis> 
</para>
<para>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.  
</para>
<para><emphasis role="strong">Diskless workstation</emphasis> 
</para>
<para>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.  
</para>
<para>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 <computeroutput>FAT_RAM_THRESHOLD</computeroutput> with the default value 300. So if (for example) the clients should only boot as diskless workstations if they have 1 GB RAM add <computeroutput>FAT_RAM_THRESHOLD=1000</computeroutput> to lts.conf (or set this in LDAP). Unlike workstations, diskless workstations run without any need to add them with GOsa², cause LDM is used to login and connect to the LTSP server.  The home directory is by default mounted using sshfs, and not automount and NFS.  This causes shared directories available via NFS to not be available on diskless workstations.  
</para>
<para>The following steps can be used to get back the behaviour from Debian Edu Squeeze, using automount, NFS and a display manager other than ldm: 
</para>
<itemizedlist>
<listitem>
<para>Add <computeroutput>DEFAULT_DISPLAY_MANAGER=/path/to/dm</computeroutput> to lts.conf (or set this in LDAP). Make sure, that the display manager is installed in the LTSP chroot. 
</para></listitem>
<listitem>
<para>Add the diskless workstations to LDAP with GOsa².   
</para></listitem></itemizedlist>
<para><emphasis role="strong">LTSP client firmware</emphasis> 
</para>
<para>LTSP client boot will fail if the client's network card 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. 
</para>
<para>In this case execute the following commands on an LTSP server. 
</para><screen><![CDATA[# First get information about firmware packages
apt-get update && apt-cache search ^firmware-

# Decide which package has to be installed for the network card(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
ltsp-update-kernels]]></screen>
<para>As a shorter alternative -- installing all available firmware and updating the tftpboot directory -- you could execute: 
</para><screen><![CDATA[/usr/share/debian-edu-config/tools/ltsp-addfirmware]]></screen>
<para><emphasis role="strong">LTSP client kernel</emphasis> 
</para>
<para>In order to support older hardware the package <computeroutput>linux-image-586</computeroutput> is installed by default. If all LTSP client machines support the 686 processor architecture the <computeroutput>linux-image-686</computeroutput> package could be installed in the chroot. Make sure to execute <computeroutput>ltsp-update-kernels</computeroutput> after installation. 
</para>

<section id="NetworkClients--LTSP_client_type_selection">
<title>LTSP client type selection
</title>
<para>Each LTSP server has two ethernet cards: 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).  
</para>
<para>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.  
</para>
<para>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. 
</para><screen><![CDATA[(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']]></screen>
</section>
</section>

<section id="NetworkClients--Configuring_the_PXE_menu">
<title>Configuring the PXE menu
</title>
<para>The PXE configuration is generated using the script <computeroutput>debian-edu-pxeinstall</computeroutput>.  It allows some settings to be overridden by adding a file <computeroutput>/etc/debian-edu/pxeinstall.conf</computeroutput> with replacement values. 
</para>

<section id="NetworkClients--Configuring_the_PXE_installation">
<title>Configuring the PXE installation
</title>
<para>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 <computeroutput>/var/lib/tftpboot/menupassword.cfg</computeroutput> can be created with content similar to this: 
</para><screen><![CDATA[MENU PASSWD $4$NDk0OTUzNTQ1NTQ5$7d6KvAlVCJKRKcijtVSPfveuWPM$]]></screen>
<para>The password hash should be replaced with an MD5 hash for the desired password. 
</para>
<para>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 <computeroutput>/etc/debian-edu/www/debian-edu-install.dat</computeroutput> can be modified to provide preselected answers to debconf values. Some examples of available debconf values are already commented in <computeroutput>/etc/debian-edu/www/debian-edu-install.dat</computeroutput>. Your changes will be lost as soon as <computeroutput>debian-edu-pxeinstall</computeroutput> is used to recreate the PXE-installation environment. To append debconf values to <computeroutput>/etc/debian-edu/www/debian-edu-install.dat</computeroutput> during recreation with <computeroutput>debian-edu-pxeinstall</computeroutput>, add the file <computeroutput>/etc/debian-edu/www/debian-edu-install.dat.local</computeroutput> with your additional debconf values. 
</para>
<para>More information about modifying PXE installations can be found in the <link linkend="Installation--Modifying_PXE_installations">Installation</link> chapter. 
</para>
</section>

<section id="NetworkClients--Adding_a_custom_repository_for_PXE_installations">
<title>Adding a custom repository for PXE installations
</title>
<para>For adding a custom repository add something like this to <computeroutput>/etc/debian-edu/www/debian-edu-install.dat.local</computeroutput>: 
</para><screen><![CDATA[#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]]></screen>
<para>and then run <computeroutput>/usr/sbin/debian-edu-pxeinstall</computeroutput> once. 
</para>
</section>

<section id="NetworkClients--Changing_the_PXE_menu_on_a_combined_.28main_and_LTSP.29_server">
<title>Changing the PXE menu on a combined (main and LTSP) server
</title>
<para>The PXE menu allows network booting of LTSP clients, the installer and other alternatives.  The file <computeroutput>/var/lib/tftpboot/pxelinux.cfg/default</computeroutput> 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 <computeroutput>/var/lib/tftpboot/debian-edu/default-menu.cfg</computeroutput>. 
</para>
<para>If all clients should boot as diskless workstations instead of getting the full PXE menu, this can be implemented by changing the symlink: 
</para><screen><![CDATA[ln -s /var/lib/tftpboot/debian-edu/default-diskless.cfg /var/lib/tftpboot/pxelinux.cfg/default]]></screen>
<para>If all clients should boot as thin clients instead, change the symlink like this: 
</para><screen><![CDATA[ln -s /var/lib/tftpboot/debian-edu/default-thin.cfg /var/lib/tftpboot/pxelinux.cfg/default]]></screen>
<para>See also the PXELINUX documentation at <ulink url="http://syslinux.zytor.com/wiki/index.php/PXELINUX"/> . 
</para>
</section>

<section id="NetworkClients--Separate_main_and_LTSP_server">
<title>Separate main and LTSP server
</title>
<para>For performance and security considerations it might be desired to set up a separate main server which doesn't act as LTSP server.  
</para>
<para>To have ltspserver00 serve diskless workstations on the main (10.0.0.0/8) network, when tjener is not a combined server, follow these steps: 
</para>
<itemizedlist>
<listitem>
<para>copy the <computeroutput>ltsp</computeroutput> directory from <computeroutput>/var/lib/tftpboot</computeroutput> on ltspserver00 to the same directory on tjener. 
</para></listitem>
<listitem>
<para>copy <computeroutput>/var/lib/tftpboot/debian-edu/default-diskless.cfg</computeroutput> to the same directory on tjener. 
</para></listitem>
<listitem>
<para>edit <computeroutput>/var/lib/tftpboot/debian-edu/default-diskless.cfg</computeroutput> 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: 
</para></listitem></itemizedlist><screen><![CDATA[ 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]]></screen>
<itemizedlist>
<listitem>
<para>set the symlink in <computeroutput>/var/lib/tftpboot/pxelinux.cfg</computeroutput> on tjener to point to <computeroutput>/var/lib/tftpboot/debian-edu/default-diskless.cfg</computeroutput>. 
</para></listitem></itemizedlist>
<para>As an alternative, you could use <computeroutput>ldapvi</computeroutput>, search for 'next server tjener' and replace tjener with ltspserver00. 
</para>
</section>

<section id="NetworkClients--Use_a_different_LTSP_client_network">
<title>Use a different LTSP client network
</title>
<para>192.168.0.0/24 is the default LTSP client network if a machine is installed using the Thin-Client-Server 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 <computeroutput>/etc/network/interfaces</computeroutput> and adjust the eth1 settings accordingly. Use <computeroutput>ldapvi</computeroutput> or any other LDAP editor to inspect DNS and DHCP configuration.   
</para>
</section>
</section>

<section id="NetworkClients--Changing_network_settings">
<title>Changing network settings
</title>
<para>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 <computeroutput>/usr/share/debian-edu-config/tools/subnet-change</computeroutput>.  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. 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/alert.png"/></imageobject><textobject><phrase>/!\</phrase></textobject></inlinemediaobject> 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. 
</para>
<para>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.   
</para>
</section>

<section id="NetworkClients--LTSP_in_detail">
<title>LTSP in detail
</title>

<section id="NetworkClients--LTSP_client_configuration_in_LDAP_.28and_lts.conf.29">
<title>LTSP client configuration in LDAP (and lts.conf)
</title>
<para>To configure specific thin clients with particular features, you can add settings in LDAP or edit the file <computeroutput>/opt/ltsp/i386/etc/lts.conf</computeroutput>.  
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/alert.png"/></imageobject><textobject><phrase>/!\</phrase></textobject></inlinemediaobject> We recommend to configure clients in LDAP (and not edit <computeroutput>lts.conf</computeroutput> directly, however, configuration webforms for LTSP are currently not available in GOsa², you have to use a plain LDAP browser/explorer or <computeroutput>ldapvi</computeroutput>), as this makes it possible to add and/or replace LTSP servers without loosing (or having to redo) configuration. 
</para>
<para>The default values in LDAP are defined in the <computeroutput>cn=ltspConfigDefault,ou=ltsp,dc=skole,dc=skolelinux,dc=no</computeroutput> LDAP object using the <computeroutput>ltspConfig</computeroutput> attribute.  One can also add host specific entries in LDAP. 
</para>
<para>Install the package <computeroutput>ltsp-docs</computeroutput> and run "man lts.conf" to have a look at available configuration options (see <computeroutput>/usr/share/doc/ltsp/LTSPManual.html</computeroutput> for detailed information about LTSP). 
</para>
<para>The default values are defined under <computeroutput>[default]</computeroutput>; to configure one client, specify it in terms of its MAC address or IP address like this: <computeroutput>[192.168.0.10]</computeroutput>. 
</para>
<para>Example: To make the thin client ltsp010 use 1280x1024 resolution, add something like this: 
</para><screen><![CDATA[[192.168.0.10]
X_MODE_0 = 1280x1024
X_HORZSYNC = "60-70"
X_VERTREFRESH = "59-62"]]></screen>
<para>somewhere below the default settings. 
</para>
<para>To force usage of a specific xserver on an LTSP client, set the <computeroutput>XSERVER</computeroutput> variable. For example: 
</para><screen><![CDATA[[192.168.0.11]
XSERVER = nvidia]]></screen>
<para>Depending on what changes you make, it may be necessary to restart the client. 
</para>
<para>To use IP addresses in <computeroutput>lts.conf</computeroutput> you need to add the client MAC address to your DHCP server. Otherwise you should use the client MAC address directly in your <computeroutput>lts.conf</computeroutput> file. 
</para>
</section>

<section id="NetworkClients--Force_all_thin_clients_to_use_LXDE_as_default_desktop_environment">
<title>Force all thin clients to use LXDE as default desktop environment
</title>
<para>Make sure that LXDE is installed on the thin client server; then add a line like this below <computeroutput>[default]</computeroutput> in "lts.conf": 
</para><screen><![CDATA[LDM_SESSION=/usr/bin/startlxde]]></screen>
<para>Note, that users will still be able to select other installed desktop environments using the "Settings" feature of LDM. 
</para>
</section>

<section id="NetworkClients--Load-balancing_LTSP_servers">
<title>Load-balancing LTSP servers
</title>

<section id="NetworkClients--Part_1">
<title>Part 1
</title>
<para>It is possible to set up the clients to connect to one of several LTSP servers for load-balancing. This is done by providing <computeroutput>/opt/ltsp/i386/usr/share/ltsp/get_hosts</computeroutput> 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. 
</para>
<para>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. How this is done you decide later on. 
</para>
<para>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 <computeroutput>ldapvi --ldap-conf -ZD '(cn=admin)'</computeroutput> 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 <computeroutput>dhcpStatements: next-server tjener</computeroutput> 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.  
</para>
<para>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. 
</para>
</section>

<section id="NetworkClients--Part_2">
<title>Part 2
</title>
<para>Now you have to make a "get_hosts" script that prints a server 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. 
</para>
<para>Edit "/opt/ltsp/i386/etc/lts.conf" and add something like this: 
</para><screen><![CDATA[MY_SERVER_LIST = "xxxx xxxx xxxx"]]></screen>
<para>Replace xxxx with either the IP addresses or hostnames of the servers as a space-separated list. Then, put the following script in <computeroutput>/opt/ltsp/i386/usr/lib/ltsp/get_hosts</computeroutput> on the server you chose to be the load-balancing server. 
</para><screen><![CDATA[ #!/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]]></screen>
</section>

<section id="NetworkClients--Part_3">
<title>Part 3
</title>
<para>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 <computeroutput>/opt/ltsp/i386/etc/ssh/ssh_known_hosts</computeroutput> from all the LTSP servers that will be load-balanced. Save this file as <computeroutput>/etc/ltsp/ssh_known_hosts.extra</computeroutput> on all load-balanced servers. The last step is very important because ltsp-update-sshkeys runs every time a server is booted, and <computeroutput>/etc/ltsp/ssh_known_hosts.extra</computeroutput> is included if it exists. 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/alert.png"/></imageobject><textobject><phrase>/!\</phrase></textobject></inlinemediaobject> If you save your new host file as <computeroutput>/opt/ltsp/i386/etc/ssh/ssh_known_hosts</computeroutput>, it will be erased when you reboot the server. 
</para>
<para>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. 
</para>
<para>Your clients should now be load-balanced! 
</para>
</section>
</section>

<section id="NetworkClients--Sound_with_LTSP_clients">
<title>Sound with LTSP clients
</title>
<para>LTSP thin clients support three different audio systems for applications: ESD, PulseAudio and ALSA.  ESD and PulseAudio support networked audio and are used to pass audio from the server to the clients.  ALSA is configured to redirect its sound via PulseAudio.  For selected applications only supporting the OSS audio system, a wrapper is created by <computeroutput>/usr/sbin/debian-edu-ltsp-audiodivert</computeroutput> to redirect their sound to PulseAudio.  Run this script without arguments to get a list of applications with such redirection enabled. 
</para>
<para>LTSP diskless workstations handle audio locally and have none of the special setup needed for networked audio. 
</para>
</section>

<section id="NetworkClients--Use_printers_attachted_to_LTSP_clients">
<title>Use printers attachted to LTSP clients
</title>
<itemizedlist>
<listitem>
<para>Attach the printer to the LTSP client machine (both USB and parallel port are supported).  
</para></listitem>
<listitem>
<para>Configure this machine to run a printer in lts.conf (default location: <computeroutput>/opt/ltsp/i386/etc/lts.conf</computeroutput>, see the LTSP manual <computeroutput>/usr/share/doc/ltsp/LTSPManual.html#printer</computeroutput> for details. 
</para></listitem>
<listitem>
<para>Configure the printer using the web interface <computeroutput>https://www:631</computeroutput> on tjener; choose network printer type <computeroutput>AppSocket/HP JetDirect</computeroutput> (for all printers regardless of brand or model) and set <computeroutput>socket://&lt;LTSP client ip&gt;:9100</computeroutput> as connection URI. 
</para></listitem></itemizedlist>
</section>

<section id="NetworkClients--Upgrading_the_LTSP_environment">
<title>Upgrading the LTSP environment
</title>
<para>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: 
</para><screen><![CDATA[ltsp-chroot -a i386  # this does "chroot /opt/ltsp/i386" and more, ie it also prevents daemons from being started
aptitude update
aptitude upgrade
aptitude dist-upgrade
exit]]></screen>

<section id="NetworkClients--Installing_additional_software_in_the_LTSP_environment">
<title>Installing additional software in the LTSP environment
</title>
<para>To install additional software for an LTSP client you must perform the installation inside the chroot of the LTSP server.  
</para><screen><![CDATA[ltsp-chroot -a i386
## optionally, edit the sources.list:
#editor /etc/apt/sources.list
aptitude update
aptitude install $new_package
exit]]></screen>
</section>
</section>

<section id="NetworkClients--Slow_login_and_security">
<title>Slow login and security
</title>
<para>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 ten years old, with as little as a 160 MHz processor and 32 MB RAM. Although it's not recommended, you can add the value "True" in the <computeroutput>/opt/ltsp/i386/etc/lts.conf</computeroutput> file on the server: 
</para><screen><![CDATA[LDM_DIRECTX=True]]></screen>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/alert.png"/></imageobject><textobject><phrase>/!\</phrase></textobject></inlinemediaobject> <emphasis role="strong">Warning</emphasis>: 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. 
</para>
<para>Note: Since such ten-year-old thin clients may also have trouble running newer versions of LibreOffice and Firefox/Iceweasel 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. 
</para>
</section>
</section>

<section id="NetworkClients--Replacing_LDM_with_KDM">
<title>Replacing LDM with KDM
</title>
<para>Since version 3.0 Skolelinux has been running LDM as its login manager, which uses a secure SSH tunnel to log in. Switching to KDM also requires a switch to XDMCP, which uses lower CPU resources on the clients and on the server. 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/alert.png"/></imageobject><textobject><phrase>/!\</phrase></textobject></inlinemediaobject> <emphasis role="strong">Warning</emphasis>: XDMCP does not use encryption. Passwords will travel in cleartext over the network, as well as anything else. 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/alert.png"/></imageobject><textobject><phrase>/!\</phrase></textobject></inlinemediaobject> Note: local devices with <computeroutput>ltspfs</computeroutput> will stop working without LDM. 
</para>
<para>To check if XDMCP is running, run this command from a workstation: 
</para><screen><![CDATA[ X -query ltspserverXX]]></screen>
<para>If you are on the thin client network, run this command: 
</para><screen><![CDATA[ X -query 192.168.0.254]]></screen>
<para>The goal is to let your "real" thin client contact the xdmcp-server on 192.168.0.254 (given a standard Skolelinux configuration). 
</para>
<para>If XDMCP is not accessible on your server which runs KDM, add the following to <computeroutput>/etc/kde4/kdm/Xaccess</computeroutput>: 
</para><screen><![CDATA[ * # any host can get a login window]]></screen>
<para>The star before the comment '#' is important; the rest is a comment, of course <inlinemediaobject><imageobject><imagedata fileref="./images/smile.png"/></imageobject><textobject><phrase>:)</phrase></textobject></inlinemediaobject> 
</para>
<para>Then turn on XDMCP in KDM with the command: 
</para><screen><![CDATA[ sudo update-ini-file /etc/kde4/kdm/kdmrc Xdmcp Enable true]]></screen>
<para>Finally, restart KDM by running: 
</para><screen><![CDATA[ sudo service kdm restart]]></screen>
</section>

<section id="NetworkClients--Connecting_Windows_machines_to_the_network_.2BAC8_Windows_integration">
<title>Connecting Windows machines to the network / Windows integration
</title>

<section id="NetworkClients--Joining_a_domain">
<title>Joining a domain
</title>
<para>For Windows clients the Windows domain "SKOLELINUX" is available to be joined. A special service called Samba, installed on the main-server tjener, enables Windows clients to store profiles and user data, and also authenticates the users during the login. 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/alert.png"/></imageobject><textobject><phrase>/!\</phrase></textobject></inlinemediaobject> Joining a domain with a Windows client requires the steps described in the <link linkend="Samba">Debian Edu Jessie Samba Howto</link>. 
</para>
<para>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 tjener instead) and save files into the H: volume rather than under "My Documents". 
</para>

<section id="NetworkClients--User_groups_in_Windows">
<title>User groups in Windows
</title>
<para>Groupmaps must also be added for any other user group you add through <computeroutput>GOsa²</computeroutput>. If you want your user groups to be available in Windows, e.g. for netlogon scripts or other group dependant actions, you can add them using variations of the following command. Samba will function without these groupmaps, but Windows machines won't be group-aware. 
</para><screen><![CDATA[/usr/bin/net groupmap add unixgroup=students \
             type=domain ntgroup="students" \
             comment="All students in the school"]]></screen>
<para>
FIXME: It would be even better to first/also explain user groups for Windows  with GOsa² (and then show an example for the command line) 
</para>
<para>If you want to check user groups on Windows, you need to download the tool <computeroutput>IFMEMBER.EXE</computeroutput> from Microsoft. Then you can use this for example in the logon script which resides on tjener in <computeroutput>/etc/samba/netlogon/LOGON.BAT</computeroutput>. 
</para>
</section>
</section>

<section id="NetworkClients--XP_home">
<title>XP home
</title>
<para>Users bringing in their XP laptops from home can still connect to tjener using their skolelinux credentials, provided the workgroup is set to SKOLELINUX. However, they may need to disable the Windows firewall before tjener will appear in Network Neighbourhood (or whatever it's called now). 
</para>
</section>

<section id="NetworkClients--Managing_roaming_profiles">
<title>Managing roaming profiles
</title>
<para>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. 
</para>
<para>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. 
</para>
<para><emphasis>The educational approach</emphasis>: 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. 
</para>
<para><emphasis>Tweaking the profile</emphasis>: 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. 
</para>

<section id="NetworkClients--Example_smb.conf_files_for_roaming_profiles">
<title>Example smb.conf files for roaming profiles
</title>
<para>
FIXME: Maybe it is better to purge the examples. People who want to use roaming profiles should know what they are doing ... 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/alert.png"/></imageobject><textobject><phrase>/!\</phrase></textobject></inlinemediaobject> <emphasis role="strong">Note</emphasis> The examples are outdated since in wheezy kerberos was configured for samba too!
</para>
<para>You might find an example smb.conf in your preferred language delivered by the installation on tjener under <computeroutput>/usr/share/doc/debian-edu-config/examples/</computeroutput>. The source file is in English and is called <computeroutput>smb-roaming-profiles-en.conf</computeroutput>; look for a file with the appropriate code in the filename (the German translation, for example, will be named <computeroutput>smb-roaming-profiles-de.conf</computeroutput>). Inside the config file are a lot of explanations which you should have a look at. 
</para>
</section>

<section id="NetworkClients--Machine_policies_for_roaming_profiles">
<title>Machine policies for roaming profiles
</title>
<para>Machine policies can be edited and copied to all the other computers. 
</para><orderedlist numeration="arabic">
<listitem>
<para>Pick a freshly installed Windows computer, and run <computeroutput>gpedit.msc</computeroutput> 
</para></listitem>
<listitem>
<para>Under the selection "User Configuration" -&gt; "Administrative Templates" -&gt; "System" -&gt; "User Profiles" -&gt; "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: 
</para>
<itemizedlist>
<listitem>
<para>log 
</para></listitem>
<listitem>
<para>Locale settings 
</para></listitem>
<listitem>
<para>Temporary Internet Files 
</para></listitem>
<listitem>
<para>My Documents 
</para></listitem>
<listitem>
<para>Application Data 
</para></listitem>
<listitem>
<para>Temporary Internet Files 
</para></listitem></itemizedlist></listitem>
<listitem>
<para>Save your changes, and exit the editor. 
</para></listitem>
<listitem>
<para>Copy <computeroutput>c:\windows\system32\GroupPolicy</computeroutput> to all other Windows machines. 
</para>
<itemizedlist>
<listitem>
<para>It's a good idea to copy it to your Windows OS deployment system to have it included at install time. 
</para></listitem></itemizedlist></listitem></orderedlist>
</section>

<section id="NetworkClients--Global_policies_for_roaming_profiles">
<title>Global policies for roaming profiles
</title>
<para>By using the legacy Windows policy editor (<computeroutput>poledit.exe</computeroutput>), you can can create a Policy file (NTConfig.pol) and put it in your netlogon share on tjener. This has the advantage of working almost instantly on all Windows machines.  
</para>
<para>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.  
</para>
<para>With <computeroutput>poledit.exe</computeroutput> you can create .pol files. If you put such a file on tjener as <computeroutput>/etc/samba/netlogon/NTLOGON.POL</computeroutput> it will automatically be read by Windows machines and temporarily overwrite the registry, thus applying the changes. 
</para>
<para>To make sensible use of <computeroutput>poledit.exe</computeroutput> you also need to download appropriate .adm files for your operating system and applications; otherwise you cannot define many settings in <computeroutput>poledit.exe</computeroutput>. 
</para>
<para>Be aware that the new group policy tools, <computeroutput>gpedit.msc</computeroutput> and <computeroutput>gpmc.msc</computeroutput>, cannot create .pol files; they either only work for the local machine or need an Active Directory server. 
</para>
<para>If you understand German, <ulink url="http://gruppenrichtlinien.de"/> is a very good web site on this topic. 
</para>
</section>

<section id="NetworkClients--Editing_Windows_registry">
<title>Editing Windows registry
</title>
<para>You can edit the registry of the local computer, and copy this registry key to other computers 
</para><orderedlist numeration="arabic">
<listitem>
<para>Start the Registry Editor. 
</para></listitem>
<listitem>
<para>Navigate to <computeroutput>HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon</computeroutput> 
</para></listitem>
<listitem>
<para>Use the menu "Edit menu" -&gt; "New" -&gt; "String Value". 
</para></listitem>
<listitem>
<para>Call it <computeroutput>ExcludeProfileDirs</computeroutput> 
</para></listitem>
<listitem>
<para>Enter a semicolon-separated list of paths to exclude (in the same way as for a machine policy) 
</para></listitem>
<listitem>
<para>Now you can choose to export this registry key as a .reg file. Mark a selection, right-click, and select "Export". 
</para></listitem>
<listitem>
<para>Save the file and you can double click it, or add it to a script to spread it to other machines. 
</para></listitem></orderedlist>
<para>Sources: 
</para>
<itemizedlist>
<listitem>
<para><ulink url="http://technet2.microsoft.com/windowsserver/en/technologies/featured/gp/default.mspx"/> 
</para></listitem>
<listitem>
<para><ulink url="http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/PolicyMgmt.html"/> 
</para></listitem>
<listitem>
<para><ulink url="http://isg.ee.ethz.ch/tools/realmen/det/skel.en.html"/> 
</para></listitem>
<listitem>
<para><ulink url="http://www.css.taylor.edu/~nehresma/samba.html"/> 
</para></listitem></itemizedlist>
</section>
</section>

<section id="NetworkClients--Redirecting_profile_directories">
<title>Redirecting profile directories
</title>
<para>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. 
</para>

<section id="NetworkClients--Redirecting_using_machine_policies">
<title>Redirecting using machine policies
</title>
<para>All the instructions given above about machine policies apply here too.  You can use <computeroutput>gpedit.msc</computeroutput> to edit the policy and copy it to all machines. The redirection should be available under "User Configuration" -&gt; "Windows Settings" -&gt; "Folder Redirection". Directories that it can be useful to redirect include "Desktop" and "My Documents". 
</para>
<para>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: 
</para>
<itemizedlist>
<listitem>
<para>"User Configuration" -&gt; "Administrative Templates" -&gt; "Network" -&gt; "Offline Files" 
</para></listitem>
<listitem>
<para>"Computer Configuration" -&gt; "Administrative Templates" -&gt; "Network" -&gt; "Offline Files" 
</para></listitem></itemizedlist>
</section>

<section id="NetworkClients--Redirecting_using_global_policies">
<title>Redirecting using global policies
</title>
<para>
FIXME: explain how to use profiles from global policies for Windows machines in the skolelinux network 
</para>
</section>
</section>

<section id="NetworkClients--Avoiding_roaming_profiles">
<title>Avoiding roaming profiles
</title>

<section id="NetworkClients--Disabling_roaming_using_a_local_policy">
<title>Disabling roaming using a local policy
</title>
<para>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. 
</para>
<para>You can use the machine policy method describe above; the key is in "Administrative Templates" -&gt; "System" -&gt; "User Profiles" -&gt; "Only allow local profiles". 
</para>
</section>

<section id="NetworkClients--Disabling_roaming_using_global_policies">
<title>Disabling roaming using global policies
</title>
<para>
FIXME: describe roaming profile key for the global policy editor here 
</para>
</section>

<section id="NetworkClients--Disabling_roaming_in_smb.conf">
<title>Disabling roaming in smb.conf
</title>
<para>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 <computeroutput>smb.conf</computeroutput> file on tjener, unsetting the "logon path" and "logon home" variables, then restart samba. 
</para><screen><![CDATA[logon path = ""
logon home = ""]]></screen>
</section>
</section>
</section>

<section id="NetworkClients--Remote_Desktop">
<title>Remote Desktop
</title>

<section id="NetworkClients--Remote_Desktop_Service">
<title>Remote Desktop Service
</title>
<para>Beginning with this release, choosing the thin client server profile or the combined server profile 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 thin client server running xrdp without installing additional software - they simply start a Remote Desktop Connection on their Windows machine and connect. 
</para>
<para>Additionally, xrdp can connect to a VNC server or another RDP server. 
</para>
<para>Some municipalities provide a remote desktop solution so that students and teachers can access Skolelinux from their home computer running Windows, Mac or Linux. 
</para>
</section>

<section id="NetworkClients--Available_Remote_Desktop_clients">
<title>Available Remote Desktop clients
</title>
<itemizedlist>
<listitem>
<para><computeroutput>freerdp-x11</computeroutput> is installed by default and is captable of RDP and VNC. 
</para>
<itemizedlist>
<listitem>
<para>RDP - the easiest way to access Windows terminal server. An alternative client package is <computeroutput>rdesktop</computeroutput>. 
</para></listitem>
<listitem>
<para>VNC client (Virtual Network Computer) gives access to Skolelinux remotely.  An alternative client package is <computeroutput>xvncviewer</computeroutput>. 
</para></listitem></itemizedlist></listitem>
<listitem>
<para>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. 
</para></listitem>
<listitem>
<para><ulink url="http://wiki.debian.org/DebianEdu/HowTo/CitrixApps">Citrix ICA client HowTo</ulink> to access Windows terminal server from Skolelinux. 
</para></listitem></itemizedlist>
</section>
</section>

<section id="NetworkClients--HowTos_from_wiki.debian.org">
<title>HowTos from wiki.debian.org
</title>
<para>The HowTos from <ulink url="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.) 
</para>
<itemizedlist>
<listitem>
<para><ulink url="http://wiki.debian.org/DebianEdu/HowTo/LocalDeviceLtspfs"/> 
</para></listitem>
<listitem>
<para><ulink url="http://wiki.debian.org/DebianEdu/HowTo/LtspDisklessWorkstation"/> 
</para></listitem></itemizedlist>
</section>
</section>


<section id="Samba">
<title>Samba in Debian Edu
</title>
<para>Samba (v3), since Debian Edu Wheezy (the previous release), 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². 
</para>

<section id="Samba--Getting_Started">
<title>Getting Started
</title>
<para>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. 
</para>
<para>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. 
</para><orderedlist numeration="arabic">
<listitem>
<para>START -&gt; Run command 
</para></listitem>
<listitem>
<para>enter \\TJENER and press return 
</para></listitem>
<listitem>
<para>-&gt; 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). 
</para></listitem></orderedlist>

<section id="Samba--Accessing_files_via_Samba">
<title>Accessing files via Samba
</title>
<para>Student and teacher user accounts that have been configured via GOsa² should be able to authenticate against \\TJENER\HOMES or \\TJENER\&lt;username&gt; and access their home directories with Windows machines <emphasis role="strong">not</emphasis> joined to the Windows SKOLELINUX domain. 
</para><orderedlist numeration="arabic">
<listitem>
<para>START -&gt; Run command 
</para></listitem>
<listitem>
<para>enter \\TJENER\HOMES or \\TJENER\&lt;username&gt; and press return 
</para></listitem>
<listitem>
<para>enter your login credentials (username, password) in the authentication dialog window that appears 
</para></listitem>
<listitem>
<para>-&gt; a Windows Explorer window should open and show files and folders in your Debian Edu home directory. 
</para></listitem></orderedlist>
<para>By default only the [homes] and the [netlogon] shares are exported; further share examples for students and teachers can be found in <computeroutput>/etc/samba/smb-debian-edu.conf</computeroutput> on your Debian Edu main server. 
</para>
</section>
</section>

<section id="Samba--Domain_Membership">
<title>Domain Membership
</title>
<para>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. 
</para>
<para>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: 
</para>
<itemizedlist><listitem override="none">
<para>$ sudo smbpasswd -e Administrator 
</para></listitem></itemizedlist>
<para>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. 
</para>
<para>Once you are done with your administrative work make sure to disable the SKOLELINUX\Administrator account again: 
</para>
<itemizedlist><listitem override="none">
<para>$ sudo smbpasswd -d Administrator 
</para></listitem></itemizedlist>

<section id="Samba--Windows_hostname">
<title>Windows hostname
</title>
<para>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). 
</para>
</section>

<section id="Samba--Joining_the_SKOLELINUX_Domain_with_Windows_XP">
<title>Joining the SKOLELINUX Domain with Windows XP
</title>
<para>Joining Windows XP machines (tested with Service Pack 3) works out of the box. 
</para>
<para>NOTE: Windows XP Home does not support domain membership; Windows XP Professional is required here.  
</para><orderedlist numeration="arabic">
<listitem>
<para>log on to the Windows XP machine as Administrator (or any other account with Administrator privileges)  
</para></listitem>
<listitem>
<para>click on "Start" then right-click on "Computer" and click on "Properties" 
</para></listitem>
<listitem>
<para>select tab "Computer Name" and click on "Change..."  
</para></listitem>
<listitem>
<para>under "Member of", select the radio button beside "Domain:", type SKOLELINUX and then click "OK" 
</para></listitem>
<listitem>
<para>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" 
</para></listitem>
<listitem>
<para>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" 
</para></listitem></orderedlist>
<para>After the reboot, when you login the first time, click on the "Options &gt;&gt;" button and select the domain SKOLELINUX instead of the local domain ("this computer") 
</para>
<para>If joining the domain has been successful you should then be able to view the host details within GOsa² (under the menu section "Systems").  
</para>
</section>

<section id="Samba--Joining_the_SKOLELINUX_Domain_with_Windows_Vista.2BAC87">
<title>Joining the SKOLELINUX Domain with Windows Vista/7
</title>
<para>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: 
</para>
<itemizedlist><listitem override="none">
<para>\\tjener\netlogon\win7+samba_domain-membership\Win7_Samba3DomainMember.reg 
</para></listitem></itemizedlist>
<para>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. 
</para>
<para>After applying the above patch and rebooting the client system you should be able to join the SKOLELINUX domain: 
</para><orderedlist numeration="arabic">
<listitem>
<para>click on "Start" then right-click on "Computer" and click on "Properties" 
</para></listitem>
<listitem>
<para>the basic system information page will open. Under "Computer name, domain, and workgroup settings", click on "Change Settings" 
</para></listitem>
<listitem>
<para>on the System Properties page, click on "Change..." 
</para></listitem>
<listitem>
<para>under "Member of", select the radio button beside "Domain:", type SKOLELINUX and then click "OK" 
</para></listitem>
<listitem>
<para>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" 
</para></listitem>
<listitem>
<para>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" 
</para></listitem></orderedlist>
<para>After the reboot, when you login the first time, click on the "Options &gt;&gt;" button and select the domain SKOLELINUX instead of the local domain ("this computer") 
</para>
<para>If joining the domain has been successful you should then be able to view the host details within GOsa² (under the menu section "Systems").  
</para>
</section>
</section>

<section id="Samba--First_Domain_Logon">
<title>First Domain Logon
</title>
<para>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: 
</para><orderedlist numeration="arabic">
<listitem>
<para>copy the user's Firefox profile to a separate location and register that with Mozilla Firefox on Windows 
</para></listitem>
<listitem>
<para>set up Web-Proxy and start page in Firefox 
</para></listitem>
<listitem>
<para>set up Web-Proxy and start page in IE 
</para></listitem>
<listitem>
<para>add a MyHome icon to the Desktop that points to drive H: and opens Windows Explorer on double-click 
</para></listitem></orderedlist>
<para>Other tasks are run on every logon. For further information on this, please refer to the <computeroutput>/etc/samba/netlogon</computeroutput> folder on your Debian Edu main server. 
</para>
</section>
</section>


<section id="TeachAndLearn">
<title>HowTos for teaching and learning
</title>
<para>All the Debian packages on this page can be installed by running either <computeroutput>aptitude install &lt;package&gt;</computeroutput> or <computeroutput>apt-get install &lt;package&gt;</computeroutput> (as root). 
</para>

<section id="TeachAndLearn--Moodle">
<title>Moodle
</title>
<para><ulink url="https://packages.debian.org/stable/moodle#">Moodle</ulink> is a free, Open Source course management system - software designed using sound pedagogical principles to help educators create effective online learning communities. You can download and use it on any computer (including webhosts), yet it can scale from a single-teacher site to a University with 200,000 students. Some schools in France use Moodle to keep track of students' facilities and credit points.  
</para>
<para>There are <ulink url="http://moodle.org/sites/">moodle sites</ulink> all over the world, mostly concentrated in Europe and North America. Check the site of an <ulink url="http://moodle.org/sites/">institution</ulink> near you to get an idea about it. More information is available at the <ulink url="http://moodle.org">moodle project page,</ulink> including <ulink url="http://docs.moodle.org/en/Main_Page">documentation</ulink> and <ulink url="http://moodle.org/support/">support</ulink>.  
</para>
</section>

<section id="TeachAndLearn--Teaching_Prolog">
<title>Teaching Prolog
</title>
<para><ulink url="https://packages.debian.org/stable/swi-prolog#">SWI-Prolog</ulink> is an open source implementation of the programming language Prolog, commonly used for teaching and semantic web applications. 
</para>
</section>

<section id="TeachAndLearn--Monitoring_pupils">
<title>Monitoring pupils
</title>
<para>Some schools use control tools like <ulink url="https://packages.debian.org/stable/controlaula#">Controlaula</ulink> or <ulink url="https://packages.debian.org/stable/italc-master#">iTALC</ulink> to supervise their students.  See also the <ulink url="http://sourceforge.net/apps/mediawiki/italc/index.php?title=Main_Page">iTALC Wiki</ulink> (and the documentation in bug <ulink url="https://bugs.debian.org/511387#">511387</ulink>). 
</para>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/alert.png"/></imageobject><textobject><phrase>/!\</phrase></textobject></inlinemediaobject> <emphasis role="strong">Warning</emphasis>: make sure you know the status of the laws about monitoring and restricting computer users' activities in your jurisdiction. 
</para>
</section>

<section id="TeachAndLearn--Restricting_pupils.27_network_access">
<title>Restricting pupils' network access
</title>
<para>Some schools use <ulink url="https://packages.debian.org/stable/squidguard#">Squidguard</ulink> or <ulink url="https://packages.debian.org/stable/dansguardian#">Dansguardian</ulink> to restrict Internet access. 
</para>
</section>

<section id="TeachAndLearn--Smart-Board_integration">
<title>Smart-Board integration
</title>
<para>Some schools use the products of <ulink url="http://smarttech.com">Smarttech</ulink> for their teaching. You need a workstation with drivers and software for this, Smarttech has published some working non-free Software in a Debian Repository as a download. A local copy of this repository needs to be put inside the school network, so that the smartboard software could be installed on our machines. So teachers and pupils can prepare for class on every computer: 
</para>

<section id="TeachAndLearn--Providing_the_repository_on_tjener">
<title>Providing the repository on tjener
</title>
<para>Download the repository as a tar.gz file from <ulink url="http://smarttech.com/us/Support/Browse+Support/Download+Software/Software/SMART+Notebook+collaborative+learning+software/Previous+versions/SMART+Notebook+10_2+for+Linux"/>. 
</para><screen><![CDATA[# move the tar.gz file to a repository directory on the school network's webroot (by default located on tjener):
root@tjener:~# 
mkdir /etc/debian-edu/www/debian
mv smartnotebook10_2sp1debianrepository.tar.gz /etc/debian-edu/www/debian
# change into the new directory
root@tjener:~# cd /etc/debian-edu/www/debian
# extract the file
root@tjener:~# tar xzvf smartnotebook10_2sp1debianrepository.tar.gz]]></screen>
</section>

<section id="TeachAndLearn--Add_the_needed_packages_to_the_PXE_installation_image">
<title>Add the needed packages to the PXE installation image
</title>
<para>Add the following lines to <computeroutput>/etc/debian-edu/www/debian-edu-install.dat.local</computeroutput>: 
</para><screen><![CDATA[d-i apt-setup/local1/repository string http://www/debian/ stable non-free
d-i apt-setup/local1/comment string SMART Repo
d-i apt-setup/local1/key string http://www/debian/swbuild.asc
d-i pkgsel/include string smart-activation,smart-common,smart-gallerysetup,smart-hwr,smart-languagesetup,smart-notebook,smart-notifier,smart-product-drivers]]></screen>
<para>Update the preseed file: 
</para><screen><![CDATA[/usr/sbin/debian-edu-pxeinstall]]></screen>
<para>After this, new installations via PXE will have the <ulink url="https://wiki.debian.org/SmartBoard#">SmartBoard</ulink> software installed. 
</para>
</section>

<section id="TeachAndLearn--Adding_the_SmartBoard_software_manually_after_installation">
<title>Adding the SmartBoard software manually after installation
</title>
<para>The following instructions are for updating LTSP chroots. 
</para>
<para>Using an editor add the following lines to <computeroutput>/etc/apt/sources.list</computeroutput> in the chroot: 
</para><screen><![CDATA[### SMART Repo
deb http://www/debian/ stable non-free]]></screen>
<para>Start the editor like this: 
</para><screen><![CDATA[ltsp-chroot -a i386 editor /etc/apt/sources.list]]></screen>
<para>Add the repository key and install the software: 
</para><screen><![CDATA[ltsp-chroot -a i386 wget http://www/debian/swbuild.asc
ltsp-chroot -a i386 apt-key add swbuild.asc
ltsp-chroot -a i386 rm swbuild.asc
# update the dpkg database and install the wanted packages
ltsp-chroot -a i386 aptitude update
ltsp-chroot -a i386 aptitude install smart-activation,smart-common,smart-gallerysetup,smart-hwr,smart-languagesetup,smart-notebook,smart-notifier,smart-product-drivers]]></screen>
</section>
</section>

<section id="TeachAndLearn--HowTos_from_wiki.debian.org">
<title>HowTos from wiki.debian.org
</title>
<para>The HowTos from <ulink url="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.) 
</para>
<itemizedlist>
<listitem>
<para><ulink url="http://wiki.debian.org/DebianEdu/HowTo/TeacherFirstStep"/> - incomplete but interesting  
</para></listitem></itemizedlist>
</section>
</section>


<section id="Users">
<title>HowTos for users
</title>

<section id="Users--Changing_passwords">
<title>Changing passwords
</title>
<para>Every user should change her or his password by using GOsa². To do so, just use a browser and go to <computeroutput>https://www/gosa/</computeroutput>. 
</para>
<para>Using GOsa² to change the password ensures that Kerberos (krbPrincipalKey), LDAP (userPassword) and Samba (sambaNTPassword and sambaLMPassword) passwords are the same. 
</para>
<para>Changing passwords using PAM is working (ie at the KDM/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². 
</para>
</section>

<section id="Users--Java">
<title>Java
</title>

<section id="Users--Running_standalone_Java_applications">
<title>Running standalone Java applications
</title>
<para>Standalone Java applications are supported out of the box by the OpenJDK Java runtime.  
</para>
</section>

<section id="Users--Running_Java_applications_in_the_web_browser">
<title>Running Java applications in the web browser
</title>
<para>Running Java applets in the browser are supported out of the box by the OpenJDK Java runtime. 
</para>
</section>
</section>

<section id="Users--Using_email">
<title>Using email
</title>
<para>All users can send and receive mails within the internal network. To allow mail outside the internal network, the adminstrator needs to configure the mailserver <computeroutput>exim4</computeroutput> to suit the local situation, starting with <computeroutput>dpkg-reconfigure exim4-config</computeroutput>. 
</para>
<para>Every user who wants to use KMail (or Icedove, not installed by default) needs to configure it as follows. For a user with username jdoe the internal email address is <ulink url="mailto:jdoe@postoffice.intern">jdoe@postoffice.intern</ulink>. 
</para>

<section id="Users--KMail">
<title>KMail
</title>
<itemizedlist>
<listitem>
<para>Start KMail 
</para></listitem>
<listitem>
<para>Close the tip of the day 
</para></listitem>
<listitem>
<para>Cancel the Account Assistant 
</para></listitem>
<listitem>
<para>Open Settings/Configure KMail 
</para></listitem>
<listitem>
<para>Modify the default identity 
</para>
<itemizedlist>
<listitem>
<para>enter your email address 
</para></listitem>
<listitem>
<para>make sure that 'postoffice.intern' is the default domain (tab Advanced) 
</para></listitem>
<listitem>
<para>click OK 
</para></listitem></itemizedlist></listitem>
<listitem>
<para>Choose Accounts out of the menu 
</para>
<itemizedlist>
<listitem>
<para>click add 
</para></listitem>
<listitem>
<para>choose imap-server (get rid of KWallet each time it pops up) 
</para></listitem>
<listitem>
<para>enter 'intern' as account name and 'postoffice.intern' as imap server 
</para></listitem>
<listitem>
<para>check if the username is present 
</para></listitem>
<listitem>
<para>don't enter the password, as Kerberos single sign on will be used 
</para></listitem>
<listitem>
<para>click the tab Advanced 
</para></listitem>
<listitem>
<para>click 'Auto detect', then change Authentication manually from 'Login' to 'GSSAPI' 
</para></listitem>
<listitem>
<para>click ok 
</para></listitem>
<listitem>
<para>accept the certificate (forever) 
</para></listitem>
<listitem>
<para>click ok 
</para></listitem></itemizedlist></listitem>
<listitem>
<para>Open Settings/Configure KMail to configure Sending 
</para>
<itemizedlist>
<listitem>
<para>click Add 
</para></listitem>
<listitem>
<para>enter 'intern' as name and set it as default, choose SMTP 
</para></listitem>
<listitem>
<para>click 'Create and Configure' 
</para></listitem>
<listitem>
<para>enter 'postoffice.intern' as outgoing server name 
</para></listitem>
<listitem>
<para>check 'server requires authentication' 
</para></listitem>
<listitem>
<para>enter username; again, omit the password 
</para></listitem>
<listitem>
<para>click OK 
</para></listitem>
<listitem>
<para>click on the just configured server entry, click 'Modify' 
</para></listitem>
<listitem>
<para>click advanced configuration 
</para></listitem>
<listitem>
<para>click detect automatically 
</para></listitem>
<listitem>
<para>click two times OK 
</para></listitem></itemizedlist></listitem>
<listitem>
<para>You should now be able to read your welcome email (next message).  
</para></listitem></itemizedlist>
</section>

<section id="Users--Icedove">
<title>Icedove
</title>
<itemizedlist>
<listitem>
<para>Start Icedove 
</para></listitem>
<listitem>
<para>Click 'Skip this and use my existing email' 
</para></listitem>
<listitem>
<para>Enter your email address 
</para></listitem>
<listitem>
<para>Uncheck 'Remember password' 
</para></listitem>
<listitem>
<para>Don't enter your password as Kerberos single sign on will be used 
</para></listitem>
<listitem>
<para>Click 'Continue' 
</para></listitem>
<listitem>
<para>Click 'Manual config' 
</para></listitem>
<listitem>
<para>Under Authentication, change it to 'Kerberos/GSSAPI' for SMTP as well 
</para></listitem>
<listitem>
<para>Click 'Done' 
</para></listitem>
<listitem>
<para>A warning pops up, check 'I understand the risks' and click 'Done' 
</para></listitem>
<listitem>
<para>First time accessing the inbox click 'Confirm Security Exception' to accept the certificate 
</para></listitem></itemizedlist>
</section>

<section id="Users--Obtaining_a_Kerberos_ticket_to_read_email_on_diskless_workstations">
<title>Obtaining a Kerberos ticket to read email on diskless workstations
</title>
<para>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. 
</para>
</section>
</section>

<section id="Users--Volume_control">
<title>Volume control
</title>
<para>On thin clients, <computeroutput>pavucontrol</computeroutput> or <computeroutput>alsamixer</computeroutput> (but not <computeroutput>kmix</computeroutput>) can be used to change audio volume. 
</para>
<para>On other machines (workstations, LTSP servers, and diskless workstations), <computeroutput>kmix</computeroutput> or <computeroutput>alsamixer</computeroutput> can be used. 
</para>
</section>
</section>


<section id="Contribute">
<title>Contribute
</title>

<section id="Contribute--Let_us_know_you_exist">
<title>Let us know you exist
</title>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/worldmap.png"/></imageobject><textobject><phrase>http://www.skolelinux.no/slschools/worldmap.php?lang=en&amp;image=worldmap.png</phrase></textobject></inlinemediaobject> 
</para>
<para>There are Debian Edu users all over the world. A very easy form of contribution is to let us know you exist and use Debian Edu - this motivates us very much and therefore is already a valuable contribution. <inlinemediaobject><imageobject><imagedata fileref="./images/smile.png"/></imageobject><textobject><phrase>:-)</phrase></textobject></inlinemediaobject> 
</para>
<para>The Debian Edu projects provide a database of schools and users of the system to help the users find each other, and also to have an idea about where the users of the distribution are located.  Please let us know about your installation, by registering in this database.  To register your school,  <ulink url="http://wiki.debian.org/DebianEdu/ReferenceSchools">use this web form</ulink>. 
</para>
</section>

<section id="Contribute--Contribute_locally">
<title>Contribute locally
</title>
<para>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.  
</para>
<para>The <link linkend="Support">support chapter</link> has explanations and links to localised resources, as <emphasis>contribute</emphasis> and <emphasis>support</emphasis> are two sides of the same coin.  
</para>
</section>

<section id="Contribute--Contribute_globally">
<title>Contribute globally
</title>
<para>Internationally we are organised into various <ulink url="http://wiki.debian.org/DebianEdu/Teams/">teams</ulink> working on different subjects. 
</para>
<para>Most of the time, the <ulink url="http://lists.debian.org/debian-edu">developer mailing list</ulink> is our main medium for communication, though we have monthly IRC meetings on #debian-edu on irc.debian.org and even, less frequently, real gatherings, where we meet each other in person. <ulink url="http://wiki.debian.org/DebianEdu/NewContributor">New contributors</ulink> should read our <ulink url="http://wiki.debian.org/DebianEdu/ArchivePolicy"/>. 
</para>
<para>A good way to learn what is happening in the development of Debian Edu is to subscribe to the <ulink url="http://lists.alioth.debian.org/mailman/listinfo/debian-edu-commits">commit mailinglist</ulink>. 
</para>
</section>

<section id="Contribute--Documentation_writers_and_translators">
<title>Documentation writers and translators
</title>
<para>This document needs your help! First and foremost, it is not finished yet: if you read it, you will notice various 
FIXMEs within the text. If you happen to know (a bit of) what needs to be explained there, please consider sharing your knowledge with us.  
</para>
<para>The source of the text is a wiki and can be edited with a simple webbrowser. Just go to  <ulink url="http://wiki.debian.org/DebianEdu/Documentation/Jessie/"/> and you can contribute easily. Note: a user account is needed to edit the pages; you need to <ulink url="http://wiki.debian.org/UserPreferences">create a wiki user</ulink> first. 
</para>
<para>Another very good way to contribute and to help users is by translating software and documentation. Information on how to translate this document can be found in the <link linkend="Translations">translations chapter</link> of this book. Please consider helping the translation effort of this book! 
</para>
</section>
</section>


<section id="Support">
<title>Support
</title>

<section id="Support--Volunteer_based_support">
<title>Volunteer based support
</title>

<section id="Support--in_English">
<title>in English
</title>
<itemizedlist>
<listitem>
<para><ulink url="http://wiki.debian.org/DebianEdu"/> 
</para></listitem>
<listitem>
<para><ulink url="https://init.linpro.no/mailman/skolelinux.no/listinfo/admin-discuss"/> - support mailing list 
</para></listitem>
<listitem>
<para>#debian-edu on irc.debian.org - IRC channel, mostly development related; do not expect real time support even though it frequently happens <inlinemediaobject><imageobject><imagedata fileref="./images/smile.png"/></imageobject><textobject><phrase>:-)</phrase></textobject></inlinemediaobject> 
</para></listitem></itemizedlist>
</section>

<section id="Support--in_Norwegian">
<title>in Norwegian
</title>
<itemizedlist>
<listitem>
<para><ulink url="https://init.linpro.no/mailman/skolelinux.no/listinfo/bruker"/> - support mailing list 
</para></listitem>
<listitem>
<para><ulink url="https://init.linpro.no/mailman/skolelinux.no/listinfo/linuxiskolen"/> - mailing list for the development member organisation in Norway (FRISK) 
</para></listitem>
<listitem>
<para>#skolelinux on irc.debian.org - IRC channel to support Norwegian users 
</para></listitem></itemizedlist>
</section>

<section id="Support--in_German">
<title>in German
</title>
<itemizedlist>
<listitem>
<para><ulink url="http://lists.debian.org/debian-edu-german"/> - support mailing list 
</para></listitem>
<listitem>
<para><ulink url="http://wiki.skolelinux.de"/> - wiki with lots of HowTos etc. 
</para></listitem>
<listitem>
<para>#skolelinux.de on irc.debian.org - IRC channel to support German users 
</para></listitem></itemizedlist>
</section>

<section id="Support--in_French">
<title>in French
</title>
<itemizedlist>
<listitem>
<para><ulink url="http://lists.debian.org/debian-edu-french"/> - support mailing list 
</para></listitem></itemizedlist>
</section>

<section id="Support--in_Spanish">
<title>in Spanish
</title>
<itemizedlist>
<listitem>
<para><ulink url="http://www.skolelinux.es"/> - Spanish portal 
</para></listitem></itemizedlist>
</section>
</section>

<section id="Support--Professional_support">
<title>Professional support
</title>
<para>Lists of companies providing professional support are available from <ulink url="http://wiki.debian.org/DebianEdu/Help/ProfessionalHelp"/>. 
</para>
</section>
</section>


<section id="Features">
<title>New features in Debian Edu Jessie
</title>

<section id="Features--New_features_for_Debian_Edu_8.2B-edu1_Codename_Jessie">
<title>New features for Debian Edu 8+edu1 Codename Jessie
</title>
<para>This is the second release of Debian Edu Jessie. Please report feedback to <ulink url="mailto:debian-edu@lists.debian.org">debian-edu@lists.debian.org</ulink>! 
</para>
<para>Debian Edu 8+edu1 Codename Jessie is a bugfix release which aggregates several bugfixes from Debian jessie point releases, resulting in new installation media. 
</para>
<para>If you are already running Debian Edu 8+edu0 Jessie, <emphasis role="strong">apt upgrade</emphasis> is sufficient to upgrade to Debian Edu 8+edu1. 
</para>
</section>

<section id="Features--New_features_for_Debian_Edu_8.2B-edu0_Codename_Jessie">
<title>New features for Debian Edu 8+edu0 Codename Jessie
</title>
<para>This is the first release of Debian Edu Jessie. It was released on <ulink url="https://www.debian.org/News/2016/20160702">July 2nd 2016</ulink>. 
</para>

<section id="Features--Installation_changes">
<title>Installation changes
</title>
<itemizedlist>
<listitem>
<para>New version of debian-installer from Debian Jessie, see <ulink url="http://www.debian.org/releases/jessie/installmanual">installation manual</ulink> for more details. 
</para></listitem></itemizedlist>
</section>

<section id="Features--Software_updates">
<title>Software updates
</title>
<itemizedlist>
<listitem>
<para>Everything which is new in Debian 8 Jessie, eg: 
</para>
<itemizedlist>
<listitem>
<para>Linux kernel 3.16.x 
</para></listitem>
<listitem>
<para>Desktop environments KDE Plasma Workspace 4.11.13, GNOME 3.14, Xfce 4.10, LXDE 0.5.6 
</para>
<itemizedlist>
<listitem>
<para>new optional desktop environment: MATE 1.8 
</para></listitem>
<listitem>
<para>KDE Plasma Workspace is installed by default; to choose one of the others see this manual. 
</para></listitem></itemizedlist></listitem>
<listitem>
<para>the browsers Iceweasel 31 ESR and Chromium 41 
</para></listitem>
<listitem>
<para>LibreOffice 4.3.3 
</para></listitem>
<listitem>
<para>Educational toolbox GCompris 14.12 
</para></listitem>
<listitem>
<para>Music creator Rosegarden 14.02 
</para></listitem>
<listitem>
<para>GOsa 2.7.4 
</para></listitem>
<listitem>
<para>LTSP 5.5.4 
</para></listitem>
<listitem>
<para>new boot framework: systemd. More information is available in the Debian <ulink url="https://wiki.debian.org/systemd">systemd wiki page</ulink>  and in the<ulink url="http://www.freedesktop.org/wiki/Software/systemd/">systemd manual</ulink>. 
</para></listitem>
<listitem>
<para>Debian Jessie includes about 42000 packages available for installation. 
</para></listitem></itemizedlist>
<itemizedlist>
<listitem>
<para>More information about Debian 8 Jessie is provided in the <ulink url="http://www.debian.org/releases/jessie/releasenotes">release notes</ulink> and the <ulink url="http://www.debian.org/releases/jessie/installmanual">installation manual</ulink>. 
</para></listitem></itemizedlist></listitem></itemizedlist>
</section>

<section id="Features--Documentation_and_translation_updates">
<title>Documentation and translation updates
</title>
<itemizedlist>
<listitem>
<para>Translation updates for the templates used in the installer. These templates are now available in 29 languages. 
</para></listitem>
<listitem>
<para>Two manual translations have been completed: Dutch and Norwegian Bokmål. 
</para></listitem>
<listitem>
<para>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. 
</para></listitem></itemizedlist>
</section>

<section id="Features--Other_changes_compared_to_the_previous_release">
<title>Other changes compared to the previous release
</title>
<itemizedlist>
<listitem>
<para><emphasis>squid</emphasis>: Shutdown and reboot of the main server takes longer than before due to a new default setting <computeroutput>shutdown_lifetime 30 seconds</computeroutput>. As an example the delay could be set to 10 seconds by appending the line <computeroutput>shutdown_lifetime 10 seconds</computeroutput> to <computeroutput>/etc/squid3/squid.conf</computeroutput>. 
</para></listitem>
<listitem>
<para><emphasis>ssh</emphasis>: The root user is no longer allowed to login via SSH with password. The old default <computeroutput>PermitRootLogin yes</computeroutput> has been replaced with <computeroutput>PermitRootLogin without-password</computeroutput>, so ssh-keys will still work. 
</para></listitem>
<listitem>
<para><emphasis>slbackup-php</emphasis>: To be able to use the slbackup-php site (which uses root logins via ssh), <computeroutput>PermitRootLogin yes</computeroutput> has to be set temporarily in <computeroutput>/etc/ssh/sshd_config</computeroutput>. 
</para></listitem>
<listitem>
<para><emphasis>sugar</emphasis>: As the Sugar desktop was removed from Debian Jessie, it is also not available in Debian Edu jessie. 
</para></listitem></itemizedlist>
</section>

<section id="Features--Known_issues">
<title>Known issues
</title>
<itemizedlist>
<listitem>
<para>None yet. 
</para></listitem></itemizedlist>
</section>
</section>
</section>


<section id="CopyRight">
<title>Copyright and authors
</title>
<para>This document is written and copyrighted by Holger Levsen (2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016), 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), Bernhard Hammes (2012) and Joe Hansen (2015) and is released under the GPL2 or any later version. Enjoy! 
</para>
<para>If you add content to it, <emphasis role="strong">please only do so if you are the author. You need to release it under the same conditions</emphasis>! Then add your name here and release it under the "GPL v2 or any later version" licence. 
</para>
</section>

<section id="CopyRight--Translation_copyright_and_authors">
<title>Translation copyright and authors
</title>
<para>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. 
</para>
<para>The Bokmål translation is copyrighted by Petter Reinholdtsen (2007, 2012, 2014, 2015, 2017), Håvard Korsvoll (2007-2009), Tore Skogly (2008), Ole-Anders Andreassen (2010), Jan Roar Rød (2010), Ole-Erik Yrvin (2014), Ingrid Yrvin (2014, 2015, 2016), Hans Arthur Kielland Aanesen (2014), Knut Yrvin (2014), FourFire Le'bard (2014), Stefan Mitchell-Lauridsen (2014) and Ragnar Wisløff (2014) and is released under the GPL v2 or any later version. 
</para>
<para>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) and is released under the GPL v2 or any later version. 
</para>
<para>The Italian translation is copyrighted by Claudio Carboncini (2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016) and Beatrice Torracca (2013, 2014) and is released under the GPL v2 or any later version. 
</para>
<para>The French translation is copyrighted by Christophe Masson (2008), Olivier Vitrat (2010), Cédric Boutillier (2012, 2013, 2014, 2015, 2016), Jean-Paul Guilloneau (2012), David Prévot (2012), Thomas Vincent (2012) and the French l10n team (2009, 2010, 2012) and is released under the GPL v2 or any later version. 
</para>
<para>The Danish translation is copyrighted by Joe Hansen (2012, 2013, 2014, 2015, 2016) and is released under the GPL v2 or any later version. 
</para>
<para>The Dutch translation is copyrighted by Frans Spiesschaert (2014, 2015, 2016) and is released under the GPL v2 or any later version. 
</para>
<para>The Polish translation is copyrighted by Stanisław Krukowski (2016, 2017) and is released under the GPL v2 or any later version. 
</para>
</section>


<section id="Translations">
<title>Translations of this document
</title>
<para>Versions of this document fully translated into German, Italian, French, Danish, Dutch and Norwegian Bokmål are available. An incomplete translation exists for Spanish. This is an <ulink url="http://maintainer.skolelinux.org/debian-edu-doc/">online overview of all languages</ulink>. 
</para>

<section id="Translations--HowTo_translate_this_document">
<title>HowTo translate this document
</title>
<para>As in many free software projects, translations of this document are kept in PO files. More information about the process can be found in <computeroutput>/usr/share/doc/debian-edu-doc/README.debian-edu-jessie-manual-translations</computeroutput>. The Git repository (see below) contains this file too. Take a look there and at the <ulink url="https://wiki.debian.org/DebianEdu/Contribute/Translation/Conventions#">language specific conventions</ulink> if you want to help translating this document.   
</para>
<para>To commit your translations you need to be a member of the Alioth project <computeroutput>debian-edu</computeroutput>. If your Alioth username differs from your local one, create or edit <computeroutput>~/.ssh/config</computeroutput>. There should be an entry like: 
</para><screen><![CDATA[Host git.debian.org
User <your-alioth-username>]]></screen>
<para> Then check out the <computeroutput>debian-edu-doc</computeroutput> source using ssh access: <computeroutput>git clone git+ssh://git.debian.org/git/debian-edu/debian-edu-doc.git</computeroutput> 
</para>
<para>If you only want to translate, you just need to check out some files from Git (which can be done anonymously) and create patches. Please file a bug against the debian-edu-doc package and attach the PO file to the <ulink url="http://bugs.debian.org/debian-edu-doc">bugreport</ulink>. You can find some <ulink url="http://bugs.debian.org">instructions on how to submit bugs</ulink> here. 
</para>
<para>You can check out the <computeroutput>debian-edu-doc</computeroutput> source anonymously with the following command (you need to have the <computeroutput>git</computeroutput> package installed for this to work): 
</para>
<itemizedlist><listitem override="none">
<para><computeroutput>git clone git://anonscm.debian.org/debian-edu/debian-edu-doc.git</computeroutput> 
</para></listitem></itemizedlist>
<para>Then edit the file <computeroutput>documentation/debian-edu-jessie/debian-edu-jessie-manual.$CC.po</computeroutput> (replacing $CC with your language code). There are many tools for translating available; we suggest using <computeroutput>lokalize</computeroutput>. 
</para>
<para>Then you either commit the file directly to Git (if you have the rights to do so) or send the file to the bugreport. 
</para>
<para>To update your local copy of the repository use the following command inside the <computeroutput>debian-edu-doc</computeroutput> directory: 
</para>
<itemizedlist><listitem override="none">
<para><computeroutput>git pull</computeroutput> 
</para></listitem></itemizedlist>
<para>Read /usr/share/doc/debian-edu-doc/README.debian-edu-jessie-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. 
</para>
<para>Please keep in mind that this manual is still under development, so don't translate any string which contains "
FIXME". <!-- <remark>status ignore</remark> --> 
</para>
<para>Basic information about Alioth (the host where our Git repository is located) and Git is available at <ulink url="http://wiki.debian.org/Alioth/Git"/>. 
</para>
<para>If you are new to Git, look at the <ulink url="http://git-scm.com/book">Pro Git</ulink> book; it has a chapter on the <ulink url="http://git-scm.com/book/en/Git-Basics-Recording-Changes-to-the-Repository">recording changes to the repository</ulink>. Also you might want to look at the <computeroutput>gitk</computeroutput> package that provides a GUI for Git. 
</para>
<para>Please report any problems. 
</para>
</section>
</section>


<section id="AppendixA">
<title>Appendix A - The GNU General Public License
</title><screen><![CDATA[Note to translators: there is no need to translate the GPL license text. ]]></screen>

<section id="AppendixA--Manual_for_Debian_Edu_8.2B-edu1_Codename_.26quot.3BJessie.26quot.3B">
<title>Manual for Debian Edu 8+edu1 Codename "Jessie"
</title>
<para>Copyright (C) 2007-2016 Holger Levsen &lt; <ulink url="mailto:holger@layer-acht.org">holger@layer-acht.org</ulink> &gt; and others, see the <link linkend="CopyRight">Copyright chapter</link> for the full list of copyright owners. 
</para>
<para>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. 
</para>
<para>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. 
</para>
<para>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. 
</para>
</section>

<section id="AppendixA--GNU_GENERAL_PUBLIC_LICENSE">
<title>GNU GENERAL PUBLIC LICENSE
</title>
<para>Version 2, June 1991 
</para>
<para>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. 
</para>
</section>

<section id="AppendixA--TERMS_AND_CONDITIONS_FOR_COPYING.2C_DISTRIBUTION_AND_MODIFICATION">
<title>TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
</title>
<para><emphasis role="strong">0.</emphasis>  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". 
</para>
<para>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. 
</para>
<para><emphasis role="strong">1.</emphasis>  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. 
</para>
<para>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. 
</para>
<para><emphasis role="strong">2.</emphasis>  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: 
</para>
<itemizedlist><listitem override="none">
<para><emphasis role="strong">a)</emphasis>       You must cause the modified files to carry prominent notices       stating that you changed the files and the date of any change. 
</para>
<para><emphasis role="strong">b)</emphasis>       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. 
</para>
<para><emphasis role="strong">c)</emphasis>       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.) 
</para></listitem></itemizedlist>
<para>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. 
</para>
<para>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. 
</para>
<para>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. 
</para>
<para><emphasis role="strong">3.</emphasis>  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: 
</para>
<itemizedlist><listitem override="none">
<para><emphasis role="strong">a)</emphasis>       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, 
</para>
<para><emphasis role="strong">b)</emphasis>       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, 
</para>
<para><emphasis role="strong">c)</emphasis>       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.) 
</para></listitem></itemizedlist>
<para>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. 
</para>
<para>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. 
</para>
<para><emphasis role="strong">4.</emphasis>  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. 
</para>
<para><emphasis role="strong">5.</emphasis>  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. 
</para>
<para><emphasis role="strong">6.</emphasis>  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. 
</para>
<para><emphasis role="strong">7.</emphasis>   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. 
</para>
<para>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. 
</para>
<para>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. 
</para>
<para>This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 
</para>
<para><emphasis role="strong">8.</emphasis>  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. 
</para>
<para><emphasis role="strong">9.</emphasis>  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. 
</para>
<para>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. 
</para>
<para><emphasis role="strong">10.</emphasis>  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. 
</para>
<para><emphasis role="strong">NO WARRANTY</emphasis> 
</para>
<para><emphasis role="strong">11.</emphasis>  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. 
</para>
<para><emphasis role="strong">12.</emphasis>  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. 
</para>
<para><emphasis role="strong">END OF TERMS AND CONDITIONS</emphasis> 
</para>
</section>
</section>


<section id="AppendixB">
<title>Appendix B - no Debian Edu Live CD/DVDs for Jessie yet
</title>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/alert.png"/></imageobject><textobject><phrase>/!\</phrase></textobject></inlinemediaobject> Debian Edu Live CD/DVDs for Jessie are not available at the moment, but might be added eventually. 
</para>

<section id="AppendixB--Features_of_the_Standalone_image">
<title>Features of the Standalone image
</title>
<itemizedlist>
<listitem>
<para>XFCE desktop 
</para></listitem>
<listitem>
<para>All packages from the Standalone profile 
</para></listitem>
<listitem>
<para>All packages from the laptop task 
</para></listitem></itemizedlist>
</section>

<section id="AppendixB--Features_of_the_Workstation_image">
<title>Features of the Workstation image
</title>
<itemizedlist>
<listitem>
<para>XFCE desktop 
</para></listitem>
<listitem>
<para>All packages from the Workstation profile 
</para></listitem>
<listitem>
<para>All packages from the laptop task 
</para></listitem></itemizedlist>
</section>

<section id="AppendixB--Activating_translations_and_regional_support">
<title>Activating translations and regional support
</title>
<para>To activate a specific translation, boot using <computeroutput>locale=ll_CC.UTF-8</computeroutput> as a boot option, where ll_CC.UTF-8 is the locale name you want.  To activate a given keyboard layout, use the <computeroutput>keyb=KB</computeroutput> option where KB is the desired keyboard layout. Here is a list of commonly used locale codes: 
</para><informaltable><tgroup cols="3"><colspec colname="col_0"/><colspec colname="col_1"/><colspec colname="col_2"/><tbody><row rowsep="1"><entry colsep="1" rowsep="1">
<para> <emphasis role="strong">Language (Region)</emphasis> 
</para></entry><entry colsep="1" rowsep="1">
<para> <emphasis role="strong">Locale value</emphasis> 
</para></entry><entry colsep="1" rowsep="1">
<para> <emphasis role="strong">Keyboard layout</emphasis> 
</para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1">
<para> Norwegian Bokmål  
</para></entry><entry colsep="1" rowsep="1">
<para> nb_NO.UTF-8 
</para></entry><entry colsep="1" rowsep="1">
<para> no 
</para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1">
<para> Norwegian Nynorsk 
</para></entry><entry colsep="1" rowsep="1">
<para> nn_NO.UTF-8 
</para></entry><entry colsep="1" rowsep="1">
<para> no 
</para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1">
<para> German            
</para></entry><entry colsep="1" rowsep="1">
<para> de_DE.UTF-8 
</para></entry><entry colsep="1" rowsep="1">
<para> de 
</para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1">
<para> French (France)   
</para></entry><entry colsep="1" rowsep="1">
<para> fr_FR.UTF-8 
</para></entry><entry colsep="1" rowsep="1">
<para> fr 
</para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1">
<para> Greek (Greece)    
</para></entry><entry colsep="1" rowsep="1">
<para> el_GR.UTF-8 
</para></entry><entry colsep="1" rowsep="1">
<para> el 
</para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1">
<para> Japanese          
</para></entry><entry colsep="1" rowsep="1">
<para> ja_JP.UTF-8 
</para></entry><entry colsep="1" rowsep="1">
<para> jp 
</para></entry></row><row rowsep="1"><entry colsep="1" rowsep="1">
<para> Northern Sami (Norway)   
</para></entry><entry colsep="1" rowsep="1">
<para> se_NO             
</para></entry><entry colsep="1" rowsep="1">
<para> no(smi) 
</para></entry></row></tbody></tgroup></informaltable>
<para>A complete list of locale codes is available in <computeroutput>/usr/share/i18n/SUPPORTED</computeroutput>, 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/. 
</para>
</section>

<section id="AppendixB--Stuff_to_know">
<title>Stuff to know
</title>
<itemizedlist>
<listitem>
<para>The password for the user is "user"; root has no passwd set. 
</para></listitem></itemizedlist>
</section>

<section id="AppendixB--Known_issues_with_the_image">
<title>Known issues with the image
</title>
<itemizedlist>
<listitem>
<para><inlinemediaobject><imageobject><imagedata fileref="./images/alert.png"/></imageobject><textobject><phrase>/!\</phrase></textobject></inlinemediaobject> There are no images yet <inlinemediaobject><imageobject><imagedata fileref="./images/sad.png"/></imageobject><textobject><phrase>:(</phrase></textobject></inlinemediaobject> 
</para></listitem></itemizedlist>
</section>

<section id="AppendixB--Download">
<title>Download
</title>
<para>The image would be (but currently isn't) available via <ulink url="ftp://ftp.skolelinux.org/cd-jessie-live/">FTP</ulink>, <ulink url="http://ftp.skolelinux.org/cd-jessie-live/">HTTP</ulink> or rsync from <computeroutput>ftp.skolelinux.org</computeroutput> under <computeroutput>cd-jessie-live/</computeroutput>. 
</para>
</section>
</section>


<section id="AppendixC">
<title>Appendix C - Features in older releases
</title>

<section id="AppendixC--New_features_in_Debian_Edu_7.1.2B-edu0_Codename_Wheezy_released_2013-09-28">
<title>New features in Debian Edu 7.1+edu0 Codename Wheezy released 2013-09-28
</title>

<section id="AppendixC--User_visible_changes">
<title>User visible changes
</title>
<itemizedlist>
<listitem>
<para>Updated artwork and new Debian Edu / Skolelinux logo, visible during installation, in the login screen and as desktop wallpaper. 
</para></listitem></itemizedlist>
</section>

<section id="AppendixC--Installation_changes">
<title>Installation changes
</title>
<itemizedlist>
<listitem>
<para>New version of debian-installer from Debian Wheezy, see <ulink url="http://www.debian.org/releases/wheezy/installmanual">installation manual</ulink> for more details. 
</para></listitem>
<listitem>
<para>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. 
</para></listitem></itemizedlist>
</section>

<section id="AppendixC--Software_updates">
<title>Software updates
</title>
<itemizedlist>
<listitem>
<para>Everything which is new in Debian Wheezy 7.1, eg: 
</para>
<itemizedlist>
<listitem>
<para>Linux kernel 3.2.x 
</para></listitem>
<listitem>
<para>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.) 
</para></listitem>
<listitem>
<para>Web browser Iceweasel 17 ESR 
</para></listitem>
<listitem>
<para>LibreOffice 3.5.4 
</para></listitem>
<listitem>
<para>LTSP 5.4.2 
</para></listitem>
<listitem>
<para>GOsa 2.7.4 
</para></listitem>
<listitem>
<para>CUPS print system 1.5.3 
</para></listitem>
<listitem>
<para>Educational toolbox GCompris 12.01 
</para></listitem>
<listitem>
<para>Music creator Rosegarden 12.04 
</para></listitem>
<listitem>
<para>Image editor Gimp 2.8.2 
</para></listitem>
<listitem>
<para>Virtual universe Celestia 1.6.1 
</para></listitem>
<listitem>
<para>Virtual stargazer Stellarium 0.11.3 
</para></listitem>
<listitem>
<para>Scratch visual programming environment 1.4.0.6 
</para></listitem>
<listitem>
<para>New version of debian-installer from Debian Wheezy, see <ulink url="http://www.debian.org/releases/wheezy/installmanual">installation manual</ulink> for more details. 
</para></listitem>
<listitem>
<para>Debian Wheezy includes about 37000 packages available for installation. 
</para></listitem></itemizedlist>
<itemizedlist>
<listitem>
<para>More information about Debian Wheezy 7.1 is provided in the <ulink url="http://www.debian.org/releases/wheezy/releasenotes">release notes</ulink> and the <ulink url="http://www.debian.org/releases/wheezy/installmanual">installation manual</ulink>. 
</para></listitem></itemizedlist></listitem></itemizedlist>
</section>

<section id="AppendixC--Documentation_and_translation_updates">
<title>Documentation and translation updates
</title>
<itemizedlist>
<listitem>
<para>Translation updates for the templates used in the installer. These templates are now available in 29 languages. 
</para></listitem>
<listitem>
<para>The Debian Edu Wheezy Manual is fully translated to German, French, Italian and Danish. Partly translated versions exist for Norwegian Bokmål and Spanish. 
</para></listitem></itemizedlist>
</section>

<section id="AppendixC--LDAP_related_changes">
<title>LDAP related changes
</title>
<itemizedlist>
<listitem>
<para>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. 
</para></listitem></itemizedlist>
</section>

<section id="AppendixC--Other_changes">
<title>Other changes
</title>
<itemizedlist>
<listitem>
<para>New Xfce desktop task. 
</para></listitem>
<listitem>
<para>LTSP diskless workstations run without any configuration. 
</para></listitem>
<listitem>
<para>On the dedicated client network of thin client servers (default 192.168.0.0/24), machines run by default as diskless workstations if they are powerful enough.   
</para></listitem>
<listitem>
<para>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. 
</para></listitem></itemizedlist>
</section>

<section id="AppendixC--Known_issues">
<title>Known issues
</title>
<itemizedlist>
<listitem>
<para>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. 
</para></listitem></itemizedlist>
</section>
</section>

<section id="AppendixC--Changes_for_Debian_Edu_6.0.7.2B-r1_Codename_.26quot.3BSqueeze.26quot.3B_released_2013-03-03">
<title>Changes for Debian Edu 6.0.7+r1 Codename "Squeeze" released 2013-03-03
</title>
<itemizedlist>
<listitem>
<para>Debian Edu 6.0.7+r1 Codename "Squeeze" is an incremental update to Debian Edu 6.0.4+r0, containing all the changes between Debian 6.0.4 and 6.0.7 as well as the following changes: 
</para></listitem>
<listitem>
<para>sitesummary was updated from 0.1.3 to 0.1.8 
</para>
<itemizedlist>
<listitem>
<para>Make Nagios configuration more robust and efficient 
</para></listitem>
<listitem>
<para>Comply with 3.X kernel 
</para></listitem></itemizedlist></listitem>
<listitem>
<para>debian-edu-doc from 1.4~20120310~6.0.4+r0 to 1.4~20130228~6.0.7+r1 
</para>
<itemizedlist>
<listitem>
<para>Minor updates from the wiki 
</para></listitem>
<listitem>
<para>Danish translation now complete 
</para></listitem></itemizedlist></listitem>
<listitem>
<para>debian-edu-config from 1.453 to 1.455 
</para>
<itemizedlist>
<listitem>
<para>Fix /etc/hosts for LTSP diskless workstations. Closes: #699880 
</para></listitem>
<listitem>
<para>Make ltsp_local_mount script work for multiple devices. 
</para></listitem>
<listitem>
<para>Correct Kerberos user policy: don't expire password after 2 days. Closes: #664596 
</para></listitem>
<listitem>
<para>Handle '#' characters in the root or first users password. Closes: #664976 
</para></listitem>
<listitem>
<para>Fixes for gosa-sync: 
</para>
<itemizedlist>
<listitem>
<para>Don't fail if password contains " 
</para></listitem>
<listitem>
<para>Don't disclose new password string in syslog 
</para></listitem></itemizedlist></listitem>
<listitem>
<para>Fixes for gosa-create: 
</para>
<itemizedlist>
<listitem>
<para>Invalidate libnss cache before applying changes 
</para></listitem>
<listitem>
<para>Multiple failures during mass user import into GOsa² 
</para></listitem></itemizedlist></listitem>
<listitem>
<para>gosa-netgroups plugin: don't erase entries of attribute type "memberNisNetgroup". Closes: #687256 
</para></listitem>
<listitem>
<para>First user now uses the same Kerberos policy as all other users 
</para></listitem>
<listitem>
<para>Add Danish web page 
</para></listitem></itemizedlist></listitem>
<listitem>
<para>debian-edu-install from 1.528 to 1.530 
</para>
<itemizedlist>
<listitem>
<para>Improve preseeding support and documentation 
</para></listitem></itemizedlist></listitem></itemizedlist>
</section>

<section id="AppendixC--New_features_in_Debian_Edu_6.0.4.2B-r0_Codename_.26quot.3BSqueeze.26quot.3B_released_2012-03-11">
<title>New features in Debian Edu 6.0.4+r0 Codename "Squeeze" released 2012-03-11
</title>

<section id="AppendixC--Appendix_C_-_Features_in_older_releases--New_features_in_Debian_Edu_6.0.4.2B-r0_Codename_.26quot.3BSqueeze.26quot.3B_released_2012-03-11--User_visible_changes">
<title>User visible changes
</title>
<itemizedlist>
<listitem>
<para>Updated artwork and new Debian Edu / Skolelinux logo, visible during installation, in the login screen and as desktop wallpaper. 
</para></listitem>
<listitem>
<para>Replace LWAT with GOsa² as the LDAP administration interface. See below and the <ulink url="https://wiki.debian.org/DebianEdu/Documentation/Squeeze/GettingStarted#">Getting started chapter</ulink> of the manual for more information on GOsa². 
</para></listitem>
<listitem>
<para>See below for a list of updated software. 
</para></listitem>
<listitem>
<para>Show welcome page to users when they first log in. This default start page for Iceweasel is fetched from LDAP at installation and boot time for networked profiles. Set to <ulink url="http://www.skolelinux.org/"/> for Standalone installations.  
</para></listitem>
<listitem>
<para>New LXDE desktop option, in addition to KDE (default) and GNOME. As the GNOME option, the LXDE desktop option is only supported by the CD installation method. 
</para></listitem>
<listitem>
<para>Speed up LTSP client boot. 
</para></listitem>
<listitem>
<para>Provide a KDE menu entry for changing the password in GOsa².  
</para>
<itemizedlist>
<listitem>
<para>For more information on how to change passwords (including expired passwords at the KDM/GDM login prompt), please see the <ulink url="https://wiki.debian.org/DebianEdu/Documentation/Squeeze/HowTo/Users#">HowTos for users</ulink> chapter of the manual. 
</para></listitem></itemizedlist></listitem>
<listitem>
<para>Add link to <ulink url="http://linuxsignpost.org/"/> on the start page shown to new users. 
</para></listitem>
<listitem>
<para>All LTSP servers are also <ulink url="http://wiki.debian.org/DebianEdu/Documentation/Squeeze/HowTo/NetworkClients#Remote_Desktop_Service">RDP servers</ulink> by default. 
</para></listitem>
<listitem>
<para>Improve handling of removable media on thin clients. Show desktop notification longer when inserting new media and provide an option to start dolphin when such media is inserted.  
</para></listitem></itemizedlist>
</section>

<section id="AppendixC--Appendix_C_-_Features_in_older_releases--New_features_in_Debian_Edu_6.0.4.2B-r0_Codename_.26quot.3BSqueeze.26quot.3B_released_2012-03-11--Installation_changes">
<title>Installation changes
</title>
<itemizedlist>
<listitem>
<para>New version of debian-installer from Debian Squeeze, see <ulink url="http://www.debian.org/releases/squeeze/installmanual">installation manual</ulink> for more details. 
</para></listitem>
<listitem>
<para>Since root logins are no longer allowed when using gdm/kdm, a user in LDAP is set up during installation of the Main Server. This user is up as GOsa² administrator and is also granted sudo access. The Debian Edu menu reordering has been enabled as well, by adding the user also to the <computeroutput>teachers</computeroutput> group. 
</para></listitem>
<listitem>
<para>The <computeroutput>.iso</computeroutput> images can directly be copied onto USB flash drives, for example by using <computeroutput>dd</computeroutput> or even <computeroutput>cat</computeroutput>. 
</para></listitem>
<listitem>
<para>New roaming workstation profile for laptops. 
</para></listitem>
<listitem>
<para>Device access for all users is handled by <ulink url="https://wiki.debian.org/PolicyKit#">PolicyKit</ulink>, and no extra group memberships are needed to get access to devices. 
</para></listitem>
<listitem>
<para>A warning will be issued when installing on too small disks for the selected profile. 
</para></listitem>
<listitem>
<para>Simplify partitioning for Standalone installs to only have a separate /home/ but no seperate /usr anymore.  
</para></listitem>
<listitem>
<para>More tests in the test suite, and fix for some of the tests that failed earlier.  
</para></listitem>
<listitem>
<para>Make sure to report an error and abort the installation when trying to use the netinst images without a working Internet connection, instead of silently installing a broken system.  
</para></listitem></itemizedlist>
</section>

<section id="AppendixC--Appendix_C_-_Features_in_older_releases--New_features_in_Debian_Edu_6.0.4.2B-r0_Codename_.26quot.3BSqueeze.26quot.3B_released_2012-03-11--Software_updates">
<title>Software updates
</title>
<itemizedlist>
<listitem>
<para>Everything which is new in Debian Squeeze: 
</para>
<itemizedlist>
<listitem>
<para>compatibility with the FHS v2.3 and software developed for version 3.2 of the LSB. 
</para></listitem>
<listitem>
<para>Linux kernel 2.6.32 
</para></listitem>
<listitem>
<para>Desktop environments KDE "Plasma" 4.4 and GNOME 2.30 
</para></listitem>
<listitem>
<para>Web browser Iceweasel 3.5 
</para></listitem>
<listitem>
<para>OpenOffice.org 3.2.1 
</para></listitem>
<listitem>
<para>Educational toolbox GCompris 9.3 
</para></listitem>
<listitem>
<para>Music creator Rosegarden 10.04.2 
</para></listitem>
<listitem>
<para>Image editor Gimp 2.6.10 
</para></listitem>
<listitem>
<para>Virtual universe Celestia 1.6.0 
</para></listitem>
<listitem>
<para>Virtual stargazer Stellarium 0.10.4 
</para></listitem>
<listitem>
<para>Debian Squeeze includes over 10,000 new packages available for installation, including the browser Chromium 
</para></listitem></itemizedlist>
<itemizedlist>
<listitem>
<para>More information about Debian Squeeze 6.0 is provided in the <ulink url="http://www.debian.org/releases/squeeze/releasenotes">release notes</ulink> and the <ulink url="http://www.debian.org/releases/squeeze/installmanual">installation manual</ulink>. 
</para></listitem></itemizedlist></listitem></itemizedlist>
</section>

<section id="AppendixC--Infrastructural_changes">
<title>Infrastructural changes
</title>
<itemizedlist>
<listitem>
<para>The 10.0.0.0/8 network is used instead of 10.0.2.0/23, and the default gateway is 10.0.0.1/8, not 10.0.2.1/8 as used in the past.  
</para>
<itemizedlist>
<listitem>
<para>The dynamic DHCP range was extended on the backbone network to around 4k IP addresses, and around 200 IP addresses for the thin client network.  
</para></listitem>
<listitem>
<para>The DHCP network for 10.0.0.0/8 has been renamed from <computeroutput>barebone</computeroutput> to <computeroutput>intern</computeroutput> 
</para></listitem>
<listitem>
<para>There are no pre-defined host entries for client systems in DNS anymore (staticXX, ..., dhcpYY...) 
</para></listitem></itemizedlist></listitem>
<listitem>
<para>MIT Kerberos5 used for user authentication, enabled for: 
</para>
<itemizedlist>
<listitem>
<para>PAM 
</para></listitem>
<listitem>
<para>IMAP 
</para></listitem>
<listitem>
<para>SMTP 
</para></listitem></itemizedlist></listitem>
<listitem>
<para>NFSv4, but without added Kerberos privacy/integrity/authentication.  The machines still have to be added to the <computeroutput>workstation</computeroutput> netgroup to be able to mount the home directories 
</para></listitem>
<listitem>
<para>Full Samba NT4 domain support for Windows XP/Vista/7 
</para></listitem>
<listitem>
<para>A complete PXE boot environment is setup when installing from the DVD, so that further installations can be done using PXE network installs only. A new script pxe-addfirmware is provided to support more hardware models needing firmware.  
</para></listitem>
<listitem>
<para>Remove all hard coded settings on workstations, and configure workstations and roaming workstations using settings detected from the environment using DNS,  DHCP and LDAP.  See this <ulink url="http://people.skolelinux.org/pere/blog/No_hardcoded_config_on_Debian_Edu_clients.html">blog post with more information on the changes</ulink>. 
</para></listitem></itemizedlist>
</section>

<section id="AppendixC--Appendix_C_-_Features_in_older_releases--New_features_in_Debian_Edu_6.0.4.2B-r0_Codename_.26quot.3BSqueeze.26quot.3B_released_2012-03-11--Documentation_and_translation_updates">
<title>Documentation and translation updates
</title>
<itemizedlist>
<listitem>
<para>Translation updates for the templates used in the installer. These templates are now available in 28 languages. 
</para></listitem>
<listitem>
<para>The Debian Edu Squeeze Manual has generally been cleaned up and improved. A proof-read with corrections was done by a native English linguist. 
</para></listitem>
<listitem>
<para>The Debian Edu Squeeze Manual is fully translated to German, French and Italian. Partly translated versions exist for Danish (new), Norwegian Bokmål and Spanish. 
</para></listitem>
<listitem>
<para>Improvements to many language tasks, especially French and Danish. 
</para></listitem>
<listitem>
<para>Improvements to the welcome web page shown at first logins.  
</para>
<itemizedlist>
<listitem>
<para>Add new Japanese, Portuguese and Catalan translations of the welcome web page. 
</para></listitem></itemizedlist></listitem></itemizedlist>
</section>

<section id="AppendixC--Regressions">
<title>Regressions
</title>
<itemizedlist>
<listitem>
<para><ulink url="http://lists.debian.org/20100810061204.GD7929@login2.uio.no">CD and DVD installs are different</ulink> - the DVD is only suitable for installing a KDE environemnt. 
</para></listitem>
<listitem>
<para>Drop support for <computeroutput>powerpc</computeroutput> architecture from netinst installation CDs. It is still possible to run Debian Edu on <computeroutput>powerpc</computeroutput>, but installation is less automated. 
</para></listitem>
<listitem>
<para>Drop gtick in the default installation, because it doesn't work on thin clients (BTS #566335). 
</para></listitem></itemizedlist>
</section>

<section id="AppendixC--New_administration_tool:_GOsa.2BALI-">
<title>New administration tool: GOsa²
</title>
<itemizedlist>
<listitem>
<para>gosa (2.6.11-3+squeeze1~edu+1) from the upcoming 6.0.5 Debian point release, with: 
</para>
<itemizedlist>
<listitem>
<para>Fix DHCP host removal. Closes: #650258 
</para></listitem>
<listitem>
<para>Backport user generator unicode character transliteration. Closes: #657086 
</para></listitem></itemizedlist></listitem>
<listitem>
<para>Customized GOsa² configuration to better suit the Debian Edu network architecture. 
</para>
<itemizedlist>
<listitem>
<para>GOsa² updates DNS and NFS exports immediately when a system is updated in LDAP, making diskless workstations work right after they are added to the required netgroup.  
</para></listitem></itemizedlist></listitem>
<listitem>
<para>Provide script sitesummary2ldapdhcp to update or populate GOsa² with system objects using information gathered by sitesummary, to make it easier to add new computers to the network.  
</para></listitem></itemizedlist>
</section>

<section id="AppendixC--More_software_changes">
<title>More software changes
</title>
<itemizedlist>
<listitem>
<para>Add video editor Kdenlive 0.7.7  and interactive geometry tool Geogebra 3.2.42 
</para></listitem>
<listitem>
<para>Change default package manager from adept to synaptic, to avoid getting two graphical package managers installed by default. 
</para></listitem>
<listitem>
<para>Install openoffice.org-kde by default ensure OOo uses KDE file dialogs in KDE. 
</para></listitem>
<listitem>
<para>Change video player setup to install different players in KDE (dragonplayer), GNOME (totem) and LXDE (totem). 
</para></listitem>
<listitem>
<para>Add KDE tools freespacenotifier, kinfocenter, update-notifier-kde to the default KDE installation. 
</para></listitem>
<listitem>
<para>Replace network-manager-kde with plasma-widget-networkmanagement in the standalone KDE profile 
</para></listitem>
<listitem>
<para>Install usb-modeswitch on laptops to handle dual mode USB devices. 
</para></listitem>
<listitem>
<para>Add cifs-utils to the default installation to ensure SMB mounting can work in any profile. 
</para></listitem>
<listitem>
<para>Drop octave, gpscorrelate, qlandkartegt, viking, starplot, kig, kseg, luma, and valgrind from the default installation and the DVD to make room for higher priority packages. 
</para></listitem>
<listitem>
<para>Drop libnss-mdns from stationary profiles, to make sure DNS is the authoritive source of host names. 
</para></listitem>
<listitem>
<para><computeroutput>freerdp-x11</computeroutput> is installed by default as RDP and VNC client. (Previously <computeroutput>rdesktop</computeroutput> was installed instead.) 
</para></listitem></itemizedlist>
</section>

<section id="AppendixC--Other_LDAP_related_changes">
<title>Other LDAP related changes
</title>
<itemizedlist>
<listitem>
<para>Make the LDAP server handle more clients after increasing the server's file descriptor limit from 1024 to 32768.  
</para></listitem>
<listitem>
<para>Add code to re-enable stopped CUPS queues every hour on the Main Server, and flush all CUPS queues every night. Both can be disabled in LDAP.  
</para></listitem>
<listitem>
<para>Provide network blocking / exam mode by default, controlled by LDAP. In addition to network blocking, changes to the Squid proxy configuration is needed.  
</para></listitem>
<listitem>
<para>Enable automatic extending of full file systems on the Main Server by default. This can be disabled in LDAP.  
</para></listitem>
<listitem>
<para>Change SSL certificate name used by the LDAP server and adjust clients to use the new name to be able to enable certificate checking on clients. 
</para></listitem>
<listitem>
<para>Switch PowerDNS to use strict LDAP mode, to allow us to simplify the LDAP setup used for DNS. 
</para></listitem>
<listitem>
<para>Simplify autofs LDAP rules to make sure they work with extra home directory partitions exported from the main-server without any changes. 
</para></listitem>
<listitem>
<para>Make backup system more robust in handling LDAP database dump and restart. 
</para></listitem></itemizedlist>
</section>

<section id="AppendixC--Appendix_C_-_Features_in_older_releases--New_features_in_Debian_Edu_6.0.4.2B-r0_Codename_.26quot.3BSqueeze.26quot.3B_released_2012-03-11--Other_changes">
<title>Other changes
</title>
<itemizedlist>
<listitem>
<para>Root logins are denied for both KDM and GDM - see above and <ulink url="https://wiki.debian.org/DebianEdu/Documentation/Squeeze/GettingStarted#">Getting started</ulink> for details.  
</para></listitem>
<listitem>
<para>Clients set up to shut down at night will stay up for at least an hour if they are turned on manually between 16:00 and 07:00. 
</para></listitem>
<listitem>
<para>Additionally use local NTP clock on the main-server to ensure clients and server sync clocks also when disconnected from the Internet.  
</para></listitem>
<listitem>
<para>Access to Debian repositories is always done via a proxy on the main server - read more about the implementation details <ulink url="http://lists.debian.org/20100704221022.GC30542@login1.uio.no">using DHCP and WPAD</ulink> 
</para></listitem>
<listitem>
<para>The home0 partition is mounted nosuid, to increase security.  
</para></listitem>
<listitem>
<para>Change KDE/Akonadi configuration to reduce the disk footprint of every user from 144 to 24 MiB.  
</para></listitem>
<listitem>
<para>New tool notify-local-users to send desktop notification to all logged in users on a machine.  Useful for thin client servers. 
</para></listitem></itemizedlist>
</section>
</section>

<section id="AppendixC--New_in_Debian_Edu_5.0.6.2B-edu1_Codename_.26quot.3BLenny.26quot.3B_released_2010-10-05">
<title>New in Debian Edu 5.0.6+edu1 Codename "Lenny" released 2010-10-05
</title>
<itemizedlist>
<listitem>
<para>Everything that is new in Debian <ulink url="http://www.debian.org/News/2010/20100626">5.0.5</ulink> and <ulink url="http://www.debian.org/News/2010/20100904">5.0.6</ulink>, which includes support for some new hardware. 5.0.5 and 5.0.6 are maintenance releases and generally don't add new features 
</para></listitem>
<listitem>
<para>Several bugfixes, including fixes for Skolelinux bugs #1436, #1427, #1441, #1413, #1450 and Debian bugs #585966, #585772, #585968, #586035 and #585966 plus several which were not filed 
</para></listitem>
<listitem>
<para>Merge new web pages from Squeeze - the text is the same, but it provides a new translation for <computeroutput>zh</computeroutput>, complete translations for all included languages (<computeroutput>de</computeroutput>, <computeroutput>es</computeroutput>, <computeroutput>fr</computeroutput>, <computeroutput>it</computeroutput>, <computeroutput>nb</computeroutput>, <computeroutput>nl</computeroutput>, <computeroutput>ru</computeroutput>, <computeroutput>zh</computeroutput>), and a rename of the <computeroutput>.no</computeroutput> page to <computeroutput>.nb</computeroutput> to reflect the language used 
</para></listitem>
<listitem>
<para>Debian-edu-install: Slovak translation added, updates to German, Basque, Italian, Bokmål, Vietnamese and Chinese translations.  
</para></listitem>
<listitem>
<para>Debian-edu-doc: improvements to Italian, Bokmål and German translations as well as overall content and layout 
</para></listitem>
<listitem>
<para>Sitesummary: various improvements; most notably, several Nagios checks were added to monitor system health  
</para></listitem>
<listitem>
<para>Shutdown-at-night: fix #1435 (did not work with the LDAP host groups populated by lwat). 
</para></listitem></itemizedlist>
</section>

<section id="AppendixC--New_features_in_Debian_Edu_5.0.4.2B-edu0_Codename_.26quot.3BLenny.26quot.3B_released_2010-02-08">
<title>New features in Debian Edu 5.0.4+edu0 Codename "Lenny" released 2010-02-08
</title>
<itemizedlist>
<listitem>
<para>Everything that is new in Debian 5.0.4; see the <link linkend="AppendixC--New_features_in_Debian_5.0.4_upon_which_Debian_Edu_5.0.4.2B-edu0_is_based">following paragraph</link> for details. 
</para></listitem>
<listitem>
<para>More than 80 applications relevant for education are included based on user feedback and user statistics (through <ulink url="http://popcon.skolelinux.org/">Debian Edu popularity contest</ulink>).  The full list of packages is given in the <ulink url="http://blends.alioth.debian.org/edu/tasks/">task overview page</ulink>. 
</para></listitem>
<listitem>
<para>Improved student desktop with educational software shortcuts to GCompris, Kalzium, KGeography, KMplot, KStars, Stopmotion and OpenOffice Write and Impress. 
</para></listitem>
<listitem>
<para>Dynamic desktop icons and menu options that adjust based on user group. 
</para></listitem>
<listitem>
<para>GNOME added as a supported desktop; see the <link linkend="Installation">Installation chapter</link> to learn how to install with GNOME instead of KDE as desktop. 
</para></listitem>
<listitem>
<para>Support for more than 50 languages. 
</para></listitem>
<listitem>
<para>Improved system for user administration and machine identification. 
</para></listitem>
<listitem>
<para>Improved diskless and thin client setup. 
</para></listitem>
<listitem>
<para>New startup menu letting users choose diskless workstation, thin client or workstation. 
</para></listitem>
<listitem>
<para>A diskless workstation option is installed but not activated by default on all servers with the thin-client-server profile. 
</para></listitem>
<listitem>
<para>Main-server is set up as a PXE server for booting thin clients and diskless workstations, and for installing to clients' hard or flash drives. 
</para></listitem>
<listitem>
<para>The configuration for DNS and DHCP is stored in LDAP and can be edited using <computeroutput>lwat</computeroutput>. The DNS server has been switched from <computeroutput>bind9</computeroutput> to <computeroutput>powerdns</computeroutput>. 
</para></listitem>
<listitem>
<para>LDAP server for directory services (NSS) is located using a SRV record in DNS instead of hardcoding the 'ldap' DNS name.  LDAP server for password checks (PAM) is still using the hardcoded 'ldap' DNS name. 
</para></listitem>
<listitem>
<para>Multi-architecture (amd64/i386/powerpc) net installer CD. 
</para></listitem>
<listitem>
<para>(Most) Packages are downloaded over the Internet. 
</para></listitem>
<listitem>
<para>Multi-architecture (amd64/i386) installer DVD capable of installing without network. 
</para></listitem>
<listitem>
<para>PulseAudio is provided in addition to ALSA and OSS for sound on workstations and diskless workstation machines. 
</para></listitem>
<listitem>
<para>The <emphasis>Barebone</emphasis> profile has been renamed to <emphasis>Minimal</emphasis>, to better reflect what it is. 
</para></listitem>
<listitem>
<para>The Nagios3 configuration is now automatically created by sitesummary. 
</para></listitem>
<listitem>
<para>The per-user file <computeroutput>~/.xsession-errors</computeroutput> is now truncated automatically when the user logs in to avoid filling up the home directory partition with a log that grows indefinitely.  The user can disable this by creating <computeroutput>~/.xsession-errors-enable</computeroutput>.  The system administrator can configure the system to redirect the file to /dev/null by editing <computeroutput>/etc/X11/Xsession.d/05debian-edu-truncate-xerrorlog</computeroutput>. 
</para></listitem>
<listitem>
<para>To ease installation of Debian Edu on hardware needing non-free firmware, the CD and DVD include the following firmware packages: firmware-bnx2, firmware-bnx2x, firmware-ipw2x00, firmware-iwlwifi, firmware-qlogic and firmware-ralink. 
</para></listitem></itemizedlist>
</section>

<section id="AppendixC--New_features_in_Debian_5.0.4_upon_which_Debian_Edu_5.0.4.2B-edu0_is_based">
<title>New features in Debian 5.0.4 upon which Debian Edu 5.0.4+edu0 is based
</title>
<itemizedlist>
<listitem>
<para>New Linux kernel 2.6.26 supports more hardware 
</para></listitem>
<listitem>
<para>With this release, Debian GNU/Linux updates from X.Org 7.1 to X.Org 7.3 (which includes support of newer hardware) and now includes the desktop environments KDE 3.5.10 and GNOME 2.22. Updates of other desktop applications include Iceweasel (version 3.0.6, which is the unbranded Firefox web browser) and Icedove (version 2.0.0.19, which is the unbranded Thunderbird mail client) as well as upgrades to Evolution 2.22.3, <ulink url="https://wiki.debian.org/OpenOffice#">OpenOffice</ulink>.org 2.4.1, and Pidgin 2.4.3 (formerly known as Gaim). SWI-prolog is back. 
</para></listitem>
<listitem>
<para>Installation from CD/DVD from within Windows 
</para></listitem>
<listitem>
<para>Switched from sysklogd to rsyslog as the syslog collector. 
</para></listitem>
<listitem>
<para>For more information see the page <ulink url="http://wiki.debian.org/NewInLenny">New in Lenny</ulink> on wiki.debian.org 
</para></listitem></itemizedlist>
</section>

<section id="AppendixC--New_features_in_the_.26quot.3B3.0r1_Terra.26quot.3B_release_2007-12-05">
<title>New features in the "3.0r1 Terra" release 2007-12-05
</title>
<itemizedlist>
<listitem>
<para>Much improved documentation with updated translations to German, Norwegian Bokmål and Italian 
</para></listitem>
<listitem>
<para>Includes more than 40 bug fixes, improvements and security updates that came to our attention after the 3.0r0 release 
</para></listitem></itemizedlist>
</section>

<section id="AppendixC--New_features_in_the_.26quot.3B3.0r0_Terra.26quot.3B_release_2007-07-22">
<title>New features in the "3.0r0 Terra" release 2007-07-22
</title>
<itemizedlist>
<listitem>
<para>Based on Debian 4.0 Etch released 2007-04-08. 
</para></listitem>
<listitem>
<para>Graphical installer with mouse support 
</para></listitem>
<listitem>
<para>Boot splash with usplash 
</para></listitem>
<listitem>
<para>LSB 3.1 compatible 
</para></listitem>
<listitem>
<para>Linux kernel version 2.6.18 
</para>
<itemizedlist>
<listitem>
<para>Support for SATA controllers and hard disks 
</para></listitem></itemizedlist></listitem>
<listitem>
<para>X.org version 7.1. 
</para></listitem>
<listitem>
<para>KDE desktop environment version 3.5.5  
</para></listitem>
<listitem>
<para>OpenOffice.org version 2.0. 
</para></listitem>
<listitem>
<para>LTSP5 (version 0.99debian12) 
</para></listitem>
<listitem>
<para>Automatic tracking of installed machines using Sitesummary. 
</para></listitem>
<listitem>
<para>Automatic configuration of munin using data from Sitesummary. 
</para></listitem>
<listitem>
<para>Automatic version control of configuration files in /etc/ using svk. 
</para></listitem>
<listitem>
<para>File systems can be extended while the file system is mounted. 
</para>
<itemizedlist>
<listitem>
<para>Support for automatically extending file systems based on predefined rules. 
</para></listitem></itemizedlist></listitem>
<listitem>
<para>Local Device Support on thin clients. 
</para></listitem>
<listitem>
<para>New processor architectures: amd64 (fully supported) and powerpc (experimental support, installation media only boots on the newworld subarchitecture) 
</para></listitem>
<listitem>
<para>Multi-architecture DVD for i386, amd64 and powerpc 
</para></listitem>
<listitem>
<para>Regression: the CD-install requires Internet access during installation. Previous versions could be installed from one CD without Internet access.  
</para></listitem>
<listitem>
<para>Regression: <computeroutput>webmin</computeroutput> is now removed from Debian because of problems supporting it. We've added a new web based user administration tool named <computeroutput>lwat</computeroutput>, which doesn't has the same functionality as <computeroutput>wlus</computeroutput>, the old user administration tool. But <computeroutput>wlus</computeroutput> requires <computeroutput>webmin</computeroutput>.  
</para></listitem>
<listitem>
<para>Regression: swi-prolog is not part of Etch, but was part of Sarge. The <ulink url="https://wiki.debian.org/DebianEdu/Documentation/Etch/HowTo/TeachAndLearn#">HowTo teach and learn</ulink> Chapter describes how to install swi-prolog on Etch. 
</para></listitem></itemizedlist>
</section>

<section id="AppendixC--Features_in_2.0_release_2006-03-14">
<title>Features in 2.0 release 2006-03-14
</title>
<itemizedlist>
<listitem>
<para>Based on Debian 3.1 Sarge released 2005-06-06. 
</para></listitem>
<listitem>
<para>Linux kernel version 2.6.8. 
</para></listitem>
<listitem>
<para>XFree86 version 4.3. 
</para></listitem>
<listitem>
<para>KDE version 3.3. 
</para></listitem>
<listitem>
<para>OpenOffice.org 1.1. 
</para></listitem></itemizedlist>
</section>

<section id="AppendixC--Features_in_.26quot.3B1.0_Venus.26quot.3B_release_2004-06-20">
<title>Features in "1.0 Venus" release 2004-06-20
</title>
<itemizedlist>
<listitem>
<para>Based on Debian 3.0 Woody released 2002-07-19. 
</para></listitem>
<listitem>
<para>Linux kernel version 2.4.26. 
</para></listitem>
<listitem>
<para>XFree86 version 4.1. 
</para></listitem>
<listitem>
<para>KDE version 2.2. 
</para></listitem></itemizedlist>
</section>

<section id="AppendixC--More_information_on_even_older_releases">
<title>More information on even older releases
</title>
<para>More information on even older releases can be found at <ulink url="http://developer.skolelinux.no/info/cdbygging/news.html"/>. 
</para>
</section>
</section>
</article>
