|
|
Log in / Subscribe / Register

Distributions

Gentoo and the Linux Terminal Server Project

January 10, 2007

This article was contributed by Donnie Berkholz

The Linux Terminal Server Project (LTSP) makes it easy to set up Linux-based thin clients. It packages up all the necessary software and adds custom-written scripts and packages to make the whole process incredibly easy. But the world of LTSP is changing.

Project MueKow (pronounced "Moo-Cow") is a complete rethink on how to handle the creation and distribution of LTSP. In the current 4.x series, the project builds and packages essentially form an entire Linux distribution. Developers Jim McQuillan and Scott Balneaves realized this doesn't make sense because they only add value to a small proportion of packages—5% would be optimistic. Everything else is simply an additional burden that detracts from the time they can spend on the project's real focus. And from a user and distribution perspective, all those packages outside of the distribution's package management create more opportunities for outdated packages, security holes, and other fun problems. MueKow will become LTSP-5.

Four months ago, LWN briefly referred to a story about the future of LTSP, which inspired your author to start a native Gentoo port. What makes Gentoo a solid platform for LTSP? Its source-based nature gives it a number of benefits. Not only can one infamously customize the optimization flags with which packages are compiled, but one can also decide which features to include and which to exclude. For example, one can choose to leave out Kerberos support in Gentoo. In a binary distribution, packages may link against and depend upon Kerberos unconditionally. With diskless clients, including unnecessary features raises the number and size of files that must be transported across the network. This problem gets increasingly severe as one scales up to more clients. Once the Gentoo port is done, the automated client builder will take care of removing unneeded cruft.

Many people use Gentoo not because it is source-based but because of the power and flexibility of the package manager, portage. One feature that makes portage powerful for embedded setups and diskless clients is its ability to install packages into an arbitrary chroot without requiring that the package manager itself be installed there. A simple command such as `ROOT="/opt/ltsp" emerge packagename` will install that package, all of its run-time (not build-time) dependencies, and package metadata to /opt/ltsp. Software installed in a chroot can later be easily updated or uninstalled using similar commands. This integration of the client chroot with the server installation may be unique to Gentoo.

For a distribution to qualify as LTSP-compliant, the LTSP project defined a set of requirements:

  • Netboot thin clients with PXE and Etherboot
  • Local devices with a FUSE filesystem called LTSPFS
  • Network-transparent sound and video
  • Screen scripts, including XDMCP, ldm/sdm, rdesktop, telnet, shell
  • Boot thin clients with 32MB memory or more
  • Use LTSP tools such as getltscfg
  • Pass VCI (Vendor Class Identifier) string from the client to the server (in initramfs)
  • Transparent pass-through printing
  • Network swap using methods such as NBD, iSCSI or NFS
  • Configurable location of the LTSP chroot tree
  • Control per-client options with a single file, lts.conf

A native LTSP port fulfills the LTSP-5 requirements by adding LTSP-specific packages, porting the automated client builder's distribution-specific plugins, and writing the needed init scripts. Those three steps pretty well take care of the distribution's role in fulfilling the LTSP-5 requirements. The rest is a matter of server configuration. As the packaging and init script porting are fairly trivial once you understand an individual distribution's quirks, we will spend most of our time discussing the client builder. Adding LTSP-specific packages amounts to making a map of the packages installed on an LTSP-4 system, determining which are installed by default, and adding a metapackage to pull in the rest. Many distributions will not have much to port in the init scripts, but Gentoo has a BSD-style, dependency-based initialization process for which the LTSP init scripts will require significant rewriting.

To build a client environment, one runs a script called ltsp-build-client. It creates the chroot, installs the client packages and sets up reasonable defaults. The LTSP client-root builder is a fine piece of work. It's entirely written in shell, and its core is beautifully created so one can simply drop in a new shell-script plugin and have it instantly start working. Each distribution has its own directory for plugins in /usr/share/ltsp/plugins/ltsp-build-client, as a number of tasks are expected to be distribution-specific, but there is a common directory for those few distribution-neutral tasks. Files in the distribution directories can override common files with the same name, and they can use files from another distribution. This is particularly useful in the case of related distributions such as Ubuntu and Debian, both of which already have mostly working LTSP-5 ports. In addition to distribution-level overrides, system administrators can install their own overrides of distribution plugins in /etc/ltsp/plugins/ltsp-build-client.

LTSP has no shortage of interesting projects, such as enhancing support for local devices and selectively running applications on the client rather than the server. To get involved or learn more, join the #ltsp channel on irc.freenode.net or visit the home page.

Comments (8 posted)

New Releases

Endian Firewall 2.1 released (SourceForge)

Release 2.1 of Endian Firewall is available. "Endian Firewall is a "turn-key" linux security distribution that turns every system into a full-featured security appliance. The software has been designed with "usability in mind" and is very easy to install, use and manage, without losing its flexibility. This new release contains many improvements, bugfixes and upgrades."

