Linux Training Syllabus
Table of contents:
This is a series of 1-hour classes to teach IT people about Linux systems administration. It's being taught by Thomas Stromberg to anyone who cares. The classes are being taught with Red Hat Fedora Linux 1 and SUSE Linux 9.1, but the concepts can easily be applied to other Linux distributions or even Mac OS X.
I: Introducing Linux
The following are explained while installing Linux or during the first bootup
- Devices and Drives in Linux
- Filesystem Hierarchy
- Components: Kernel, Distribution, XFree86, Sawfish, Gnome.
II: User Software
- GNOME Basics. Changing the desktop background, adding menu items, plugins.
- Changing the screen resolution
- Evolution - the default e-mail client in Fedora.
- Mozilla - Web browser
- OpenOffice - Productivity tools. Word processor, spreadsheet, presentation software.
- gaim - Chat application
- How user preferences are stored in your home directory
- Updating your system with up2date / yum.
- How to restart X11: Ctrl-Alt-Backspace
III: The command-line
- The command-line (shells, tab completion, cd, ls)
- file management: cd, df, find, locate
- nano, the text editor that replaces pico.
- man pages - the help system
- ssh - secure text-based connectivity to other machines. Demonstrate X-Forwarding.
- Handling compressed archives with zip and tar.
- GNU screen - The ability to resume command-line sessions from anywhere.
IV: Basic Administration
- Adding users, groups
- su - the obsoleted way to become the root user.
- sudo - the modern way to run processes as another user.
- Changing users passwords with the passwd command.
- Printing with CUPS.
- Installing new software with yum (if Fedora) or YaST (if SUSE)
- Installing new software with rpm
- Installing webmin for easy web based systems administration
V: System Administration
- logfiles. Using tail -f to watch /var/log/messages
- Configuring Kerberos authentication
- Explaining file permissions, including setuid.
- How to enable and disable services
- ntp - Setting up time synchronization
- Setting DNS settings by editing /etc/resolv.conf
- Changing XFree86 settings in /etc/XFree86/XFree86.conf
VI: Apache and MySQL administration
- About the Apache webserver.
- About the MySQL database engine.
- About the PHP scripting language.
- Enabling the Apache with PHP and MySQL services
- Using MySQL Administrator
- PHPMyAdmin - web based administration and query console for MySQL.
- Adding a MySQL user in phpmyadmin
- Installing WordPress - a popular blogging software that uses MySQL.
- Installing Coppermine - a popular photo gallery software that uses MySQL.
VII: Windows Integration
- Connecting to your Linux machine from Windows using PuTTY and WinSCP.
- WINE - free Windows API compatibility layer, for running Windows applications in Linux. We will use mIRC as a sample application.
- Samba basics.
- Configuring Samba to authenticate using ADS
- rdesktop - Windows Terminal Server Client.
- smbclient - an FTP-like client for SMB shares
- smbmount - Mounting samba shares to a local directory (explain mount)
- smb4k (unless Konqueror decides to work)
- cut - cutting out the good parts of your input
- sort - sorting files
- uniq - finding the unique lines in a set of input
- sed - searching and replacing
- tail, head
- find -exec - running a command on a large set of files
- Writing a shell script
- Scheduling tasks with cron.
IX: System Administration II
- Mounting disks
- Killing processes with kill
- Where to find software: freshmeat.net
- Fetching files with wget
- Compiling software: configure, make, make install
- Reviewing find and du for finding out where your disk space went to.
- Single user mode
X: Networking Tools
- ping - check if a host is online
- traceroute - see your hops between hosts
- telnet - diagnostics
- nmap - seeing what ports are open on a host
- xinetd - the "internet super server". TCP/IP service manager.
- lsof - list open ports and files
- ethereal - Packet Sniffer Extraordinaire.
For the final test, I will present a badly beaten Linux machine. It's got numerous problems on it, and they need to be fixed. Here are some problems you will run up against:
- You don't know the root password. (Pay attention to how single user mode works, and how to change users passwords)
- You don't know the MySQL root password, but need to get access to the database. You will need to use Google to research the answer to this one.
- The settings in XFree86 are not right for the current monitor, so it is not starting up.
- The /var partition is full.
XI: Customizing your user environment
- symbolic links
- The Z Shell
- aliases, including -s types in zsh.
- Terminal transparency
- adding things to your X startup
Don't worry. I'll help you guys out as needed.