LINUX.ORG.RU

file VMware-Workstation-6.5.0-118166.i386.bundle

скорее всего это обычный zip, открыть можно unzip'ом

JB ★★★★★
()
Ответ на: комментарий от JB

>> скорее всего это обычный zip, открыть можно unzip'ом

Или "самораспаковывающийся" шелл-скрипт...

Deleted
()
Ответ на: комментарий от Deleted

>Или "самораспаковывающийся" шелл-скрипт...

Ага, оно самое - вначале скрипт, а потом бинарные данные.
Внутри там не zip. Вообще в начале бинарных данных не видно никакого идентификатора архивного файла.
Так вот как бы его распаковать?

Barlog_M
() автор топика
Ответ на: комментарий от Barlog_M

Ну так скрипт посмотри. Он же как-то распаковывает!

Anoxemian ★★★★★
()
Ответ на: комментарий от Barlog_M

>> Так вот как бы его распаковать?

sh VMware-Workstation-6.5.0-118166.i386.bundle

или может какие-то опции есть:

sh VMware-Workstation-6.5.0-118166.i386.bundle --help

А если он не хочет просто распаковываться, а пытается какое-то дополнительное шаманство делать (типа инсталлятор =)), то найди где там начинаются собственно данные и распакуй руками. Примерно так:

tail -c +1234 VMware-Workstation-6.5.0-118166.i386.bundle | tar -xz

Здесь 1234 - это смещение в байтах от начала файла. Если файл не gzip'ом запакован, а с помощью bzip2 - ... | tar -xj. Сомневаюсь что там что-то нестандартное наворочено.

Deleted
()
Ответ на: комментарий от Deleted

sh VMware-Workstation-6.5.0-118166.i386.bundle --extract-only

попробуй

iRunix ★★★★
()

Скрипт там длинный вначале, он шаманит со смещениями и прочим.
--extract-only у него нет, и хелпа нет.

Я думал, может есть какая-нибудь утилитка, которая умеет распакаовать это.

Как такие файлы вообще делают? Как они по-английски назваются, что в поиск вбивать?

Barlog_M
() автор топика
Ответ на: комментарий от Barlog_M

>> Я думал, может есть какая-нибудь утилитка, которая умеет распакаовать это.

Я уже написал выше как его распаковать - tail на начало данных + tar.

>> Как такие файлы вообще делают?

Простейший вариант:

1) Пишем скрипт распаковки, который передаёт конец самого себя tar'у

mironov_ia@server ~/selfextract $ cat script.sh
#!/bin/sh
tail --bytes=+00 "${0}" | tar -vxj
exit 0

2) Заменяем 00 на размер скрипта + 1

mironov_ia@server ~/selfextract $ ls -l
итого 4
-rw-r--r-- 1 mironov_ia mironov_ia 53 Окт 3 15:50 script.sh
mironov_ia@server ~/selfextract $ sed -i "s/00/54/" script.sh

3) Приклеивам к скрипту архив

mironov_ia@server ~/selfextract $ cat script.sh somearchive.tar.bz2 > selfextract.sh

4) Готово, можем запускать как обычный скрипт:

mironov_ia@server ~/selfextract $ chmod a+x selfextract.sh
mironov_ia@server ~/selfextract $ ./selfextract.sh

Ещё для этого есть и специальные утилиты, например makeself (http://www.megastep.org/makeself/). Для неё кстати и автоматический распаковщик есть - unmakeself.

>> Как они по-английски назваются, что в поиск вбивать?

Self-extractable shell script, self-extractable tar, etc.

Deleted
()
Ответ на: комментарий от Deleted

Но зачем все это? Новый вид извращения?

anonymous
()

Вообще, все оказалось очень просто sh *.bundle

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.