Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 13 Jul 2009 00:39:07 -0800
From:      Mel Flynn <mel.flynn+fbsd.questions@mailing.thruhere.net>
To:        freebsd-questions@freebsd.org
Subject:   Re: Copy directory tree as hard links...
Message-ID:  <200907130039.07506.mel.flynn%2Bfbsd.questions@mailing.thruhere.net>
In-Reply-To: <4A5AED8A.8050300@infracaninophile.co.uk>
References:  <64c038660907130002i73a95d9bq9224373b5ff89f08@mail.gmail.com> <4A5AED8A.8050300@infracaninophile.co.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
On Monday 13 July 2009 00:17:14 Matthew Seaman wrote:
> Modulok wrote:
> > What is the easiest way to copy a directory tree as hard links?
> >
> > Linux has a nice little 'cp -al' flag combo to do this. The FreeBSD
> > cp(1) manual page says to use pax or tar, but how do I get the ability
> > to rename the file without first creating a destination file? I don't
> > want an archive, just regular directory tree sitting right next to the
> > original, but with a new name ... consisting of of hard links back to
> > the original. For example on linux I could do something like:
> >
> > $ ls
> > foo/
> >
> > $ cp -al foo bar
> >
> > The result would be a new copy of foo, which takes up no additional
> > space, as all files share the same inodes. Is there an easy way to do
> > this on FreeBSD?
>
> cpio(1)

<snip>

> You might also consider using nullfs mounts. In /etc/fstab:
>
>     /some/dir /other/dir nullfs rw 0 0
>
> See mount_nullfs(8).

There's one important difference there:
rm bar/baz disconnects the hardlink, while with nullfs both foo/baz and 
bar/baz are gone (assuming rw mount). unionfs would replicate the hardlink 
behavior with quite a few caveats.
-- 
Mel



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200907130039.07506.mel.flynn%2Bfbsd.questions>