LINUX.ORG.RU

как создать самораспаковывающийся архив....


0

1

Уважаемые господа,посоветуйте что можно сделать и как...в общем стоит такая задача...есть несколько программ (несколько файлов,один файл-одна программа)и библиотеки для них (папка lib)...их нужно положить в какой-нибудь архив или пакет,чтобы можно было при установке этого пакета или распаковки архива эти программки и библиотеки скопировались куда нужно,чтоб была возможность где-то указать куда надо их скопировать...что можно использовать для этих целей?

Не нужно. Если программа - deb или rpm. Если просто архив - что проще правого клика и extract?

anonymous
()

Я сейчас точно не скажу как (а гуглить сам не хочу), но можно к скрипту на shell прицепить бинарник и с ним работать. Бинарник может быть и архив, а в скрипте можно вызывать всякие tar/gzip/bzip2/разное.

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

Правой кнопкой на архив и что-то типа extract/распаковать. Появится окошко, где тыркнешь, куда хочешь распаковать, и процесс пойдет.

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

Любые файлы можно запихать в пакет. Если у них всегда одно и то же расположение, то именно так и стоит сделать. Например, таким образом идут наборы значков.

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

> Например, таким образом идут наборы значков.

И смайликов, ага :)

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

> ну другими словами че можно использовать чтоб распаковать нужные мне файлы в нужные мне директории

Блин, ну сказал же: надо объединить архив и установочно-распаковывающий скрипт в один файл. Только и всего.

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

> этот один файл тоже будет архивом?и получается,распаковать этот архив и запустить скрипт?
Это будет скрипт с пришпандоренным архивом в конце. Ключевой момент:
cat script.sh package.tar.gz > package.run

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

foust, Diffor - от меня тож спасибо, пригодится.

S_Paul ★★★★★
()

Заранее в архиве не судьба сделать правильную структуру дерева директорий?

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

спасибо!! а вот еще вопрос такой...допустим я соберу из всего что мне нужно rpm-пакет...а в каком там месте в spec-файле указывается,куда что копировать при его установке?

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

> а вот еще вопрос такой...допустим я соберу из всего что мне нужно rpm-пакет
Вы собрались в rpm-пакет пихать самораспаковывывющийся скрипт-архив?
Не надо так делать.

spec-файле

не силён в spec`ах, но думаю достаточно сформировать правильную иерархию файлов и каталогов и ничего не нужно будет дополнительно указывать.

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

> а в каком там месте в spec-файле указывается,куда что копировать при его установке?

В процессе сборки файлы так или иначе раскладываются в каталоге, на который указывает $RPM_BUILD_ROOT. Это можно делать через make install (если тарбол аккурстно сделан), можно банально через cp и так далее. Плюс кое-что может делаться в %post и %pre скриптах. Можно по-русски почитать тут: http://www.altlinux.org/Sisyphus
Только следует помнить про alt-специфичность. Но там ссылки есть и на общую документацию и примеры.

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

makeself должен быть в репозитории, ставь и man makeself, там всё написано

alex_custov ★★★★★
()

Не нужно

Самораспаковывающиеся архивы нужны только в виндовс, по той причине что у кого то из бедолаг нет архиватора. В линукс такая ситуация может возникнуть если лишь этот счастливец установит обрезаную Ос от Дениса Попова.

Mobyshvein
()
Ответ на: Не нужно от Mobyshvein

дада. это в линукс спрашивают как создать самораспаковывающийся архив, а бедолаги под winwows просто их создают.

по той причине что у кого то из бедолаг нет архиватора.

это про линукс. корпоративщики запаковали в rpm исходники программы который в обычных дистрах не поддерживается

tommy ★★★★★
()

спасибо все большое! хоть маленько стало ясно кое что...буду пробовать..!спасибо!

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