| Time & Place: | Ref No. 98549: Monday, Wednesday, 7:00 – 8:15 PM, Dale Mabry Room DTEC–461 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Instructor: |
Name: Wayne Pollock E-mail: Internet: Office & Phone: DTEC–404, 253–7213. DM Office Hours: Monday–Thursday, 3:55–5:25 & Tues., Thurs. 8:20–8:35; On-line Office Hours: Wednesday–Friday, 12:00 PM (noon)–1:00 PM; or by appointment.
| ||||||||
| Texts: |
AEleen Frisch,
Essential System Administration,
3rd Edition. ©2002 O'Reilly & Associates.
ISBN: 0-596-00343-9.
Optional: Hahn, Harley, Harley Hahn's Guide to Unix and Linux, ©2009 Harley Hahn, Pub. by McGraw-Hill. ISBN # 978-0-07-313361-4. | ||||||||
| Description: | This course is a continuation of CGS 1760 (Introduction to Unix). The focus is hands-on Linux system administration. Topics include system administration concepts, system installation and configuration. Additional topics include understanding the Unix filesystem, configuring basic system hardware and services, managing user accounts, basic system security, and backups. Major Unix variants will also be covered. This course continues with CTS 2322 (Unix/Linux Administration II). | ||||||||
| Objectives: | The student will demonstrate a knowledge of the following
topics through objective tests, hands-on activities,
and/or projects:
| ||||||||
| Prerequisite: | CGS 1760, or Permission of the Instructor. (Students enrolled in a degree or college credit certificate program must complete all prerequisites.) | ||||||||
| Facilities: | Assignments can be performed on the Dale Mabry campus Linux computers,
which can be accessed from the classroom or from some computers in the
last row of the DM open computer lab.
YborStudent.hccfl.edu (a Linux server) can be accessed from
on or off campus and can be used to practice, examine configuration files,
read man pages, and do some parts of some assignments.
From off-campus you can also practice using any Unix/Linux system available
(or install Linux at home).
However projects must be completed using your assigned disk at
HCC, using the assigned operating system.
A class
You will need your own floppies/flash disk, writing materials,
and three Scantron 882–E or 882–ES forms.
You can use HawkNet
(WebAdvisor) or
FACTS.org to obtain your final grade for the course.
You can use
CampusCrusier
for email, college calendars, and college related resources.
| ||||||||
| Grading: |
Grading scale:
A=90-100, B=80-89, C=70-79, D=65-69,
F=0-64
| ||||||||
| Policies: |
| ||||||||
| Projects: |
Projects will be assigned at various times. You will have sufficient time to complete the projects, at least a week but usually two weeks. Although there will be in-class group exercises you must work individually on the projects, typically outside of regular class hours, except when a project is designated as a group project. You may work together in small groups on group projects provided the names of all who worked together are listed. Each student must still submit their own copy of the assignment. Projects are graded on the following scale:
A = 95% (Excellent: Good design with good comments, style, and extras) Minor extras worth +5 points, minor omissions or poor design worth -5. Projects are not graded when turned in. They are graded all at once, sometime after the project deadline has passed (usually the next weekend). (See also submitting assignments below.) | ||||||||
| Homework Assignments: |
For this course your weekly homework assignment is to update the
study guide on the
class wiki
with a substantial contribution based on the material covered
in class, from assigned readings, or from other resources you
have studied.
A substantial contribution means adding new material,
adding references (links), or elaborating (or correcting) some
previous submission.
You should use
wiki formatting and not HTML formatting when
possible, and be sure to spell-check your work.
The wiki will automatically send your instructor an email for each
update, so there is no need to add your name to your contribution.
Your instructor is the editor and moderator of this study guide (and for all material posted on this wiki site). While some time will be given for students to correct postings, in order to ensure an accurate study guide the instructor may edit, add to, or remove material posted by students. The homeworks will be graded on or after the following week (so you have the weekend to post your homework). Your contribution will be graded based on correctness, completness, and clarity. Each week (for at least 12 weeks), students can earn up to 8 points toward the homework grade. | ||||||||
| Submitting Assignments: |
Projects can be submitted by email to
.
Please use a subject such as "Unix/Linux Admin I Project #1 Submission"
so I can tell which emails are submitted work.
Send only one assignment per email message.
Email your projects by copy-and-paste into your mail program.
(Please do not send as attachments!)
If possible, use the textand not the HTMLmode of your email program.
Do not send any email to
The HCC email server automatically accepts and
silently discards email with certain types of attachments.
If you must send email to my Internet (non-YborStudent) email
account please avoid using any attachments, but especially
In the event a student submits more than once for the same assignment, I will ignore all but the last one received up to the deadline. Assignments submitted after the deadline will not count toward your grade except as allowed by the course late policy.
If you have an email problem you may turn in a printout instead.
Be sure your name is clearly written on the top of any pages
turned in.
Please staple multiple pages together (at the upper left). |
| Classes Begin: | Monday 1/11/10 (First class meeting: Monday 1/11/10) |
|---|---|
| Add-Drop Ends: | Friday 1/15/10 |
| Last Day to Withdraw: | Thursday 3/18/10 |
| Classes End: | Monday 5/10/10 (Last regularly scheduled class: Monday 5/10/10) |
| Grades Available: | Thursday 5/13/10 (from FACTS.org or HawkNet) |
| HCC is closed on: |
Monday 1/18/10 (Martin Luther King Day), Monday 2/15/10 (Presidents' Day), Friday–Sunday 3/26/10–4/4/10 (Midterm Break), Thursday 4/15/10 (In-Service Day) |
If, to participate in this course, you require an accommodation due to a physical disability or learning impairment, you must contact the Office of Services to Students with Disabilities, Dale Mabry campus: Student Services Building (DSTU) Room 204, voice phone: (813) 259–6035, TTD: (813) 253–7035, FAX: (813) 253–7336. Brandon campus: voice phone: (813) 253–7914.
HCC has a religious observance policy that accommodates the religious observance, practices, and beliefs of students. Should students need to miss class or postpone examinations and assignments due to religious observances, they must notify their instructor at least one week prior to a religious observance.
| Quotes: | Tell me and I'll listen. | — Lakota Indian saying | |
|---|---|---|---|
Learning is not a spectator sport! | — Chickering & Gamson |
| Dates Mon Wed | Topics and Assigned Readings |
|---|---|
| 1/11 |
Course introduction, syllabus review.
Wiki
overview.
Common SA tasks.
LAN use.
Assign User IDs, discuss passwords.
Basic procedures (removable disks),
HCC network login (using WebAdvisor for passwords, grades).
Open Lab procedures and hours.
Professional societies and certification.
SA Job titles and descriptions, salaries, ethics and politics,
job interviewing tips, and soft skills required.
IT
management overview (ITIL).
SI units.
Readings Due: Chapters 1, 18 (a.k.a. the afterword, pages 1069–1071), certification links, System Administration Common Tasks, IT management resources, System Administrator's Code of Ethics, and soft skills |
| 1/13 |
Review Computer system (bus, power supply, CPU,
ALU, memory, controllers, peripherals,
firmware (BIOS), and POST).
Virtual memory (swapping and paging).
Power-on boot cycle and OS loading.
Readings Due: Chapters 4 (pages 127–130), 15 (pages 978–981) |
| 1/18 | Martin Luther King Jr. Day — No classes |
|
1/20
1/25
|
Boot managers (dual boot): LILO, grub,
uname.
System startup and shutdown: shutdown,
/etc/nologin, halt,
reboot.
Booting in rescue (and similar) modes.
Using grub to set or change boot/kernel
parameters.
Disk partitioning overview.
Unix and Linux device (especially disks and partitions) naming schemes.
Readings: Chapters 2 (pages 60–66, 68–73), 10 (pages 623–624 and 634–637), 16 (pages 1036–1044), Partitioning, LVM resources Project #1 (Partitioning) Due 1/20 |
|
1/27
2/1 2/3
|
Installing Linux:
Pre-install questions to answer, install versus upgrade,
basic DHCP IP network setup, common
installation issues, dual-boot issues.
Post-install tasks, Maintaining site documentation.
Managing storage (including logical volume management).
Disk technology (IDE, SCSI,
ATA, MBR, RAID,
SANS/NAS, ...).
Readings: Chapter 4 (pages 130–137), p. 305 ( /etc/nologin),
10 (pages 616–626, 657–663, 677–684),
LVM, pre-/post-install
resources, Disk and hardware resources
Project #2 (Install) Due 2/3 |
| 2/8 2/10 |
Hard disk administration (fdisk, parted,
mkfs, mkswap, df, du,
fsck, mount, umount,
tune2fs), /etc/fstab.
Working with removable media.
Readings: pages 61–65, 202–221, Chapter 10 (pages 626–634, 637–656, 688–694), 1001–1016. |
| 2/15 | Presidents' Day — No classes |
| 2/17 |
Hard disk administration (continued)
Readings: pages 61–65, 202–221, Chapter 10 (pages 626–634, 637–656, 688–694), 1001–1016. |
| 2/22 | Exam #1 |
| 2/24 |
Understanding
the X Window GUI:
window managers, virtual desktops,
sticky windows & icons, xterm,
using mouse for copy & paste),
Desktops (kde,
gnome, cde).
Managing fonts.
Readings: pages 245–246, 878–884, X window overview, man page for X.
Project #3 (Hard Disk Admin) Due 2/22 |
| 3/1 |
Configuration management, patch management (Solaris).
Package management:
RPM (and yum), DEB
(and apt),
Solaris/BSD packages.
Using alternatives.
/opt versus /usr/local.
Using source code:
tar archives (tar-balls),
make.
configuration and patch management readings, Readings: Chapter 3 (pages 115–126) |
|
3/3
3/8 3/10
|
Change management, help desk setup (time management,
trouble-ticketing).
Administrative policies and procedures. Review disaster recovery plans (will not be covered during class but you are responsible for the reading assigned). Centralization versus decentralization. Readings: Change Management, Help Desk resources, Disaster Recovery Outline (see also these other, not required DRP readings). Project #4 (Filesystem Admin) Due 3/8 |
| 3/15 |
Adding RAM, NIC, and disk to
IA.
Danger of shock, ESD.
Maintenance, supplies.
Adding and configuring hardware and drivers:
/dev/*, major and minor device numbers.
mknod.
Understanding udev, HAL, and D-BUS.
(Not required but useful to know if you have the time and interest: Managing and monitoring hardware: UPS, RAM, clock, serial ports, parallel ports, USB ports, NICs (and basic networking setup), sound cards, video cards.) Readings: pages 65–66, 175, 766–769, 772–777, 784–790, 807–808, 810–813, 180–190, 202–219, Chapter 10 (pages 626–634, 637–656, 688–694). Working with Hardware. Optional: pages 966–968, 978–986, 992–993, 995–1000, 1017–1018 |
|
3/17
3/22
|
Configuration overview (webmin,
using command line tools, vi,
/proc).
Understanding port numbers, service names, and
/etc/services.
Note other security features/subsystems:
Review concepts for files and directories, Unix/Linux
permissions.
ACLs, properties,
PAM, TCP Wrappers, Firewalls). The Sys V init boot process ( initrd,
/etc/inittab, runlevels, telinit,
/etc/rc?.d
/etc/init.d, chkconfig, ...).
who -r.
Solaris 10 SMF
concepts and commands.
Manually starting and stopping services
(kill -HUP, svcadm).
Managing network on-demand services (inetd,
xinetd).
TCP Wrappers and firewalls.
Readings: Chapter 4 (pages 137–179), on-line configuration, network, and init resources Project #5 (Disaster Recovery Plan) Due 3/22 |
| 3/24 |
Exam #2 |
| 3/26–4/4 | Mid-Term Break — No classes |
| 4/5 |
The kernel and kernel modules (modprobe.conf,
modprobe, depmod, lsmod, ...).
Readings: Chapter 16 (pages 1044–1047) |
|
4/7
4/12 4/14
|
Database and SQL basics, configuring MySQL
and PostgreSQL.
Readings: On-line Database, MySQL resources Project #6 (Service Administration) Due 4/14 |
| 4/19 4/21 |
Printing (local and network via samba):
concepts, tools (for CUPS).
Readings: Chapter 13 (pages 814–844, 858–867, 874–884) On-line Printing resources Project #7 (Database Administration) Due 4/19 |
| 4/26 4/28 |
Adding, managing, removing users and groups
({user,group}{add,mod,del}, managing passwords
(shadow, MD5), enabling accounts, /etc/skel,
/etc/login.defs, vipw,
pwck, ...).
Disk quotas.
Disabling accounts.
Readings: Chapter 6 (pages 222–302) Project #8 (Printer Configuration) Due 4/26 |
| 5/3 5/5 |
Backups and archives: restore issues, policies, tools, and techniques.
Readings: Chapter 11 Project #9 (User Administration) Due 5/3 |
| 5/10 |
Exam #3
Project #10 (Backups) Due 5/10 |
| Resources | |||||
|---|---|---|---|---|---|
| System Administrator Tasks | Common tasks required of system administrators | IT Management Overview | Describes IT management and ITIL | ||
| Human Resource Management for IT | Describes issues for IT management | MIS Links | MIS web resources | ||
| Code of Ethics | System administrator's code of ethics | Soft Skills | A discussion of certifications, job interviewing tips,
and required soft skills |
||
| 2008–2009 Salary Survey (PDF) | Annual IT salary survey results from www.dice.com | YborStudent System Journal | A snap-shot of the official YborStudent System Journal | ||
| linux.ctyme.com | Searchable Linux man pages in HTML format | tldp.org | The Linux Documentation Project: how-tos, guides, and more | ||
| docs.sun.com | A collection of Solaris man pages, administrator guides, and more | Disk Technology | A summary of disk and related technology | ||
| Graphic of Computer Hardware | Classic Von Neumann computer hardware architecure diagram from www.infoq.com/presentations/click-crash-course-modern-hardware | www.PurpleMath.com | Good site for basic math and algebra tutorials (something all technology workers need to know) | ||
| Disk Partitioning Guide | Describes when and when not to create disk partitions | Dual Booting | Shows how to set up a dual boot system | ||
| File Systems | Comparision and Description of many Filesystem types (Wikipedia.org) | Intel Architecture | Shows IA32 (traditional) architecture. See also Intel's P55 architecture. | ||
| RAID information and levels | Describes RAID issues along with Hard Disk Technology, from www.PCGuide.com | PCTechGuide.com | An overview of PC hardware (including disks) | ||
| Filesystem Hierarchy Standard | A description of standard directories on Linux
(see also hier(7);
filesystem(5) for Solaris.) |
Pre Install Questions | Questions you need to answer before installing anything, such as capacity planning | ||
| Hard Disk Technology | Overview (what an SA should know) about hard disks and related technology | ||||
| LVM Guide | Linux Logical Volume Management Guide | Post Install Task List | Lists and briefly describes many post install tasks | ||
| Dell Support | Lookup System inventories of Dell computers by service tag | fcc.gov ID Search | Look up hardware using FCC-IDs | ||
| X Window System Overview | How to use and configure the GUI system | ||||
| Centralization and Decentralization | A brief overview of Centralized policy and control issues | yum.conf | A sample yum.conf file for Fedora Linux |
||
| Configuration and Patch Management | A brief overview of Configuration Management (and Patch Management). Draft lecture notes. | Infrastructures.org | An collection of automated systems configuration best practices | ||
| CheckInstall | Link to checkInstall homepage, a program that builds
RPM packages by watching builds via
make install |
Patching the Enterprise | Detailed discussion of patch management issues and solutions from ACM Queue Magazine, March 2005 issue | ||
| alien | Link to homepage of alien, the package converter |
Understanding Patch Management | An overview of patch management from ACM Queue Magazine, March 2005 issue | ||
| RPM options | A summary of frequently used rpm command-line tool options | ||||
| Change Management | An overview of change management for system administrators | Help Desk Organization | An overview of help desk setup | ||
| Hardware Components | Some graphics of various computer hardware components | ||||
| udev-info | Some notes on Linux udev subsystem for managing devices | Hardware Management | Lecture notes on physically managing ESD while adding or removing hardware such as RAM, NICs, and disks, and software concepts of managing hardware (major and minor numbers, udev and devfs, HAL, D-BUS, ...). | ||
| Sensor Statistics | Some graphics of various hardware probe values, over time | ISA Plug-and-Play | A short how-to on configuring ISA-PnP devices | ||
| Disaster Recovery | Outlines major issues for disaster recovery policies and procedures | Disaster Recovery Planning: Preparing For The Unthinkable | by Jon Toigo. Sample chapter posted by InformIT, courtesy of Prentice-Hall PTR (now Pearson Education) | ||
| www.webmin.com | A GUI administration tool for all Unix and Linux systems | find command tip | Shows how to use find to locate files modified
by an administration tool |
||
| StartupScript.txt | Sample startup shell scripts (/etc/init.d/foo) for a foo server | System V init files | From /usr/share/doc/initscripts-7.42.2 on Fedora | ||
| Solaris SMF quick start guide | An overview of Solaris 10's service management facility,
the replacement for |
Solaris 10 Introduction to SMF | A complete description of SMF from the Solaris 10 Administrator's Guide | ||
| Description of /etc/sysconfig files | Describes the files and options for Red Hat-like systems (e.g., Fedora) | Networking Basics | Reviews the concepts of netwoking addresses, port numbers, and services | ||
| modules.conf | Sample /etc/modules.conf file showing some complex features | Changing Kernel Parameters | shows using /proc and sysctl |
||
| Unix file permissions | More than you wanted to know about Unix permissions | Octal Number Chart | Shows how to use octal numbers with chmod and
umask |
||
| /etc/sudoers | A sample /etc/sudoers file |
RBAC | Solaris Role Based Access Control Demo | ||
| PAM Tutorial | Shows how to configure and use PAM. (See also Solaris 10 PAM Guide | Linux PAM Sys Admin's Guide | Shows how to configure and use PAM | ||
| sFTP Reference | Guide for using cmd line secure FTP program | Public key encryption | A tutorial on encryption, digital signatures, Internet security, etc. | ||
| RCS Demo | A sample session using RCS with a shell script | ||||
| Database Basics | Lecture notes on Databases and SQL | PostgreSQL.org | PostgreSQL database website | ||
| MySQL installation | Directions to install MySQL on Solaris 10 | MySQL | MySQL database website | ||
| Interactive SQL Tutorial | sqlzoo.net is one of the best SQL tutorials you can find on the Internet | SQL Tutorial | Another SQL tutorial, from w3schools.com | ||
| About ping | The real story of the ping utility |
www.cisco.com/.../SNMP.htm | A detailed tutorial on SNMP | ||
| Printing System Overview | Shows how printing works. (See also LinuxPrinting.org.) | Solaris 8 Printing Setup | Shows how to setup a local printer using cmd-line admin tools | ||
| International Paper Sizes | An overview of ISO-216 paper sizes | ||||
| User Account Policies | A list of questions to ask before creating new user accounts | Group management | Describes Unix group policies and management strategies | ||
| Deleting user accounts | Procedures, policies, and issues for removing accounts | ||||
| crontab reference | Shows crontab file syntax | at command syntax | Some at samples of entering times and dates,
and other info |
||
| Regular Expressions | Shows Regular Expression (regex) syntax |
AWK FAQ | AWK Frequently Asked Questions | ||
| Anonymous FTP Site Setup | Shows how to setup and configure WU-FTP | Backups and Archives | A tutorial on backup and archive policy, procedures, and tools | ||
| Shell Scripts (and Other Demos) | |||||
| LDP: Bash scripting guide and reference) | Shows how to write Bash shell scripts. complete Bash man page | SSC's Bash shell reference card | (Posted here by permission of SSC, Inc.) | ||
| fancyio | Shows how to write interactive shell scripts | fortune | A fortune cookie script (plus some sample fortunes) | ||
| nusers | Shows a simple shell script | nusers.1 | Sample man page for nusers, using troff/man macros | ||
| backup-etc.sh | A simple shell script to backup /etc directory | httpd.sh | Apache script for use in rc.d/init.d | ||
| .bashrc | Some useful bash shell aliases and functions | .bash_profile | A simple Bash login script | ||
| .procmailrc | A sample .procmailrc that auto-replies and filters spam | find-world-writable | A security script that shows all dangerous world writable files | ||
| add-users | A complex script used to add users in batches | rmusr | remove user accounts in a batch | ||
| todo | A simple "todo list" shell script | didit | Simple shell script, used with todoscript |
||
| didit2 | Shell script, used with todoscript |
didit3 | Fancy shell script, used with todoscript |
||
| pick | interactive selection script | watch | Shows how to write shell and awk scripts | ||
| suidDemo.tgz | Shows how suid can be used to control access to files | hellotk.pl | A Perl/Tk GUI script (Hello, World) | ||
| RPMs and Other Packages | |||||
| recode.rpm | A package that easily converts files between DOS and Unix | PerlTk.rpm | A package that adds a GUI module to Perl. (Original package name: PerlTk-8.15-1.i386.rpm.) | ||
| gcal.tgz | A tar-ball (compressed tar archive) of the gcal-3.01 package (from www.gnu.org) | Andalemo.TTF | The Andale Mono TrueType font | ||
| webmin.tgz | A tar-ball of a generic GUI system admin package | xchomp.rpm | A small Pac-man clone | ||
| alien | The alien package converter, with all required packages and directions for Fedora, including a sample Debian package to convert | apt for Fedora Core | Apt is an obsolete alternative package management system for Fedora, found at FreshRPMs.net | ||
| www.sunfreeware.com/ | A popular site for various Solaris software (and ports of Gnu) | openCSW.org | Community SoftWare packages (formally hosted at Blastwave.org), installed with pkg-get | ||