6 votos

¿Cómo crear un paquete que ejecute un script de shell?

Mientras buscaba una buena (mejor) solución para esta Solución, intenté resolver mi problema con Packages, pero sin éxito.

Mi problema concreto parece simple:

  1. Copiar un archivo a /tmp (es un script de configuración)
  2. Ejecutar el siguiente comando:

    sudo installer -allowUntrusted -pkg "esets_remote_install.pkg" -target /

Así que hay algunas (o muchas) preguntas:

  1. Para resolver este problema, ¿he elegido Distribución o Paquete sin procesar?
  2. En un Paquete sin procesar (que también podría estar incluido en la distribución), puedo elegir Require admin password for installation, si esto está marcado, ¿todavía necesito sudo antes de install?

Mi primer intento fue agregar el paquete y el archivo para temp en Distribución Recursos adicionales en Requisitos y Recursos y ejecutar el script a través de Requisito. No funcionó. Mi segundo intento fue ponerlo en el Paquete sin procesar Carga y ejecutar el script a través de Pre-instalación. De nuevo, sin éxito. Incluso agregar el paquete y la configuración a Recursos adicionales no parece resolver mi problema.

Muchas gracias por todas las soluciones e ideas. Incluso una solución de consola a través de pkgutil es bienvenida.

9voto

Maxim Puntos 428

¿Podrías hacer esto con Platypus? Lo uso para empaquetar pequeños ejecutables con un script de shell en una aplicación de instalación, que utiliza el script de shell para mover los ejecutables a la carpeta de destino al ejecutarse. Sin embargo, seguirás teniendo problemas con tu resultado deseado, ya que no veo ninguna forma de ejecutar una instalación de paquete sin requerir acceso de administrador si el paquete normalmente modifica archivos que requieren permiso de administrador, pero deberías poder poner el paquete, el archivo de configuración y el script de instalación juntos en una aplicación usando Platypus. Luego, los usuarios finales pueden ejecutar la aplicación para instalar el paquete con la configuración que deseas.

La configuración es muy simple, la salida es mínima. Este no es un programa diseñado para hacer algo complicado, pero es gratuito y ha sido realmente útil para distribuir aplicaciones basadas en script escritas por uno mismo.

1 votos

PD: si eliges esta opción, los scripts se ejecutarán en Platypus dentro del programa en sí, por lo que no necesitas especificar la ruta de ninguno de los archivos incluidos en la aplicación empaquetada, solo la ruta a donde deben ser movidos al ejecutarse.

1 votos

El ornitorrinco es una herramienta increíble. Pruébala.

1 votos

Perfecto, exactamente lo que estoy buscando. Muchas gracias

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X