Teaching System Administration with Linux

A college lab creates new system administrators.
Zip Root Disk Creation

The root disk is based on Slackware v7.0. We chose Slackware primarily because it gives fine control over what packages are installed, which enables us to easily fit a distribution on a 100MB Zip disk. For our system administration course, we installed the following packages: a, ap and n. Here are the commands:

# fdisk /dev/sda        create a single ext2
                            partition that
                            covers the entire
                            Zip disk
# mke2fs /dev/sda1          make a file system on
                            the Zip disk
# mount /dev/sda1 /mnt/zip  mount the Zip disk
# cd /mnt/zip
# tar -zxvf /tmp/slackware/a1/aaa_base.tgz
# sh install/doinst.sh
# rm -rf install

Repeat the last three steps for each desired package.

Unfortunately, we had to leave out certain packages for lack of space. Most notably, the d package that provides C/C++ and the k package that provides kernel source were excluded. We would like to remedy this in the future with a larger removable disk. Lineo, a company specializing in embedded Linux, provides an alternative to trimming down a standard Linux distribution in order to get standard UNIX utilities into a small space. BusyBox, an open-source project, combines tiny versions of many common UNIX utilities into a single small executable (see Resources).

Automating the Process

Students create their own boot and root disks in the first lab of the semester. However, they don't have enough knowledge of Linux to do this without a lot of hand-holding. Therefore, we've created a process whereby students can create the boot and root disks by running just a few commands. Specifically, we create images of a working boot and root disk. Creating the images is done with the following commands:

dd if=/dev/fd0  of=floppyimage
dd if=/dev/sda1 of=zipimage

Using this approach, students only have to use dd to dump the images to the appropriate device with these two commands:

dd if=floppyimage of=/dev/fd0
dd if=zipimage    of=/dev/sda1


Using Linux to teach system administration has worked very well for us. Using the Zip disk allows each student to get hands-on experience administering their own system without interfering with the “real” system on the hard drive and without interfering with other students. Although the Zip drive is only 100MB, it has proven adequate for creating a working system with all the necessary components.

We strongly feel that our lab would not have been possible without Linux. Because of its open-source nature, we were able to customize the distribution so a complete system would fit on one Zip disk. Furthermore, we were able to customize the kernel to make our production system safe from student tampering.

The only remaining problem with our approach of using a production laboratory environment as a dedicated system administration lab is with the necessary reboots interrupting remote users of the machines. We've addressed this problem by clearly identifying machines that are not subject to these reboots and encouraging remote access users to avoid lab machines with Zip disks.

You may find lecture notes, lab assignments and other software at the course web site (see Resources).


D. Robert Adams is an assistant professor at GVSU. His research and teaching interests include object-oriented programming, Palm-based computing and programming languages. An associate professor at GVSU,

Carl Erickson is currently on leave of absence working on the software architecture team of XiphNet, Inc. His research and teaching interests are in distributed and object-oriented computing.