Paul Eggert <eggert@cs.ucla.edu> writes:
whereas Ubuntu (and I assume Debian) use less-efficient symbolic links:
$ ls -li /usr/share/zoneinfo/America/Los_Angeles /usr/share/zoneinfo/US/Pacific 1182409 -rw-r--r-- 1 root root 2836 Jan 27 11:53 /usr/share/zoneinfo/America/Los_Angeles 1206418 lrwxrwxrwx 1 root root 22 Jan 27 11:53 /usr/share/zoneinfo/US/Pacific -> ../America/Los_Angeles
The decision in Debian (which I assume Ubuntu is just importing) appears to have been made in 2011: * Remove hardlinks to comply with the policy, by replacing identical files with symlinks. It also reduces the package size by 38% and the installed size by 35%. I'm not sure what's going on with the package size and installed size, although it's possible that the proper tar extensions weren't used at the time to record the files as hard links and they turned into copies in the tar file and thus on unpack. The first part of the changelog entry appears to be a (common) misunderstanding of Debian Policy, which prohibits hard links in source packages and as conffiles but not for regular files in binary packages. That said, personally I prefer symlinks to hardlinks as a matter of style. Hard links on a UNIX system have a very opaque UI with standard tools. It's apparent (although not exactly obvious; I always forget to check the link count number) that the contents are shared with another file, but not which other file or files, something that symlinks make obvious. The efficiency difference seems unlikely to matter. I admit that my bias against hard links is probably influenced from having spent years working with a file system that didn't support hard links across directories. -- Russ Allbery (eagle@eyrie.org) <https://www.eyrie.org/~eagle/>