¿Qué tipos de instalador debe usar el software comercial para admitir Linux?

9

El código fuente no está abierto o libre, por lo que la compilación en la instalación no es una opción. Hasta ahora he visto desarrolladores que:

  • proporcione un archivo tar.gz y depende del usuario descomprimir en una 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.
  • proporcionar archivos RPM y / o deb, lo que permite al usuario continuar utilizando 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 que la vida de los usuarios sea lo más fácil posible y, al mismo tiempo, mantener la menor infraestructura de compilación / empaquetado / instalador posible.

Buscando recomendaciones sobre cómo empaquetar mi software.

Mike Gray
fuente

Respuestas:

19

Veo dos formas 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 RPM para Linux de tipo Red Hat primero, y luego, cuando el tiempo lo permitía, reconstruir el RPM de origen para cada Linux basado en RPM menos popular. Es por eso que, digamos, el RPM Mandriva es a menudo un poco más antiguo que el RPM Red Hat o SuSE. Sin embargo, con Ubuntu siendo tan popular en los últimos años, es posible que desee comenzar con .deb y agregar RPM más tarde.

La otra es tratar de apuntar a todos los Linux a la vez, que es lo que intentan los que proporcionan tarballs binarios. Realmente no me gusta esta opción, como administrador de sistemas y usuario final. Tales tarballs dispersan los archivos por todo el sistema en el que los descomprime, y no hay opción más adelante 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, más tarballs binarios para Linux extraños y administradores de sistemas de la vieja escuela a quienes no les gustan los administradores de paquetes por cualquier razón.

Warren Young
fuente
Este es casi exactamente el enfoque que he tomado hasta ahora: comencé con RPM para Redhat / Fedora / CentOS, ahora proporciono archivos Ubuntu / Debian .deb, pero aún no había decidido si hacer un tar.gz aún sería útil y necesario. Parece que sería bueno permitir que los usuarios con distribuciones menos populares al menos hagan que el software funcione por sí mismos en lugar de ni siquiera tener una opción. Gracias.
Mike Gray
2
Hacer un tarball binario portátil puede ser mucho más trabajo de lo que imaginas. Solo una trampa potencial es que g ++ ABI ha cambiado varias veces a lo largo de los años, por lo que es posible que deba enviar versiones binarias de cualquier biblioteca C ++ que use en lugar de usar las versiones de plataforma para lograr una compatibilidad lo suficientemente amplia. Esta es una razón por la que un solo RPM binario no se instala y ejecuta en todas partes. Sin embargo, parece haber una aceptación cultural de este hecho con RPM, mientras que los tarballs, probablemente porque son un estándar antiguo, se espera que funcionen en todas partes.
Warren Young
He visto que el enfoque mixto es el mejor: que puedes llegar a mucha gente y el esfuerzo no es demasiado.
Hugo
Hacer un tarball binario simple sigue siendo bueno. Especialmente si ese tarball almacena todos los archivos del juego en un directorio autónomo. Permitirá a algunos usuarios descomprimirlo y ejecutarlo sin instalarlo; y también facilitará la vida a otras distribuciones (como Gentoo, Arch, etc.), porque les será más fácil desempaquetar / reempaquetar ese tarball.
Denilson Sá Maia
4

Hagas lo que hagas, asegúrate de incluir un "script de soporte" que te permita recopilar tanta información como sea posible en el sistema de destino para solucionar errores. Le garantizo que se encontrará con problemas y depuración de cosas que el cliente dice frente a la realidad a menudo es muy diferente.

vwduder
fuente
0

Mi preferencia es siempre por un paquete (rpm | deb, etc.). Dependiendo de la naturaleza del software, puede valer la pena apuntar a paquetes para distribuciones específicas (rhel / centos, etc.), pero probablemente nunca podrá lanzar suficientes paquetes para todos.

Instalar guiones puede estar bien, dependiendo del guión. Para mí, lo más importante con el software no empaquetado es que es fácil instalarlo en la ubicación que elijo.

el otro recibir
fuente
0

Los juegos tienden a usar un instalador (anteriormente Loki Installer, actualmente MojoSetup), que instala un juego limpiamente en un prefijo y maneja cosas como iconos.

directhex
fuente