2.5 Creación de lotes mediante la utilidad de línea de comando zman

ZENworks Configuration Management permite crear distintos tipos de lotes como, por ejemplo, lotes de Windows, lotes de archivos, lotes de directivas y lotes de imágenes. Cada lote dispone de su propio conjunto de datos y su propia configuración. Como es difícil pasar los datos como argumentos en la línea de comandos, la utilidad zman emplea archivos XML como entrada para crear lotes. Si desea emplear la utilidad de línea de comandos zman para crear un lote, deberá disponer de un lote del mismo tipo creado mediante el Centro de control de ZENworks y exportarlo a XML. Para obtener más información acerca de la creación de lotes mediante el Centro de control de ZENworks, consulte el Sección 2.0, Creación de lotes. Puede usar el archivo XML exportado como plantilla para crear lotes usando zman.

Por ejemplo, puede exportar un lote de archivos creado previamente mediante el Centro de control de ZENworks en un archivo XML y, a continuación, usarlo para crear otro lote de archivos con zman.

Un lote puede tener contenido de archivo asociado. Por ejemplo, un archivo MSI que se deba instalar constituye el contenido de archivo asociado a un lote MSI de Windows.

Los lotes también pueden tener dependencias respecto a otros lotes.

Revise las siguientes secciones para crear un lote mediante la utilidad de línea de comando zman:

2.5.1 Creación de un lote sin contenido ni dependencias respecto a otros lotes

  1. Cree un lote en el Centro de control de ZENworks.

    Por ejemplo, use el Centro de control de ZENworks para crear un lote de aplicación Web llamado “google” que ejecute el sitio Web de Google.

  2. Exporte el lote a un archivo XML mediante el siguiente comando:

    zman bundle-export-to-file nombre_lote nombre_archivo_lote.xml

    Por ejemplo, para exportar el lote google a google.xml, utilice el comando zman bundle-export-to-file google google.xml.

    Si desea crear un nuevo lote con datos nuevos, continúe con el Paso 3. Si desea crear un nuevo lote con los mismos datos que el lote google, diríjase al Paso 4.

  3. Modifique el archivo XML según sus necesidades.

    Por ejemplo, cambie el valor de <URL> de http://www.google.com a http://www.yahoo.com en la sección Acción Lanzar URL de Conjunto de acciones de lanzamiento, en el archivo XML, tal como se muestra a continuación.

       <ns2:ActionSets>
    
            <Id>104e5d74804052eb7ddc4a2f54358d97</Id>
    
           <Type>Launch</Type>
    
            <Version>1</Version>
    
            <Modified>false</Modified>
    
            <Data>
    
                <ns1:Launch/>
    
            </Data>
    
            <Actions>
    
                <Id>2ef5c645774759e9868ba2c157301949</Id>
    
                <Type>Launch URL Action</Type>
    
                <Data>
    
                    <ns1:LaunchUrlActionData>
    
                        <URL>http://www.yahoo.com</URL>
    
                        <WaitForExit>false</WaitForExit>
    
                    </ns1:LaunchUrlActionData>
    
                </Data>
    
                <ContinueOnFailure>false</ContinueOnFailure>
    
                <Enabled>true</Enabled>
    
                <Properties />
    
            </Actions>
    
        </ns2:ActionSets>
    
  4. Cree un lote nuevo mediante el siguiente comando:

    zman bundle-create nombre_lote_nuevo nombre_archivo_xml_lote.xml

    Por ejemplo, para crear el lote yahoo, escriba el comando zman bundle-create yahoo google.xml en el indicador de la consola.

2.5.2 Creación de un lote con contenido y dependencias respecto a otro lote

  1. Cree dos lotes en el Centro de control de ZENworks.

    Por ejemplo, use el Centro de control de ZENworks para crear dos lotes de aplicaciones MSI llamados “officeXP” y “officeXPSP1”. El lote officeXP permite instalar Microsoft Office XP a través de un archivo MSI. El lote officeXPSP1 permite instalar el Service Pack 1 para Microsoft Office XP. En el lote officeXP, incluya una acción Instalar lote para instalar officeXPSP1.

  2. Exporte a un archivo XML el lote que tenga la dependencia con respecto a otro lote usando el siguiente comando:

    zman bundle-export-to-file nombre_lote nombre_archivo_lote.xml

    De este modo se crean los archivos nombre_de_archivo_de_lote.xml y nombre_de_archivo_de_lote_ActionContentInfo.xml.

    Por ejemplo, para exportar el lote officeXP a officeXP.xml, utilice el comando zman bundle-export-to-file officeXP officeXP.xml. Se crearán los archivos officeXP.xml y officeXP_ActionContentInfo.xml.

    Encontrará plantillas xml de muestra, WindowsMSIBundle.xml y ActionInfo.xml, en el directorio /opt/novell/zenworks/share/zman/samples/bundles en servidores Linux y en "%ZENWORKS_HOME%\Novell\Zenworks\share\zman\samples\bundles en servidores Windows. Para obtener más información acerca de ActionContentInfo.xml, consulte la Sección 2.5.3, Descripción del formato de archivo XML para lotes creados con zman.

    Si desea crear un nuevo lote con datos nuevos, continúe con el Paso 3. Si desea crear un nuevo lote con los mismos datos que el lote officeXP, diríjase al Paso 4.

  3. Modifique los archivos officeXP.xml y officeXP_ActionContentInfo.xml según sus necesidades.

    Por ejemplo, para crear un nuevo lote para instalar ApplicationX y el paquete de soporte correspondiente, haga lo siguiente:

    • Cambie todas las referencias de officeXP.msi a ApplicationX.msi en el archivo officeXP_ActionContentInfo.xml.

    • Cree otro lote llamado ApplicationX-SP1 que instale el paquete de soporte para ApplicationX.

    • Cambie la vía del lote dependiente OfficeXPSP1 a ApplicationX-SP1 en el archivo officeXP_ActionContentInfo.xml para instalar tanto ApplicationX como el paquete de soporte correspondiente.

    Un archivo de muestra officeXP_ActionContentInfo.xml tiene el siguiente aspecto:

    <ActionInformation>
    
       <ActionSet type="Install">
    
            <Action name="Install MSI" index="1">
    
                <Content>              
    
                    <ContentFilePath includeAllFilesinFolder="false"
    
    includeAllFilesinSubFolders="false">E:\files\ApplicationX.msi</ContentFilePath>
    
                </Content>                            
    
            </Action>
    
            <Action name="Install Bundle" index="2">
    
             <DependentBundlePath>bundlefolder/ApplicationX-SP1</DependentBundlePath>             
    
            </Action>
    
        </ActionSet>
    
        <ActionSet type="Uninstall">
    
            <Action name="Undo Install Actions" index="1">
    
                <Content>                
    
                    <ContentFilePath includeAllFilesinFolder="false" includeAllFilesinSubFolders="false">E:\files\ApplicationX.msi</ContentFilePath>
    
                </Content>
    
            </Action>
    
        </ActionSet>
    
    </ActionInformation>
    
  4. Cree un lote mediante el siguiente comando:

    zman bundle-create nombre_lote_nuevo nombre_archivo_xml_lote.xml ubicación_lote --actioninfo nombre_lote_ActionContentInfo.xml

    Si no especifica la ubicación para crear el lote, éste se creará en la carpeta raíz (/Bundles) por defecto.

    Por ejemplo, use el siguiente comando para crear un lote llamado ApplicationX en la carpeta raíz (/Bundles):

    zman bundle-create ApplicationX officeXP.xml --actioninfo officeXP_ActionContentInfo.xml

    También puede especificar la carpeta en la que se debe crear el lote.

    Por ejemplo, use el siguiente comando para crear un lote llamado ApplicationY en la carpeta Software, dentro de la carpeta raíz (/Bundles/Software):

    zman bundle-create ApplicationY officeXP.xml /Bundles/Software --actioninfo officeXP_ActionContentInfo.xml

2.5.3 Descripción del formato de archivo XML para lotes creados con zman

El comando bundle-export-to-file permite serializar la información de un lote, que se encuentra almacenada en la base de datos, en un archivo XML. Cada lote contiene acciones que se agrupan en conjuntos de acciones como, por ejemplo, Instalar y Lanzar. Un archivo XML de lote exportado incluye información relacionada con el lote como, por ejemplo, el UID, el nombre, la vía, el tipo principal, el tipo secundario, la categoría, los requisitos de sistema, así como información sobre todos los conjuntos de acciones y sus acciones. El archivo no incluye información acerca de las asignaciones del lote a dispositivos o usuarios ni imágenes adicionales para el lote.

Encontrará una plantilla de formato XML de muestra, WindowsMSIBundle.xml, en /opt/novell/zenworks/share/zman/samples/bundles en servidores Linux y en "%ZENWORKS_HOME%\\Novell\Zenworks\share\zman\samples\bundles en servidores Windows.

NOTA:si el archivo XML exportado contiene caracteres ASCII extendidos, deberá abrirlo en un editor usando la codificación UTF-8 en lugar de la codificación ANSI, dado que con esta última los caracteres ASCII extendidos no se muestran correctamente.

Cuando se crea un lote a partir de un archivo XML, zman utiliza la información especificada en los siguientes elementos del archivo: <Description> (Descripción), <SubType> (Tipo secundario), <Category> (Categoría), <ActionSets> (Conjuntos de acciones) y <SysReqs> (Requisitos de sistema). Los valores del nombre y de la carpeta padre se toman de la línea de comandos. Para el resto de elementos, se usan los valores por defecto.

