This is a collection of Unix systems adminstration
aphorisms. I decided to write and collect these to help ease the way
for new sysadmins. As it turns out, some of these are good reminders
for experienced admins, too, since I know I've forgotten the rule
about making large files small with cat /dev/null >
file
when strapped for space.
My original inspiration for these is the huge
collection of GO
proverbs
which help beginners remember strategic tips and guidelines of good
play. Unfortunately, proverbs like "the monkey jump is worth eight
points" aren't necessarily clear to the novice Go player, any more than
"use cat /dev/null
into a large file to free space" is
clear to the beginning Unix admin. So, my second source of
inspiration is the annotated version of the Ten
Commandments for C Programmers, though I didn't want to go for the
biblical tone. The wisdom contained in
RFC-1925
can profitably be applied to Unix sysadmin as well. Note that the
last one, 12, is a restatement of a quote by Antoine De Saint-Exupery
about perfection in general.
When I first got the idea of collecting concise bits of Unix wisdom I of course sent out mail to various mailing lists I'm on. My description of the problem generated a lot of discussion and a lot of new proverb ideas. Many of those have been absorbed into this list, some unchanged. Most however have been edited by me for content or style. In particular, I try to make these things as aphoristic as possible. An aphorism should be short, concise and may quite possibly be a little odd in some way to make it memorable.
Many of these aphorisms do not currently meet my own expectations for an aphorism. Feel free to let me know if you can think of a more concise way to state any of them, or if you have suggestions for new ones. I'm also responsible for the commentaries, unless otherwise specified, and suggestions are welcome there as well.
Please note that the commentaries are for the most part my own work and opinions. Some Unix admins will certainly disagree with me on some points, though I'll try to point out where controversy exists.
Many thanks to the lisa-ht and uw-unix list participants who responded to my original, strange email about this topic with such gusto. Thanks also to Tim and Peter for an interesting discussion over Mojitos about the implications of this collection. All errors and deficiencies are of course my own.
The man page has an EXAMPLES section. Commentary
Do you really need perl for this problem? Commentary
Does the user think it's fixed? Commentary
Swap is three times real memory. Commentary
Don't rewrite cat -n
Commentary
What have you changed? Whom did you tell? Commentary
What was the return code? Commentary
Where does your symbolic link point today? Commentary
Don't HUP RPC. Commentary
Users want to work, not to hear about Unix admin. Commentary
Who's using this computer right now? Commentary
A web browser is a user. Commentary
Linux puts everything somewhere else. Commentary
Backticks are fundamental to shell, poison to perl. Commentary
RPC treats every network interface like a computer Commentary
Does it really have to run as root? Commentary
Why are you still root? Commentary
It's not finished until you can close the rack door. Commentary
It's not finished until it's documented. Commentary
Documentation isn't done until someone else understands it. Commentary
security = 1/convenience Commentary
Friday afternoon is a good time not to change production systems. Commentary
Someone had this problem before. Commentary
Make sure you can go backward before you go forward. Commentary
Email alone is not communication. Commentary
There's no such thing as a temporary fix. Commentary
Renormalize, renormalize, renormalize. Commentary
Is it really your responsibility to fix this machine? Commentary
Your way of thinking isn't the only way of thinking. Commentary
cron
is not a shell script tool.
Commentary
Don't rm
big files,
cat
them.
Commentary
The best time to version control a config file is before you modify it. Commentary
Every config file has a history. Commentary
Think twice. Hit enter once. Commentary
666: permissions of the devil. Commentary
`t' is for sticky; `t' is for /tmp
Commentary
When everything breaks, don't forget to take breaks. Commentary
Keystrokes kill. Automate. Commentary
Fess up. Commentary
Preserve precious permissions with
cp -p
.
Commentary
New eyes have X-ray vision. Commentary
Just because you can, doesn't mean you should. Commentary
Know the problem before choosing the solution. Commentary
Sometimes it's just the sum of the parts. Commentary
kill -9
is the last resort, not the first
Commentary
An unsolvable problem is really a fact. Commentary
Avoid TLAs. Commentary