JavaScript is required to for searching.
Omitir V�nculos de navegaci�n
Salir de la Vista de impresi�n
Creación de una imagen de instalación personalizada de Oracle Solaris 11     Oracle Solaris 11 Information Library (Español)
search filter icon
search icon

Información del documento

Prefacio

1.  Introducción a la creación de una imagen de instalación personalizada

2.  Diseño de una imagen de instalación personalizada

Requisitos del sistema para la generación de imágenes

Personalización de imágenes

Manifiestos de ejemplo

Cómo crear y generar una imagen personalizada

Modificación del contenido del manifiesto

Especificación del título de la imagen

Modificación del menú de inicio

Especificación del área de generación

Especificación del editor

Visualización de los paquetes para instalar

Visualización de los paquetes para desinstalar

Especificación de un editor para un sistema instalado

Configuración de los puntos de comprobación de la generación

Creación y utilización de secuencias de comandos personalizadas

Cómo crear y utilizar una secuencia de comandos personalizada

3.  Generación de una imagen

Personalización de imágenes

El constructor de distribuciones crea imágenes según los valores especificados en los archivos XML, denominados archivos de manifiesto. Los archivos de manifiesto contienen especificaciones para el contenido y los parámetros para las imágenes ISO que se crean mediante el constructor de distribuciones. El paquete distribution-constructor proporciona manifiestos de ejemplo que se pueden utilizar para crear un LiveCD personalizado, una imagen ISO AI x86 o SPARC, o una imagen de instalación de texto x86 o SPARC.

Los elementos de cada archivo de manifiesto ofrecen valores predeterminados que crearán el tipo de imagen ISO que necesita. Puede editar de forma manual estos elementos preestablecidos en un archivo de manifiesto para personalizar la imagen resultante. Además, puede crear secuencias de comandos personalizadas para modificar aún más la imagen. A continuación, haga referencia a las nuevas secuencias de comandos en el archivo de manifiesto.

Manifiestos de ejemplo

El paquete distribution-constructor proporciona los siguientes archivos de manifiesto de ejemplo.

Tabla 2-2 Manifiestos de ejemplo

Tipo de manifiesto
Ubicación de manifiesto
Descripción
Imagen ISO LiveCD X86
/usr/share/distro_const/
dc_livecd.xml
Se utiliza para crear una imagen ISO que se puede comparar con el LiveCD de Oracle Solaris.
Imagen de instalación de texto x86
/usr/share/distro_const/
dc_text_x86.xml
Se utiliza para crear una imagen ISO que se puede utilizar para realizar una instalación de texto del sistema operativo Oracle Solaris x86.
Imagen de instalación texto SPARC
/usr/share/distro_const/
dc_text_sparc.xml
Se utiliza para crear una imagen ISO que se puede usar para realizar una instalación de texto del sistema operativo Oracle Solaris SPARC.
Imagen ISO AI X86
/usr/share/distro_const/
dc_ai_x86.xml
Se utiliza para crear una imagen ISO AI x86 para instalaciones automatizadas del sistema operativo Oracle Solaris en clientes x86.
Imagen ISO AI SPARC
/usr/share/distro_const/
dc_ai_sparc.xml
Se utiliza para crear una imagen ISO AI SPARC para instalaciones automatizadas del sistema operativo Oracle Solaris en clientes SPARC.

Cómo crear y generar una imagen personalizada

  1. Descargue el paquete distribution-constructor, que contiene la aplicación de constructor de distribuciones y los manifiestos de ejemplo.

    Puede utilizar la herramienta Package Manager para instalar el paquete necesario. Puede acceder a Package Manager desde la barra de menús del escritorio del sistema operativo Oracle Solaris. En la barra de menús, vaya a Sistema>Administración>Package Manager.

    También puede utilizar comandos IPS como los siguientes para instalar este paquete:

    # pkg install distribution-constructor
  2. Copie uno de los manifiestos de ejemplo y cree un archivo de manifiesto personalizado con un nuevo nombre de archivo.

    Hará referencia al archivo de manifiesto por nombre cuando utilice el comando distro_const para crear una imagen.


    Nota - Siempre haga copias de seguridad del archivo de manifiesto original y de las secuencias de comando predeterminadas antes de copiarlos.


  3. Edite los elementos de manifiesto según sus necesidades.

    Por ejemplo, puede editar el elemento de destino en el manifiesto para especificar una ubicación distinta del área de generación donde se puede construir la imagen. Además, puede controlar el editor para asegurarse de que su sistema pueda contactarse con el editor para descargar los paquetes necesarios para generar la imagen. Si es necesario, puede editar el elemento de nombre de software para especificar un editor y una ubicación de depósito diferentes.

    Para obtener información, consulte Modificación del contenido del manifiesto y la página del comando man dc_manifest(4).

  4. (Opcional) Cree secuencias de comandos personalizadas para modificar aún más la imagen.

    Si decide crear nuevas secuencias de comandos, actualice las referencias de la secuencia de comandos en la sección de ejecución del archivo de manifiesto.

    Para obtener instrucciones, consulte Creación y utilización de secuencias de comandos personalizadas.

  5. Ejecute la utilidad distro_const para crear una imagen.

    Para obtener instrucciones, consulte el Capítulo 3, Generación de una imagen.

Modificación del contenido del manifiesto

Todos los campos de cada archivo de manifiesto ofrecen valores predeterminados que crearán el tipo de imagen ISO que necesita. Puede editar de forma manual estos campos predefinidos en un archivo de manifiesto para personalizar aún más la imagen resultante.

Según qué manifiesto de ejemplo seleccione, los elementos principales son los siguientes.

Tabla 2-3 Elementos del manifiesto

Elemento
Descripción
<distro name="Oracle_Solaris_Text_X86"
add_timestamp="false">
Especifica el nombre de la imagen con indicador de fecha y hora opcional
<boot_mods>
Especifica las modificaciones del menú de GRUB para la imagen
<target>
Define el conjunto de datos de generación de ZFS donde se genera la imagen
<software name="transfer-ips-install" type="IPS">
Especifica el origen de los paquetes de software que se van a instalar
<software_data action="install">
Muestra los paquetes que se van a instalar
<software_data action="uninstall">
Muestra los paquetes que se van a desinstalar
<software name="set-ips-attributes">
Establece diferentes atributos para IPS una vez que finaliza la instalación
<software name="ba-init">
Especifica el contenido del archivo de inicio

Precaución

Precaución - Modificar con cuidado. Si el archivo de inicio es incorrecto, el sistema instalado no se iniciará.


<execution stop_on_error="true">
<checkpoint name="transfer-ips-install"/>
Muestra los puntos de comprobación de la generación
<configuration name="pre-pkg-img-mod" type="sysconf"
 
source="/etc/svc/profile/generic_limited_net.xml">
Especifica los servicios SMF que se aplicarán al medio durante la generación

Precaución

Precaución - Modificar en raras ocasiones.


Especificación del título de la imagen

Utilice el elemento siguiente para especificar un nombre personalizado o predeterminado para la imagen que va a generar.

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

Si tiene pensado realizar una serie de generaciones de una imagen y conservar las imágenes incrementales, puede cambiar la variable de indicador de fecha y hora a "true", y automáticamente se agregará un indicador de fecha y hora al nombre de cada imagen.

Si necesita especificar un proxy HTTP, anule la marca de comentario del elemento distro name que incluye la variable de proxy, e introduzca la ubicación del proxy.

Modificación del menú de inicio

Este elemento del menú de inicio especifica las modificaciones del menú de inicio que se aplicarán a la imagen.

En el ejemplo siguiente, un menú de inicio especializado con el título “boot1” se aplicará a la imagen. El atributo de tiempo de espera especifica el tiempo que debe transcurrir antes de que la entrada de inicio predeterminada se active automáticamente.

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

En el elemento del menú de inicio, puede agregar entradas de menú de inicio individuales agregando un nuevo elemento boot_entry para cada entrada nueva. Las entradas se agregan secuencialmente al menú de inicio según el orden del valor del atributo insert_at de "start" o "end" para cada entrada de inicio.


Nota - Agregue nuevas entradas antes de la entrada existente "with magnifier".


Consulte el siguiente ejemplo de un elemento boot_entry individual.

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

Para obtener más información, consulte la página del comando man dc_manifest(4).

Especificación del área de generación

Puede personalizar el elemento target. Este elemento define el conjunto de datos de generación de ZFS que se utilizará para la generación. Este conjunto de datos es el área donde se creará la imagen. Debe introducir una ubicación del conjunto de datos válida. Debe controlar el área de generación predeterminada para asegurarse de que la generación no destruya el contenido que necesita conservar en el sistema. Si es necesario, modifique el área de generación.


Nota - El nombre del sistema de archivos no debe incluir el nombre de zpool.


Observe el ejemplo siguiente.

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

Especificación del editor

El elemento siguiente especifica un editor donde el constructor de distribuciones puede obtener paquetes para descargar y utilizar para generar la imagen.

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

En el elemento de origen en esta sección, edite los elementos de nombre de editor y nombre de origen para especificar qué editor se debe utilizar y dónde se ubica el depósito de paquetes. Se pueden mostrar varios editores. Cuando el constructor de distribuciones intenta ubicar paquetes para instalar, los editores se buscan en el orden en que se muestran aquí.

Si es necesario especificar reflejos para un editor, edite el nombre de reflejo y elimine el comentario.

Observe el ejemplo siguiente.

<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>

Para obtener más información sobre cómo utilizar los editores, consulte Adición y actualización de paquetes de software de Oracle Solaris 11.

Visualización de los paquetes para instalar

El elemento software_data con el atributo install muestra el conjunto de paquetes que se van a instalar para generar un tipo de imagen determinado, según el manifiesto que esté utilizando. Por ejemplo, el manifiesto dc_livecd.xml muestra los paquetes necesarios para generar una imagen LiveCD. Cada etiqueta de nombre muestra un nombre de paquete o el nombre del grupo de paquetes que contiene muchos paquetes.

<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 tiene paquetes que desea agregar a la imagen, adjunte los nombres de paquete agregando una etiqueta de nombre a cada paquete.

De manera predeterminada, se instala la versión más reciente del paquete actual disponible en el depósito especificado. Si se requiere otra versión, agregue el número de versión a la referencial del paquete utilizando el formato siguiente:

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

Nota - Es posible que los paquetes con una versión concreta especificada no se instalen si se están instalando otros paquetes con una versión en conflicto. Para obtener más información, consulte la página del comando man pkg(5).


Ejemplo 2-1 Adición de paquetes y editores adicionales

En este ejemplo, se especifica un segundo editor, mypublisher. También se especifican paquetes adicionales, mypackage1 y mypackage2.

Durante el proceso de generación, los editores se comprueban en el orden en que aparecen en la lista. Si los paquetes especificados no se encuentran en el primer editor, se buscan en el editor siguiente.

<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>

Visualización de los paquetes para desinstalar

El elemento software_data con el atributo uninstall se puede usar para desinstalar un paquete individual o para desinstalar una definición de grupo de paquetes.

En el ejemplo siguiente, solaris-desktop es el nombre de un grupo de paquetes que contiene varios paquetes individuales.

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

Puede desinstalar un grupo de paquetes. Desinstalar un grupo de paquetes significa en realidad que sólo se desinstala la definición del grupo. Los paquetes individuales que se instalaron previamente como parte de ese grupo no se desinstalan. Sin embargo, puede desinstalar los paquetes individuales sin desinstalar el grupo de paquetes. Conservar el grupo de paquetes puede ser útil como referencia. También puede utilizar la etiqueta de nombre para desinstalar un paquete individual. Anexe paquetes adicionales para desinstalar al final de la sección de desinstalación.

Especificación de un editor para un sistema instalado

El elemento siguiente afecta un sistema una vez que se ha instalado la imagen creada mediante el constructor de distribuciones en ese sistema.

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

Proporcione las etiquetas de nombre de editor y nombre de reflejo opcional para especificar desde dónde el sistema instalado puede acceder a paquetes adicionales para descargarlos e instalarlos.

En este elemento también puede definir atributos IPS. Consulte la información de la propiedad IPS de la página del comando man pkg(1).

Configuración de los puntos de comprobación de la generación

El elemento de ejecución del manifiesto muestra una serie de puntos de comprobación que se ejecutan durante el proceso de construcción de la imagen. Los puntos de comprobación se ejecutan en el orden en que se muestran en esta sección. Los puntos de comprobación predeterminados necesarios para generar la imagen de instalación predeterminada se incluyen en cada manifiesto.

Cada etiqueta de nombre de punto de comprobación incluye el atributo mod-path que especifica dónde se ubica el punto de comprobación.

Algunas de las etiquetas de punto de comprobación predeterminadas incluyen argumentos con valores predeterminados incluidos. En el siguiente ejemplo de punto de comprobación del manifiesto de ejemplo dc_ai_sparc.xml se crea el archivo de inicio para la generación de la imagen y se indica una secuencia de comandos para realizar la tarea. El punto de comprobación de ejemplo, además, incluye campos de argumento con valores específicos proporcionados para cada argumento.

<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>

Como se muestra en este ejemplo, el elemento <kwargs> contiene argumentos de palabra clave que se deben introducir en el punto de comprobación durante la generación. Dentro del elemento <kwargs> hay elementos <arg name> que se pueden utilizar para especificar palabras clave individuales para introducir en el punto de comprobación. Además, el elemento <arglist> contiene una lista de diversos valores <argitem> para introducir en el punto de comprobación. En este ejemplo se incluye una lista de archivos sin comprimir en el elemento <arglist>.

Cada elemento de lista <kargs> está entre comillas dobles. Cuando no se utilizan comillas dobles, o cuando un juego de comillas dobles encierra toda la cadena, la cadena entera, incluidos los espacios y las líneas nuevas, se interpreta como un argumento. No utilice comas entre los argumentos.

Si crea una secuencia de comandos personalizada para utilizar durante la generación de una imagen, debe agregar un elemento de punto de comprobación que indique la ubicación de la secuencia de comandos. El punto de comprobación de una secuencia de comandos personalizada sólo necesita un elemento <args> que indique la ubicación de la secuencia de comandos personalizada. Para obtener más información y ejemplos, consulte Creación y utilización de secuencias de comandos personalizadas.

Utilice las opciones de comando distro_const para control la pausa y el reinicio del proceso de generación en determinados puntos de comprobación. Consulte Cómo generar una imagen en etapas.

Ejemplo 2-2 Adición de paquetes SVR4

En este ejemplo, se agrega un nuevo punto de comprobación al manifiesto. Este nuevo punto de comprobación muestra los paquetes SVR4 que se van a agregar a la imagen y su ubicación. A continuación, se hace referencia a este nuevo punto de comprobación en la sección de ejecución.

En primer lugar, se crea el nuevo punto de comprobación agregando un nuevo elemento de software. Este punto de comprobación especifica SVR4 como el tipo de software, dónde encontrar los paquetes y el lugar en el que se van a instalar los paquetes.

Además, los paquetes SVR4 específicos que se van a instalar se muestran en el elemento 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 se incluyen en el punto de comprobación, los valores de {PKG_IMAGE_PATH} y {BOOT_ARCHIVE} son sustituidos por la utilidad distro_const con <ZFS Dataset>/build_data/pkg_image y <ZFS Dataset>/build_data/boot_archive respectivamente. En este ejemplo, los paquetes SVR4 se instalarán en <ZFS Dataset>/build_data/pkg_image.

Por último, se hace referencia al nuevo punto de comprobación en la sección de ejecución.

<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"/>

Tenga en cuenta que el nombre del software debe coincidir con el nombre del punto de comprobación. En este ejemplo, ambos son “transfer-svr4–install”.

Creación y utilización de secuencias de comandos personalizadas

El constructor de distribuciones permite especificar secuencias de comandos adicionales que se pueden utilizar para realizar personalizaciones según el tipo de imagen que esté generando. Los archivos de manifiesto hacen referencia a las secuencias de comandos y las secuencias de comandos transforman la imagen genérica en una distribución de medios específicos. En la sección de ejecución de los archivos manifiesto se hace referencia a estas secuencias de comandos. Se puede especificar cualquier cantidad de puntos de comprobación de secuencia de comandos personalizada.


Nota - La admisión de las secuencias de comandos se limita a cualquier secuencia de comandos predeterminada y no modificada incluida en los paquetes de aplicaciones. Si decide personalizar estas secuencias de comandos, primero, realice una copia de seguridad de las secuencias de comandos originales.


Cómo crear y utilizar una secuencia de comandos personalizada

Antes de empezar

Cuando cree sus propias secuencias de comandos personalizadas, tenga en cuenta lo siguiente:

  1. Cree una secuencia de comandos nueva.
  2. Agregue las secuencias de comandos nuevas en el directorio principal o en cualquier otra parte del sistema o la red.

    Asegúrese de que un usuario con el rol de usuario root pueda ejecutar estas secuencias de comandos.

  3. Haga referencia a la nueva secuencia de comandos agregando un punto de comprobación en la sección de ejecución del archivo de manifiesto adecuado.

    Asegúrese de especificar la ruta completa de las secuencias de comandos. Los puntos de comprobación se ejecutan en el orden en el que aparecen en la sección de ejecución del manifiesto.

    Al agregar una referencia para una secuencia de comandos nueva en la sección de ejecución de un archivo de manifiesto, debe especificar el nombre de un punto de comprobación que se pueda utilizar para pausar la generación de la imagen antes o después de que esta secuencia de comandos realice su tarea. Si lo desea, puede incluir un mensaje personalizado asociado con el nombre del punto de comprobación. Si este mensaje se omite, la ruta de la secuencia de comandos se utilizará como el mensaje del punto de comprobación predeterminado. El mensaje del punto de comprobación muestra cuando se ejecuta el punto de comprobación durante el proceso de generación.


    Nota - En lugar de utilizar números, utilice nombres significativos para los puntos de comprobación. Si se agregan secuencias de comandos nuevas, estos nuevos puntos para esos nuevos comandos intenten una numeradas punto pedido.


    El siguiente punto de comprobación de ejemplo hace referencia a una secuencia de comandos personalizada llamada “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. (Opcional) Especifique un parámetro de generación como parte del punto de comprobación como se indica abajo.

    Aquí {PKG_IMAGE_PATH} se especifica como el parámetro de generación en la sección de argumentos.

    <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 se incluyen en el punto de comprobación, los valores de {PKG_IMAGE_PATH} y {BOOT_ARCHIVE} son sustituidos por la utilidad distro_const con <ZFS Dataset>/build_data/pkg_image y <ZFS Dataset>/build_data/boot_archive respectivamente.

  5. Cree la imagen.

    Puede generar la imagen en un solo paso. También, para comprobar el estado de la generación, puede detener y reiniciar el proceso de generación en distintos puntos de comprobación.

    Para obtener instrucciones, consulte el Capítulo 3, Generación de una imagen.

  6. (Opcional) Una vez finalizada la generación, puede visualizar un archivo de registro en el que se informa sobre el proceso de generación.

    La salida de la generación muestra la ubicación de los archivos de registro.