Configuration Files 235 lucky, whitespace. If you choose the wrong separator, the program reading the configuration file will usually silently die, trash its own data files, or ignore the rest of the file. Rarely will it gracefully exit and report the exact problem. A different syntax for each file ensures sysadmin job security. A highly paid Unix sysadmin could spend hours searching for the difference between some spaces and a tab in one of the following common configura- tion files. Beware of the sysadmin claiming to be improving security when editing these files he is referring to his job, not your system: Multiple Machines Means Much Madness Many organizations have networks that are too large to be served by one server. Twenty machines are about tops for most servers. System adminis- trators now have the nightmare of keeping all the servers in sync with each other, both with respect to new releases and with respect to configuration files. Shells scripts are written to automate this process, but when they err, havoc results that is hard to track down, as the following sysadmins testify: From: Ian Horswill ian@ai.mit.edu Date: Mon, 21 Sep 92 12:03:09 EDT To: SYSTEM-HACKERS@ai.mit.edu Subject: Muesli printcap Somehow Muesli’s printcap entry got overwritten last night with someone else’s printcap. That meant that Muesli’s line printer dae- mon, which is supposed to service Thistle, was told that it should spawn a child to connect to itself every time someone tried to spool to Thistle or did an lpq on it. Needless to say Muesli, lpd, and Thistle were rather unhappy. It’s fixed now (I think), but we should make sure that there isn't some automatic daemon overwriting the thing every night. I can’t keep track of who has what copy of which, which they inflict on who when, why, or how. /etc/rc /etc/services /etc/motd /etc/rc.boot /etc/printcap /etc/passwd /etc/rc.local /etc/networks /etc/protocols /etc/inetd.conf /etc/aliases /etc/resolv.conf /etc/domainname /etc/bootparams /etc/sendmail.cf /etc/hosts /etc/format.dat /etc/shells /etc/fstab /etc/group /etc/syslog.conf /etc/exports /etc/hosts.equiv /etc/termcap /etc/uucp/Systems /etc/uucp/Devices /etc/uucp/Dialcodes
236 System Administration (Unix NetSpeak is very bizarre. The vocabulary of the statement “the dae- mon, which is supposed to service Thistle, was told that it should spawn a child to connect to itself suggests that Unix networking should be called “satanic incestuous whelping.”) The rdist utility (remote distribution) is meant to help keep configuration files in sync by installing copies of one file across the network. Getting it to work just right, however, often takes lots of patience and lots of time: From: Mark Lottor mkl@nw.com Subject: rdist config lossage Date: Thursday, September 24, 1992 2:33PM Recently, someone edited our rdist Distfile. They accidently added an extra paren on the end of a line. Running rdist produced: fs1: rdist rdist: line 100: syntax error rdist: line 102: syntax error Of course, checking those lines showed no error. In fact, those lines are both comment lines! A few hours were spent searching the entire file for possible errors, like spaces instead of tabs and such (of course, we couldn’t just diff it with the previous version, since Unix lacks version numbers). Finally, the extra paren was found, on line 110 of the file. Why can’t Unix count properly??? Turns out the file has continuation lines (those ending in \). Rdist counts those long lines as a single line. I only mention this because I’m certain no one will ever fix it Unix weenies probably think it does the right thing. It’s such typical Unix lossage: you can feel the maintenance entropy expo- nentially increasing. It’s hard to even categorize this next letter: From: Stanley Lanning lanning@parc.xerox.com Date: Friday, January 22, 1993 11:13AM To: UNIX-HATERS Subject: RCS Being enlightened people, we too use RCS. Being hackers, we wrote a number of shell scripts and elisp functions to make RCS easier to deal with.
Previous Page Next Page