Friday, October 10, 2008

Huh...wha? I just don't understand

Nerd post follows.

My job presents me with challenging and, sometimes, annoying problems to solve. I write software, which means I also write software bugs. I work on a number of projects, but the one that takes a majority of my time is the installation program for Fedora and RHEL called anaconda.

Lately, I have been in the process of moving the network configuration code to use NetworkManager. This hasn't been easy, despite NetworkManager's web page promising pain-free networking. DHCP installs have worked for a while, but getting manual IP configuration installs to work was another story. I got those working the other day, but guess what stopped working? DHCP installs. I just don't understand.

NetworkManager insists on starting the DHCP client and then immediately stopping it and taking the network interface down. What? Why? I reported the problem to NetworkManager, so we'll see what happens.

It seems that I can't fix everything, I can only shift around the window of things-that-work. Something will always be broken.

[UPDATE: As of 5:00 PM HST 10-Oct-2008, I have DHCP and static IP configuration installs working again. The problem was not in NetworkManager, it was in anaconda after all. Definitely a difficult one to track down.]

Unrelated, but still nerdy, is a tip for users of RPM. Do you use a Linux operating system that uses RPM for package management? If so, do you run on x86_64, s390x, or another 64-bit platform (perhaps even really obscure ones that no one uses anymore)? If you do, you probably have both 32-bit and 64-bit software installed. When you do something like 'rpm -qa', you might see something listed twice. The two entries are for the 32-bit and 64-bit versions of that package. Want to always see the architecture in 'rpm -qa' output? Add this to your ~/.rpmmacros file:
    %_queryformat \
You should add it all on one line in your .rpmmacros file, I am breaking the line here so it won't wrap on this page. Now type 'rpm -qa' and see the architecture listed alongside the name-version-release (NVR).

No comments: