Guide du programme d'installation automatisée Oracle Solaris 11 Express

Chapitre 3 Personnalisation des installations

Pour personnaliser une installation, vous pouvez personnaliser les instructions d'installation et les instructions de configuration du système. Spécifiez ensuite les critères de client pour faire correspondre l'installation personnalisée et les instructions de configuration avec les clients qui répondent aux critères spécifiés. Les instructions personnalisées sont utilisées à la place des instructions par défaut pour installer le client.

Un service IA possède un ou plusieurs fichiers manifest IA qui contiennent des instructions d'installation et de configuration. Vous pouvez préciser des caractéristiques de clients comme le type de plate-forme ou la quantité de mémoire, afin que les clients qui correspondent aux critères spécifiés utilisent le fichier manifest IA associé pour terminer leur installation.

Mise en correspondance des instructions d'installation avec les caractéristiques de clients

Lorsque vous utilisez le programme d'installation automatisée, vous devez d'abord configurer un serveur DHCP et un serveur IA. Le serveur IA dispose d'au moins une image d'initialisation IA et d'un service IA qui est associé à cette image d'initialisation. Lors de l'initialisation d'un client, DHCP dirige le client sur le serveur d'installation. Le client est associé à un service d'installation donné. Le service d'installation utilise les méthodes décrites dans ce chapitre pour faire correspondre le client avec les instructions d'installation et de configuration correctes à utiliser.

