На BSD полученный unixes (включая Mac OS X) существует названное средство sandbox
. В странице справочника говорится
ОПИСАНИЕ
Средство песочницы позволяет приложениям добровольно ограничивать свой доступ к ресурсам операционной системы. Этот механизм безопасности предназначается для ограничения потенциального ущерба, если уязвимость используется. Это не замена для других средств управления доступом операционной системы.
Это является отдельным от chroot
средство, которое также доступно.
Обычно tar
потребности --absolute-names
или --absolute-paths
опция сохранить корень '/'
часть при создании архива. Даже при принуждении его таким образом извлечение пропускает продвижение '/'
также.
Однако, если у Вас есть архив с продвижением '/'
и Вы смолите, не пропускает его при извлечении, ответ NoahD должен работать в этой форме,
pax -r -s ',/mnt,/new/path,' -v -f 13.2.tar
Я думаю pax
не обрабатывает сжатые файлы, таким образом, необходимо было бы передать по каналу после распаковки в pax
.
Это пошло бы как это (предположение, что у Вас есть архив gzipped),
gunzip -c 13.2.tar.gz | pax -r -s ',/mnt,/new/path,' -v
Я нашел эту страницу Wiki на Google сейчас.
Различие между использованием канонического (иначе явный) и родственником (что Вы, вероятно, называете неявными) - используете ли Вы a /
вначале.
Например, если текущий рабочий каталог /usr/home/bob
, следующие команды имеют точно тот же эффект
tar -xvf foo.tar * tar -xvf ./foo.tar * tar -xvf ./foo.tar ./* tar -xvf /usr/home/bob/foo.tar * tar -xvf /usr/home/bob/foo.tar ./* tar -xvf /usr/home/bob/foo.tar /usr/home/bob/*
Но я подозреваю, что это не действительно Ваш вопрос. Это больше кажется, что необходимо определить использование диска и определить местоположение каталога, это не полно. Это может быть, покончили df
команда.
df -k # space on disk in kilobytes
df -m # as above, but in meg
df -g # as above, but in gig
И можно использовать mount
показать Вам, какие файловые системы смонтированы в какой устройства.
Создать файл tar с относительным путем,
cd /parent/of/dir/to/tar
tar cvf subdir.tar subdir
Для распаковки tar в определенный каталог кроме текущего рабочего каталога используйте-C (верхний регистр C) переключатель.
Если Вы хотите к untar файл с абсолютными путями в нем к точке кроме корня, Вы, возможно, должны были бы иметь предосудительные отношения chroot(1)
.