Ring-A-Ring-A-Debian…
So, most Linux distributions have some kind of package manager. At work (because, lo! I got a job! I’m working as a junior systems administrator for a small company that I shall not name). These package managers are a good thing, don’t get me wrong. They compile, configure and place program files in the correct place for you. They keep track of versions, and resolve dependencies. But this dependancy resolution can sometimes be a bad, bad thing, if someone hasn’t paid enough attention in creating the packages in the first place. Let’s take today’s example, the bind9 packages.
Bind9 is a DNS (Domain Name System) server. The thing that turns (for example) sunday.yarinareth.net into the IP address of the (virtual) server. They’re one of the handiest things on this Wide Whacky Web of ours. bind9 itself has a number of libraries wich contain the functionality of the program. So, naturally, it’s dependant on them, because it won’t do squat without them. bind9-host, which is a utility that allows DNS lookups and such, is also dependant on these libraries.
Now, these libraries are also dependant on one another. libisc7 is dependant upon libdns1, and so on. Unless you install the packages which are depended upon first, you can’t install the ones trhat depend on them. All makes sense, no? So, here’s the dilemma I hit today:
bind9-host is dependant upon libisccc0
libisccc0 is dependant upon libisc7
libisc7 is dependant upon libdns1
libdns1 is dependant upon bind9-host
Nothing can be installed, because everything is dependant upon everything else! Aaargh!
PS: The solution to this is to tell it to install all the packages at the same time, but I haven’t had time to do that yet, so, see the above anguished scream.