Вы должны четко уточнить, что именно происходит, поскольку ваш нынешний способ задать вопрос заставляет даже самый сложный хрустальный шар казаться слегка туманным.
Ответы:
2
Обычно tarтребуется опция --absolute-namesили, --absolute-pathsчтобы сохранить корневую '/'часть при создании архива. Даже если вы заставите его таким образом, экстракт также пропускает ведущие '/'.
Однако, если у вас есть архив с ведущим, '/'и вы tar не пропускаете его при извлечении, ответ NoahD должен работать в этой форме,
pax -r -s ',/mnt,/new/path,' -v -f 13.2.tar
Я думаю, paxчто не обрабатывает сжатые файлы, поэтому вам нужно будет разархивировать после распаковки в pax.
Это будет так (при условии, что у вас есть архив в формате gzip)
Разница между использованием канонического (или явного) и относительного (что вы, вероятно, называете неявным) заключается в том, используете ли вы /в начале.
Например, если текущим рабочим каталогом являются /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
требуется опция--absolute-names
или,--absolute-paths
чтобы сохранить корневую'/'
часть при создании архива. Даже если вы заставите его таким образом, экстракт также пропускает ведущие'/'
.Однако, если у вас есть архив с ведущим,
'/'
и вы tar не пропускаете его при извлечении, ответ NoahD должен работать в этой форме,Я думаю,
pax
что не обрабатывает сжатые файлы, поэтому вам нужно будет разархивировать после распаковки вpax
.Это будет так (при условии, что у вас есть архив в формате gzip)
Я нашел эту вики-страницу в Google только сейчас.
источник
Разница между использованием канонического (или явного) и относительного (что вы, вероятно, называете неявным) заключается в том, используете ли вы
/
в начале.Например, если текущим рабочим каталогом являются
/usr/home/bob
, следующие команды имеют точно такой же эффектНо я подозреваю, что это не совсем твой вопрос. Похоже, вам нужно определить использование диска и найти каталог, который не заполнен. Это можно сделать с помощью
df
команды.И вы можете использовать,
mount
чтобы показать вам, какие файловые системы монтируются на каких устройствах.источник
Чтобы создать файл tar с относительным путем,
Чтобы распаковать tar в определенный каталог, отличный от текущего рабочего каталога, используйте ключ -C (прописные буквы C).
Если вы хотите распаковать файл с абсолютными путями в другой точке, отличной от root, вам может потребоваться возиться
chroot(1)
.источник
Я верю, что Пакс сделает свое дело
pax -r -s, / mnt, / gooddir, -f 13.2.tar
Это должно позволить вам заменить в новом корневом каталоге.
источник