Archive
Posts from 2011
Figuring out if a Linux executable supports a configuration directive
While debugging a problem last week I needed to quickly see if a version of bind supported the edns-udp-size configuration directive. Since RHEL3, RHEL4 and RHEL5 ship with different releases of Bind, I needed to see when this directive was introduced (EDNS was introduced in Bind 9, and the directive appears to have been there from the start). While I could have read through a crap load of documentation and release notes, I decided an easier approach would be to run nm against all of the binaries and libraries that come with the bind package. Low and behold it was: Both the RHEL4 and RHEL5 named binary contained the configuration directive, though RHEL3 did not (RHEL3 ships with Bind 8)…
$ read more →Would you be interested in RFC cliff notes?
I've been toying with the idea of reading one RFC a week and developing cliff notes so I can remember everything I read down the road. While I can always recall WHERE I read something, sometimes I need to go out and read the section in the RFC a second time to verify the details. All of the major protocols have a slew of RFCs associated with them, and I'm thinking about starting with DNS, moving on to SMTP, HTTP and NFS. While I've used solutions that heavily rely on these protocols, I've never read the RFCs from beginning to end…
$ read more →One way to avoid tcpdump packets dropped by kernel messages
I have been knee deep this week debugging a rather complex DNS issue. I'll do a full write up on that next week. While I was debugging the issue I needed to fire up tcpdump to watch the DNS queries from one of my authoritative servers to various servers on the Internet. What I noticed when I fed the data into wireshark were periods of time with no data, and I wasn't quite sure why at first…
$ read more →Viewing the differences between two directories on Linux servers
This past week I needed to compare the contents of two directories to see if there were any differences. There are a TON of ways to do this, though my preferred way is to use diff with the "-r" (when comparing directories do so recursively) option to compare two folders: Simple, easy and it gives you the output you're most likely after. Anyone found a simpler solution that this? :)
$ read more →Conditionally restarting Linux services
Periodically I need to start a service, but only if it's not currently running. Other times I need to restart services on a machine, but only if they are currently running. Services may have been started on the system at boot, manually by an admin, or through a systems wide management infrastructure. They may also have been disabled on a server for one reason or another…
$ read more →