[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Cross-directory hard links in Debian packages

On Wed, Nov 13, 2013 at 10:19:17AM +0100, Helmut Grohne wrote:
> While same-directory hard links are an established practise,
> the same is not so true for cross-directory hard links.
> A good reason to use hard links is to save space. There are a number of
> packages that ship the same content in multiple locations. The
> alternative, soft links, has the downside of consuming inodes. When a
> package ships very many duplicate small files, the savings for using
> soft links are small compared to the savings achievable with hard links.

So you save a small number of inodes, and get problems if the filesystem's
layout is unconventional.  Such savings don't seem to be worth the trouble
to me.

> Clearly, packages must not use hard links across usual mount locations
> such as /usr. Unpacking a package with a hard link across different
> filesystems simply fails with an error from tar.

You don't know what directory resides on what filesystem.  While splitting
up /usr tends to be trouble, it is not unusual.  For example Maemo has:

/opt/pymaemo/usr/lib/python2.5 on /usr/lib/python2.5 type bind (bind,rbind)
/opt/pymaemo/usr/share/pyshared on /usr/share/pyshared type bind (bind,rbind)
/opt/pymaemo/usr/lib/pyshared on /usr/lib/pyshared type bind (bind,rbind)
/opt/pymaemo/usr/share/python-support on /usr/share/python-support type bind (bind,rbind)
/opt/pymaemo/usr/lib/python-support on /usr/lib/python-support type bind (bind,rbind)

So I'd keep this requirement as is.

A tit a day keeps the vet away.

Reply to: