topic # Topic Reading Homework Slides
1 installation and environment


Sobell ch 1 "Welcome" - read lightly, as casual background and overview
Sobell ch 2 "Installation Overview" - omit RAID and LVM sections. Omit sections on obtaining and burning source data on CDs.
Sobell ch 3 "Step-by-Step Installation" - read it over, up to section on X Window System; omit that and remainder of chapter. Describes installation steps.

Tutorial on MBR and GPT

A GPT header, part of the GUID partition scheme.

"Hard disk layout" - ibmdeveloperworks

write-ups at class website links entitled "Remote Unix access with ssh" , "ssh client alternatives" , and "Variations among Unixes"

a short article about secure boot

do - fundamental commands assignment, the one at the website link entitled "Linux commands"

listen - 1985 roundtable discussion about UNIX. (alternative copy for download here as 25MB  zipped mp4 file)


for reference only:

line termination conventions per OS

MBR dump

Parition table under the microscope

od command usage  - to dump files (and other data) in octal (and other) formats

for reference - 3 low-level dump/edit commands
  xxd's documentation
  od's documentation
  bvi's documentation


Secure Boot

2 bootup and initialization

in-class exercise(s):
 boot sequence

 runlevels (traditional SysVinit)
(new initialization method)


in-class demo
 creating a barebones bootloader

1) system initialization

A) venerable SysVinit way:

Sobell ch 11 "System Administration: Core Concepts" - read the section titled "System Operation" discussing the boot process and runlevels.

article Linux System Startup about Unix SysV startup procedure

article Inside the Linux Boot Process IBM

B) new systemd way:

systemd author's blog


2) bootloaders

GRUB home

tutorials on GRUB
 GRUB legacy

IBM developerworks articles:
Multibooting with GRUB legacy  part1   part2

 migrating to GRUB2

 failed boot recovery GRUB2

- Bootup


3 utilities

in-class exercise(s):

 bootloaders - usb

 line termination

 "The Linux Utilities" in the textbook (ch 7 in 7th edition, ch 5 in 6th edition) - a catalog of important commands. Read it but skip discussion of the following less important commands: hostname, lpr, uniq, diff, mcopy, gzip/gunzip/bzip, apropos, finger, w, write/talk/mesg. Skip vim tutorial.  - Nuts & bolts

More nuts, more bolts

4 text editing

in-class exercise:
 vimtutor (enter command "vimtutor" and
  follow the instructions)

filesystem permissions

permissions intro

Sobell ch 5 (6th ed.) or ch 7 (7th ed.) "The Linux Utilities" - vim tutorial.

website link "vi - the Visual Editor" and reference links therein

Sobell - the portion of ch 6 (either edition) that addresses "access permissions."

overview of "File permissions"

visit The Vi Lover's Home Page 

run "vimtutor" on a linux system that has it and perform its tutorial exercise

At Using the vi editor perform the vi activities shown starting in section 3.13.2



vi editor


5 user interface: the shell

in-class exercise(s):
 filename expansion


Sobell ch 5 (7th ed.) "The Shell" - read the whole chapter - The Shell
6 user interface: X window graphical system

in-class exercise(s):
 window managers

 Sobell ch 10 (7th ed.) - read the section entitled "X Window System"
Sobell ch 1 - read over the section on the X Window System.

the X Window System Architecture Overview HOWTO

the The X Window User HOWTO, sections 2, 3, and 6
(note config file XF86Config has been renamed to "xorg.conf")

view linux's many desktops Linux GUI
7 shell scripting Sobell ch 9 "The Bourne Again Shell" The chapter is full of embedded short 1- and 2-liner examples. I suggest you be at a bash shell while reading, to try out some of the interesting ones as you go.

write-ups at class website links entitled "Shell script basics" and "Shell programming: if and while"

see also the Bash Programming Introduction HOWTO

Shellscript 1

Shellscript 2

Shell Scripting
8 processes

in-class exercise(s):

information scattered in Sobell, some of which are in chapters already assigned. Read
 "Running a Program in the Background" pp241-242
 "Processes" pp314-316. Note the interesting pstree command
 "kill" pp.409-411
 "$$: PID number" pp.929-30

Videos of optional interest:
- Linux fork() introduction
- Linux Exec System Call
- Fork and Exec System Programming

do fork/exec/processes
turn in the result on paper

Process miscellany

9 task scheduling

time synchronization and control

Sobell Chapter 15 (7th ed.) section titled "Scheduling Tasks"

- "Linux, Clocks, and Time"

- wikipedia article

- time precision howto

- home of David Mills
  father of ntp protocol

- home of network time protocol

scheduled jobs (in-class)

Unix time

Scheduled processes

Unix time

10 maintaining software on a linux machine
compiling/installing apps from source code

in-class exercise(s):
 rpm economics

 compiling "hello world" from source

 installing "hello world" with rpm

 installing from remote repositories with dnf/yum 

Sobell ch 12 (7th ed.) "Finding, Downloading, and Installing Software"

article "Compiling Linux Software from Source Code"

GNU make manual (peruse)

- Compilation


Dnf (yum)

11 backup read about backup and backup tools:

tar - see the GNU tar Reference Manual
read from section 1 "Introduction" - 1.1-1.4
read from section 2 "Tutorial Introduction to tar" - whole section
read from section 3 "Invoking GNU tar" - 3.1-3.4
from section 5 "Performing Backups and Restoring Files" - just scan it

read from A Tutorial on Using rsync
read from Snapshot-style backups with rsync - this method is more subtle than it looks, in its use of hard links. The core of it is the 5-line script in the section titled "Putting it all together." Read through that section, paying particular attention to the "review of hard links" and the use of the option (-l) of the cp command to only copy links to files, not their data itself. We will use this method in class.
read about the rsync algorithm, which makes rsync particularly efficient for dealing with large data volumes sent over low bandwidth channels because it identifies incremental changes within files and sends/applies only those deltas.

Linux backup programs - here is a listing. Very many of them are based on rsync

ssh section in Chapter 22
article "Getting Started with SSH"

ssh key setup

ssh passphrases and ssh-agent



ssh - Secure shell

netcat (nc)


12 capstone exercise - do - this exercise on comparison among different flavors of UNIX. This is to be done on DETER, remotely, using the DETER accounts issued to you.

what to turn in - as the product of this assignment, answer the 7 multiple-choice questions at the end of the exercise write-up. Please submit answers to them onto the remote Unix machine using these preparation and submittal instructions. Please name your file "comparisons.txt".