Top (10) System Janitor Tools
In the spirit of an article I read in Linux.com about My sysadmin toolbox (which looks more like a desktop enhancement list), I would like to start my own list of essential systems administration tools. These tools are arranged in no particular order. I omitted things like kernel, less, fileutils, cron, at, coreutils, psutils, modutils, netutils, bind-utils, sharutils and others as every system should probably have them anyway.
- vi. The most important text editor in any Linux/Unix system. It is basically the least common denominator of text editors in all these systems. So every Linux/Unix system probably has this. Since most configuration files in a Linux system are in text, it is important that I have at least one decent text editor. This little editor is also very powerful in the hands of an experienced user. Its gives users basic text editing functionality and many more (executing programs, search and replace, syntax highlighting, screen spliting and more). Of course, vi can be replaced with your own favorite text editor such as emacs, nano, pico and others.
- screen. Being able to manipulate, detach and resume multiple screens in a Linux/Unix system is critical. The ability to detach and resume multiple sessions is useful for the roving or remote sysad. The ability to manipulate multiple screens comes in handy when trying to troubleshoot problems. An alternative to screen is to use multiple xterms in a GUI session.
- perl. The original swiss army knife of system administrators. With this, it is possible to perform powerful scripting task from simple automation, file handling and manipulation, simple and advanced connectivity and many more. With all the perl modules CPAN can offer, perl can really do a lot. Some people prefer using sed, awk or simple bash. These tools will serve majority of ones needs. However, they will not have the power of perl.
- bash. Without this you cannot interface with your system. Of course, each user will have a preferred shell to use. Some prefer tcsh or zsh. I prefer bash because I have gotten so used to its autocomplete, history browsing and find last command features.
- links/wget. Being able to download and browse things on the Internet is of vital importance. There are many problems that even the most experienced systems administrator might not have encountered. It is important that access to a global pool of knowledge, such as the Internet, is available.
- mutt is a small but very powerful text-based mail client. However, I personally use Mozilla Thunderbird on a day-to-day basis. Mutt (and fetchmail) are just the bare minimum. It would be difficult to swim through ones email without colors, thread sorting or filtering. Also it would be nice to view S/MIME or PGP signed or encrypted email.
- nagios is an open source host, service and network monitoring tool. It beats having to look at each and every service and system to check if there are problems. It also has a nice web interface for ease of management. Here is a short presentation on Nagios I presented at a PLUG technical session. This software together with OpenQRM will give commercial tools like Tivoli and HP Openview tough competition in the small and medium data center markets. When OpenQRM matures it may be even be added to this list.
- amanda is a network disk archiving tool.This allows systems adminstrators to centrally backup, restore and manage storage over a local area network. This is much better than having multiple backup drives and locations for backup volumes and archives.
- logrotate is a nice little program that comes standard with RedHat/Fedora systems. This allows easy management of logfiles within a system. It also has features that allow emailing of certain logs.
- procmail. The ability to swim through all the system admin cruft daily is a systems administrators greatest asset. Therefore, tools that help in this respect are essential. Procmail is a nice tool that allows an administrator to programatically perform things with his or her email such as scan, sort, distribute, forward, hold, bounce and many others. This is particularly important when looking through emailed system logs.
There are many many more tools that can be added to this list. However, I personally feel it would be difficult to manage a Linux system without these tools. A friend of mine (fooler at skyinet dot net) once mentioned that systems administrators are all janitors. Janitors because we have to swim through a lot of mess fix things up. Therefore, one of the greatest criteria for a systems administration tool is the ability to automate swimming through junk. That is one thing all the tools in this list have in common. They are the tools of the System Janitor’s trade.
I hope to update this list when I get the chance. As the saying goes,
The only constant is change. Change is the only constant. - Heraclitus of Ephesus, Greek Philosopher
