NSVI(1)
π NSVI β the zone-editing bestie you didn't know you needed π
okay so this is nsvi, from the Perl user-contributed manual pages, section 1. sit down, grab a boba, we're doing DNS π
β¨ NAME β¨
nsvi β transfer a zone, edit it, then upload the edits π¦
πΈ SYNOPSIS πΈ
nsvi [-01cCdDghvV] [-k keyfile] [-y [hmac:]name:key]
[-S mode|num] [-s server] <zone>
π DESCRIPTION π
so here's the whole vibe, bestie: nsvi fires off an AXFR request for the zone, then it opens up your editor so you can change literally whatever you want, and then it runs nsdiff | nsupdate to yeet those changes over to the server. no cap, that's the entire pipeline π₯
and here's the part that's giving main character energy: all the automatically-maintained DNSSEC records get stripped out of the zone before it ever reaches your editor π so you're not sitting there hand-editing stuff nobody should be touching. also you do not need to manually adjust the SOA serial number β it handles that, periodt β¨
π OPTIONS π
most of the nsvi options get passed along to nsdiff, and a few of them go to nsupdate. it's giving delegation π
-hβ show you this documentation. hey, that's what you're reading rn π-Vβ show version info β-vβ verbose mode. she talks more π£οΈ-nβ interactive confirmation π«Ά
so when you quit out of your editor, you'll get shown the changes, and then you get asked what's up: press U or Y to actually make the update, press E or R to go edit again, or press literally any other key to quit π
-01cCdD-S mode|num
these ones get handed straight to nsdiff. for the deets, go read the nsdiff manual, iykyk π
-s server[#port]β transfer the zone from the server you name in this option, and send the update request to that same place π¬ you can give a server host name or an IP address, optionally followed by a#and the port number.
and if you don't use the-soption? the zone gets transferred fromlocalhost, andnsviwill usensupdate -lto update the zone. lowkey the default route π«
-gβ passed tonsupdateso it uses GSS-TSIG for UPDATE π-k keyfileβ a TSIG key file, passed todig,nsdiff, andnsupdate. everybody's getting one π-y [hmac:]name:keyβ a literal TSIG key, also passed todig,nsdiff, andnsupdateποΈ
π ENVIRONMENT π
TMPDIRβ where the temporary files live πVISUAL,EDITORβ which editor to use.$VISUALwins if it's set, otherwise$EDITOR, otherwise it'svi. a whole hierarchy, obsessed π
π VERSION π
this is nsvi-1.85 β <https://dotat.at/prog/nsdiff/> β
written by Tony Finch <fanf2@cam.ac.uk> <dot@dotat.at> at Cambridge University Information Services. and the license tea: you may do anything with this. it has no warranty. do whatever, but nobody's got you if it breaks, fr fr π
π«Ά ACKNOWLEDGMENTS π«Ά
big love to Tristan Le Guern for the -n option and Mantas MikulΔnas for the -g option π and shoutout to David McBride and Petr MenΕ‘Γk for the useful feedback, we appreciate y'all π
π₯ SEE ALSO π₯
nsdiff(1), nsupdate(1), dig(1) πΈ
and that's the whole page, bestie π this was perl v5.42.0, dated 2025-07-24 β go forth and edit your zones responsibly, slay β¨ππ
π¦ where this page comes from
- fedora 43: nsdiff 1.85-3.fc43 Β· 0BSD OR MIT-0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms