zidrav(1)

πŸ“¦ version 1.2.0, in fedora 43, fedora 44

πŸ’– zidrav β€” the manual, but make it slay πŸ’–

okay bestie, gather round, because we're talking about zidrav(1) and honestly? she's iconic. it's giving "your big file got corrupted mid-transfer and you do NOT want to redownload 700MB over hotel wifi" energy. let's get into it πŸ¦‹


✨ NAME ✨

zidrav β€” detect and repair corruption in transfered files 🌸


✨ SYNOPSIS ✨

zidrav [-b bs] [-o CDT] corrupted file
zidrav -p [-i CDT] [-o CDP] original file
zidrav -a [-i CDP] corrupted file

✨ DESCRIPTION ✨

zidrav is a file corruption detection and repair program, and no cap, she's doing the lord's work. the whole point? fix file damage without having to redownload the entire (potentially large) file over a (potentially slow) connection. literally a lifesaver when the vibes of your network are not it 😭

there are 3 steps to using zidrav β€” and yes, they're in the order of the SYNOPSIS commands above, keep up bestie πŸ’…

  1. create a checksum file of the corrupted file.
  2. using the checksum file, create a patch file from the original file.
  3. apply the patch file to the corrupted file.

at each of the steps, the checksum or patch file has to be in the same directory as the corrupted or original file β€” depending on which step you're on β€” unless otherwise specified with -i. πŸŽ€


✨ OPTIONS ✨

  • -a β€” apply the patch file to the corrupted file in order to fix it. the glow-up step 🫢
  • -b β€” set the blocksize. the default blocksize it 16384. (yes, the manpage says "it", we're keeping it, it's part of the charm πŸ’€)
  • -h β€” show usage summary and exit. the "wait what do i do" button.
  • -i β€” specify the input filename of the checksum (CDT) or patch (CDP) files. you have to use this flag when the basename of the checksum or patch files doesn't match the name of the original file. πŸ‘‘
  • -o β€” specify an output filename for the checksum (CDT) or patch (CDP) files. by default, the name of original file is used as the basename for these files.
  • -p β€” build the patch file from the original file. main character energy, fr fr.
  • -V β€” display version information and exit. ⭐

🌈 EXAMPLE 🌈

okay so in this example, let's assume you've downloaded a large file named freebsd4.8.iso from a remote ftp which you have shell access to. the file was corrupted during transfer and you need to use zidrav to fix the file. relatable, unfortunately. πŸ™ˆ

first, build a checksum file from the corrupted file on your machine:

zidrav freebsd4.8.iso

this creates a checksum file named freebsd.4.8.iso.cdt. ✨

next, transfer the checksum file to the remote ftp computer in the same directory as the original file. from that directory, type:

zidrav -p freebsd4.8.iso

this creates a patch file named freebsd.4.8.iso.cdp. πŸŽ€

last, transfer the patch file back to your computer, in the same directory as the corrupted file. from that directory, type:

zidrav -a freebsd4.8.iso

this will apply the patch and fix the corrupted file. ate. no crumbs. πŸ’…


πŸ’€ BUGS πŸ’€

the corrupted file has to be equal in size as the original file. this makes it so you can't fix partially downloaded files until they're padded. so like… sorry bestie, pad it first. 😭

🫢 AUTHOR 🫢

zidrav is written by Zorba <zorbathut@uswest.net>. Unix port was done by Piotr Krukowiecki {piotr at krukowiecki dot net}. this manpage by Cosmin Stroe <cstroe1@uic.edu>.


okay that's the whole page, bestie β€” shoutout to the zidrav(1) manual, from July 14, 2003, still serving looks after all these years. go fix your files, you got this πŸ’–πŸ¦‹πŸŒΈβœ¨πŸ‘‘

πŸ“¦ where this page comes from