Does 'make uninstall' work?

G.W. Haywood bind at
Thu May 28 12:02:43 UTC 2020

Hi there,

On Thu, 28 May 2020, Nyamkhand Buluukhuu wrote:

> ...
> Does 'make uninstall' command work? I have a source folder remained.
> Or do I need to compile a newer version with a different prefix and make a link?
> Which one is the safest way? If make uninstall doesn't work, how do you guys upgrade your compiled bind?

I don't normally bother with 'make uninstall' for anything at all.

You could simply make a copy of the existing 'named' binary in a safe
place and when you run 'make install' it will (if you configured things
same as last time) overwrite your existing 'named' binary.  Of course
it will overwrite all the other BIND binaries too so this might not be
as safe as you would like it to be.

BIND releases in particular are very reliable and I don't even make a
safe copy of the 'named' binary when I build a new one.  I generally
leave the source tree from the previous version in my home directory
until I can see that the latest version is working.  If things went
wrong for some reason I could just change directory to the older one
and run 'make install' there to recover the earlier 'named' version.
Once a new version runs OK I delete the source tree for the old one.

Even if it was deleted it's very easy to recover it from the released
tarballs.  If you don't still have the source tree for the old version
now might be a good time to create it again and make sure that you can
still build the older version of the 'named' binary.  Of course you
don't need to run 'make install' for the old version but it might be
worth comparing the binary built by the 'make' step with the one that
you're running.

However since you ask for the safest way of doing things I suggest
that you first set up slave nameservers, if you do not already have
any, and make sure that your TTLs are sane - at least a few days.  My
slave servers are provided by Hurricane Electric.  I'm very happy with
their services.  If I break something on the master, or if one of a
hundred or possibly more other problems happens, then the slaves will
handle the load while I'm fixing it so isn't a big deal.

If you want to be able to run either version you could for example
configure the build process so that the old binary is somewhere like
/usr/sbin and the new one in /usr/local/sbin; then you can choose
which one runs in your startup scripts.  They will both use the same
configuration and data (in /etc/named.conf and /var/named/ or wherever
you have configured it to be).



More information about the bind-users mailing list