NetAdminTools.com
 
SignalQ Sites:
L1G3R Information Systems - Coprolite - SpotBridge - NAW
RoboCoop - AreWeDown - SolarPower - SysAdminTools
Xfig - Gold Loaf - GeekPapa - FixGMC - FixRambler
Solar Energy - Energy Efficiency - Solar Panels
Home Energy Savings
Categories:
GNU/Linux | Homebrew designs | Perl | Ruby | Administration | Backup/Recovery | Bugs/Fixes | Certification | Database | Email | File/Print | Hardware | Information Grab Bag | Interoperability | GNU/Linux ABCs | Monitoring | Name Resolution | Network Services | Networking | Remote Control | Security | Desktop | Web | BSD | Solaris | GIAGD | ERP | REALbasic

Last 30 Days | Last 60 Days | Last 90 Days | All Articles | RSS


Categories:
·GNU/Linux
·Homebrew designs
·Perl
·Ruby
·Administration
·Backup/Recovery
·Bugs/Fixes
·Certification
·Database
·Email
·File/Print
·Hardware
·Information Grab Bag
·Interoperability
·GNU/Linux ABCs
·Monitoring
·Name Resolution
·Network Services
·Networking
·Remote Control
·Security
·Desktop
·Web
·BSD
·Solaris
·GIAGD
·ERP
·REALbasic
·All Categories


Replace Aging BIND on Virtual Dedicated Host - Part 1 - Compile BIND 9.5.0-P2
Topic:Name Resolution   Date: 2008-08-03
Printer Friendly: Print   

spacerspacer
<<  <   >  >>

Subject

>1< | 2 | 3

We were checking out the various servers that we administer and noticed that one of our hosts is not up to the latest version of BIND. Yum update wasn't giving us joy, so we grabbed the latest version of BIND:

# wget http://ftp.isc.org/isc/bind9/9.5.0-P2/bind-9.5.0-P2.tar.gz
--07:10:17--  http://ftp.isc.org/isc/bind9/9.5.0-P2/bind-9.5.0-P2.tar.gz
Resolving ftp.isc.org... 204.152.184.110, 2001:4f8:0:2::18
Connecting to ftp.isc.org|204.152.184.110|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 6627081 (6.3M) [application/x-gzip]
Saving to: `bind-9.5.0-P2.tar.gz'

100%[=======================================>] 6,627,081   1.75M/s   in 4.3s   

07:10:22 (1.46 MB/s) - `bind-9.5.0-P2.tar.gz' saved [6627081/6627081]

What we want to do is see if we can compile on the current host, install in /usr/local so that we don't interfere with the current version of BIND, then remove the RPMs and get the system set up in the same exact way, with the same exact init script (only slightly different). Just to be safe, we want to make sure that we know where the configuration files are:

# ls /var/named
chroot  localdomain.zone  named.broadcast  named.ip6.local  named.zero
data    localhost.zone    named.ca         named.local      slaves

How is named running?

# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
.
.
.
named    13407     1  0 Jun16 ?        00:00:04 /usr/sbin/named -u named
.
.
.
root     17925  9801  0 Jul21 pts/0    00:00:00 ps -ef

Back up the zones and configuration files:

# cp /var/named -r /root/
# ls /root/named
chroot  localdomain.zone  named.broadcast  named.ip6.local  named.zero
data    localhost.zone    named.ca         named.local      slaves
# cp /etc/named.conf /root/
# cp /etc/rc.d/init.d/named /root/namedinit

Let's get on with the compile. Note that we went through this dance back in 2001, right after Agatha shut down a data center and was unemployed for awhile in this article. This time we are simply hacking on a Fedora Core 6 install, which, by default, has a chrooted configuration. This is better anyway. On a side note, Agatha would like to point out that the last octet on the DNS server used in 2001 was 52:

100.50.10.in-addr.arpa. 86400   IN      NS      srv-3.signalq.com.
;; ADDITIONAL SECTION:
srv-3.signalq.com.      86400   IN      A       10.50.100.52

OK. Maybe this is only a three on the Carl Jung One-to-Ten Synchronicity Meter, but, well, one has to pay attention to these kind of things. Let's get on to the compile. Extract the tarball, configure, make, install:


# tar -xzf bind-9.5.0-P2.tar.gz 
# ls
bind-9.5.0-P2  bind-9.5.0-P2.tar.gz 
# cd bind*2
# ./configure

config.status: creating dst/Makefile
config.status: creating include/Makefile
config.status: creating inet/Makefile
config.status: creating irs/Makefile
config.status: creating isc/Makefile
config.status: creating nameser/Makefile
config.status: creating port_after.h
config.status: creating port_before.h
config.status: creating resolv/Makefile
config.status: creating port/Makefile
config.status: creating port/linux/Makefile
config.status: creating port/linux/include/Makefile
config.status: creating include/isc/platform.h
config.status: creating config.h
# make     making all in /usr/local/src/bind-9.5.0-P2/make
make[1]: Entering directory `/usr/local/src/bind-9.5.0-P2/make'
make[1]: Leaving directory `/usr/local/src/bind-9.5.0-P2/make'
making all in /usr/local/src/bind-9.5.0-P2/lib
make[1]: Entering directory `/usr/local/src/bind-9.5.0-P2/lib'
making all in /usr/local/src/bind-9.5.0-P2/lib/isc
make[2]: Entering directory `/usr/local/src/bind-9.5.0-P2/lib/isc'
making all in /usr/local/src/bind-9.5.0-P2/lib/isc/include
make[3]: Entering directory `/usr/local/src/bind-9.5.0-P2/lib/isc/include'
making all in /usr/local/src/bind-9.5.0-P2/lib/isc/include/isc
make[4]: Entering directory `/usr/local/src/bind-9.5.0-P2/lib/isc/include/isc'
make[4]: Leaving directory `/usr/local/src/bind-9.5.0-P2/lib/isc/include/isc'
make[3]: Leaving directory `/usr/local/src/bind-9.5.0-P2/lib/isc/include'
making all in /usr/local/src/bind-9.5.0-P2/lib/isc/unix
make[3]: Entering directory `/usr/local/src/bind-9.5.0-P2/lib/isc/unix'
making all in /usr/local/src/bind-9.5.0-P2/lib/isc/unix/include
make[4]: Entering directory `/usr/local/src/bind-9.5.0-P2/lib/isc/unix
.
.
.
making all in /usr/local/src/bind-9.5.0-P2/doc/xsl
make[2]: Entering directory `/usr/local/src/bind-9.5.0-P2/doc/xsl'
make[2]: Leaving directory `/usr/local/src/bind-9.5.0-P2/doc/xsl'
making all in /usr/local/src/bind-9.5.0-P2/doc/doxygen
make[2]: Entering directory `/usr/local/src/bind-9.5.0-P2/doc/doxygen'
make[2]: Leaving directory `/usr/local/src/bind-9.5.0-P2/doc/doxygen'
make[1]: Leaving directory `/usr/local/src/bind-9.5.0-P2/doc'
# 

# make install
making all in /usr/local/src/bind-9.5.0-P2/make
make[1]: Entering directory `/usr/local/src/bind-9.5.0-P2/make'
make[1]: Leaving directory `/usr/local/src/bind-9.5.0-P2/make'
making all in /usr/local/src/bind-9.5.0-P2/lib

.
.
.
make[2]: Entering directory `/usr/local/src/bind-9.5.0-P2/doc/doxygen'
make[2]: Leaving directory `/usr/local/src/bind-9.5.0-P2/doc/doxygen'
make[1]: Leaving directory `/usr/local/src/bind-9.5.0-P2/doc'
/bin/sh ./mkinstalldirs /usr/local/bin \
	/var/run /etc
/usr/bin/install -c isc-config.sh /usr/local/bin
# 

Verify the version:

# /usr/local/sbin/named -version
BIND 9.5.0-P2
#

>1< | 2 | 3


People:
Places:
Things:
Times:





Please read our Terms of Use and our Privacy Policy
Microsoft, Windows, Windows XP, Windows 2003, Windows 2000, and NT are either trademarks or registered trademarks of Microsoft Corporation. NetAdminTools.com is not affiliated with Microsoft Corporation. Linux is a registered trademark of Linus Torvalds, and refers to the Linux kernel. The operating system of most distributions that contain the Linux kernel is GNU/Linux. All logos and trademarks in this site are property of their respective owner. Copyright 1997-2011 NetAdminTools.com