Configuration

From LTSPedia
Jump to: navigation, search

In this article, some configuration options will be pointed out. Specific options are explained at their appropriate topics elsewhere on LTSPedia.

Contents

Server

The server variables can be set in multiple configuration files, one for each command. A special file is the common configuration file. This file is intended for the variables that are shared with all commands, but can also be used to set the configuration files of all commands.

ltsp-server.conf

The ltsp-server.conf file can be used to set configuration settings for your LTSP server environment. This file is sourced by all server commands but each variable can be overwritten by giving available command line options.

/etc/ltsp/ltsp-server.conf
# The LTSP base directory. Defaults to "/opt/ltsp".
BASE="/opt/ltsp"

# Space-separated list of TFTP directories to update kernels and initrd's to. 
# Defaults to "/var/lib/tftpboot /tftpboot /srv/tftp".
TFTP_DIRS="/var/lib/tftpboot /tftpboot /srv/tftp"

# The LTSP subdirectory within the TFTP base directory.
# Defaults to "ltsp".
TFTP_BOOT_DIR="ltsp"

ltsp-build-client.conf

This file contains the install profile for ltsp-build-client. Most options of this command are distro specific. To view these, consult the documentation of your distro.

/etc/ltsp/ltsp-build-client.conf
# The arch or name to install.
ARCH=i686

# The packages to deinstall from the finished chroot.
EXCLUDE="man-pages"

You can also have multiple ltsp-build-client configuration files, each on functioning as a different install profile. To call a custom config file do the following:

root@server #ltsp-build-client --config /etc/ltsp/ltsp-build-client-xbmc.conf

ltsp-chroot.conf

This file contains options for ltsp-chroot. When you have multiple architectures or names, typically only the MOUNT_ALL option is used.

/etc/ltsp/ltsp-chroot.conf
# The arch or name to mount.
ARCH=i686

# Whether the package cache should be mounted.
MOUNT_PACKAGE_CACHE=true

# Whether the dev should be mounted.
MOUNT_DEV=false

# Whether the proc should be mounted.
MOUNT_PROC=false

# Whether all should be mounted.
MOUNT_ALL=false

# Whether /etc/resolv.conf should be copied.
COPY_RESOLV_CONF=true

Client

By default, most thin clients will automatically configure themselves correctly, and just work when they're plugged in. However, sometimes you may wish to customize their behaviour. You would do this by editing the lts.conf file.

By default the lts.conf should be located out of the chroot and into the TFTP directory, in /var/lib/tftpboot/ltsp/<arch>, where <arch> is the architecture you are working on (usually i386, but could be something else, like amd64 for example). This means you can make changes to the file immediately, and simply reboot the terminal, without recompiling the image.

For viewing all client settings, you have several options:

Format

When LTSP was designed, one of the issues that needed to be dealt with was varying hardware configurations for the thin client. Certainly, whatever combination of processor, network card and video card available today would not be available in 3 months, when you want to add more thin clients to the network. So, LTSP devised a way of specifying the configuration of each thin client.

The format of the lts.conf allows for "default" settings and individual thin client settings. If all of your thin clients are identical, you could specify all of the configuration settings in the [Default] section. The file must have a first line containing [Default] in any case:

lts.conf
[Default]

Section Headings

Section headings begin with an identifier in the form [Default] which is used for all computers as mentioned above, and [MAC address] for individual workstations, in the form of [XX:XX:XX:XX:XX:XX], where X is the digits 0-9, or A-F. You can usually read the MAC address for a network card from a sticker on the card itself, or use some kind of network tool to discover it. The best way to check for the MAC address of the machine is by starting it up, checking its IP number and doing a arp on the server, this should then tell you which IP number has which MAC address.

Variable Assignments

After the section heading, you can then define variables. Variables are either boolean values, requiring a True/False or Y/N answer, or string values. Note that you can either use True or False, Yes or No, or Y or N. Whichever you prefer. Other variables may simply be strings, supplied after the = sign. The general format of an assignment looks like:

lts.conf
VARIABLE = value

Comments can be inserted into the file for your documentation purposes. Comments start with a # character, and everything after the # for the rest of the line is considered a comment.

LIKE

The LIKE keyword allows you to define a general set of parameters under a unique identifier, and then assign individual workstations that set of parameters using the LIKE keyword. An example will illustrate it's use.

Let's assume you have 3 kinds of thin clients on your network. One set, which are used in the lab, have older video cards, and must use 16 bit colour at 1024x768 resolution. Another set need to have their video ram set to 8 megs, and a third set which auto-detect everything correctly. We don't need to specify anything for the third set, but having some symbolic names for the first two would help us to maintain the file. Here's an example that illustrates how this would be done:

lts.conf
[Default]

[Lab]
  X_COLOR_DEPTH = 16
  X_MODE_0 = 1024x768

[Lowram]
  X_VIDEO_RAM = 8096

[00:40:32:71:77:A1]
  LIKE = Lab

[00:70:84:BB:27:52]
  LIKE = Lowram

As you can see, using the LIKE keyword can make your lts.conf more readable, by allowing you to group related parameters together into a single symbolic name.

File

After booting a thin client, the file is located in /etc/lts.conf on the client. The file itself is parsed by LTSP to retrieve the values, but you can also view this yourself when on the client:

user@client $getltscfg -a

Kernel Parameters

parameter description example
ltsp.break=<script-name> Breaks LTSP init execution before the specified script in /usr/share/ltsp/init-ltsp.d. It opens a shell and when exiting, it continues with the boot process. ltsp.break=04-server
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox