During lunch the other day, I discussed the shortcomings of the
tar file format with friend and co-worker Daniel. The tar file
format has a lot of legacy by now, and it’s not quite up to date
with the latest developments in file systems, such as extended
attributes. This makes tar badly suited for things such as backups
and other situations where precise reproduction of the input
There are several variants of the tar file format, and various
more or less standard extensions to it. GNU tar, for example,
added support for pathnames longer than 100 bytes many years
ago, and it is now commonly supported.
Other problems in the tar file format:
This led us to discuss the possibility of a new file format. We
had a bit of fun exploring the solution space for a while.
However, almost all use of tar these days is for distributing
sets of files, where the filename and basic set of file permissions
is enough. In other words, for things such as source code, tar is
just fine. The archives are small enough, and the other limitations
are rarely a problem, but the pain of switching to a new format would
be great. Thus, with some reluctance, we concluded that a new format
would be a waste of time.
But I thought I’d write this up anyway, in case one of my readers
wants to start working on this.