No connection to server. Showing local offline copy of page.
Santa Clara County ARES®/RACES

Self-Study for Linux SysAdmin

In order to successfully build and operate many commonly used servers, including packet BBSs, mail servers, VoIP servers, and more, some basic Linux system administration (“sysadmin”) knowledge is required. This page provides a guide for the minimum Linux knowledge that anyone would need in order to be successful in running a Linux system. Those new to Linux can use this list as a syllabus for self study.

Over time, this syllabus will be enhanced with pointers to useful reference materials. In the mean time, any Internet search engine will find numerous sources for each topic.

Note: Most of the Santa Clara County ARES/RACES BBS network runs on Ubuntu Linux. We stick to the LTS (Long Term Support) versions. P1 credential candidates will need to use the current Ubuntu LTS version.

Prerequisites: Solid computer skills, attention to detail, self-motivation, and an ability to figure things out on the fly are all critical attributes of a successful Linux SysAdmin.

References

Books:

  • Ubuntu 18.04 LTS Desktop: Applications and Administration
    A good overview for Ubuntu Desktop, including changes from previous LTS versions
  • Ubuntu 18.04 LTS Server: Administration and Reference
  • Ubuntu Unleashed 2019 Edition: Covering 18.04, 18.10, 19.04 (13th Edition)
  • UNIX and Linux System Administration Handbook

Study Topics

One needn’t be an expert at any of the individual topics listed here. But one must be competent enough with each topic to perform common, everyday tasks. For example, it is not enough to have read a book or web page about the “vi” editor. One must be able to use the vi editor to create a file, edit the file, move around in the file, edit/change the file, undo a change, save a change, exit with and without saving the file, re-open the file, cut-and-paste within the file, cut-and-paste to/from other files, etc. In other words, a solid working knowledge will be needed to accomplish real sysadmin file editing tasks. The same level of understanding applies to all of the topics listed below.

In order to operate a standalone server, such as a standalone packet BBS, the following minimum knowledge (and probably more) is needed.

Operating System installation
Installation of Ubuntu YY.04 LTS Desktop, choice of disk partitioning
Ubuntu GUI
Unity, Dash, launcher, system settings, task bar, desktops/workspaces
Package management
Ubuntu Software Center, Synaptic Package Manager, Ubuntu Software Update, apt/apt-get, dpkg
Help
man, info, which
Directory and file manipulation commands
mkdir, mvdir, rmdir, ls, cp, mv, rm, ln, file, head, tail, cat, less, tar, g(un)zip, find
Ownership and permissions
add/modify/delete user, add/modify/delete group, chown, chgrp, chmod
File editing
vi, nano, gedit
Bash shell functionality
stdin, stdout, stderr, input redirection (<), output redirection (>), pipes (|), simply shell scripts
Session management
screen
Remote login and file transfer
telnet, ssh, PuTTY, ftp, sftp, Filezilla
Serial port communications
udev, cat, echo, minicom, cutecom
Network communications
ip addressing, subnetting, ping, host, dig
Compile C software
make, gcc
Logging and log rotation
logrotate, syslog

As you become more proficient and connect your system to other systems on a network, you’ll need some additional knowledge.

Bash shell
Advanced shell scripting, regex, sed, awk
Network functionality
traceroute, tracepath, mtr
Network routing
Static routing
Packet capture
tcpdump, tshark, Wireshark
Security
iptables, fail2ban