Просто не внедряйте библиотеку хранилища в файл Gradle, тогда ваше приложение вообще не будет подключаться к Firebase Storage, и ваша сборка будет немного быстрее, так как не будет загружаться вся библиотека Firebase Storage
Вместо подхода установщика я думаю лучший путь, чем наличие единственного сценария, который делает это во время установки, должен иметь систему сборки, которая генерирует .deb или .rpm файлы, подходящие для установки в каждой системе, которую необходимо поддерживать.
Способ бедного человека идти в этом мог бы состоять в том, чтобы использовать checkinstall, который создает пакеты из файлов, установленных через, 'делают установку'. Таким образом, Вы создали бы свое приложение в каждой системе и создавать пакет волшебно в собственном формате дистрибутива.
Я полагаю, что большинство задач, которые Вы описываете, справедливо стандартизировано между дистрибутивами Linux. По моему опыту, следующее должно работать семейство Debian (включая Ubuntu) и семейство Red Hat (включая Fedora и CentOS):
adduser
командаmkdir
или install
, или просто разверните tarballinstall
, или просто разверните tarballinstall
кому: /etc/init.d
затем символьная ссылка на /etc/rc*.d
VMware Server в свободном доступе для Linux и делает большинство задач, которые Вы описываете. Это использует Perl, и, возможно, окружите для его установки и конфигурации, таким образом, Вы могли бы видеть подход, который это проявляет.
Однако говоря как администратор Linux, я сильно предпочитаю приложения, которые интегрируются с моей системой управления пакета. Другими словами, создайте .deb и .rpm файлы как предложенный Vinko Vrsalovic. Создание пакетов чрезвычайно хорошо документируется:
Я попробовал Автопакет несколько лет назад, не знайте, как универсальный это слишком обработано вполне хорошо (было единственное действительно универсальное очень давно). Конечно, необходимо обеспечить некоторые совместимые с LSB способы настроить надлежащие каталоги самостоятельно, но эта часть программного обеспечения должна помочь Вам.
Хотя существует, вероятно, все еще слишком много разнообразия среди дистрибутивов Linux, чтобы сделать все абсолютно агностическим платформой способом, но я могу быть неправым.
Можно хотеть попробовать BitRock InstallBuilder. Это - кросс-платформенная программа установки, которая позволяет Вам делать точно, что Вы ищете (добавляющие пользователи, устанавливая сервисы, установите предварительно скомпилированные двоичные файлы, и т.д.). Хотя некоторые из других сообщений упоминают много инструментов, которые Вы могли использовать в своих сценариях, проблема состоит в том, что каждый дистрибутив Linux является немного различными и простыми задачами как добавление пользователя или установщика, сервис внезапно нетривиален, когда необходимо сделать их через Debian, Ubuntu, Mandriva, Redhat, хинду, и т.д. Хороший кросс-платформенный установщик должен изолировать Вас от всего это. Многие коммерческие компании с открытым исходным кодом как MySQL, SugarCRM, Zenoss, Jaspersoft, Основа и т.д. создала установщики на основе нашей технологии точно из-за этого (в дополнение к их регулярному исходному коду tarballs, и т.д.) Мы также предоставляем бесплатные лицензии на проекты с открытым исходным кодом.