There are some reasons to use bind from ports and not from world. One reason could be if you want to use DLZ.
We are going to remove bind from world but to keep the bind configs and scripts.
Create or change
/etc/src.conf and place following vars in this file:
WITHOUT_BIND_DNSSEC="YES" WITHOUT_BIND_LIBS_LWRES="YES" WITHOUT_BIND_NAMED="YES" WITHOUT_BIND_UTILS="YES"
Details of this configuration are documented in man src.conf
Rebuild and reinstall world
$ cd /usr/src $ make buildworld $ make installworld $ make -DBATCH_DELETE_OLD_FILES delete-old $ make -DBATCH_DELETE_OLD_FILES delete-old-libs
If you are missing /usr/src or are unsure, read this.
$ cd /usr/src $ mergemaster
Build bind from ports
$ cd /usr/ports/dns/bind98 $ make config
Select “REPLACE_BASE” and start the build
$ make install clean
Switch it on and start it
$ echo 'named_enable="YES"'>>/etc/rc.conf $ /etc/rc.d/named start