2009-07-28 12 views
8

Estoy intentando actualizar nuestro instalador para que un usuario simplemente haga doble clic en un archivo y tenga todas las dependencias y nuestro software instalados fácilmente. Este es un conjunto de aplicaciones que se implementarán en una instalación limpia de Ubuntu 8.04. He investigado la creación de un archivo .deb, pero enumerar las dependencias no funciona porque no hay acceso a Internet disponible. Y, cualquier secuencia de comandos que configuraría un repositorio de apt local todavía tendría que ejecutarse desde la línea de comandos. ¿Hay alguna manera de poner un archivo deb dentro de un archivo deb?¿Hace doble clic en el instalador en Ubuntu?

Sé que muchas empresas envían scripts de shell que tiene que chmod + x, luego ejecutar. Esto no es aceptable. Es ridículo que esto no sea posible; especialmente teniendo en cuenta que la distribución y la arquitectura son fijas.

+0

¿Estás diciendo que ya sabes que es imposible? –

+0

Sé que es imposible dada la información limitada que tengo. Otras compañías (como Adobe) deben admitir varias distribuciones, por lo que usan scripts bash ejecutables. Aunque funcionan en todas las distribuciones, la usabilidad es horrible. –

+3

Requerir chmod + x se considera una característica de seguridad. Hay interfaz gráfica de usuario para esto si es necesario ... – bdonlan

Respuesta

0

Después de todo este tiempo, encontré una respuesta satisfactoria: un ejecutable autoextraíble makeself que inicia el script de instalación usando sudo. El usuario puede ejecutarlo desde un terminal (después de modificarlo) o puede hacer doble clic en él y decirle "Ejecutar" desde el indicador.

-1

es posible poner deb-files en deb-files. lo único que debe hacer es configurar los scripts apropiados.

un .deb-fichero consiste en:

  • 1x control.tar.gz: contiene un archivo de "control" (describe el paquete) y archivos opcionales como "postinst" (secuencia de comandos ejecuta justo después de la extracción) hay otros archivos que podría incluir, google debería entregar información sobre los scripts disponibles.

  • 1x data.tar.gz: contiene alguna estructura del sistema de archivos raíz que contiene archivos/carpetas que deben ser (re) colocados. adicionalmente, puede configurar el comportamiento en los scripts mencionados.

  • 1x debian-binary: por lo que recuerdo, esto es simplemente un número de versión en un archivo. No sé exactamente lo que significa, sólo recuerda que en la mayoría de los casos esto es 2,0

por lo que ahora puede poner sus archivos .deb en el paquete de datos. ésos son extraídos por su secuencia de comandos ... e instalado usando:

# dpkg -i yourpackage1.deb yourpackage2.deb 

espero que aclare una parte. si necesita detalle que puedo investigar más, ya he hecho algunas deb-paquetes para mí mismo (guiones que utilice con más frecuencia, etc.)

respecto

+0

La secuencia de comandos posterior a la instalación no puede invocar de forma recursiva dpkg, por lo que no funcionará. – bdonlan

+0

¿necesita hacerlo recursivamente? ¿Qué sucede si tiene, por ejemplo, todos los archivos .deb en la carpeta/tmp del archivo de datos? el shell-script den dpkg-i es todos esos archivos en un solo paso ... ¿qué pasa con eso? – Atmocreations

4

Si no está totalmente seguro de que va a ser instalado en el mismo sistema cada vez , usted mismo puede encontrar la lista de dependencias de paquetes, obtenerlas de los repositorios de Ubuntu y empaquetarlas con su software. Solo tiene que tener en claro que su software es para una versión específica, probablemente se ocupe de cosas como mantenerse al día con las versiones de mantenimiento.

También puede instalar fácilmente con un script. En cuanto a su queja sobre cómo hacer que los guiones sean ejecutables, bueno, no sé cómo está enviando su producto, pero como dice que va a ir a algún lugar sin acceso a Internet, supongo que se va a copiar desde algún tipo de medio. Si haces el script ejecutable cuando lo pones en ese medio, listo.

Si desea hacer esto utilizando paquetes, puede crear un CD que contenga un repositorio de paquetes. Puede encontrar todo tipo de información sobre esto con google. Para empezar, intente esto: es una GUI para hacerlo. http://aptoncd.sourceforge.net/

+0

La aplicación se distribuye como un archivo tar, creo. Pero los usuarios aún tienen que extraerlo ellos mismos y ejecutar el script. –

+0

Bueno, ciertamente podría usar ese archivo tar como la información para un paquete .deb, y usar el script para crear el resto del paquete. – Cascabel

Cuestiones relacionadas