Un paquete tiene 4 componentes principales:
- Una prioridad
- Una acción
- Un archivo ZIP o TAR.GZ que incluya cuántos archivos y directorios desea
- Un comando para lanzar
Nota: en el caso de que la acción esté configurada para “ejecutar”, no es necesario que cargue un archivo.
Hay 11 niveles de prioridad, que van del nivel 0 al 10. El nivel 0 es la prioridad más alta y el nivel 10 la más baja. El paquete de nivel de prioridad 0 se implementará antes que el paquete de prioridad 1. El paquete de nivel de prioridad 1 se implementará antes que el paquete de prioridad 2…
La acción está asociada con el archivo para implementar y el comando para iniciar. Este puede ser uno de los siguientes tres comandos:
- Acción de lanzamiento: para implementar un archivo ZIP o TAR.GZ y lanzar, con o sin parámetros, un archivo ejecutable incluido en el archivo ZIP o TAR.GZ. El archivo ZIP o TAR.GZ se descomprimirá en un directorio temporal, y el comando asociado (¡nombre del archivo ejecutable sin ruta!) Se ejecutará en este directorio temporal. Esta acción permite recuperar el código de resultado del comando lanzado.
- Acción Ejecutar: para implementar opcionalmente un archivo ZIP o TAR.GZ y lanzar, con o sin parámetros, un archivo ejecutable incluido o no en el archivo ZIP o TAR.GZ opcional. Si el ejecutable no está incluido en el archivo ZIP o TAR.GZ, ya debe estar instalado en las computadoras cliente. Por lo general, puede ser un comando estándar de Windows como la llamada de Windows Installer (es decir: msiexec), el comando RPM, DPKG o TAR.GZ en Linux. El archivo ZIP o TAR.GZ se descomprimirá en un directorio temporal y el comando asociado (nombre del archivo ejecutable con ruta o parámetros si es necesario) se ejecutará en este directorio temporal. Esta acción no permite recuperar el código de resultado del comando lanzado. Sin embargo, esta acción le permite ejecutar un comando en los equipos cliente, sin implementar ningún archivo. Por ejemplo, puede usarlo para ejecutar un comando de configuración del sistema operativo específico.
- Acción de almacenamiento: para implementar un archivo ZIP o TAR.GZ y solo almacenar su contenido en una carpeta en los equipos cliente. No hay ningún comando asociado con esta acción, solo una ruta para especificar dónde almacenar los archivos extraídos.
Nota: Todos los paquetes que desee implementar deben estar comprimidos con ZIP para agentes de Windows y tar gzip para computadoras Linux.
Si desea crear su propio instalador, puede consultar NullSoft Installer System (https://nsis.sourceforge.io/Main_Page) o Inno Setup (https://jrsoftware.org/). Estas herramientas son un instalador GPL para Windows capaz de crear un instalador autoextraíble de un archivo.
Por ejemplo, esta función le permite crear un paquete ZIP que incluye el ejecutable Media Player Classic, un subdirectorio que incluye algunos archivos MP3 y una lista de reproducción para Media Player Classic haciendo referencia a estos MP3 en un subdirectorio. El comando asociado será una llamada a Media Player Classic con un interruptor de línea de comando para iniciar la lista de reproducción. Una vez que este paquete se descargue en los clientes de Windows, los usuarios iniciarán Media Player Classic y reproducirán MP3 desde la lista de reproducción.
Usted crea su paquete de implementación a través de la consola de administración. Se describe automáticamente por:
- Una referencia en la base de datos, utilizada por el servidor de comunicaciones para pedirle al agente que descargue el paquete.
- Un archivo de información, llamado “info”. Es un archivo XML que describe el paquete y el agente de acción que tendrá que ejecutarse,
- 0 o más archivos de fragmentos de datos. El archivo que cargue (si lo hay) se dividirá en partes pequeñas para permitir que los agentes descarguen parte por parte y luego reanuden fácilmente una descarga fallida. Si la descarga de un fragmento falla, solo este fragmento se volverá a descargar, en lugar del paquete completo. Podrá elegir el tamaño del fragmento de acuerdo con las capacidades de su red.
Nota: Como cargará su paquete a través de la consola de administración, puede configurar PHP y Apache para permitir la carga de archivos grandes. Consulte Tamaño de las cargas para la implementación del paquete para saber cómo configurarlo.
Una vez que su paquete está construido, debe activarlo. La activación especifica de qué servidor (s) se descargarán los fragmentos del paquete. Debe especificar una URL https (ssl) para descargar el archivo INFO y una URL HTTP para descargar los fragmentos.
Finalmente, debe seleccionar en qué computadora (s) implementará el paquete.
Cuando el agente envía un inventario al servidor de comunicaciones, el servidor de comunicaciones le dice al agente si tiene uno o más paquetes para implementar, con el nivel de prioridad de cada paquete y dónde puede encontrar archivos de información.
Luego, el agente comienza un período de descarga. Un período está compuesto por ciclos, definidos por la opción de configuración “DOWNLOAD_PERIOD_LENGTH”. De forma predeterminada, un período contiene 10 ciclos.
En cada ciclo, el agente calcula la “prioridad de paquete de módulo de número de ciclo”. Si es igual a 0, descarga un archivo de fragmento de su paquete. El agente descarga solo un fragmento de un mismo paquete por ciclo. El agente descargará los otros fragmentos de su paquete cada vez que el resultado del cálculo de la “prioridad del paquete del módulo del número del ciclo” sea 0.
Después de cada fragmento, el agente esperará “DOWNLOAD_FRAG_LATENCY” (opción de configuración establecida en 10 segundos por defecto).
Cuando se descargan todos los fragmentos de un ciclo, el agente esperará “DOWNLOAD_CYCLE_LATENCY” (opción de configuración establecida en 60 segundos por defecto) antes de comenzar un nuevo ciclo e incrementar el número de ciclo.
Por ejemplo, si está implementando un paquete con una prioridad de 5, el agente haría una pausa para “DOWNLOAD_CYCLE_LATENCY” para los ciclos 1-4 y luego comenzaría a descargar un fragmento de su paquete cuando comience el ciclo 5.
Cuando se descargan todos los fragmentos de un paquete, el agente lanzará el comando del paquete la próxima vez que el cálculo del “número del ciclo, módulo, prioridad del paquete” sea 0.
Cuando se han procesado todos los ciclos de un período, se espera “DOWNLOAD_PERIOD_LATENCY” (opción de configuración establecida en 0 segundos por defecto).
Si todos los paquetes se han descargado e instalado correctamente, se detiene. Si no, comienza un nuevo período de ciclos.
Advertencia: el nivel de prioridad 0 es un nivel especial. Se descargarán todos los paquetes con prioridad 0 antes que todos los demás paquetes con mayor prioridad al inicio de cada ciclo. Si la descarga falla, el agente volverá a intentar descargar los paquetes fallidos de prioridad 0, sin verificar otros paquetes. Por lo que puede detener completamente las implementaciones.
¡USE EL NIVEL DE PRIORIDAD 0 CON CUIDADO!
Puede utilizar esta configuración para personalizar el uso del ancho de banda de su red. Al aumentar las opciones de latencia, aumentará el tiempo para descargar fragmentos y reducirá el promedio de uso de la red.
Al aumentar la opción de duración del período, retrasará la nueva descarga de fragmentos fallidos, pero también, al disminuir la duración del período a un valor inferior a 10, puede dejar de descargar el paquete con un nivel de prioridad superior a este valor.