Comments (none posted)

Distribution News

Debian GNU/Linux 3.0 archived

The Debian Project has announced that Debian 3.0 ("woody") has been put out to pasture, and is no longer carried by the project's mirror network. "After four and a half years this marks the final end of life for GNU/Linux 3.0. This distribution has been superseded by Debian GNU/Linux 3.1 (codename 'sarge') which the Debian project has released on June 6th, 2005. Security support for woody has therefore ended already in June 2006, one year after the release of sarge."

Full Story (comments: none)

XaraLX removal from Fedora Extras

XaraLX, a general purpose graphics program, has been removed from all releases of Fedora Extras. "We have taken this drastic step as we have been made aware that it is in violation of Fedora Policies. While the application has been released as GPL, it contains a Static Library that is still proprietary and available in binary form only. There is a note in the source tarball stating that at some future time the library will also be released under the GPL. When that happens we will welcome XaraLX back as a package."

Full Story (comments: none)

New Fedora infrastructure leader announced

Mike McGrath has been appointed as the new Fedora Infrastructure Leader. "Mike has been a contributor to the Fedora Project for quite a while now, especially the Fedora Infrastructure group, and I'm personally very glad that we were able to hire from within for this job. There are never as many job openings as I wish there were, but when we do have openings in Fedora it is my intention that we will look to fill them from within our community first. Mike won't be starting 100% until February, but in the sense that he is already involved deeply in Fedora Infrastructure, and it's just a matter of him ramping up his time over the next few weeks."

Full Story (comments: none)

Distribution Newsletters

Fedora Weekly News

The January 8 Fedora Weekly News is out. Topics include a claim of one million unique Fedora Core 6 installations, FUDCon, and the proposed Fedora 7 schedule.

Comments (none posted)

Gentoo Weekly Newsletter

The Gentoo Weekly Newsletter for December 25, 2006 is out. This is a short holiday edition.

Comments (none posted)

Gentoo Weekly Newsletter

The January 1, 2007 edition of the Gentoo Weekly Newsletter is online with the latest Gentoo distribution news.

Full Story (comments: none)

Announcing "Cooker : The inside man IV"

Linux Wizard presents Cooker : The Inside Man IV, featuring the latest Mandriva news.

Comments (none posted)

Ubuntu Weekly News

The January 7 issue of the Ubuntu Weekly News is out. Topics covered this week include the latest Kubuntu developer meeting, secure use of the Ubuntu IRC channels, and the most recent changes to the upcoming "Feisty" distribution.

Full Story (comments: 7)

Package updates

Fedora updates

Updates for Fedora Core 6: pygtk (packaging error fix), pam (bug fixes), tar (new man page), apr-util (bug fixes), fonts-indic (various improvements), fonts-sinhala (bug fixes), fonts-arabic (bug fixes), selinux-policy (bug fixes), system-config-printer (bug fixes), binutils (bug fixes), cyrus-sasl (bug fixes), agg (sync with final 2.4 release), dovecot (reenabled GSSAPI), evolution (bug fixes), gnome-python2 (bug fixes), gawk (bug fixes), vnc (bug fix), dbus (bug fix), setup (bug fixes).

Updates for Fedora Core 5: pygtk (packaging error fix), seamonkey (release bump), yelp (rebuild), epiphany (rebuild), devhelp (rebuild), eclipse (rebuild), avahi (security and bug fixes), xterm (bug fixes).

Comments (none posted)

Mandriva updates

Updates for Mandriva Linux 2007.0: samba (bug fixes), kdeutils (ark fix), mesa (bug fix), postfix and cyrus-sasl (bug fixes).

Comments (none posted)

rPath updates

Updates for rPath: conary (maintenance release).

Comments (none posted)

Trustix updates

Updates for Trustix Secure Linux 2.2 & 3.0: bind, logwatch, perl-dbd-pg (bug fixes).

Comments (none posted)

Ubuntu updates

Updates for Ubuntu 6.10: glibc (bug fix), ubiquity (bug fixes).

Updates for Ubuntu 6.06-LTS: glibc (bug fix).

Comments (none posted)

Newsletters and articles of interest

How To Create A Local Debian/Ubuntu Mirror With apt-mirror (Howtoforge)

Howtoforge has published a tutorial on creating a Debian/Ubuntu mirror site. "This tutorial shows how to create a Debian/Ubuntu mirror for your local network with the tool apt-mirror. Having a local Debian/Ubuntu mirror is good if you have to install multiple systems in your local network because then all needed packages can be downloaded over the fast LAN connection, thus saving your internet bandwidth."

Comments (1 posted)

Page editor: Forrest Cook
Next page: Development>>


Copyright © 2007, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds