/root on a separate dataset breaks FreeBSD-base installation

Rodney W. Grimes freebsd-rwg at gndrsh.dnsmgr.net
Sat Apr 11 16:42:52 UTC 2020


[ Charset UTF-8 unsupported, converting... ]
> I am following https://wiki.freebsd.org/PkgBase
> 
> This:
> 
> pkg install -g 'FreeBSD-*'
> 
> fails with this:
> 
> [2/800] Extracting FreeBSD-runtime-12.1_3:?? 4%
> pkg: Fail to create hardlink: 
> /root/.pkgtemp..cshrc.v5sxGCRu3GlP:Cross-device link
                 ^^^^^^


> [2/800] Extracting FreeBSD-runtime-12.1_3: 100%
> 
> /root is in a different ZFS dataset. It works fine if it's not. Why pkg 
> is using /root/.pkgtemp instead of /tmp or /var/tmp? It doesn't matter 
> from where I run the command, looks like the path is hardcoded.

The failure is caused by the fact that /.cshrc and /root/.cshrc
are hardlinked to each other.  A hardlink can not cross a
ZFS dataset or a ufs mount point.

> 
> Can I workaround with some option to pkg?

I doubt that.

> GrzegorzJ

-- 
Rod Grimes                                                 rgrimes at freebsd.org


More information about the freebsd-pkgbase mailing list