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).
|Using tshark to Watch and Inspect Network Traffic||Aug 31, 2015|
|Where's That Pesky Hidden Word?||Aug 28, 2015|
|A Project to Guarantee Better Security for Open-Source Projects||Aug 27, 2015|
|Concerning Containers' Connections: on Docker Networking||Aug 26, 2015|
|My Network Go-Bag||Aug 24, 2015|
|Doing Astronomy with Python||Aug 19, 2015|
- Using tshark to Watch and Inspect Network Traffic
- Problems with Ubuntu's Software Center and How Canonical Plans to Fix Them
- Concerning Containers' Connections: on Docker Networking
- A Project to Guarantee Better Security for Open-Source Projects
- Where's That Pesky Hidden Word?
- Firefox Security Exploit Targets Linux Users and Web Developers
- My Network Go-Bag
- Doing Astronomy with Python
- Build a “Virtual SuperComputer” with Process Virtualization
- diff -u: What's New in Kernel Development