I accepted the recent glibc updates from the update repo and found that external hosts stopped resolving. A strace on ping example.com showed that it was not contacting nscd. It turned out nscd was dead. So I restarted it. No dice. (Anyway glibc is supposed to fall back to calling libnss_dns itself if nscd is not available.)
Anyway to cut a long story short (include some red herrings involving my DNS server), I decided to reinstall the old glibc and names started resolving again.
I had a look at the changelog of the new glibc package and it looks worrying:
Disable the DNS fixpack from CVS, breaks nscd resolving [bnc#441947]
It feels like the nscd bug mentioned isn’t really fixed and something was broken. I’m going to have a look at those BNCs now.
Anyway just to warn people, since losing name resolution means losing further updates, you may have been painted into a corner if you experience the same bug as I did. In that case, you can get out by reinstalling the previous glibc (from DVD for example).
You might want to try the update on a non-vital machine first.
I’m someone who saw the original problem fixed, but used a workround, unfortunately I wiped 11.1 on the affected box so cannot verify this update. Anyway I updated another machine and the DNS seems to resolve OK for me, even after restart.
ken yap wrote:
> Never mind, it was my own fault. >:(
> In /etc/resolv.conf, I had:
> instead of
> nameserver 127.0.0.1
> It wasn’t intentional, I forgot the nameserver qualifier. The old glibc
> must have let me get away with the shorter form but is strict now.
> I’ve reapplied the update and it’s all fine again.
Your problem saved me. I was going crazy trying to figure out what
happened to my DNS service after the last YAST update. Now I know.
After reloading the old glibc from the dvd, I have name resolution again.
You mentioned that you “fixed” your problem by modifying a line in your
resolv.conf file. I don’t have a line listing my nameserver, just a
single line that reads
search xxxx.edu (our domain name)
Any ideas why that might cause a problem with the newer version of
glibc? I have a pretty standard 11.1 install with a wired internet setup.
ken yap wrote:
> Well if you don’t have in /etc/resolv.conf any line like
> nameserver a.b.c.d
> that would cause a problem for resolving libraries. You have to figure
> out why your network config didn’t put such a line there.
My /etc/sysconfig/network/config file contains a line
NETCONFIG_DNS_STATIC_SERVERS a.b.c.d a2.b2.c2.d2
but this does not get reflected in the /etc/resolv.conf file.
In addition, I see that the /etc/sysconfig/network/config file has the line
while I though I was using “resolver”.
Not sure where those get set in within the maze of yast2
I have no idea how to proceed except to hand edit the files. Not sure
why the version of glib would have anything to do with the way this ends
up effecting dns.
I gave up on trying to understand NETCONFIG and edited /etc/resolv.conf by hand (which was how I introduced my typo in the first place). Since I have a static address (on this LAN), I can do what I want with /etc/resolv.conf and not worry about DHCP overwriting it.