JavaScript is required to for searching.
Ignorer les liens de navigation
Quitter l'aperu
Création d’une image d’installation Oracle Solaris 11 personnalisée     Oracle Solaris 11 Information Library (Français)
search filter icon
search icon

Informations document

Préface

1.  Introduction à la création d'une image d'installation personnalisée

2.  Création d'une image d'installation personnalisée

Configuration système requise pour la création d'images

Personnalisation des images

Échantillons de fichiers manifestes

Création et génération d'une image personnalisée

Modification du contenu du fichier manifeste

Indication d'un titre pour l'image

Modification du menu d'initialisation

Spécification de la zone de compilation

Spécification de l'éditeur

Spécification des packages à installer

Spécification des packages à désinstaller

Spécification d'un éditeur pour un système installé

Définition de points de contrôle de compilation

Création et utilisation de scripts personnalisés

Création et utilisation d'un script personnalisé

3.  Création d'une image

Personnalisation des images

Le constructeur de distribution crée des images en fonction des paramètres indiqués dans des fichiers XML, appelés fichiers manifestes. Les fichiers manifestes contiennent les spécifications relatives au contenu et aux paramètres des images ISO créées à l'aide du constructeur de distribution. Le package distribution-constructor fournit des exemples de fichiers manifestes qui peuvent être utilisés pour créer une image ISO d'installation automatisée LiveCD, x86 ou SPARC, ou une image d'installation en mode texte x86 ou SPARC.

Les éléments présents dans chaque fichier manifeste fournissent des valeurs par défaut, prédéfinies, qui créent le type d'image ISO dont vous avez besoin. Vous pouvez modifier manuellement ces éléments prédéfinis dans un fichier manifeste afin de personnaliser davantage l'image obtenue. En outre, vous pouvez créer des scripts personnalisés pour encore plus modifier votre image. Ensuite, faites référence aux nouveaux scripts dans le fichier manifeste.

Échantillons de fichiers manifestes

Le package distribution-constructor fournit les échantillons de fichiers manifestes suivants.

Tableau 2-2 Échantillons de fichiers manifestes

Type de fichier manifeste
Emplacement du fichier manifeste
Description
Image ISO LiveCD x86
/usr/share/distro_const/
dc_livecd.xml
Crée une image ISO comparable au LiveCD Oracle Solaris
Image d'installation en mode texte x86
/usr/share/distro_const/
dc_text_x86.xml
Crée une image ISO pouvant être utilisée pour effectuer une installation en mode texte du système d'exploitation Oracle Solaris x86
Image d'installation en mode texte SPARC
/usr/share/distro_const/
dc_text_sparc.xml
Crée une image ISO pouvant être utilisée pour effectuer une installation en mode texte du système d'exploitation Oracle Solaris SPARC
Image ISO d'installation automatisée x86
/usr/share/distro_const/
dc_ai_x86.xml
Crée une image ISO d'installation automatisée x86 pour l'installation automatisée du SE Oracle Solaris sur des clients x86
Image ISO d'installation automatisée SPARC
/usr/share/distro_const/
dc_ai_sparc.xml
Crée une image ISO d'installation automatisée SPARC pour l'installation automatisée du SE Oracle Solaris sur des clients SPARC

