Wednesday, July 09, 2008
It's hard to troubleshoot when the gun is jammed …
Smirk gave me a router to configure for a customer and asked that I save the current configuration before I make any changes. It's a Cisco router, so saving the configuration is just copying it to a TFTP server. Nothing terribly hard—I already have a TFTP server installed on my workstaion, and I can easily configure the spare network port on my workstation to match one of the ethernet ports on the router, string a cable (which I already have lying around) and voilà. Nothing to it.
One Hour Later …
I'm ready to kill. I'm thinking one of (or all of) the CentOS maintainers, since I can't imagine the maintainers of logrotate
, syslogd
, xinetd
or tftpd
(is that even maintained any more?) all botching it in a perfect storm of stupidity.
tftp
is controlled and run by xinetd
. But the Cisco router can't save the configuration file. It's not a networking issue since I'm logged into the Cisco router over the network. The configuration in xinetd
to run tftpd
looks good, but what the heck, I decide to restart xinetd
and check the logs anyway. That's when I find that logrogate
isn't. Or rather, it is, but it's failing to tell syslogd
to reopen its log files. And the configuration files for logrotate
look okay as far as I can tell.
But even worse, syslogd
appears to be buffering the logs in memory, maybe updating the files every 30 seconds or so. And the syslogd
configuration I have specifically states otherwise. It could be that xinetd
is really slow, but I have a hard time believing that it takes xinetd
a full twenty seconds to digest a 13 line configuration file (and there are about 30 such files—do the math) on a 2.6GHz dual-core box—the harddrives aren't that slow (heck, Firefox comes up faster than that on this system).
Sigh.
I really hate it when the tools I expect to work don't. It's one thing to know going in that the tools don't work, or aren't there. I know I'm going to get sidetracked and can make better time estimates. It's making a time estimate expecting the tools I work with to work and then getting sidetracked debugging tool issues that pisses me off, because now I'm under a time crunch.
It's even more frustrating when the customer isn't even there to accept the router.
Unix is nothing but obscure commands rarely used
And speaking of Unix …
I've been using some variation on Unix for almost twenty years now and I'm still coming across new commands that apparently have been in Unix since the Version 6 days (or so it seems). About a month ago I just heard mention of the seq
command, which prints a sequence of numbers (seems pretty silly but it can come in handy when manipulating say, photos from a digital camera from the command line).
And yes, sure enough, it found the command on The Company's servers. But they're running a relatively recent distribution of Linux, I thought. Surely it's some new command.
“No it isn't,” said my over ten year old install of RedHat 5.2, “and stop calling me Shirley.”
I suppose that's expected since I haven't bothered to read all the man pages on any Unix system I've used. But then again, my over ten year old install of RedHat 5.2 has 1,306 possible commmands to run. My even newer CentOS 4 install has 3,117 possible commands to run.
That's a lot of man pages to check.
Assuming every command has a man page to check. There's this gconfd-2
command that's running, yet there isn't a man page for it, so it's off to Clusty …
This also extends to the various APIs installed on the system. I've been using Linux for easily over 10 years, and just the other day discovered the ffs()
function (which, to tell the truth, I haven't a need for). Big deal—there are a lot of libraries installed that I don't use, but this isn't in some obscure library. It's in the Big Kahuna of libraries—glibc
—the one library that every single program is linked against!
Blimey!
I'm beginning to suspect that program bloat is less about sloppy code and more about duplication of code due to ignorance of what already exists.
Vote for him! He's not the incumbent!
I rang one doorbell and heard someone on the other side of the front door. I think they were looking at me through their peephole when I heard a man yell “No solicitors!” without even opening the door. “I'm not a solicitor!” I sort of yelled back through the door. “I'm a politician!”
There was a pause.
I wondered if he had gone away, and then he yelled back, “That's even worse!”
I met Sean Tevis years ago when he lived in South Florida through my friend Ken at his house warming party. I found Sean to be a smart and witty person and so I've been following his blog for a few years (although since he updates sporadically, I read his blog sporadically).
So it was rather surprising to stumble across his campaign site for Kansas State Represenative, and he's blogging his campaign experiences, which I think is cool.
And he has a good sense of humor about it.