2.5 Creazione di pacchetti utilizzando la utility da riga di comando zman

ZENworks Configuration Management consente di creare diversi tipi di pacchetti, ad esempio Windows, File, Direttiva e Imaging. Ogni pacchetto dispone di un set di dati e di impostazioni di configurazione propri. Poiché il passaggio dei dati come argomenti nella riga di comando rappresenta un'operazione complicata, l'utility zman utilizza i file XML come input per creare i pacchetti. A questo scopo, è necessario disporre di un pacchetto dello stesso tipo di quello già creato con il Centro di controllo ZENworks ed esportarlo nel formato XML. Per ulteriori informazioni sulla creazione di pacchetti utilizzando il Centro di controllo ZENworks, vedere Sezione 2.0, Creazione di pacchetti. È possibile utilizzare il file XML esportato come modello per creare pacchetti utilizzando zman.

È ad esempio possibile esportare un pacchetto File creato mediante il Centro di controllo ZENworks in un file XML, quindi utilizzarlo per creare un altro pacchetto File con zman.

Un pacchetto può includere contenuto di file associato. Ad esempio, un file MSI da installare può rappresentare un contenuto di file associato a un pacchetto Windows MSI.

I pacchetti possono anche includere dipendenze da altri pacchetti.

Per creare un pacchetto utilizzando la utility da riga di comando zman, leggere le seguenti sezioni:

2.5.1 Creazione di un pacchetto senza contenuto o dipendenza da un altro pacchetto

  1. Creare un pacchetto nel Centro di controllo ZENworks.

    È ad esempio possibile utilizzare il Centro di controllo ZENworks per creare un pacchetto Applicazione Web denominato google che avvia il sito Web di Google.

  2. Esportare il pacchetto in un file XML utilizzando il seguente comando:

    zman bindle-export-to-file nome_pacchetto pacchetto_nomefile.xml

    Esportare ad esempio il pacchetto google in google.xml utilizzando il comando zman bundle-export-to-file google google.xml.

    Se si desidera creare un nuovo pacchetto con nuovi dati, continuare con Passaggio 3. Se si desidera creare un nuovo pacchetto con gli stessi dati del pacchetto google, passare a Passaggio 4.

  3. Modificare il file XML in base alle proprie esigenze.

    Modificare ad esempio il valore di <URL> da http://www.google.co.in in http://www.yahoo.com nella sezione Avvia azione URL di Avvia ActionSet nel file XML, come mostra la figura seguente.

       <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. Creare un nuovo pacchetto utilizzando il seguente comando:

    zman bundle-create nuovo_nome_pacchetto bundle_xml_filename.xml

    Per creare ad esempio il pacchetto yahoo, immettere il comando zman bundle-create yahoo google.xml al prompt della consolle.

2.5.2 Creazione di un pacchetto con contenuto e dipendenza da un altro pacchetto

  1. Creare due pacchetti nel Centro di controllo ZENworks.

    Utilizzare ad esempio il Centro di controllo ZENworks per creare due pacchetti di applicazioni MSI denominati officeXp e officeXPSP1. Il pacchetto officeXP installa Microsoft Office XP mediante un MSI. Il pacchetto officeXPSP1 installa Service Pack 1 per Microsoft Office XP. Nel pacchetto officeXP, aggiungere un'azione Installa pacchetto per installare officeXPSP1.

  2. Esportare il pacchetto che include una dipendenza da un altro pacchetto in un file XML utilizzando il seguente comando:

    zman bundle-export-to-file nome_pacchetto pacchetto_nomefile.xml

    Vengono creati i file nomefile_pacchetto.xml e nomefile_pacchetto_ActionContentInfo.xml.

    Esportare ad esempio il pacchetto officeXP in officeXP.xml utilizzando il comando zman bundle-export-to-file officeXP officeXP.xml. Verranno creati i file officeXP.xml e officeXP_ActionContentInfo.xml.

    I modelli di formato xml di esempio, WindowsMSIBundle.xml e ActionInfo.xml, sono disponibili in /opt/novell/zenworks/share/zman/samples/bundles su un server Linux e in "%ZENWORKS_HOME%\Novell\Zenworks\share\zman\samples\bundles su un server Windows. Per ulteriori informazioni su ActionContentInfo.xml, vedere Sezione 2.5.3, Caratteristiche del formato di file XML di un pacchetto zman.

    Se si desidera creare un nuovo pacchetto con nuovi dati, continuare con Passaggio 3. Se si desidera creare un nuovo pacchetto con gli stessi dati del pacchetto officeXP, passare a Passaggio 4.

  3. Modificare i file officeXP.xml e officeXP_ActionContentInfo.xml in base alle proprie esigenze.

    Per creare ad esempio un nuovo pacchetto e installare ApplicationX e il relativo support pack, eseguire le seguenti operazioni:

    • Modificare tutti i riferimenti di officeXP.msi in ApplicationX.msi nel file officeXP_ActionContentInfo.xml.

    • Creare un altro pacchetto denominato ApplicationX-SP1 che installa il support pack per Application X.

    • Modificare il percorso del pacchetto OfficeXPSP1 dipendente in ApplicationX-SP1 in officeXP_ActionContentInfo.xml e installare ApplicationX con il relativo support pack.

    Un file officeXP_ActionContentInfo.xml di esempio presenta il seguente percorso:

    <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. Creare un pacchetto utilizzando il seguente comando:

    zman bundle-create nome_nuovo_pacchetto pacchetto_xml_nomefile.xml --actioninfonome_pacchetto_ActionContentInfo.xml

    Utilizzare ad esempio il seguente comando per creare un pacchetto denominato ApplicationX:

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

