Get news? 2011 | 2010 | 2009 | 2008 | 2007 | 2006 | 2005 | 2004 | 2003 | 2002 | 2001 | 2000 | 1999 | 1998 | 1997 | About | Contact Want to help?

Linux-Kongress 2003
10th International Linux System Technology Conference
October 14th to 16th, 2003 in Saarbrücken, Germany

Home | Events | Program | Abstracts | Tutorials | BoFs | Fees | Registration | Exhibition | Location | Keysigning Party | Sponsors | Call for Papers


Tutorials deliver in-depth information by experts on their subject. They are a great chance to learn something new, quite often from the developers themselves. You are treated to an afternoon of intense learning and will come away with a good understanding of the subject.

All tutorials are scheduled in parallel on Tuesday, October 14 from 12:30 to 18:00. Two coffee breaks are included, so there is a speaking time of about 4.5 hours. Participants will get printed documentation specially drawn up for these tutorials. See the fees page for information about prices. All tutorials are presented in English.

You have to decide which tutorial to take when you register as there are only limited seats available. We offer the following five tutorials:

T1: Developing portable applications with the LSB by Mats Wichmann

The LSB project has developed consensus on a set of common functionality that makes writing portable software easier. LSB conforming systems provide a contract to applications that the contents of the specification will be available and will work consistently. Most of the important Linux distributions are now LSB conforming; there also no reason why LSB conformance could not be provided as a hosted environment on other systems. The LSB specification itself describes libraries and programming interfaces (at both the source and binary level) a software packaging format, a set of required utilities available to installation scripts, and a method of registering system and startup services. While the LSB is primarly a binary standard, the process of bringing an application into conformance also helps produce more portable source code, improving buildability on Linux systems and also on other POSIX-conforming systems. This tutorial will explore the process of producing and packaging a conforming program. It will show how to examine an existing non-LSB program binary and evaluate it for LSB portability problems; install and configure the LSB build environment; and port, build, check and package the resulting program. The "LSB sample implementation" will be demonstrated as a cleanroom testbed for the program. Most programs use some functionality that is not covered by the LSB; techniques for working around such problems will be covered.

About the speaker:

Mats Wichmann is employed as a senior staff engineer at Intel Corporation where he works primarily on community projects such as the Linux Standard Base and OSDL's Data Center Linux. A core member of the LSB project, Mats enjoys building consensus around open standards, as well as developing the supporting tools. He has been a Linux and earlier UNIX developer since 1981. Prior to joining Intel in 2001, he spent a few years years as a professional trainer and has developed Linux and Python courseware.

T2: Linux and IPSEC: Using the new IPsec stack of the Linux kernel 2.6 by Ralf Spenneberg

This tutorial will cover the basics of the implementation of a virtual private network using Linux 2.6 and setkey, racoon and isakmpd.

The need for virtual private networks becomes greater as more business is done using the internet. Many vendors address this need and not many people know about alternative open source solutions.

In this talk I will start with a brief overview of the IPsec protocol and the different implementations by the different vendors. Specifically I will touch on FreeS/WAN the long-tested implementation for Linux kernels 2.2 and 2.4.

In the second part I will describe the new IPsec stack implemented in the Linux kernels 2.5.47 onwards and backported to 2.4. This stack has been adopted by Red Hat for their new Red Hat Linux beta distribution Severn. We will learn which tools are available and what they are capable of doing.

