Bad support of ZIP archives with extra fields
Classified in : Homepage, Debian, Command line, To remember
For sharing multiple files, it is often convenient to pack them into an archive, and the most widely supported format to do so is probably ZIP. Under *nix, you can archive a directory with Info-ZIP:
% zip -r something.zip something/
(When you have several files, it is recommended to archive them in a directory, to avoid cluttering the directory where people will extract them.)
Using bsdtar to change an archive format
Classified in : Homepage, Debian, Command line, To remember
Streamable archive formats
Archive formats such as tar(5) and cpio(5) have the advantage of being streamable, so you can use them for transferring data with pipes and remote shells, without having to store the archive in the middle of the process, for instance:
$ cd public_html/blog $ rgrep -lF "archive" data/articles \ | pax -w \ | ssh newserver "mkdir public_html/blog ; cd public_html/blog ; pax -r"
One archiver to rule them all: bsdtar
Classified in : Homepage, Debian, Command line
Repacking ZIP-based containers
Classified in : Homepage, Debian, Command line, To remember
Several modern complex file formats are based on a ZIP container: this is at least the case of OpenDocument and EPUB. However, they are not simply a bunch of files joined into an archive, but they follow some rules in order to be easily recognized by tools such as file. As I had to unpack, modify and repack such a container, here is a recipe to do that.