2004 / HighLnk - Hard-Linking Tool

2004-08-18: HighLnk - Hard-Linking Tool

Historical Background Notice

When I had the idea of referencing the same binary blob with two different filenames (a technique called "hard links"), I was very excited about the idea of taking advantage of it in different places like backups or distributions CD-ROMs. The name "HighLnk" was inspired by the then-new "HiMD" technology from Sony, which I also was excited about, as this technology provided new media with 1GB capacity compared to the 150MB of a normal MiniDisc.


The HighLnk project aims to save space on read-only partitions and on CDs/DVDs by hard-linking files that are the same. It's a little bit hard to explain, but it works quite well. And it works even better if the directory you want to process with HighLnk has got many files which have the same content. You can get more onto CDs/DVDs than normally fits on them - without compression!

I think this is also a great tool for distributors of ISO images (a good example would be Linux distros), because they could run HighLnk on their ISO-tree, save space with this method on the ISO image, and so make the ISO download smaller for everyone, resulting in less bandwidth usage, and therefore in less required money -- yeah, you could probably save money with HighLnk, hehe.

Project status

Dead upstream as of 20060216 :) As there are other tools which are able to do what HighLnk is able to do (namely dupmerge and rsync with the --copy-dest=DIR option), there's no real reason to continue working on HighLnk, because dupmerge seems more efficient and accurate than HighLnk is. However, source code can still be downloaded here, because you might find it useful to understand how it's done. The code is crappy and buggy - you have been warned..

For historical purposes, you can download HighLnk here, it is released under the GNU General Public License, Version 2: highlnk-0.2.tar.gz (16k) (README)

Related projects

After publishing HighLnk on the Internet, Rolf Freitag contacted me to inform me that there already was an utility to do what HighLnk aimed to do: dupmerge. It is better in every aspect, and is still maintained, as far as I can tell and also features the reverse method (splitting hard links to seperate files again). If you're interested in hard-linking some directory or a bunch of files, try dupmerge!

Mon May 28 13:59:50 2007 +0000