Homework           Links

 

CS 340  Unix/Linux System Administration

TR 11:05-12:20, Mac 100, Spring, 2007

 

Instructor

Prof. Xiaoliang (Leon) Zhu, Zabriskie 202A, x3287, xzhu@wells.edu

Office Hours: TBA

 

Text

Essential System Administration, 3rd Edition, A. Frisch, O'Reilly, 2002 (Required)

 

Learning Perl, R. Schwartz, T. Phoenix, etc, O’Reilly (Required unless you are already familiar with Perl)

 

Prerequisite

CS 132 or permission of instructor

 

You should familiarize yourself with one of the two Unix text editors vi and emacs. I recommend vi which has been around over 40 years and is still popular due to its unmatched power. You cannot survive this course if the Microsoft Word is the only text editor you know. Check the following links to learn more about these editors.

 

Vi Manual

Vi tutorial

Emacs Manual

Emacs Tutorial

 

You should also learn some basic Unix concepts.

 

Course Description

 

This is an introduction to Unix System Administration. Unix is an operating system developed by Bell Laboratories during the late 1960s and 1970s. It is designed to be a multi-user multi-tasking operating system, which means that it can be used by many people at the same time (it is multi-user) and can do multiple tasks or operations at the same time (multi-tasking). It is one of the most common operating systems for servers on the Internet due to its reliability and security. Linux, a free Unix implementation on PC, has gained the support of corporations such as IBM, Sun Microsystems, Hewlett-Packard, and Novell, Inc., and has risen to prominence as an operating system for servers; It is reported that by September 2006 eight of the ten most reliable internet hosting companies run Linux on their web servers. Linux offers tons of high-quality application software for free. With Linux, you can do almost everything you do on Windows, without paying a penny to Microsoft.

 

In this course, we will cover the following topics:

  • Unix concepts, introduction to the Bourne shell and scripting;
  • Linux distributions, installation;
  • Scripting administrative tools, introduction to Perl;
  • Install/Upgrade software (source, binary, patching);
  • Introduction to the Linux kernel, kernel compilation;
  • Network: TCP/IP, troubleshooting, security, DNS, routing, Apache, SSH, Mail Server, printing, Windows interoperability;
  • Linux clusters, supercomputer architecture, introduction to MPI (if time permits);
  • Database administration (if time permits).

 

Perl will be used as the ideal scripting language. Unless you have already familiar with it, you must have a copy of the second textbook above, Learning Perl. We will cover both textbooks in parallel.

 

On completion of this course you should be able to:
- Understand the role and responsibilities of a Unix system administrator
- Install and configure the Linux operating system
- Manage the resources and security of a computer running Linux at a basic level
- Make effective use of Unix utilities, and scripting languages
- Configure and manage simple TCP/IP network services on a Linux system
- Develop an appreciation of the documentation available as part of an installed Unix/Linux system

 

Grade

Homework:      30%

Projects:           40%

Midterm:          15%

Final:                15%

 

Letter grades will be assigned according to the standard scale of 90% for A, 80% for B, 70% for C, and 60% for D.

Projects will be installation and configuration of various applications, and administrative perl scripts.

 

Attendance

Although attendance is not mandatory, you will be at a serious disadvantage if you do not attend class, because this course requires a large amount of hand-on experience. Class absence does not excuse you from your responsibility.

 

Academic Honesty and Honor Code

You are encouraged to work with each other collaboratively, talk with each other, read and debug each other’s script. This helps both the helper and the helped, and the helper often get more from such an exchange of ideas. However, you should only submit your own work. Don’t hand in anything copied from others that you don’t understand.

I take issues of academic honesty very seriously, and it is your and my responsibility to uphold the College's Honor Code. This means, among other things, that I will not hesitate to report my suspicions of dishonesty to the College.