2009-07-28 4 views
8

Я пытаюсь обновить наш установщик, чтобы пользователь мог просто дважды щелкнуть файл и установить все зависимости и наше программное обеспечение. Это набор приложений, которые будут развернуты на чистой установке Ubuntu 8.04. Я исследовал создание файла .deb, но перечисление зависимостей не работает, потому что нет доступа к Интернету. И любой скрипт, который настроил локальный репозиторий apt, все равно должен быть запущен из командной строки. Есть ли способ разместить файл deb внутри файла deb?Установщик двойного щелчка в Ubuntu?

Я знаю, что многие компании отправляют сценарии оболочки, которые у вас есть для chmod + x, а затем выполняются. Это неприемлемо. Смешно, что это невозможно; особенно учитывая, что распределение и архитектура фиксированы.

+0

Значит, вы говорите, что уже знаете, что это невозможно? –

+0

Я знаю, что это невозможно, учитывая ограниченную информацию, которую я имею. Другие компании (такие как Adobe) должны поддерживать несколько дистрибутивов, поэтому они используют исполняемые сценарии bash. Хотя они работают через дистрибутивы, удобство использования ужасно. –

+3

Требование chmod + x считается функцией безопасности. Для этого нужны интерфейсы GUI, если это необходимо ... – bdonlan

ответ

0

После всего этого времени я нашел удовлетворительный ответ: самораспаковывающийся исполняемый файл makeself, который запускает скрипт установки с использованием sudo. Пользователь может либо запустить его с терминала (после chmod-it), либо дважды щелкнуть его и сказать «Run» из приглашения.

-1

В deb-файлы можно поместить deb-файлы. вам нужно всего лишь настроить соответствующие сценарии.

пакет .deb-файл состоит в следующем:

  • 1x control.tar.gz: содержит файл "контроль" (описывает пакет) и дополнительные файлы, как "postinst" (скрипт выполняется сразу после извлечения). есть и другие файлы, которые вы могли бы включить, Google должен предоставлять информацию о доступных сценариях.

  • 1x data.tar.gz: содержит некоторую структуру корневой файловой системы, которая содержит файлы/папки, которые необходимо (повторно) разместить. Кроме того, вы можете настроить поведение в указанных сценариях.

  • 1x debian-binary: насколько я помню, это просто номер версии в файле. не знает точно, что это значит, просто помните, что в большинстве случаев это 2,0

Так теперь вы можете поместить файлы .deb в данном-пакете. они извлекаются по вашему сценарию ... и устанавливаются с использованием:

# dpkg -i yourpackage1.deb yourpackage2.deb 

Надеюсь, что это разъяснит его часть. если вам нужны детали я могу исследовать дальше, я уже сделал некоторые DEB-пакеты для себя (скриптов я использую часто и т.д.)

относительно

+0

Сценарий после установки не может безопасно рекурсивно вызывать dpkg, поэтому это не сработает. – bdonlan

+0

Нужно ли это делать рекурсивно? что, если он, например, имеет все файлы .deb в/tmp-папке архива данных. shell-script den dpkg-i - все эти файлы за один шаг ... что с этим не так? – Atmocreations

4

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

Вы также можете легко установить скрипт. Что касается вашей жалобы на выполнение скриптов, то я не знаю, как вы отправляете свой продукт, но, поскольку вы говорите, что это куда-то без доступа в Интернет, я предполагаю, что он будет скопирован с какого-то носителя. Если вы сделаете исполняемый файл сценария, когда вы положите его на этот носитель, вы закончите.

Если вы хотите сделать это с помощью пакетов, вы можете создать компакт-диск, содержащий репозиторий пакетов. Вы можете найти всю информацию об этом с помощью google. Для начала попробуйте это - это GUI для этого. http://aptoncd.sourceforge.net/

+0

Приложение распространяется как tar-файл, я считаю. Но пользователям по-прежнему приходится извлекать их самостоятельно и запускать скрипт. –

+0

Ну, конечно, вы можете использовать этот tar-файл в качестве данных для пакета .deb и использовать сценарий для создания остальной части пакета. – Cascabel

Смежные вопросы