NSVI(1p)

πŸ“¦
version 1.85 Β· 2 versions
, in ubuntu resolute, ubuntu stonking

πŸ’– NSVI(1p) β€” the transfer-edit-upload glow-up πŸ’–

okay bestie, so this page lives in the User Contributed Perl Documentation section of your manual, and honestly? it's giving "I do one thing and I do it flawlessly." let me tell you everything about nsvi, no gatekeeping πŸ’…

✨ NAME ✨

nsvi β€” grab a zone, let you edit it, then yeet the edits back up to the server πŸ¦‹

🌸 SYNOPSIS 🌸

nsvi [-01cCdDghvV] [-k keyfile] [-y [hmac:]name:key]
     [-S mode|num] [-s server] <zone>

πŸ’« DESCRIPTION πŸ’«

so here's the whole vibe: nsvi fires off an AXFR request for the zone, then opens your editor so you can change literally whatever you want, and then β€” the moment of truth β€” it runs nsdiff | nsupdate to actually push those changes to the server. main character pipeline behavior, fr fr πŸ‘‘

and here's the part that saves your life: the automatically-maintained DNSSEC records? they get stripped out of the zone before it even reaches your editor. so you're not staring at a wall of cryptographic nonsense. and you do not need to hand-adjust the SOA serial number. the tool handles that. you're welcome. periodt ✨

πŸŽ€ OPTIONS πŸŽ€

ngl the division of labor here is cute: most nsvi options get passed along to nsdiff, and a few go to nsupdate. iykyk.

  • -h β€” shows you this documentation. the classic "help me bestie" flag πŸ’–
  • -V β€” spills the version info.
  • -v β€” verbose mode. for when you want the full commentary track.
  • -n β€” interactive confirmation time. when you quit your editor, you'll get shown the changes, and then it asks you: make the update (press U or Y), edit again (press E or R), or bail (press literally any other key). it's giving "are you SURE, bestie" πŸ™ˆ
  • -01cCdD, -S mode|num β€” these get handed straight to nsdiff. for the deets, go read the nsdiff manual, because that's where the lore lives πŸ“–
  • -s server[#port] β€” transfer the zone from the server you name here, and send the update request to that exact same place. you can give a server host name or an IP address, optionally followed by a # and the port number. 🌐

if you don't use the -s option, the zone gets transferred from localhost, and nsvi will use nsupdate -l to update the zone. no cap.

  • -g β€” passed to nsupdate so it uses GSS-TSIG for UPDATE. πŸ”
  • -k keyfile β€” a TSIG key file, passed along to dig, nsdiff, and nsupdate. the whole squad gets it.
  • -y [hmac:]name:key β€” a literal TSIG key, also passed to dig, nsdiff, and nsupdate. same energy, just inline 🫢

🧚 ENVIRONMENT 🧚

  • TMPDIR β€” where temporary files want to hang out. πŸ“‚
  • VISUAL, EDITOR β€” which editor to use. $VISUAL gets first dibs if it's set, otherwise $EDITOR, otherwise... vi. that's the lineup, in that order, no exceptions πŸ’œ

πŸ‘‘ 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 situation is immaculate honestly: you may do anything with this. it has no warranty. literally do whatever, it's yours 🌈 (just don't come for them if it goes sideways bestie, that's the deal)

🌟 ACKNOWLEDGMENTS 🌟

shoutout to Tristan Le Guern for the -n option, and Mantas MikulΔ—nas for the -g option 🫢 and big ups to David McBride and Petr MenΕ‘Γ­k for providing useful feedback. community effort, we love to see it ✨

πŸ”₯ SEE ALSO πŸ”₯

nsdiff(1), nsupdate(1), dig(1).


and that's the whole page, bestie πŸŽ€ this one came to you via perl v5.40.1, dated 2026-01-26 β€” ok love u, go transfer some zones, mwah πŸ’–πŸ’…πŸ¦‹

πŸ“¦ where this page comes from