Pour définir les installations qui utilisent des images IA différentes (une image SPARC et une image x86, ou des versions d'Oracle Solaris différentes), créez un service distinct pour chaque image. Reportez-vous à la section Configuration de l'image d'installation et du service d'installation.

Pour associer un client à un service d'installation spécifique, ajoutez ce client au service d'installation. Reportez-vous au Chapitre 7Installation de systèmes clients. Spécifiez l'adresse MAC du client et le nom du service d'installation à utiliser pour ce client. Lorsque le client avec cette adresse MAC s'initialise, DHCP dirige le client sur le serveur d'installation et le client utilise le service d'installation spécifié.

Pour définir plusieurs types d'installation pour une image IA, créez d'autres fichiers manifest IA et ajoutez-les au service IA pour cette image. Spécifiez les critères qui définissent quel clients doivent utiliser quels fichiers manifest IA. Reportez-vous à la section Association d'instructions d'installation spécifiques au client à des services d'installation.

Pour créer un fichier manifest IA personnalisé, commencez par une copie du fichier manifest par défaut chemin_image_installation_réseau/auto_install/default.xml pour le service. Reportez-vous également aux sections Fichier manifest IA par défaut et Fichier manifest IA annoté pour obtenir des exemples. Pour modifier les spécifications d'installation telles que le disque cible ou les packages supplémentaires à installer, consultez le Chapitre 4Spécification des instructions d'installation. Pour changer les spécifications de configuration telles que le compte d'utilisateur ou le mot de passe root, reportez-vous au Chapitre 5 Configuration du système client.

Un fichier manifest IA est sélectionné pour un client en fonction de l'algorithme suivant :

Tableau 3–1 Balises et hiérarchie des critères

Nom de critère 

Description 

Exemples 

arch

uname -m

i86pc ou sun4u ou sun4v

<ai_criteria name="arch">
    <value>i86pc</value>
</ai_criteria>

mac

Adresse MAC ou plage d'adresses MAC 

<ai_criteria name="mac">
    <value>0:14:4F:20:53:97</value>
</ai_criteria>
<ai_criteria name="mac">
   <range>
       0:14:4F:20:53:94
       0:14:4F:20:53:A0
   </range>
</ai_criteria>

ipv4

Adresse IP ou plage d'adresses IP 

<ai_criteria name="ipv4">
    <value>10.6.68.127</value>
</ai_criteria>
<ai_criteria name="ipv4">
    <range>
        10.6.88.1
        10.6.68.200
    </range>
</ai_criteria>

cpu

uname -p

i386 ou sparc

<ai_criteria name="cpu">
    <value>sparc</value>
</ai_criteria>

platform

uname -i

i86pc ou SUNW,Sun-Fire-T200 ou SUNW,Sun-Fire-880

<ai_criteria name="platform">
    <value>SUNW,Sun-Fire-T200</value>
</ai_criteria>

mem

Taille de la mémoire en méga-octets, ou une plage de tailles de mémoire 

Cet exemple correspond aux clients disposant d'au moins 2 Go de mémoire. Le mot-clé unbounded indique qu'il n'existe aucune limite supérieure dans une plage.

<ai_criteria name="mem">
     <range>
        2048
        unbounded
     </range>
</ai_criteria>


Exemple 3–1 Mise en correspondance de clients avec des fichiers manifest IA

Dans l'exemple suivant, deux fichiers manifest IA personnalisés ont été ajoutés au même service d'installation. Les critères de client associés à ces fichiers manifest sont comme indiqué.

Le fichier manifest IA manifest_x86.xml a été ajouté au service avec le fichier de critères suivant qui spécifie l'architecture client :

<ai_criteria_manifest>
    <ai_criteria name="arch">
        <value>i86pc</value>
    </ai_criteria>
</ai_criteria_manifest>

Le fichier manifest IA manifest_mac1.xml a été ajouté au service avec le fichier de critères suivant qui spécifie une adresse MAC de client :

<ai_criteria_manifest>
    <ai_criteria name="mac">
        <value>00:14:4f:a7:65:70</value>
    </ai_criteria>
</ai_criteria_manifest>

Si un client x86 est en cours d'installation, le fichier manifest_x86.xml lui est attribué.

Si un client SPARC avec l'adresse MAC 00:14:4f:A7:65:70 est en cours d'installation, le fichier manifest_mac1.xml lui est attribué.

Si un système SPARC avec une autre adresse MAC est en cours d'installation, le fichier manifest IA par défaut lui est attribué.


Fichier manifest IA par défaut

Lorsque vous créez un service d'installation, chemin_image_service_installation/auto_install/default.xml est le fichier manifest IA par défaut pour tous les clients qui utilisent ce service.

Le fichier manifest IA par défaut est illustré ci-dessous. Ce fichier manifest IA par défaut peut être légèrement différent dans différentes images d'installation.

<?xml version="1.0" encoding="UTF-8"?>
<!--
 Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.

-->
<!DOCTYPE auto_install SYSTEM "file:///usr/share/auto_install/ai.dtd">
<auto_install>
  <ai_instance name="default">
    <software>
      <source>
        <publisher name="solaris">
          <origin name="http://pkg.oracle.com/solaris/release"/>
        </publisher>
      </source>
      <!--
	By default the latest build available, in the specified IPS
	repository, is installed.  If another build is required, the 
	build number has to be appended to the 'entire' package in following
	form:

	<name>pkg:/entire@0.5.11-0.build#</name>
      -->
      <software_data action="install" type="IPS">
        <name>pkg:/entire</name>
        <name>pkg:/babel_install</name>
        <!--
	    The following packages are required by iSCSI and included
	    by default to make it easier for users to enable iSCSI if
	    desired. They can be deleted from this list if iSCSI isn't 
	    used. See iscsiadm(1m) man page for more information. 
	    support for iSCSI. 
	-->
        <name>pkg:/network/iscsi/initiator</name>
        <name>pkg:/network/iscsi/iser</name>
      </software_data>
      <!--
	    babel_install and slim_install are group packages used to
	    define the default installation.  They are removed here so
	    that they do not inhibit removal of other packages on the
	    installed system.
        -->
      <software_data action="uninstall" type="IPS">
        <name>pkg:/babel_install</name>
        <name>pkg:/slim_install</name>
      </software_data>
    </software>
   <!--
	Add missing driver packages to a booted install image so an
	installation can complete.  Add packages to target as well.
	<search_all> searches and installs from configured repo.
    -->
    <add_drivers>
      <search_all/>
    </add_drivers>
    <sc_embedded_manifest name="AI">
      <!-- <?xml version='1.0'?>
      <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
      <service_bundle type="profile" name="system configuration">
        <service name="system/install/config" version="1" type="service">
          <instance name="default" enabled="true">
            <property_group name="user_account" type="application">
              <propval name="login" type="astring" value="jack"/>
              <propval name="password" type="astring" value="encrypted_password"/>
              <propval name="description" type="astring" value="default_user"/>
              <propval name="shell" type="astring" value="/usr/bin/bash"/>
              <propval name="uid" type='count' value='101'/>
              <propval name="gid" type='count' value='10'/>
              <propval name="type" type="astring" value="normal"/>
              <propval name="roles" type="astring" value="root"/>
            </property_group>

            <property_group name="root_account" type="application">
                <propval name="password" type="astring" value="encrypted_password"/>
                <propval name="type" type="astring" value="role"/>
            </property_group>

            <property_group name="other_sc_params" type="application">
              <propval name="timezone" type="astring" value="GMT"/>
              <propval name="hostname" type="astring" value="solaris"/>
            </property_group>
          </instance>
        </service>
        <service name="system/console-login" version="1" type="service">
          <property_group name="ttymon" type="application">
            <propval name="terminal_type" type="astring" value="sun"/>
          </property_group>
        </service>

        <service name='system/keymap' version='1' type='service'>
          <instance name='default' enabled='true'>
            <property_group name='keymap' type='system'>
              <propval name='layout' type='astring' value='US-English'/>
            </property_group>
          </instance>
        </service>

        <service name="network/physical" version="1" type="service">
          <instance name="nwam" enabled="true"/>
          <instance name="default" enabled="false"/>
        </service>
      </service_bundle>
      -->
    </sc_embedded_manifest>
  </ai_instance>
</auto_install>