6

В Solaris при создании архива tar с использованием параметров cf:

tar cf file.tar dir

и когда многие вложенные каталоги генерируют очень длинные имена путей, я получаю сообщение об ошибке:

tar: имя файла: имя файла больше 100

Как этого избежать?

Вот детали машины:

# uname -a
SunOS <box-name> 5.10 Generic_125100-10 sun4v sparc SUNW,Sun-Fire-T200

3 ответа3

7

Я использовал вариант E

Написать файл с расширенными заголовками

Так что команда tar cEf file.tar dir работала без сбоев

4

Это ограничение pre-POSIX tar . Вы можете использовать cpio -H ustar , стандарт POSIX pax или установить GNU tar .

0

Я не думаю, что есть необходимость в каких-либо других ответах, представленных здесь.

Просто используйте GNU tar. И да, это там!

Вы указываете, что ваша платформа Solaris 10. На этой платформе GNU tar действительно установлен по умолчанию. Он находится в /usr/sfw/bin который может не находиться на вашем пути, но он есть. Только если ваш системный администратор установил Solaris с некоторым минимальным профилем («Core» или «Reduced Network»), что редко случается с системными администраторами, он не будет там, и вам придется устанавливать пакет SUNWgtar с установочного носителя. Я сомневаюсь, что это так. Просто сделайте /usr/sfw/bin/gtar и наблюдайте за магией.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .