Gli script permettono di personalizzare l'archivio. Sono disponibili diversi tipi di script per le seguenti operazioni:
Gli script di precreazione vengono usati per verificare l'archivio durante la creazione e prepararlo per la successiva personalizzazione, in particolare nel caso degli archivi differenziali. Questi script permettono anche di creare una sezione definita dall'utente all'interno dell'archivio.
Gli script di predeployment vengono usati per verificare l'archivio durante l'installazione e prepararlo per la successiva personalizzazione.
Gli script postdeployment permettono di riconfigurare la nuova immagine del sistema su un sistema clone.
Gli script di reboot permettono di eseguire una riconfigurazione finale dopo il riavvio del sistema.
Per indicazioni sulla creazione degli script, vedere Indicazioni per la creazione di uno script personalizzato.
Gli script di questo tipo vengono eseguiti durante la creazione dell'archivio. Lo script ha diverse funzioni.
Verificare il contenuto e l'integrità del software. Se l'integrità del software è compromessa, lo script non completa la creazione dell'archivio.
Preparare i prodotti per la successiva personalizzazione sul sistema clone.
Registrare dinamicamente altri script di installazione durante la creazione dell'archivio.
Aggiungere un messaggio al file di riepilogo relativo alla creazione dell'archivio flash. Il messaggio deve essere breve e indicare solo l'inizio e la fine degli script e i relativi risultati. I risultati possono essere visualizzati nella sezione di riepilogo.
Creare lo script di precreazione. Seguire le istruzioni riportate in Indicazioni per la creazione di uno script personalizzato.
Memorizzare lo script nella directory /etc/flash/precreation.
Gli esempi seguenti sono tratti da uno script di precreazione.
Per registrare l'ora di inizio nella sezione di riepilogo, usare l'esempio seguente:
echo "MyApp precreation script started">> $FLASHDIR/summary
Per controllare l'integrità del software, usare il comando flcheck. Questo comando non può essere eseguito dalla riga di comando. La sintassi del comando è la seguente:
flcheck software component files and directories ...| - |
Ad esempio, per verificare i file e le directory, usare l'esempio seguente:
flcheck software component files and directories If Not in selection - refuse creation echo "Myapp Integrity Damage">>$FLASHDIR/summary
Oppure, per conservare i nuovi file e le directory inattese e completare la creazione dell'archivio, usare l'esempio seguente:
flcheck software component files and directories If Not in selection include by force flinclude software component
Per registrare gli script e i dati di deployment, usare l'esempio seguente:
Per visualizzare i dati relativi a un'applicazione specifica in una sezione definita dall'utente, usare l'esempio seguente:
cp custom section $FLASHDIR/custom_sections/MyApp
Per registrare il completamento dell'installazione nella sezione di riepilogo, usare l'esempio seguente:
echo "product one flash preparation started." >>$FLASH_DIR/summary ... echo "product one flash preparation finished successfully">>$FLASH_DIR/summary
#!/bin/sh echo "Test precreation script started" >> $FLASH_DIR/summary cat /opt/TestApp/critical_file_list | flcheck - if [ $? != 0 ]; then echo "Test precreation script failure" >> $FLASH_DIR/summary exit 1 fi echo "Test precreation script started" >> $FLASH_DIR/summary /opt/TestApplication/license_cloning $FLASH_DIR/predeployment/.TestApplicationLicenceTransfer \ $FLASH_DIR/custom_sections/TestApplicationLicenceCounter echo "Test precreation script finished" >> $FLASH_DIR/summary exit 0
Uno script di precreazione permette di creare all'interno dell'archivio una sezione definita dall'utente contenente informazioni specifiche sull'applicazione. Questa sezione viene in genere usata per la manutenzione dell'archivio. Lo script deve essere collocato nella directory $FLASH_DIR/sections. L'archivio Solaris Flash non elabora le sezioni definite dall'utente. Ad esempio, questa sezione potrebbe contenere una descrizione dell'archivio oppure uno script che controlli l'integrità di un'applicazione.
Le sezioni definite dall'utente richiedono il formato seguente.
Devono essere strutturate in righe
Devono terminare con caratteri di ritorno a capo (ASCII 0x0a)
Le singole righe possono avere una lunghezza illimitata
I dati binari devono essere codificati con un algoritmo base64 o simile.
Gli script di questo tipo vengono eseguiti prima dell'installazione dell'archivio. Se lo script ha lo scopo di verificare l'archivio, deve trovarsi nell'archivio. Se la sua funzione è quella di preservare le configurazioni locali del sistema clone, deve trovarsi sul sistema clone. Questo script può anche analizzare e raccogliere i dati locali necessari per la successiva personalizzazione. Ad esempio, è possibile utilizzarlo per salvare informazioni specifiche del client prima che vengano sovrascritte dai file che verranno estratti. Tali informazioni potranno essere usate nella fase finale della procedura, dopo l'estrazione.
Creare lo script di predeployment. Seguire le istruzioni riportate in Indicazioni per la creazione di uno script personalizzato.
Memorizzare lo script in una delle seguenti directory.
Per la verifica dell'archivio, usare la directory /etc/flash/predeployment.
Se occorre fare riferimento a uno script di precreazione, usare la directory $FLASH_DIR/preinstall.
Se si intende preservare una parte dei dati di configurazione su un sistema clone, specificare il percorso dello script memorizzato sul sistema clone con la parola chiave local_customization nel profilo JumpStart.
#!/bin/sh $FLASH_DIR/TestApplication/check_hardware if [ $? != 0 ]; then echo Unsupported hardware exit 1 fi $FLASH_DIR/TestApplication/check_licence_key if [ $? != 0 ]; then echo No license for this host exit 1 fi $FLASH_DIR/TestApplication/deploy_license_key \ $FLASH_DIR/TestApplication/.TestApplicationLicenceTransfer $FLASH_DIR/TestApplication/save_data_files $FLASH_DIR/flash exit 0
Gli script di questo tipo si trovano all'interno dell'archivio o vengono memorizzati in una directory locale del sistema clone per essere eseguiti dopo l'installazione. Questo script permette di riconfigurare una nuova immagine del sistema su un sistema clone. Se lo script viene memorizzato nell'archivio, le modifiche vengono applicate a tutti i sistemi clone. Se lo script è memorizzato in una directory locale del sistema clone, le modifiche vengono applicate solo al sistema clone. Ad esempio, le informazioni relative a un client specifico salvate da uno script di predeployment possono essere applicate all'ambiente clone, completando l'installazione.
Gli script di postdeployment possono anche essere usati per cancellare alcuni file dopo l'installazione dell'archivio. Ad esempio, è possibile cancellare i file di log che si trovano in /var/adm.
Non tutti i file di log richiedono uno script di pulizia. I file di log che si trovano in /var/tmp possono essere esclusi una volta terminata la creazione dell'archivio.
Creare lo script di postdeployment. Seguire le istruzioni riportate in Indicazioni per la creazione di uno script personalizzato.
Memorizzare lo script in una delle seguenti directory.
Per eseguire lo script su tutti i sistemi clone, memorizzarlo nella directory /etc/flash/postdeployment.
Per eseguirlo solo su un sistema clone locale, specificare il percorso dello script memorizzato sul sistema clone con la parola chiave local_customization nel profilo JumpStart.
#!/bin/sh $FLASH_DIR/TestApplication/clone_reconfiguration $FLASH_DIR/TestApplication/restore_data $FLASH_DIR/flash
Gli script di questo tipo risiedono all'interno dell'archivio e vengono eseguiti dopo il riavvio del sistema. Lo script esegue le operazioni di configurazione finali richieste dopo la riconfigurazione del sistema.
Dopo l'installazione dell'archivio Solaris Flash sul sistema clone, alcuni file specifici dell'host vengono eliminati e ricreati per il sistema clone. Il programma di installazione utilizza il comando sys-unconfig(1M) e i programmi sysidtool(1M) per eliminare e ricreare i file di configurazione di rete specifici per l'host. I file che vengono ricreati sono, ad esempio, /etc/hosts, /etc/defaultrouter e /etc/defaultdomain. Lo script di reboot permette di eseguire le operazioni finali di riconfigurazione.
#!/bin/sh $FLASH_DIR/TestApplication/finalize_license