Quais tipos de instalador o software comercial deve usar para suportar o Linux?

9

O código-fonte não está aberto ou livre, então a compilação na instalação não é uma opção. Até agora tenho visto desenvolvedores que:

  • fornece um arquivo tar.gz e cabe ao usuário descompactar no local adequado.
  • forneça um .tar.gz com um script install.sh para executar um instalador básico, possivelmente até mesmo solicitando ao usuário opções de instalação.
  • fornece arquivos RPM e / ou deb, permitindo que o usuário continue usando as ferramentas nativas de gerenciamento de pacotes com as quais está familiarizado para instalar / atualizar / desinstalar.

Gostaria de oferecer suporte ao maior número de distribuições Linux, tornar a vida dos usuários o mais fácil possível e, ao mesmo tempo, manter a menor infraestrutura de criação / empacotamento / instalação possível.

Procurando recomendações sobre como empacotar meu software.

    
por Mike Gray 16.08.2010 / 15:56

4 respostas

19

Eu vejo duas maneiras de ver isso.

Um é direcionar os Linuxes mais populares, fornecendo pacotes nativos para cada um, entregando pacotes em ordem de popularidade. Alguns anos atrás, isso significava fornecer RPMs para Linuxes do tipo Red Hat primeiro, e depois, conforme o tempo permitir, a reconstrução do RPM de origem para cada Linux menos popular baseado em RPM. É por isso que, digamos, o Mandriva RPM é geralmente um pouco mais antigo que o Red Hat ou SuSE RPM. Com o Ubuntu sendo tão popular nos últimos anos, você pode querer começar com .deb e adicionar RPM depois.

O outro é tentar direcionar todos os Linuxes de uma só vez, o que é o que aqueles que fornecem tarballs binários estão tentando. Eu realmente não gosto dessa opção, como um administrador de sistema e usuário final. Esses tarballs espalham arquivos por todo o sistema em que você os descompacta, e não há opção mais tarde para detalhes como desinstalação, verificação de pacotes, upgrades inteligentes, etc.

Você pode tentar uma abordagem mista: pacotes nativos para os Linuxes mais populares, além de tarballs binários para Linuxes excêntricos e administradores de sistemas antigos que não gostam de gerenciadores de pacotes por qualquer motivo.

    
por 16.08.2010 / 16:11
4
Independentemente do que você fizer, certifique-se de incluir um "script de suporte" que permita coletar o máximo de informações possível no sistema de destino para solucionar erros. Eu garanto que você vai se deparar com problemas e depurar coisas que o cliente diz, mas a realidade é muito diferente.

    
por 17.08.2010 / 21:20
0

Minha preferência é sempre por um pacote (rpm | deb etc.). Dependendo da natureza do software, pode valer a pena direcionar pacotes para distros específicos (rhel / centos etc.), mas você provavelmente nunca conseguirá distribuir pacotes suficientes para todos.

Os scripts de instalação podem estar ok, dependendo do script. Para mim, a coisa mais importante com software não empacotado é que é fácil instalá-lo em um local que eu escolher.

    
por 16.08.2010 / 16:11
0

Os jogos tendem a usar um instalador (antigo Loki Installer, atualmente MojoSetup), que instala um jogo de maneira limpa em um prefixo e manipula coisas como ícones.

    
por 17.08.2010 / 15:02