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 "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)

1) system initialization

overview article "Initializing and Managing Services in Linux: Past, Present and Future"

A) venerable SysVinit way:

Sobell (6th edition) 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:

Sobell (7th edition) ch 10 "System Administration Core Concepts" pp 438-452 cover the new vs old SysV and systemd initialization methods. Scan it, there is a bit more detail here than we care about.

systemd author's blog


a systemd tutorial

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



3 filesystem permissions
in-class exercise(s):
 permissions intro


in-class exercise(s):

 bootloaders - usb

 line termination

overview of "File permissions"

Sobell - the portion of Chapter 6 that addresses "access permissions."

Sobell chapter "The Linux Utilities" (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.

permissions Permissions
4 text editing

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

Sobell ch 7 "The Linux Utilities" - vim tutorial.

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

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 "The Shell" - read the whole chapter

- The Shell
6 user interface: X window graphical system

in-class exercise(s):
 window managers

 Sobell ch 10 - read the section entitled "X Window System"
Sobell ch 3 - read over the section on the X Window System. Be aware of role of xorg.conf config file, but details unimportant.

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.

Sobell ch 27 " Programming the bash Shell" Covers a lot of material. I suggest you read the parts on the topics discussed in class from the slides, and scan over the remainder more lightly.

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

see also the Bash Programming Introduction HOWTO

IBM Developerworks on the "test" command. It talks about exit status, and the use of commands' exit statuses as the basis for "if" branching. It also talks about using the "test" command and its variants to enable "if" to be responsive to numeric and string comparisons, like "if" in most other languages. 

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 Command in the Background" p163ff
 "Processes" p316ff. Note the interesting pstree command
 "kill" p.470ff
 "$$: PID number" p1011ff

article "Delve into UNIX process creation" from IBM developerWorks reinforces our coverage

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 the filesystem

in-class exercise(s):
 device vs file

Sobell ch 6 - the filesystem. Of which access permissions are a part. Read the whole chapter.

3 write-ups at class website links entitled
 "Filesystem analysis"
 "Files vs devices"

visit an ext2 analysis page; and another

 do ext2 filesystem
turn in the result on paper
10 maintaining software on a linux machine
compiling/installing apps from source code

in-class exercise(s):
 rpm economics
 dnf and rpm 

Sobell ch 13 "Downloading and Installing Software"

article "Compiling Linux Software from Source Code"

GNU make manual (peruse)

- Compilation