Вы хотите использовать, находят, как указано в Вашей ссылке, но с дополнительным - монтируют флаг, который ограничит, находят к текущей файловой системе и игнорируют любых других.
- смонтироваться
Не убывайте каталоги в других файловых системах. Альтернативное название для-xdev, для совместимости с некоторыми другими версиями находки.
Это зависит от корня, который распаковывает: Если вы хотите сделать их все корневыми, вы можете использовать
Утилита fakeroot или более новая утилита fakeroot-ng (та же цель, другая техника реализации) запускает программу и делает вид, что она работает от имени root и что системные вызовы, такие как chown
успешны. Только программа считает, что эти вызовы прошли успешно, на самом деле в файловой системе ничего не отражается (да и не может быть, поскольку fakeroot
не имеет дополнительных привилегий). Однако, если программа изменяет права собственности на файл, а затем предпринимает какие-то действия, основанные на правах собственности на этот файл, это может изменить поведение программы.
Типичный способ получить полезную работу от fakeroot - запустить среду fakeroot, в которой происходит следующее:
Пример:
fakeroot sh -c '
chown root:root usr/bin/foo
tar cf foo.tar usr
'
Вам нужно использовать только один вызов fakeroot
, поскольку между вызовами нет памяти.
Для полноты картины упомяну, что если у вас ядро Linux ≥3.8, то пространства имен - это еще один способ создать притворно-корневое окружение. Поддержка пользовательского окружения еще не реализована, поэтому я не буду вдаваться в подробности.
Другой способ решить вашу проблему - смонтировать архив как каталог. Вы можете использовать archivemount, который способен модифицировать несколько форматов архивов через libarchive, включая сжатый tar.
mkdir mnt
archivemount foo.tar.xz mnt
chown root:root mnt/usr/bin/foo
fusermount -u mnt