Installation/Ubuntu

From LTSPedia
Jump to: navigation, search

This page is the official documentation for installing LTSP in Ubuntu 18.04.

All of the commands mentioned below should be run as root, which means you should initially run `sudo -i` on Ubuntu or `su -` on Debian.

Contents

Server installation

Use an "ubuntu-*-desktop.iso" to install the server, and not an "ubuntu-server.iso", because the clients need a desktop environment. For example, Ubuntu MATE runs well in both thin and fat clients. Although, personally I run the following commands after the server installation, to avoid some problematic software in Ubuntu MATE:

apt purge --yes --auto-remove mate-hud snapd
apt install --yes synaptic

Adding the Greek schools PPA

The Greek schools PPA is maintained by LTSP developers and offers new LTSP releases that are a lot more stable than those in the Ubuntu repositories. To add it to your sources, run the following commands as root:

add-apt-repository --yes ppa:ts.sch.gr
apt update

Installing LTSP

There are two methods to maintain the virtual disk for the clients. Read the following two paragraphs and select the one that best fits your use case. Usually the chrootless method is recommended, but it's easy to switch between them afterwards.

Epoptes, a client monitoring tool, is included in the following commands, omit it if you don't need it.

A) Installing LTSP in "chroot" mode

The traditional method to install LTSP is to run `ltsp-build-client` to generate an /opt/ltsp/amd64 chroot which will be used for the virtual client disk:

apt install --yes --install-recommends ltsp-server-standalone epoptes
gpasswd -a ${SUDO_USER:-$USER} epoptes
ltsp-build-client --purge-chroot --mount-package-cache --extra-mirror 'http://ppa.launchpad.net/ts.sch.gr/ppa/ubuntu bionic main' \
  --apt-keys '/etc/apt/trusted.gpg.d/ts_sch_gr_ubuntu_ppa.gpg' --late-packages epoptes-client

To support fat clients, you'd install a desktop environment after that, and recompress the chroot directory into the client image file:

ltsp-chroot -m apt install ubuntu-mate-desktop
ltsp-update-image

B) Installing LTSP in "chrootless" (previously pnp) mode

An easier method is to use the server root (/) as the template for the client disk. This allows you to maintain a single installation graphically (no chroot commands involved) for the server and the clients, while supporting both thin and fat clients. The downside is that it requires the server to have the same architecture as the clients, i.e. if any of your clients are 32bit, you'd need to install the server with the i386 CD.

apt install --yes --install-recommends ltsp-server-standalone ltsp-client epoptes
gpasswd -a ${SUDO_USER:-$USER} epoptes
ltsp-update-image --cleanup /

Note that if you want to install more programs afterwards, in "chroot" LTSP you'd use `ltsp-chroot apt install xxx && ltsp-update-image`, while in "chrootless" LTSP you'd use `apt install xxx && ltsp-update-image -c /`. The rest of the steps are the same both for "chroot" and "chrootless" LTSP. It's also easy to use both modes (chroots and the server /), but it's outside the scope of this document.

Configuring dnsmasq

A few years ago, LTSP started recommending dnsmasq instead of tftpd-hpa/isc-dhcp-server, because it supports both the classic DHCP mode and the ProxyDHCP mode, where an external DHCP server (e.g. a router) handles the IP assignment, while the LTSP server only sends the boot filename. In short, you can either use one NIC or two NICs. If you use two NICs, and you configure the internal one to a static IP of 192.168.67.1, then dnsmasq works as a normal DHCP server in that subnet.

Use one of the following examples to configure dnsmasq. The first one is the most common, but you can of course combine any or all of the parameters mentioned below:

ltsp-config dnsmasq --overwrite  # create a usual /etc/dnsmasq.d/ltsp-server-dnsmasq.conf
ltsp-config dnsmasq --enable-dns  # enable the DNS service of dnsmasq
ltsp-config dnsmasq --no-proxy-dhcp  # in a two-NIC scenario, only allow internal NIC clients to boot

Editing lts.conf

The configuration for the clients, like screen resolution etc, is maintained in a file called lts.conf. To create and start editing it, run:

ltsp-config lts.conf
xdg-open /var/lib/tftpboot/ltsp/*/lts.conf

See also

Comments

This page is maintained by https://launchpad.net/~alkisg, please don't edit it but send a mail with your suggested improvements to the author instead. I know this doesn't align with the usual wiki spirit, but in my experience when many people edit the same page it ends up being unmaintained. IMHO it's best if different people maintain different pages.

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox