Назад | Перейти на главную страницу

linux / solaris когда использовать tar или gtar

можно ли узнать, когда нужно использовать tar или gtar в соответствии с файлом tar

например

У меня есть tar-файл как

    sometarfile.tar

как узнать, нужно ли использовать команду tar или gtar?

можно ли проверить tar-файл и по нему понять, какую команду запускать?

Нет, формат файла tar не хранит никакой информации о программе, которая его сгенерировала.

РЕДАКТИРОВАТЬ:

Версии файловой утилиты для Linux могут определять разницу между файлами, сгенерированными с помощью Solars и GNU tar. Это достигается за счет расширения поиска и включения информации о формате и версии в заголовок. Файлы tar, созданные GNU, имеют ustar (это 2 пробела после ustar), тогда как в tar-файлах Solaris ustar 00.

Вы можете заставить вашу версию файла Solaris работать аналогично версии Linux, добавив строку

257    string        ustar\040\040    USTAR tar archive (GNU) 

над линией

257    string        ustar    USTAR tar archive

в /etc/magic. Сказав, что я не знаю и не могу найти стандарт для кодирования информации о версии, я бы предположил, что это взлом, на который нельзя положиться.

Я не могу сказать, что когда-либо находил tar-файл, который GNU tar не может обработать, что tar Solaris может (обратное, как вы знаете, неправда), поэтому в вашей ситуации я бы просто использовал gtar для извлечения файлов из любого имеющегося у вас tar-файла.

По поводу вашего вопроса в комментариях. Это не лучшая идея, поскольку статус выхода> 0 просто означает, что произошла ошибка, которая может быть ошибкой, отличной от «Я не понимаю этот формат».