=head1 nsdiff =head2 create an "nsupdate" script from DNS zone file differences The B<nsdiff> program examines the old and new versions of a DNS zone, and outputs the differences as a script for use by BIND's B<nsupdate> program. It provides a bridge between static zone files and dynamic updates. The B<nspatch> script is a wrapper around C<nsdiff | nsupdate> that checks and reports errors in a manner suitable for running from B<cron>. The B<nsvi> script makes it easy to edit a dynamic zone. =over I<I've fallen in <3 with nsdiff/nsvi> - JP Mens =back If you use BIND 9.7 or 9.8, you can use B<nsdiff> as an alternative to the DNSSEC C<inline-signing> feature which appeared in BIND 9.9. The server updates the DNSSEC records dynamically, but you can continue to manage the unsigned static zone file as before and use C<`nsdiff | nsupdate`> to push changes to the server. There are other situations where you have a zone which is partly dynamic and partly static, for example, a reverse DNS zone mostly updated by a DHCP server, which also has a few static entries. You can use B<nsdiff> to update the static part of the zone. =head2 Dependencies To run nsdiff you need perl-5.10 or newer, and BIND version 9.7 or newer, specifically the B<dig>, B<named-compilezone>, and B<nsupdate> utilities. =head2 Install To install, run: perl Makefile.PL make install To install in a particular place, use something like perl Makefile.pl PREFIX=${HOME} =head2 Downloads =over =item Documentation The nsdiff homepage is L<https://dotat.at/prog/nsdiff/> Read the nsdiff manual: L<https://dotat.at/prog/nsdiff/nsdiff.html> Read the nspatch manual: L<https://dotat.at/prog/nsdiff/nspatch.html> Read the nsvi manual: L<https://dotat.at/prog/nsdiff/nsvi.html> =item Code Download the bare nsdiff perl source: L<https://dotat.at/prog/nsdiff/nsdiff> Download the source distribution: =over =item L<https://dotat.at/prog/nsdiff/DNS-nsdiff-1.82.tar.gz> =back =item Source repositories You can clone or browse the repository from: =over =item L<git://dotat.at/nsdiff.git> =item L<https://dotat.at/cgi/git/nsdiff.git> =item L<https://github.com/fanf2/nsdiff.git> =item L<https://git.uis.cam.ac.uk/x/uis/ipreg/nsdiff.git> =back =back =head2 Feedback Please send bug reports or patches to me at <dot@dotat.at>. You may do anything with nsdiff. It has no warranty. L<https://creativecommons.org/publicdomain/zero/1.0/>