Teaching System Administration with Linux
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).
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).
Free DevOps eBooks, Videos, and more!
Regardless of where you are in your DevOps process, Linux Journal can help!
We offer here the DEFINITIVE DevOps for Dummies, a mobile Application Development Primer, and advice & help from the expert sources like:
- Linux Journal
- Users, Permissions and Multitenant Sites
- Flexible Access Control with Squid Proxy
- High-Availability Storage with HA-LVM
- Tighten Up SSH
- Best. Cake. Ever.
- Security in Three Ds: Detect, Decide and Deny
- Nmap—Not Just for Evil!
- Building Tiny Linux Systems with BusyBox, Part 3
- Get Organized with Emacs Org-mode
- Bash Arrays