2.5.3 Caratteristiche del formato di file XML di un pacchetto zman

Il comando bundle-export-to-file serializza le informazioni del pacchetto archiviate nel database all'interno di un file XML. Ciascun pacchetto contiene azioni raggruppate in gruppi, ad esempio Installazione e Avvio. Un file XML di pacchetto esportato contiene informazioni relative al pacchetto, ad esempio UID, nome, tipo primario, sottotipo, categoria, requisiti del sistema e informazioni su tutti i set di azioni e le relative azioni. Il file non include informazioni sull'assegnazione del pacchetto a dispositivi o utenti e immagini aggiuntive per il pacchetto.

Un modello di formato XML di esempio, WindowsMSIBundle.xml, è disponibile in /opt/novell/zenworks/share/zman/samples/bundles su un server Linux e in "%ZENWORKS_HOME%\Novell\Zenworks\share\zman\samples\bundles su un server Windows.

NOTA:se il file XML esportato contiene caratteri ASCII estesi, è necessario aprirlo in un editor utilizzando la codifica UTF-8 anziché ANSI, perché quest'ultima visualizza i caratteri ASCII estesi alterati.

Quando si crea un pacchetto del file XML, zman utilizza le informazioni specificate negli elementi <Description>, <SubType>, <Category>, <ActionSet> e <SysReqs> del file. I valori di Nome e Cartella superiore vengono rilevati dalla riga di comando. Per gli elementi rimanenti viene utilizzato il valore di default.

Per utilizzare il file XML, attenersi alle istruzioni seguenti:

  • Se si desidera creare un pacchetto senza contenuto di file o dipendenza da un altro pacchetto, è necessario solo il file XML per creare il pacchetto.

  • Se si desidera creare un pacchetto con contenuto o dipendenza da un altro pacchetto, è necessario fornire un ulteriore file XML contenente il percorso del file del contenuto o il pacchetto dipendente come argomento all'opzione --actioninfo del comando bundle-create.

    Un modello di formato XML di esempio, ActionInfo.xml, è disponibile in /opt/novell/zenworks/share/zman/samples/bundles su un server Linux e in "%ZENWORKS_HOME%\Novell\Zenworks\share\zman\samples\bundles su un server Windows.

  • Per modificare l'elemento <Dati> delle azioni nel file XML esportato, assicurarsi che i nuovi dati siano corretti e conformi allo schema. La utility zman esegue una convalida minima dei dati e non controlla se questi includono errori. È quindi possibile creare il pacchetto anche se contiene dati non validi. In questo caso, non verrà eseguito quando distribuito su un dispositivo gestito.

  • Il contenuto del file o le dipendenze del pacchetto sono associati a una particolare azione in <ActionSet>. Il file XML con le informazioni sul contenuto dell'azione deve includere il percorso del file a cui associare il contenuto del file nonché l'indice dell'azione in <SetAzioni>.

    Ad esempio, il file MSI da installare quando si crea il pacchetto Windows MSI viene associato alla prima azione Installa MSI nel set di azioni Installa del pacchetto Windows MSI creato.

  • Il <SetAzioni> viene specificato dall'attributo tipo. Deve essere uguale al tipo Set di azioni del file XML del pacchetto.

  • L'elemento <Azione> dispone di un attributo nome facoltativo che ne semplifica la lettura all'utente.

  • L'attributo indice è obbligatorio. Specifica l'azione a cui è devono essere associati il contenuto o la dipendenza. Il valore indice della prima azione in <SetAzioni> è 1.

  • Ogni azione può includere più elementi <Contenuto>, ciascuno contenente un elemento <PercorsoFileContenuto>. L'elemento <PercorsoFileContenuto> include il percorso del contenuto del file da associare all'azione. Garantisce che il nome del file sia uguale a quello specificato nel file XML del pacchetto incluso in <Dati> per l'azione in oggetto.

  • Garantisce che l'ordine degli elementi <Contenuto> sia conforme a quello del file XML del pacchetto. Ad esempio, il pacchetto Windows MSI deve includere il file MSI nel primo elemento <Contenuto> seguito dagli elementi <Contenuto> con il percorso dei file MST nell'ordine specificato in <Dati> per l'azione in questione.

  • Per la creazione dei pacchetti Windows MSI è possibile includere tutti i file nella cartella o nelle sottocartelle impostando gli attributi includeAllFilesinFolder e includeAllFilesinSubFolders su True. Per specificare la dipendenza da un altro pacchetto, è possibile fornire il percorso del pacchetto come valore dell'elemento <DependentBundlePath>. Il percorso del pacchetto specificato deve essere relativo a /Bundles come illustrato di seguito.

    <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>
    
  • Per ottenere l'UID di un oggetto, utilizzare il comando object-get-GUID. È necessario modificare manualmente gli UID dell'oggetto nel file XML del pacchetto nei seguenti casi:

    • Nei requisiti del sistema Pacchetto installato è necessario modificare il percorso e l'UID del pacchetto nell'elemento <ReqPacchettoInstallato> sotto all'elemento <ReqSist>.

    • Nel pacchetto di imaging è necessario modificare manualmente l'UID del server contenente il file img nelle azioni ZENworks Image e Multicast Image Set. È inoltre necessario modificare manualmente l'UID del pacchetto di applicazioni collegate nelle azioni Linked Application Bundle e Multicast Image Set. Assicurarsi che il pacchetto collegato includa già un'immagine aggiuntiva creata manualmente, poiché questa non viene creata automaticamente quando si collega il pacchetto al pacchetto di immagini.