
El código fuente no es abierto ni gratuito, por lo que la compilación durante la instalación no es una opción. Hasta ahora he visto desarrolladores que:
- proporcione un archivo tar.gz y el usuario debe descomprimirlo en la ubicación adecuada.
- proporcione un .tar.gz con un script install.sh para ejecutar un instalador básico, posiblemente incluso solicitando al usuario opciones de instalación.
- proporciona archivos RPM y/o deb, lo que permite al usuario continuar usando las herramientas nativas de administración de paquetes con las que está familiarizado para instalar/actualizar/desinstalar.
Me gustaría admitir la mayor cantidad de distribuciones de Linux, hacer la vida de los usuarios lo más fácil posible y, al mismo tiempo, mantener la menor infraestructura de compilación/empaquetado/instalación posible.
Buscando recomendaciones sobre cómo empaquetar mi software.
Respuesta1
Veo dos maneras de verlo.
Una es apuntar a los Linux más populares, proporcionando paquetes nativos para cada uno, entregando paquetes en orden de popularidad. Hace unos años, eso significaba proporcionar primero RPM para Linux tipo Red Hat y luego, cuando el tiempo lo permitiera, reconstruir el RPM de origen para cada Linux basado en RPM menos popular. Esta es la razón por la que, digamos, el RPM de Mandriva suele ser un poco más antiguo que el RPM de Red Hat o SuSE. Sin embargo, dado que Ubuntu es tan popular en los últimos años, es posible que desee comenzar con .deb y agregar RPM más adelante.
La otra es tratar de apuntartodoLinux a la vez, que es lo que intentan aquellos que proporcionan archivos tar binarios. Realmente no me gusta esta opción, como administrador de sistemas y usuario final. Estos archivos comprimidos dispersan los archivos por todo el sistema en el que los descomprimes, y luego no hay opción para detalles como desinstalación, verificación de paquetes, actualizaciones inteligentes, etc.
Puede probar un enfoque mixto: paquetes nativos para los Linux más populares, además de archivos tar binarios para Linux excéntricos y administradores de sistemas de la vieja escuela a quienes no les gustan los administradores de paquetes por cualquier motivo.
Respuesta2
Mi preferencia siempre es por un paquete (rpm|deb, etc.). Dependiendo de la naturaleza del software, puede que valga la pena seleccionar paquetes para distribuciones específicas (rhel/centos, etc.), pero probablemente nunca podrá distribuir suficientes paquetes para todos.
La instalación de scripts puede estar bien, dependiendo del script. Para mí, lo más importante del software no empaquetado es que es fácil de instalar en la ubicación que yo elija.
Respuesta3
Los juegos tienden a usar un instalador (anteriormente Loki Installer, hoy en día MojoSetup), que instala un juego limpiamente en un prefijo y maneja cosas como íconos.