ZUPDATE(1)

πŸ“¦ version 1.15, in alpine 3.24

πŸ’… zupdate(1) β€” the manual page, but make it make sense πŸŽ€

okay bestie, so this is zupdate, a User Command, and it's about to be your new fave little utility, no cap. it lives in the zutils family (we're on version 1.15, dated May 2025, more on that at the end ✨).


🌸 NAME 🌸

zupdate β€” recompress bzip2, gzip, xz, zstd files to lzip format πŸ¦‹

like, it takes your old-school compressed files and glows them up into lzip. that's the whole vibe.


✨ SYNOPSIS ✨

zupdate [options] [files]

that's it. options, then files. iconic simplicity πŸ’…


πŸŽ€ DESCRIPTION πŸŽ€

okay so here's the tea πŸ“: zupdate recompresses files from bzip2, gzip, xz, and zstd formats to lzip format. each original gets compared with the new file, and then β€” and this is the main character moment β€” it gets deleted. periodt.

only regular files with standard file name extensions get recompressed, bestie. everything else is politely ignored, like that one group chat you muted πŸ™ˆ.

compressed files are decompressed and then recompressed on the fly; no temporary files are created. literally none. clean. the lzip format is chosen as the destination because it's the most appropriate for long-term archiving β€” it's giving longevity, it's giving archival queen πŸ‘‘.

if no files are specified: recursive searches examine the current working directory, and nonrecursive searches do nothing. like, absolutely nothing. a whole lot of nothing. 😭

if the lzip-compressed version of a file already exists, the file is skipped unless you pass the option '--force'. and in that case, if the comparison with the existing lzip version fails, an error is returned and the original file is not deleted. 🫢

the operation of zupdate is meant to be safe and to not cause any data loss. therefore, existing lzip-compressed files are never overwritten nor deleted. like, never ever. protect the archives at all costs πŸ’–

the names of the original files must have one of these extensions, fr fr:

  • '.bz2', '.gz', '.xz', '.zst', or '.Z' β€” these get recompressed to '.lz' ✨
  • '.tbz', '.tbz2', '.tgz', '.txz', or '.tzst' β€” these get recompressed to '.tlz' πŸ’«

πŸ¦‹ exit status tea πŸ¦‹

  • 0 β€” all the compressed files were successfully recompressed (if needed), compared, and deleted (if requested). slay βœ…
  • 1 β€” a non-fatal error occurred: file not found or not regular, or has invalid format, or can't be deleted. annoying but we move 😭
  • 2 β€” a fatal error occurred: invalid command-line options, compressor can't be run, or comparison fails. πŸ’€

πŸ’œ OPTIONS πŸ’œ

  • -h, --help β€” display this help and exit 🫢
  • -V, --version β€” output version information and exit ✨
  • -d, --destdir=<dir> β€” write recompressed files into <dir> πŸŽ€
  • -e, --expand-extensions β€” expand combined extensions; tgz --> tar.lz πŸ¦‹
  • -f, --force β€” don't skip a file even if the .lz exists πŸ”₯
  • -i, --ignore-errors β€” ignore non-fatal errors πŸ™ˆ
  • -k, --keep β€” keep (don't delete) input files πŸ’–
  • -l, --lzip-verbose β€” pass one option -v to the lzip compressor πŸ‘‘
  • -M, --format=<list> β€” process only the formats in <list> 🌈
  • -N, --no-rcfile β€” don't read runtime configuration file ⭐
  • -q, --quiet β€” suppress all messages 🀫
  • -r, --recursive β€” operate recursively on directories 🌸
  • -R, --dereference-recursive β€” recursively follow symbolic links 🧚
  • -v, --verbose β€” be verbose (a 2nd -v gives more) πŸ’…
  • -x, --exclude=<pattern> β€” exclude files matching a shell pattern πŸ“
  • -0 .. -9 β€” set compression level [default 9] πŸ”₯
  • --bz2=<command> β€” set compressor and options for bzip2 format πŸ’œ
  • --gz=<command> β€” set compressor and options for gzip format πŸŽ€
  • --lz=<command> β€” set compressor and options for lzip format ✨
  • --xz=<command> β€” set compressor and options for xz format πŸ¦‹
  • --zst=<command> β€” set compressor and options for zstd format 🌸

valid formats for option '-M' are 'bz2', 'gz', 'xz', and 'zst'. write that down bestie πŸ“


πŸ’€ REPORTING BUGS πŸ’€

found a bug? don't suffer in silence, tell the devs:


Copyright Β© 2025 Antonio Diaz Diaz. License GPLv2+: GNU GPL version 2 or later http://gnu.org/licenses/gpl.html

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. (yes, the caps are theirs, and honestly, fair 🫢)


🌈 SEE ALSO 🌈

The full documentation for zupdate is maintained as a Texinfo manual. If the info and zupdate programs are properly installed at your site, the command

info zutils

should give you access to the complete manual. iykyk ✨


and that's the whole page, bestie β€” zutils 1.15, dated May 2025, signing off πŸ’–πŸ¦‹πŸ’…

πŸ“¦ where this page comes from