Installworld fails when /usr/bin and /usr/sbin are different FS / how to use symlinks in installworld?
Alexander Leidinger
Alexander at leidinger.net
Fri Sep 2 22:26:02 UTC 2016
Hi,
background info:
- iocage (jail management) uses official release tarballs
- I want to install a jail from a specific src I compiled withour
creating release tarballs (-> faster time to market), so I want to
convince iocage to use what I provide via installworld
- jails of type "basejail" (jails read-only-share the base system)
in iocage are handled via seperate zfs datasets for each directory
- as such /usr/bin and /usr/sbin are different datasets
I got this error in installworld:
---snip---
===> usr.sbin/chkgrp (install)
install -s -o root -g wheel -m 555 chkgrp
/iocage/base/12.0-r305149M/root/usr/sbin/chkgrp
install -o root -g wheel -m 444 chkgrp.debug
/iocage/base/12.0-r305149M/root/usr/lib/debug/usr/sbin/chkgrp.debug
install -o root -g wheel -m 444 chkgrp.8.gz
/iocage/base/12.0-r305149M/root/usr/share/man/man8/
===> usr.sbin/chown (install)
install -s -o root -g wheel -m 555 chown
/iocage/base/12.0-r305149M/root/usr/sbin/chown
install -o root -g wheel -m 444 chown.debug
/iocage/base/12.0-r305149M/root/usr/lib/debug/usr/sbin/chown.debug
install -o root -g wheel -m 444 chgrp.1.gz
/iocage/base/12.0-r305149M/root/usr/share/man/man1/
install -o root -g wheel -m 444 chown.8.gz
/iocage/base/12.0-r305149M/root/usr/share/man/man8/
===> usr.sbin/chown/tests (install)
install -o root -g wheel -m 555 chown-f_test
/iocage/base/12.0-r305149M/root/usr/tests/usr.sbin/chown/chown-f_test
install -o root -g wheel -m 444 Kyuafile
/iocage/base/12.0-r305149M/root/usr/tests/usr.sbin/chown/Kyuafile
/usr/bin/chgrp -> /usr/sbin/chown
install: link /iocage/base/12.0-r305149M/root/usr/sbin/chown ->
/iocage/base/12.0-r305149M/root/usr/bin/chgrp: Cross-device link
*** Error code 71
Stop.
make[5]: stopped in /usr/src/usr.sbin/chown
*** Error code 1
Stop.
---snip---
The error message is obvious, it tries to create a hardlink which is
off course not possible when src and dest of the link are on different
FS.
My goal of an easy procedure (installworld into target datasets)
doesn't work like this off course. Do we have an easy way of telling
installworld to create symlinks instead of hardlinks, or alternatively
a way to tell to copy instead of doing a hardlink if the install hits
the cross-device case?
Bye,
Alexander.
--
http://www.Leidinger.net Alexander at Leidinger.net: PGP 0x8F31830F9F2772BF
http://www.FreeBSD.org netchild at FreeBSD.org : PGP 0x8F31830F9F2772BF
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: Digitale PGP-Signatur
URL: <http://lists.freebsd.org/pipermail/freebsd-current/attachments/20160903/5c39ff8a/attachment.sig>
More information about the freebsd-current
mailing list