Table of Contents

Introduction, Installation


Introduction, Discussion of Course Content


What is a [UNIX System] Administrator?

Noun:

1. One who administers; one who manages, carries on, or directs the affairs of any establishment or institution.

2. One who has the faculty of managing or organizing.

3. One who executes or performs the official duties of religion, justice, etc.; one who dispenses or ministers to the public in such matters.

4. One to whom authority is given to manage estates, etc. for the legal owner during his minority, incapacity, etc.; a trustee, a steward. esp. in Sc. Law. `A person legally empowered to act for another whom the law presumes incapable of acting for himself' (Encyc.Brit.), as the father of children under age.

System Administration Tasks

Some Common System Administration Tasks

Types of Users


Installation


Review of UNIX

UNIX Variants

The following URL shows a “family tree” of the UNIX operating system: http://www.levenez.com/unix/history.html


Tips for UNIX System Administration

Some essential UNIX administration tools

UNIX Manual Pages (man pages)

   Contents                                 BSD       System V    
                                            Sections  Sections    
   
   User Commands                            1         1           
   System Calls                             2         2           
   C and other library routines             3         3           
   Special files, device drivers, hardware  4         7           
   Configuration files                      5         4           
   Games                                    6         6 or 1 or   
                                                      NA          
   Miscellaneous commands                   7         5           
   Administration commands                  8         1M          
   Maintenance commands                     8         8           
   Local commands                           l         l           

The ps command

    Common options (commonly used w/o dash): 
    
    a print all processes involving terminals
    e print environment and arguments
    l long listing
    u print user information
    x include processes with no terminals

    Meaning of user information columns: 
    
    %CPU percentage use of CPU
    SZ set size (in 1024 byte pages) of the process
    RSS resident set size (in pages) of the process
    STAT state of the process
    TIME time, including both user and system time
    Common options (commonly used w/ dash): 

    -e print all processes
    -f print full listing
    -l long listing (more info than -f)

    Meaning of full listing columns: 

    S state
    PRI priority
    SZ set size (in 4096 byte pages) of the process
    STIME starting time
    TIME cumulative execution time
       $ ps aux | grep sshd   # is sshd running?
       $ ps fax | less        # show process "tree" view

The find Command

   $ find starting-dir(s) matching-criteria-and-actions

   Matching criteria

     -atime n file was accessed n days ago
     -mtime n file was modified n days ago
     -size n file is exactly n 512-byte blocks
     -type c file type (e.g., f=plain, d=dir)
     -name nam file name (e.g., `*.c')
     -user usr file's owner is usr
     -perm p file's access mode is p

   Actions

     -print display pathname
     -exec cmd execute command ({} expands to file)
   # Starting in current directory, find C source files
   $ find . -name '*.c'

   # Starting in root directory, find and list files that are 
   # more than 30 days old and >30 MB in size
   $ find / -size +3M -mtime +30 -exec ls -l {} \;

Other Helpful Tools and Resources


My Expectations


Week 1-2 Minimum Configuration of Linux Machines

       aptitude
       less
       links
       mc
       mutt
       sudo
       vim
       vlock
       wget

Installing Debian Linux Packages

dpkg (see 'man dpkg')

 $ dpkg -i foo-4.5.deb
   # lists the packages installed on the system
      $ dpkg -l

   # remove the specified package from the system
      $ dpkg --remove package

   # completely remove the specified package
      $ dpkg --purge package

   # search for files within installed packages
      $ dpkg -S nslookup

apt (see 'man apt')

    $ apt-get install foo

searching for packages