Linux Workshop - Day 2 XVII. The RedHat Package Manager (RPM) a. Working with RPMs i. RPM vs. SRPM ii.

Naming conventions (noarch, i386, i586, i686, alpha) b. RPM command structure i. rpm -ivh rpmname.rpm ii. rpm -Uvh rpmname.rpm iii. rpm -qpl rpmname.rpm iv. rpm -qa (can be redirected or piped for easier viewing) XVIII. Viewing and Managing Logs a. The /var/log directory b. Log file rotation c. Special log files (httpd) XIX. Viewing and Managing Processes a. Viewing processes (the "ps" and "pgrep" commands) b. Killing processes (the "kill" and "pkill" commands) i. Command switches ii. Process numbers Getting help a. The "man" system i. Paging through "man" entries ii. Using "man 'command' | col -b" iii. Web-based man pages b. The "info" system Regular Expressions (regex) a. The "grep" command b. The "sed" command c. Using Perl to work with regex

XX.

XXI.

XXII. Building RPMS a. Creating the RPM sandbox b. Writing "spec" files c. Organizing and creating the tarball for SOURCES d. Building the RPM application e. RPMS vs. SRPMS f. Testing the RPM application g. Using *.src.rpm to improve packages XXIII. Writing shell scripts a. Similarities between shell scripts and batch files b. The "she-bang" header (#!/bin/sh, #!/bin/bash, #!/bin/tcsh, etc.) c. Executing shell scripts d. Using "history" and "script" to help with writing scripts e. Documenting shell scripts XXIV. Perl a. Using Perl b. Reading Perl scripts c. Writing Perl scripts d. Sample Perl scripts Scheduling with cron

XXV.

a. The cron utility b. The /etc/cron.daily, /etc/cron.weekly, /etc/cron.monthly directories c. The crontab command i. Options and switches ii. Default editor d. Manipulating cron with a text file XXVI. Monitoring the system a. Using "top" b. Examining disk usage with "du" c. Examining the overall filesystem with "df" d. Hard and soft disk quotas e. Using "netstat" f. Recovering from a brown-down with "fsck" g. The "arp" tables h. The "traceroute" command i. The "tcpdump" command j. The "ping" command k. Reading the /proc filesystem i. List the /proc filesystem ii. lspci iii. free iv. lsmod v. apm (laptop only) l. The "vmstat" command m. The "nslookup" command n. The "dig" command Using the "bash" shell a. Shell variables, Environmental variables b. Simplifying your command line experience c. Shell configuration files. d. The "if-then" and "if-then-else" statements e. Special escape characters System Startup a. The /etc/rc.d scheme b. Killing (K) and Starting (S) daemons and processes c. Run levels d. Modifications on SME/E-smith

XXV.

XXVI.

XXVII. Compiling Software a. The Makefile b. Running "configure" c. make, make install, make clean d. Placement of the resulting programs e. Writing your own "program" f. Compiling your code XXVIII. Internet Utilities and Applications a. wget b. lynx c. ssh d. ftp e. scp f. telnet XXIX. Apache Web Server

a. b. c. d. e. f. g. h. i. j. k. XXX.

The daemon The httpd.conf, src.conf, and srm.conf files The directory structure of "webspace" The importance of permissions and ownership CGI Logs The SME/E-smith way Allowing user web pages The Virtues of Virtual directories .htaccess and .htpasswd Modules

MySQL - Relational Database Software a. Associated utilities i. mysqladmin ii. mysql_setpermission iii. mysqldump b. Basics c. Remote administration Installing Web-based Applications and Packages a. Installing from source b. Automation with scripts c. Package-based installations d. Choosing between the cgi-bin and html directories e. Permissions and Ownership...always a consideration

XXXI.

XXXII. Backups a. The "dump" command b. The "cpio" command c. The "tar" command revisited d. The SME/E-smith approach to backups XXXIII.Miscellaneous a. The "cal" command b. The "compress" and "uncompress" commands c. Command line math with "bc" d. The "who" and "w" commands e. The "id" command f. The "su" command g. The "file" command h. The "sort" command i. The "uniq" command j. The "cat" command k. The "head" and "tail" commands l. The "rename" command XXXIV. Doing the GUI ~ XWindows a. Overview b. Knoppix -- Virtual Linux -- DemoLinux c. Gnome -- KDE d. Other suggestions included: PHP-MySQL, Linux variations, installation tips, partitioning strategies, hardware replacement, security considerations, etc. Most of these topics could be the focus of their own workshop or seminar.

There might be some interest in doing a "Let's Compare Linux Desktops" day, or an "Introduction to PHP" day. Also, possibly a mini-session on "Replacing Storage Drives in Linux" (something I had to do when one of the SCSI drives failed on the EdSeek RedHat server). This preliminary round of workshops will most likely focus on command line systems administration tasks and tools. Once we get a solid grounding in these skills, then we can tackle some of the others.