Création et génération d'une image personnalisée

  1. Téléchargez le package distribution-constructor, qui contient l'application du constructeur de distribution et des échantillons de fichiers manifestes.

    Vous pouvez utiliser le gestionnaire de packages pour installer le package requis. Le gestionnaire de packages est disponible dans la barre de menu sur le bureau du système d'exploitation Oracle Solaris. Dans la barre de menu, cliquez sur Système>Administration>Gestionnaire de packages.

    Vous pouvez également utiliser les commandes IPS (la suivante, par exemple) pour installer ce package :

    # pkg install distribution-constructor
  2. Copiez un des exemples de fichiers manifestes et créez un fichier manifeste personnalisé avec un nouveau nom de fichier.

    Vous ferez référence au fichier manifeste par son nom lorsque vous utiliserez la commande distro_const pour créer une image.


    Remarque - Sauvegardez toujours le fichier manifeste d'origine et les scripts par défaut avant de les copier.


  3. Modifiez les éléments du fichier manifeste selon vos besoins.

    Par exemple, vous pouvez modifier l'élément target dans le manifeste pour indiquer un emplacement différent pour la zone de compilation où l'image peut être créée. Ainsi, vous pouvez vérifier l'éditeur afin de vous assurer que votre système peut contacter cet éditeur pour télécharger les packages nécessaires à la création de l'image. Si nécessaire, vous pouvez modifier l'élément de nom du logiciel pour spécifier un éditeur et un emplacement de référentiel différents.

    Pour plus d'informations, reportez-vous à la section Modification du contenu du fichier manifeste et à la page de manuel dc_manifest(4).

  4. (Facultatif) Créez des scripts personnalisés pour modifier davantage l'image.

    Si vous créez de nouveaux scripts, mettez à jour les références de script dans la section d'exécution du fichier manifeste.

    Pour obtenir davantage d'instructions, reportez-vous à la section Création et utilisation de scripts personnalisés.

  5. Exécutez l'utilitaire distro_const pour créer une image.

    Pour obtenir davantage d'instructions, reportez-vous au Chapitre 3, Création d'une image.

Modification du contenu du fichier manifeste

Tous les champs des fichiers manifestes contiennent des valeurs par défaut, prédéfinies, qui créent le type d'image ISO dont vous avez besoin. Vous pouvez modifier manuellement ces champs prédéfinis dans un fichier manifeste afin de personnaliser davantage l'image obtenue.

Selon l'échantillon de fichier manifeste que vous sélectionnez, les principaux éléments sont les suivants.

Tableau 2-3 Éléments du fichier manifeste

Élément
Description
<distro name="Oracle_Solaris_Text_X86"
add_timestamp="false">
Spécifie le nom de l'image avec un horodatage facultatif
<boot_mods>
Spécifie les modifications du menu GRUB pour l'image
<target>
Définit le jeu de données ZFS dans lequel l'image est créée
<software name="transfer-ips-install" type="IPS">
Spécifie la source des packages logiciels à installer
<software_data action="install">
Répertorie les packages à installer
<software_data action="uninstall">
Répertorie les packages à désinstaller
<software name="set-ips-attributes">
Définit des attributs différents pour l'IPS une fois l'installation terminée
<software name="ba-init">
Spécifie le contenu de l'archive d'initialisation

Attention

Attention - Modifiez cet élément avec précaution. Si l'archive d'initialisation est incorrecte, le système installé ne démarrera pas.


<execution stop_on_error="true">
<checkpoint name="transfer-ips-install"/>
Répertorie les points de contrôle de compilation
<configuration name="pre-pkg-img-mod" type="sysconf"
 
source="/etc/svc/profile/generic_limited_net.xml">
Spécifie les services SMF à appliquer à des médias lors de la création

Attention

Attention - Modifiez cet élément le plus rarement possible.


Indication d'un titre pour l'image

Utilisez l'élément suivant pour fournir un nom personnalisé ou par défaut à l'image que vous allez créer.

<distro name="Oracle_Solaris_Text_X86" add_timestamp="false">

Si vous avez l'intention de créer une série de versions d'une image et de conserver les images incrémentielles, vous pouvez définir la variable d'horodatage sur "true" : un horodatage sera automatiquement ajouté au nom de chaque image.

Si vous avez besoin de spécifier un proxy HTTP, supprimez les marques de commentaire de l'élément distro name incluant la variable de proxy, puis saisissez l'emplacement du proxy.

Modification du menu d'initialisation

L'élément de menu d'initialisation indique les modifications du menu d'initialisation à appliquer à l'image.

Dans l'exemple ci-dessous, un menu d'initialisation spécialisé avec le titre "boot1" sera appliqué à l'image. L'attribut de délai d'attente spécifie la durée avant l'activation automatique de l'entrée d'initialisation par défaut.

<boot_mods title="boot1" timeout="5">

Dans l'élément de menu d'initialisation, vous pouvez ajouter des entrées individuelles du menu d'initialisation en ajoutant un nouvel élément boot_entry pour chaque nouvelle entrée. Les entrées sont ajoutées séquentiellement au menu d'initialisation, dans un ordre défini par la valeur d'attribut insert_at "start" ou "end" pour chaque entrée d'initialisation.


Remarque - Ajoutez les nouvelles entrées avant l'entrée "with magnifier" existante.


Reportez-vous à l'exemple ci-après d'un élément boot_entry individuel.

<boot_entry>
   <title_suffix>with screen reader</title_suffix>
   <kernel_args>-B assistive_tech=reader</kernel_args>
</boot_entry>

Pour plus d'informations, reportez-vous à la page de manuel dc_manifest(4).

Spécification de la zone de compilation

Vous pouvez personnaliser l'élément target. Cet élément définit le jeu de données ZFS à utiliser pour la création. Ce jeu de données correspond à la zone où l'image sera créée. Vous devez saisir un emplacement de jeu de données valide. Vérifiez la zone de compilation par défaut afin de vous assurer que la compilation ne détruira pas le contenu que vous devez conserver sur votre système. Modifiez la zone de compilation si nécessaire.


Remarque - Le nom du système de fichiers ne doit pas inclure le nom du zpool.


Voyez l'exemple suivant :

 <target>
   <logical>
     <zpool action="use_existing" name="rpool">
       <dataset>
         <filesystem name="dc/sample-dataset-location" 
         action="preserve"/>
       </dataset>
     </zpool>
   </logical>
 </target>

Spécification de l'éditeur

L'élément suivant spécifie un éditeur auprès duquel le constructeur de distribution peut obtenir des packages à télécharger et à utiliser pour créer l'image.

<software name="transfer-ips-install">

Dans l'élément source de cette section, modifiez le nom de l'éditeur et le nom d'origine afin de spécifier l'éditeur à utiliser et l'emplacement du référentiel de package. Plusieurs éditeurs peuvent être répertoriés. Quand le constructeur de distribution tente de localiser les packages à installer, les éditeurs sont parcourus dans l'ordre dans lequel ils sont répertoriés ici.

Si les copies miroir d'un éditeur doivent être spécifiées, supprimez les commentaires et modifiez l'élément de nom de miroir.

Voyez l'exemple suivant :

<source>
   <publisher name="publisher1">
      <origin name="http://example.oracle.com/primary-pub"/>
      <mirror name="mirror.example.com"/>
   </publisher>
   <publisher name="publisher2">
       <origin name="http://example2.com/dev/solaris"></origin>
   </publisher>
   <publisher name="publisher3.org">
       <origin name="http://example3.com/dev"></origin>
    </publisher>
</source>

Pour plus d'informations sur l'utilisation des éditeurs, reportez-vous à la section Ajout et mise à jour de packages logiciels Oracle Solaris 11.

Spécification des packages à installer

L'élément software_data avec l'attribut install répertorie l'ensemble des packages à installer afin de créer un type d'image particulier, en fonction du manifeste utilisé. Par exemple, le manifeste dc_livecd.xml répertorie les packages requis pour créer une image LiveCD. Chaque balise de nom indique un nom de package ou le nom d'un package de groupe contenant plusieurs packages.

<software_data action="install">
   <name>pkg:/group/system/solaris-desktop</name>
   <name>pkg:/system/install/gui-install</name>
   <name>pkg:/system/install/media/internal</name>
</software_data>

Si vous disposez de packages que vous souhaitez ajouter à l'image, ajoutez le nom des packages en ajoutant une balise de nom pour chaque package.

Par défaut, la version la plus actuelle du package disponible dans le référentiel spécifié est installée. Si une autre version est requise, ajoutez le numéro de version à la référence du package en utilisant le format suivant :

<name>pkg:/group/system/solaris-desktop@0.5.11-0.build#</name>

Remarque - Les packages avec une version particulière spécifiée peuvent ne pas être installés si d'autres packages avec une version en conflit est installée. Pour plus d'informations, reportez-vous à la page de manuel pkg(5)


Exemple 2-1 Ajout de packages et d'éditeurs supplémentaires

Dans cet exemple, un deuxième éditeur, mypublisher, est spécifié. D'autres packages, mypackage1 et mypackage2, sont également spécifiés.

Au cours du processus de compilation, les éditeurs sont vérifiés dans l'ordre dans lequel ils sont répertoriés. Si les packages ne sont pas disponibles auprès du premier éditeur, l'éditeur suivant est parcouru à la recherche des packages spécifiés.

<software name="transfer-ips-install" type="IPS">
   <destination>
      <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
            href="/usr/share/distro_const/lang_facets.xml"/>
   </destination>
   <source>
      <publisher name="solaris">
          <origin name="http://pkg.oracle.com/solaris/release"/>
      </publisher>
      <publisher name="mypublisher">
         <origin name="http://mypublisher.company.com"/>
      </publisher>
   </source>
   <software_data action="install">
        <name>pkg:/group/system/solaris-large-server</name>
        <name>pkg:/system/install/text-install</name>
        <name>pkg:/system/install/media/internal</name>
        <name>pkg:/mypackage1</name>
        <name>pkg:/mypackage2</name>
   </software_data>
</software>

Spécification des packages à désinstaller

L'élément software_data avec l'attribut uninstall peut être utilisé pour désinstaller un package ou une définition de package de groupe.

Dans l'exemple suivant, solaris-desktop est le nom d'un package de groupe qui contient plusieurs packages individuels.

<software_data action="uninstall">
   <name>pkg:/group/system/solaris-desktop</name>
</software_data>

Vous pouvez désinstaller un package de groupe. La désinstallation d'un package de groupe signifie que seule la définition de groupe est effectivement désinstallée. Les packages individuels précédemment installés dans le cadre de ce groupe ne sont pas désinstallée. Cependant, vous pouvez désinstaller les packages individuels sans désinstaller le package de groupe. Conserver le package de groupe peut être utile pour référence. Vous pouvez également utiliser la balise de nom pour désinstaller un package. Ajoutez les packages supplémentaires à désinstaller à la fin de la section de désinstallation.

Spécification d'un éditeur pour un système installé

L'élément suivant s'applique à un système une fois qu'il a été installé avec l'image créée à l'aide du constructeur de distribution.

<software name="set-ips-attributes">

Fournissez le nom de l'éditeur et des balises de nom de copie miroir facultatives pour spécifier l'endroit où le système installé peut accéder à d'autres packages à télécharger et à installer.

Vous pouvez également définir des attributs IPS dans cet élément. Pour plus d'informations sur les propriétés IPS, reportez-vous à la page de manuel pkg(1).

Définition de points de contrôle de compilation

L'élément d'exécution dans le fichier manifeste répertorie une série de points de contrôle exécutés au cours du processus de compilation d'une image. Les points de contrôle sont exécutés dans l'ordre dans lequel ils sont répertoriés dans cette section. Les points de contrôle par défaut nécessaires à la compilation de l'image d'installation par défaut sont inclus dans chaque fichier manifeste.

Toutes les balises de nom de point de contrôle incluent l'attribut mod-path, qui spécifie l'emplacement du script du point de contrôle.

Certaines balises de points de contrôle par défaut incluent des arguments avec des valeurs par défaut fournies. L'exemple de point de contrôle suivant extrait de l'échantillon de fichier manifeste dc_ai_sparc.xml crée l'archive d'initialisation pour la compilation de l'image et renvoie à un script qui accomplira cette tâche. L'exemple de point de contrôle inclut également des champs d'argument avec des valeurs spécifiques fournies pour chaque argument.

<checkpoint name="ba-arch"
    desc="Boot Archive Archival"
    mod_path="solaris_install/distro_const/checkpoints/
    boot_archive_archive"
    checkpoint_class="BootArchiveArchive">
    <kwargs>
        <arg name="size_pad">0</arg>
        <arg name="bytes_per_inode">0</arg>
        <arglist name="uncompressed_files">
             <argitem>etc/svc/repository.db</argitem>
             <argitem>etc/name_to_major</argitem>
             <argitem>etc/minor_perm</argitem>
             <argitem>etc/driver_aliases</argitem>
             <argitem>etc/driver_classes</argitem>
             <argitem>etc/path_to_inst</argitem>
             <argitem>etc/default/init</argitem>
             <argitem>etc/nsswitch.conf</argitem>
             <argitem>etc/passwd</argitem>
             <argitem>etc/shadow</argitem>
             <argitem>etc/inet/hosts</argitem>
        </arglist>
     </kwargs>
   </checkpoint>

Comme indiqué dans cet exemple, l'élément <kwargs> contient des arguments de mot-clé qui doivent être transmis au point de contrôle au cours de la compilation. L'élément <kwargs> contient des éléments <arg name> qui peuvent être utilisées pour spécifier des mots-clés individuels à transmettre au point de contrôle. L'élément <arglist> contient également une liste de plusieurs valeurs <argitem> à transmettre au point de contrôle. Cet exemple inclut une liste des fichiers décompressés dans l'élément <arglist>.

Chaque élément de liste <kargs> est entouré de guillemets. Si aucun guillemet n'est utilisé, ou si un ensemble de guillemets encadre l'intégralité de la chaîne, celle-ci, espaces et retours inclus, est interprétée comme un argument. N'utilisez pas de virgules pour séparer les arguments.

Si vous créez un script personnalisé à utiliser lors de la création d'une image, vous devez ajouter un élément de point de contrôle renvoyant à l'emplacement du script. Le point de contrôle pour un script personnalisé nécessite uniquement un élément <args> qui renvoie à l'emplacement du script personnalisé. Pour plus d'informations et d'exemples, reportez-vous à la section Création et utilisation de scripts personnalisés.

Utilisez les options de la commande distro_const pour contrôler la mise en pause et le redémarrage du processus de compilation à des points de contrôle particuliers. Reportez-vous à la section Création d'une image en plusieurs étapes.

Exemple 2-2 Ajout de packages SVR4

Dans cet exemple, un nouveau point de contrôle est ajouté au fichier manifeste. Ce nouveau point de contrôle répertorie les packages SVR4 à ajouter à l'image et leurs emplacements. Ensuite, ce nouveau point de contrôle est référencé dans la section d'exécution.

Tout d'abord, le nouveau point de contrôle est créé par l'ajout d'un nouvel élément software. Ce point de contrôle indique SVR4 comme type de logiciel, l'emplacement des packages et l'emplacement où les installer.

En outre, les packages SVR4 spécifiques à installer sont répertoriés dans l'élément software_data.

<software name=transfer-svr4-install type="SVR4">
   <destination>
       <dir path={PKG_IMAGE_PATH}/>
   </destination>
   <source>
    <dir path="/path/to/packages"/>
   </source>
   <software_data action="install">
      <name>SUNWpackage1</name>
      <name>SUNWpackage2</name>
   </software_data>
</software>

Si les valeurs {PKG_IMAGE_PATH} et {BOOT_ARCHIVE} sont incluses dans le point de contrôle, l'utilitaire distro_const les remplace par <ZFS Dataset>/build_data/pkg_image et <ZFS Dataset>/build_data/boot_archive, respectivement. Dans cet exemple, les packages SVR4 seront installés dans <ZFS Dataset>/build_data/pkg_image.

Enfin, ce nouveau point de contrôle est référencé dans la section d'exécution.

<execution stop_on_error="true">
   <checkpoint name="transfer-ips-install"
       desc="Transfer pkg contents from IPS"
       mod_path="solaris_install/transfer/ips"
       checkpoint_class="TransferIPS"/>
   <checkpoint name="set-ips-attributes"
       desc="Set post-install IPS attributes"
       mod_path="solaris_install/transfer/ips"
       checkpoint_class="TransferIPS"/>
   <checkpoint name="transfer-svr4-install"
      desc="Transfer pkg contents from SVR4 packages"
      mod_path="solaris_install/transfer/svr4"
      checkpoint_class="TransferSVR4"/>

Notez que le nom du logiciel doit correspondre au nom du point de contrôle. Dans cet exemple, les deux sont "transfer-svr4–install".

Création et utilisation de scripts personnalisés

Le constructeur de distribution vous permet de spécifier des scripts supplémentaires qui peuvent être utilisés afin d'effectuer des personnalisations selon le type d'images créées. Les fichiers manifestes renvoient aux scripts, et ceux-ci transforment l'image générique en une distribution spécifique au média. Ces scripts sont référencés dans la section d'exécution des fichiers manifestes. Vous pouvez spécifier n'importe quel nombre de points de contrôle de scripts personnalisés.


Remarque - La prise en charge des scripts est limitée à tout script par défaut, non modifié, fourni avec les packages d'application. Si vous décidez de personnaliser ces scripts, sauvegardez les scripts d'origine au préalable.


Création et utilisation d'un script personnalisé

Avant de commencer

Lorsque vous créez vos propres scripts personnalisés, prenez en compte les points suivants :

  1. Créez votre nouveau script.
  2. Ajoutez vos nouveaux scripts à votre répertoire personnel ou ailleurs sur le système ou réseau.

    Assurez-vous qu'un utilisateur connecté avec le rôle root peut exécuter ces scripts.

  3. Référencez le nouveau script en ajoutant un point de contrôle dans la section d'exécution du fichier manifeste approprié.

    Assurez-vous de spécifier le chemin d'accès complet à vos scripts. Les points de contrôle sont exécutés dans leur ordre d'apparition dans la section d'exécution du fichier manifeste.

    Lorsque vous ajoutez une référence pour un nouveau script dans la section d'exécution d'un fichier manifeste, vous devez spécifier un nom de point de contrôle pouvant être utilisé pour interrompre la création de l'image avant que ce script ait effectué sa tâche ou après. Vous pouvez également inclure un message personnalisé associé au nom du point de contrôle. Si vous n'ajoutez pas un tel message, le chemin du script est utilisé comme message de point de contrôle par défaut. Un message relatif au point de contrôle s'affiche lorsque le point de contrôle est exécuté au cours du processus de compilation.


    Remarque - Attribuez aux points de contrôle des noms explicites plutôt que des nombres. Si de nouveaux scripts sont ajoutés, les nouveaux points de contrôle correspondant à ces nouveaux scripts perturberont l'ordre des points de contrôle numérotés.


    L'exemple de point de contrôle suivant fait référence à un script personnalisé nommé "my-script".

    <checkpoint name="my-script"
            desc="my new script"
            mod_path="solaris_install/distro_const/checkpoints/custom_script"
            checkpoint_class="CustomScript">
            <args>/tmp/myscript.sh</args>
        </checkpoint>
  4. (Facultatif) Spécifiez un paramètre de compilation en tant que partie intégrante du point de contrôle, comme suit.

    Ici {PKG_IMAGE_PATH} est spécifié en tant que paramètre de compilation dans la section des arguments.

    <checkpoint name="my-script"
            desc="my new script"
            mod_path="solaris_install/distro_const/checkpoints/my_script"
            checkpoint_class="CustomScript">
            <args>/tmp/myscript.sh {PKG_IMAGE_PATH}</args>
        </checkpoint>

    Si les valeurs {PKG_IMAGE_PATH} et {BOOT_ARCHIVE} sont incluses dans le point de contrôle, l'utilitaire distro_const les remplace par <ZFS Dataset>/build_data/pkg_image et <ZFS Dataset>/build_data/boot_archive, respectivement.

  5. Créez l'image.

    Vous pouvez créer une image en une seule étape. Pour vérifier l'état de la compilation, vous pouvez également arrêter et redémarrer la compilation à différents points de contrôle.

    Pour obtenir davantage d'instructions, reportez-vous au Chapitre 3, Création d'une image.

  6. (Facultatif) Une fois la compilation terminée, vous pouvez afficher un fichier journal contenant un rapport sur le processus de compilation.

    La sortie de compilation affiche l'emplacement des fichiers journaux.