Archive for the 'instruction' Category

Teaching Unix Administration Part 1 - Essentials

Monday, July 31st, 2006

About a year ago, I was left with the unenviable position of having to replace myself. Apparently, college jobs really can’t be held after graduation… Unfortunately for (I think) me, all of the potential replacements had little to no Unix knowledge. This meant that I was forced to train whomever was hired. Seems easy enough, right?

I like many Unix people my age am self taught; I never had any “formal” introduction to the operating system. Without an effective framework that was taught to me, I had no real strong concept of how to teach someone else. What I found was a method that helped force the student to really work to understand underlying concepts.

My system does have a few requirements for the student:

  1. He must have a strong understanding of a basic computing concepts
  2. He must be comfortable with internet resources (Google and such)
  3. He must have a free computer in which to work

If those requirements are met, feel free to use my system to help teach Unix concepts. Also, these exercises should take about a week to complete.

There is only a handful of rules:

  1. The student can use any resource outside of the work environment but none within the work environment.
  2. The student must document in a plain text file exactly how he or she completed the task

Caveat: Please do not exclusively use these exercises to teach. The student must be able to ask questions outside of the scope of the exercise.

Exercise 1
Installing Linux
For my training system, I chose to install Gentoo. I do this so that the student is exposed to the internals for the start of training. Plus, this way, the student can not use X11 at the start. Can you imagine a later project? This should probably take more than one day, but I feel that it is a good start in teaching Linux.

Exercise 2
Turn on SSH and create user accounts
At this point, a normal user account should be created for both the instructor and student. Both users should have the ability to use “su”. Also, ssh should be turned on and work as advertised.

Exercise 3
Create a Message of the Day Without Using a Text Editor
This exercise forces the student to learn basic Linux (and System V) file system organization and basic text file manipulation available within the OS itself.

Exercise 4
Kill a Runaway Process
In order to test this, you need a script or application that has an infinite loop flaw. The instructor needs to run aforementioned script on the students machine and (depending on load), either tell the student look for a program that is taking over the system processes or give the name of the looping program. Below is an example I have made that should bump usage way up (however it will be under sh and not the name of your script; again I leave it to you):

#!/bin/sh
COUNTER=0
while true;
do
let COUNTER++
done

Exercise 5
Fix Problems in User Configurations
This exercise is the most work for the instructor to date, but shows the student how to perform simple administrative tasks and shows how profile information is stored. Change the user profile for the student in two ways:

  1. Change the student’s password.
  2. Change the default shell to something non-existant

Next time, intermediate concepts include software installs and configurations.