Root hints updates

Timothe Litt litt at
Thu Sep 6 12:06:45 UTC 2012

In doing some system administration, I realized that I have a tool that
might be
generally useful - ISC is welcome to add it to contribs.  Hopefully the
will make it through the mailing list server.

This is a script to automagically update the root hints file.  There are a
bunch of these floating around the internet; most don't work; those that do
don't work well.  I wrote this several years ago; it's worked for me.

It will FTP the new file - or, if you value speed over comments, will
a copy from the existing root servers - yes, it will deal with the case
that a root server is renumbered or returns partial data.  It acts as a
SYS V init script so that it runs on every boot; It's smart enough to
requeue itself hourly if it fails to get data.  It verifies FTP transfers.

It also runs as a cron job monthly to catch any updates.  It will log
to syslog; will also send mail if you like.  It preserves file ownership and
the timestamp of last download.  It knows to run rndc reconfig when it gets
a new file. (And not when nothing has changed.)  

I did some cleanup for this release, but the core logic has run for several
years on Fedora and random embedded Linuxes.  For me, it's install & forget.

Install it (or create a link to it) in /etc/init.d/ as update_root.  E.g. if
in /usr/local/sbin, then  
   ln -sf ../../../usr/local/sbin/update_root /etc/init.d/ 
Then execute
  /etc/init.d/update_root setup 

Create a /etc/sysconfig/update_root file if you want a non-default
The most useful configuration variables are:

# Undefined uses FTP (default)
# Root file name
# named control address (undef for none)
# Root file owner
DEFAULTOWNER="named:named" (When there's no file; normally copies from old)
# Define for e-mail recipient (default is undef => none)
#TO=hostmaster at
# Cron directories
# No IPV6?  This may speed FTP connections.

Other parameters are in the first ~80 lines of the script.

The script commands are:
  start - check for update (default if no command)
  setup - run chkconfig and link to monthly queue (don't if you use crontab)
  status - list current file

One caution: Do not copy the script using copy & paste; there are places
literal tabs and spaces are important.  [Some environments have very limited

It's freely redistributable, with the usual caveat that there is no warranty
promise of support & that you use it at your own risk.


Timothe Litt
ACM Distinguished Engineer
This communication may not represent the ACM or my employer's views,
if any, on the matters discussed. 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: update_root
Type: application/octet-stream
Size: 9390 bytes
Desc: not available
URL: <>

More information about the bind-users mailing list