The third and forth part will focus on actual implementations and interoperable solutions. I will show how to setup a manual and an automatic keyed connection using the commands setkey and racoon. The automatic keyed connection will be demonstrated using preshared keys and X.509 certificates. Additionally the configuration of isakmpd (OpenBSD's IKE daemon) will be demonstrated. The fifth section will cover interoperability questions:

  • Connecting to other operating systems
  • Connection to FreeS/WAN
  • Upgrading from FreeS/WAN

The level of the material is INTERMEDIATE.

Ralf Spenneberg

About the speaker:

The Author has used Linux since 1992 and worked as a system administrator since 1994. During this time he worked on numerous Windows, Linux and UNIX systems. The last 5 years he has been working as a freelancer in the Linux/UNIX field. Most of the time he provides Linux/UNIX training. His specialty is network administration and security (firewalling, VPNs, intrusion detection). He has developed several training classes used by Red Hat and and other IT training companies in Germany. He has spoken on several SANS conferences and even more UNIX/Linux specific conferences. He was chosen to be member of the program comitee of the Linux-Kongress and the GUUG-Frühjahrsfachgespräch. Last year he published his first german book "Intrusion Detection für Linux Server". Right now he is writing on his second book "VPNs mit Linux".

T3: Designing and Creating Great Shared Libraries by Theodore Ts'o

The magic of dynamic linking allows shared libraries to be replaced without requiring the recompilation of all the programs that use them. However, this is true only if proper care is taken when designing the data structures and interfaces presented by these libraries. Unfortunately, as efforts by the Linux Standards Base workgroup has sometimes uncovered, many open source projects have not taken this care, with the result that incompatible changes are made to shared library interfaces as frequently as every month.

This tutorial will describe design principles for creating portable, stable, and yet extensible shared library interfaces. It will cover guidelines for designing Application Programming Interfaces (API's) and Application Binary Interfaces (ABI's) as well as how to use ELF symbol versioning. In addition, this course will cover the design of interfaces which allow applications to be dynamically extended with plugins.

After completing this session, a developer will be able to design and implement extensible applications and shared libraries with stable ABI's. If the key attribute of a successful open source project, one that is widely used, then the principles covered in this tutorial will help make such a project successful, by encouraging the use -- and re-use -- of the project's codebase.

Ted Ts'o

About the speaker:

Theodore Ts'o has been C/Unix developer since 1987, and has been a Linux kernel developer since September 1991. He led the development of Kerberos V5 at MIT for seven years, and is the primary author and maintainer of the ext2/ext3 filesystem utilities. Theodore currently serves on the board of the Free Standards Group and contributes to the development of the Linux Standard Base. Theodore has attending every Linux Kongress since its founding, and is looking forward to attending this 10th Linux Kongress.

T4: Developing for the Linux Kernel by Jes Sorensen

This tutorial will look at how the Linux kernel is structured and will provide an insight into how to develop code for the kernel, in particular device drivers, however it is applicable to all areas of Linux kernel development. Focus is on the upcoming 2.6.x series, however some emphasis will also be given to issues around supporting the current 2.4.x series.

Topics include:

  • Resource management (interrupts, memory/IO space, memory allocation ...)
  • Device registers and DMA memory access (PCI devices)
  • Locking mechanisms, queues, timers etc.
  • Correct handling of user space access
  • Writing portable code working across architectures and kernel versions
  • SMP, locking and race conditions
  • General performance aspects
  • Kernel debugging
  • Latest features in the current development kernel

About the speaker:

Jes Sorensen has been working on the Linux kernel since 1993, including being the maintainer of Linux/m68k for several years. He has worked in a large number of areas in and around the Linux kernel; including high speed networking, Linux/ia64 and other ports, has written many device drivers and worked on the system libraries (glibc) for Linux/ia64. Jes works as a consultant for . Prior to this Jes worked for Linuxcare and prior to that he worked at the European Laboratory for Particle Physics (CERN).

T5: Migration of Samba 2.2 servers to Samba 3 by Volker Lendecke

As Samba 3 is hopefully released at the time of this tutorial many might ask themselves whether to upgrade and what to do. Samba 2.2 is a dead branch and will not be developed further, so upgrading will be necessary sooner or later.

Samba 3 provides a whole bunch of new features, such as improved LDAP support, better PDC functionality and Active Directory member support. Many of the changes Samba 3 brings can be handled with compatibility options, but to really make use of the new features in some cases more work is required.

This tutorial will practically show the new features of Samba 3, along with practical demonstrations of what has to be done to migrate existing Samba 2 servers to version 3.

About the speaker:

Volker Lendecke is member of the Samba core development team and co-founder of the Service Network Gmbh in Goettingen, Germany. The first practical migrations to Samba 3 are done, so I might be able to give the people some valuable hints.

T6: Let's build a Beowulf cluster by Thomas Lange

The tutorial will explain how to plan and realize the creation of a Beowulf cluster. We start with the selection of hardware components, and to avoid some pitfalls. Then we will plan the configuration of the operating system and the applications. The tutorial will focus on the installation and configuration of the OS and the applications using FAI, the fully automatic installation for Debian GNU/Linux. Also some cluster monitoring technics will be discussed.

Most of the things we will discuss are not cluster specific but also useful for installing large Linux infrastructures. This tutorial will be held as a hands-on tutorial. In the second part the participants can perform an automated installation on available PC's. We will do installations with some default configurations but you can also try your own configuration.

About the speaker:

Thomas Lange holds a diploma in Computer Science from the University of Bonn. He has now been working as a system administrator for over ten years. Most of his job is done automatically by shell and perl scripts, which do the installation and administration of several Sun Solaris workstations clusters and some Linux machines. His tool FAI did also some Beowulf cluster installations while Thomas hands were tied to his back. Since 1999 he has been developing the fully automatic installation for Debian GNU/Linux.

T7: Setting up a print server with CUPS and Samba by Kurt Pfeifle, Till Kamppeter

Printing is a stepchild in most networked IT environments. Often the setup reminds of a jungle: different protocols, printer languages and networking protocols, central spooling and peer-to-peer printing co-exist side by side -- but mostly not very peacefully. Admin time is often eaten by debugging a users' print problems. The overall costs of the undertaking is seldomly tracked and often not known at all.

Recently we see a tendency to migrate network printing (alongside other services) over to Linux-based servers (even where the clients remain with Microsoft operating systems), with CUPS at the head of the migration movement. CUPS works very closely with Samba to extend its hand to Windows-based clients.

CUPS offers some unique features no other spooling system can offer. It is a network-transparent PostScript-RIP in software, allowing all clients to consolidate on PostScript drivers (even if the target printer is a non-Postscript inkjet). Based on the new IETF standard for network printing, IPP (Internet Printing Protocol), it is designed to replace the venerable, but "kludgy" LPD.

CUPS offers all clients the full feature and finishing set of the printers (various resolutions, duplex, stapling, punching, coversheets or folding) through its support and extension of the PPD quasi-standard (PostScript Printer Descriptions). It ships now as the default printing system on most Linux distros; it is the printing system for Mac OS X; it is easy to install on all commercial UNIXes and there is a Windows-client in development.

Native clients benefit from an automatic setup, enabling them to discover available printers and drivers through the network, and sparing any specific admin or user interventions on the clients if there are reconfigurations or printer additions and deletions on the servers.

Windows clients may get their drivers downloaded and installed automatically with the help of Samba'a "point and print" support.

CUPS is able to provide accounting about every job (logging the number of pages, usernames, printername, time of print etc.) to provide a means of control and financial planning for the efficient distribution of ressources. It supports other established internet standards, such as SLP (Service Location Protocol), LDAP (Lightweight Directory Access Protocol), TLS (Transport Layer Security), and others.

This tutorial will show how to set up a print server with CUPS and Samba:

  • How to set up the printing infrastructure on the Linux server: CUPS, GhostScript, and Foomatic
  • >
  • How to configure Samba to share CUPS print queues with Windows clients (the old "LanMan" method).
  • How to make print queues and drivers available for "Point and Print" (the new "MS RPC" method).
  • How to understand and use CUPS as a network PostScript RIP (PostScript drivers on clients, even for non-PostScript target devices)
  • How to upload drivers to the Samba server from a Windows client using the Microsoft "Add Printer Wizard" (APW).
  • How to upload drivers to the Samba server from a Linux workstation using the smbclient and rpcclient commands.
  • How to correctly set persistent driver defaults for all clients
And all this will not only be explained in theory, but accompanied by many live demonstrations.

The approach to the workshop is flexible. Participants will be able to ask for emphasis on certain topics at the beginning of the session. They might even bring their laptops and get help to setup their printing system or troubleshoot some weird problem....

Target audience: Everybody -- experienced network administrators as well as "home-only" users.

Required skills: None -- but danger! Your knowledge about traditional Unix printing might look very obsolete after attending this session...

Kurt Pfeifle
Till Kamppeter

About the speakers:

Kurt is working as a system engineer at Danka Deutschland GmbH. His job includes consulting and training related to network printing, IPP (Internet Printing Protocol), migrating heterogeneous networks to Linux print servers (with the help of CUPS and Samba).

He has been helping with both the and the KDEPrint websites and with user support in various newsgroups. He writes documentation related to printing and works as a beta tester for CUPS and KDE printing stuff. He also wrote most of the Documentation of the Samba HOWTO Collection dealing with printing. In various newsgroups he is actively helping users to solve their printing problems, minor and major ones.

Currently he is busy with a book about CUPS (dealing with printing on Linux, Unix, Mac OS X and MS Windows).

Till holds a PhD in Theoretical Physics. While he made his PhD he was system administrator for Unix and GNU/Linux in the physics department. As system administrator he got to the free software with contributions to X-CD-Roast and later XPP as his first own project. XPP lead him to MandrakeSoft in Paris in August 2000, where he is responsible for the printing and digital imaging in Mandrake Linux.

His main project now is maintaining the web site with its printer database and the Foomatic software. He improved this system substatially, and currently it is the standard for printer driver intergration in most major GNU/Linux distribution. He is also in the Open Printing Group of and has given several talks and presentations on free-software-related events.

Related links:

Comments or Questions? Mail to Last change: 2005-09-17