Siga las instrucciones que se indican a continuación para trabajar con el archivo XML:

  • Si desea crear un lote sin contenido de archivo o sin dependencia de otro lote, sólo necesitará el archivo XML de lote para crearlo.

  • Si desea crear un lote con contenido o con dependencias con respecto a otro lote, deberá proporcionar un archivo XML adicional que incluya la vía al archivo de contenido o al lote dependiente, como argumento de la opción --actioninfo del comando bundle-create.

    Encontrará una plantilla de formato XML de muestra, ActionInfo.xml, en /opt/novell/zenworks/share/zman/samples/bundles en servidores Linux y en "%ZENWORKS_HOME%\\Novell\Zenworks\share\zman\samples\bundles en servidores Windows.

  • Si desea modificar el elemento <Data> (Datos) de las acciones en el archivo XML exportado, asegúrese de que los nuevos datos son correctos y se ajustan al esquema. La utilidad zman efectúa una validación mínima de los datos y no comprueba si contienen errores. En consecuencia, es posible que el lote se cree correctamente, pero que incluya datos no válidos. En ese caso, el lote fallará cuando se distribuya en un dispositivo gestionado.

  • El contenido de archivo o las dependencias de lote se asocian con una acción determinada en <ActionSet> (Conjunto de acciones). El archivo XML de información de contenido de la acción debe incluir la vía del archivo al que se debe asociar el contenido y el índice de la acción en <ActionSet> (Conjunto de acciones).

    Por ejemplo, el archivo MSI que se debe instalar cuando se crea el lote MSI de Windows está asociado a la primera acción Instalar MSI del conjunto de acciones Instalar del lote MSI de Windows creado.

  • El valor de <ActionSet> (Conjunto de acciones) se especifica mediante el atributo type (tipo). El tipo debe coincidir con el del conjunto de acciones del archivo XML del lote.

  • El elemento <Action> (Acción) dispone de un atributo de nombre, que es opcional, para facilitar la lectura por parte del usuario.

  • El atributo index (índice) es obligatorio. Especifica la acción a la que se debe asociar el contenido o la dependencia. El valor de índice de la primera acción de <ActionSet> (Conjunto de acciones) es 1.

  • Cada acción puede incluir varios elementos <Content> (Contenido) y éstos, a su vez, incluir un elemento <ContentFilePath> (Vía al archivo de contenido). El elemento <ContentFilePath> (Vía al archivo de contenido) muestra la vía al contenido de archivo que se debe asociar a la acción. Asegúrese de que el nombre de archivo es el mismo que el nombre de archivo especificado en el archivo XML del lote en el campo <Data> (Datos) para esa acción.

  • Asegúrese de que el orden de los elementos <Content> (Contenido) se ajusta al orden del archivo XML del lote. Por ejemplo, el lote MSI de Windows debería tener el archivo MSI en el primer elemento <Content> (Contenido), seguido de los elementos <Content> (Contenido) con las vías a los archivos MST en el orden especificado en el campo <Data> (Datos) de esa acción.

  • Para crear lotes MSI de Windows, se pueden incluir todos los archivos en la carpeta o en las subcarpetas configurando como verdaderos los atributos includeAllFilesinFolder (Incluir todos los archivos en una carpeta) e includeAllFilesinSubFolders (Incluir todos los archivos en subcarpetas). La dependencia con otro lote se puede especificar indicando la vía del lote como un valor del elemento <DependentBundlePath> (Vía del lote dependiente). Las vías de lote que se especifiquen deben hacer referencia a /Bundles, tal y como se indica a continuación.

    <ActionSet type="Install">
    
    <Action name="Install MSI" index="1">
    
    <Content>
    
    <ContentFilePath includeAllFilesinFolder="false" includeAllFilesinSubFolders="false">E:\files\ApplicationX.msi</ContentFilePath>
    
    </Content>
    
    <Content>
    
    <ContentFilePath includeAllFilesinFolder="false"
    
    includeAllFilesinSubFolders="false">E:\files\ApplicationX_MST1.mst</ContentFilePath>
    
    </Content>
    
    </Action>
    
    <Action name="Install Bundle" index="2">
    
    <DependentBundlePath>bundlefolder/ApplicationX-SP1</DependentBundlePath>
    
    </Action>
    
    </ActionSet>
    
  • Para obtener el UID de un objeto, use el comando object-get-GUID. Debe editar manualmente los UID de los objetos en el archivo XML del lote en las siguientes situaciones:

    • En los requisitos de sistema del lote instalado, la vía y el UID del lote se deben modificar en el elemento <BundleInstalledReq> (Requisitos de lote instalado) de <SysReqs> (Requisitos del sistema).

    • En el lote de imágenes, el UID del servidor que contiene el archivo .img se debe modificar manualmente en las acciones de imagen de ZENworks y de conjunto de imágenes de multidifusión. Asimismo, el UID del lote de aplicación enlazada se debe cambiar manualmente en las acciones de lote de aplicaciones enlazadas y de conjunto de imágenes de multidifusión. Asegúrese de que el lote enlazado disponga ya de una imagen adicional que se haya creado manualmente, puesto que no se crea automáticamente cuando el lote se enlaza al lote de imagen.