У нас есть серверное приложение Linux, которое состоит из ряда инструментов с открытым исходным кодом, а также программ, которые мы написали сами. В идеале мы хотели бы иметь возможность установить это приложение на любой распространенный дистрибутив Linux.
В прошлом мы писали Perl-скрипты для автоматизации установки этого приложения. К сожалению, из-за особенностей различных дистрибутивов Linux логика внутри этих скриптов установки становится ужасно сложной и может меняться по мере выпуска новых версий каждого поддерживаемого дистрибутива. Таким образом, поддержка установщика становится одной из самых трудоемких частей проекта!
Я ищу помощь, будь то структура, документация, примеры кода, которые могут сделать этот процесс менее болезненным. Вот что нужно сделать нашему установщику:
Создание учетных записей пользователей / групп
Создание деревьев каталогов с определенным владельцем и разрешениями
Установка приложений с открытым исходным кодом, потенциально компилируя их из исходного кода во время установки
Вставка предварительно скомпилированных двоичных файлов, сценариев, файлов конфигурации и документов в определенные каталоги
Регистрация сценариев запуска и завершения типа init
Генерация ключей шифрования
Проверка подключения к центральному серверу