Make your own free website on

Upgrading BIND to 9.x

  1. Obtain the latest source from the Internet Software Consortium (9.1.1 at the time this page was created).
  2. Backup your current configuration: daemon, startup script, all domain, and conf files.
       suse:~ #cp -r /var/named /var/named.old 
       suse:~ #cp /etc/named.conf /etc/named.old
       suse:~ #cp /usr/sbin/named /usr/sbin/named.old
       suse:~ #cp /etc/rc.d/named /etc/rc.d/named.old
  3. Decompress and untar the source file.
       suse:~/bind #gzip -cd bind-9.1.1.tar.gz | tar xvf -
  4. Change to the newly created bind-9.1.1 {source} directory and compile the source
       suse:~/bind #cd bind-9.1.1
       suse:~/bind/bind-9.1.1 #./configure
       suse:~/bind/bind-9.1.1 #make
  5. Read the README file while it compiles.
  6. Install the source. The default location is /usr/local, but can be changed with --prefix={destination}
       suse:~/bind/bind-9.1.1 #make install
  7. Default locations of BIND items:

    BIND 9 Object Default Location
    named daemon /usr/local/sbin
    system binaries for BIND /usr/local/sbin
    user binaries (nslookup, dig, etc) /usr/local/bin
    man pages of BIND 9 {source}/doc/man
    conf file /etc/named.conf
    PID file /var/run/
  8. Read the man page for BIND 9
     suse:~ #less {source}/doc/man/bin/named.8  
  9. Kill the named daemon if it is runnung
       suse:~ #kill -9 /var/run/
  10. Edit your script (/etc/rc.d/named) to start BIND:

    If you already had BIND 8 running on your server, you can use the same script by changing the location of the old named daemon to the new one ( default location is /usr/local/sbin/named ). The daemon should be started every time the system starts and enters into the correct run level which supports full networking support (run level 2 or 3 depending on your distribution of Linux). To get named to start at the correct runlevel, you will need to place a script in the /etc/rc.d directory and place a symbolic link ( ln -s /etc/rc.d/named S10named ) to it in the correct rc#.d directory (the # will be the runlevel with full network support ). You will need to make the script /etc/rc.d/named executable ( chmod 744 named ). Try using this script if you don't already have one.

  11. You can then either restart your system or start named using the above script
    Restart system:
       suse:~ #shutdown -r now
    Start named using script:
       suse:~ #/etc/rc.d/named start
  12. If all went well, named should start; you can verify named is running by viewing the PID using the command:
       suse:~ #ps aux | grep named 
  13. You can use most of the configuration option of BIND 8 with BIND 9, to see which ones are implemented view the options file in {source}/doc/misc/options. Also look at the migration file in the same directory.