Instalación de sistemas Oracle® Solaris 11.2

Salir de la Vista de impresión

Actualización: Julio de 2014
 
 

Cómo garantizar una ejecución única en el primer inicio

  1. Cree un servicio para ejecutar la secuencia de comandos.

    La forma más sencilla de crear este servicio es utilizar el comando svcbundle como se muestra en Uso de la herramienta de creación de manifiestos.

  2. Establezca un indicador de finalización de secuencias de comandos antes de que se ejecute la secuencia de comandos.

    Defina una propiedad de finalización de valores booleanos en el manifiesto de servicio y establezca su valor en false. Vea la propiedad completed del manifiesto en el Example 13–3.

  3. Defina el indicador de finalización de secuencias de comandos al final de la secuencia de comandos.

    Utilice el comando svccfg para definir la propiedad completed en true al final de la secuencia de comandos. Utilice el comando svcadm para refrescar el servicio con el nuevo valor de la propiedad. Vea el final de la secuencia de comandos en el Example 13–1.

  4. Desactive el servicio si la secuencia de comandos finalizó.

    En el manifiesto de servicio, se crea y se activa la instancia de servicio predeterminada. El servicio se desactiva en la secuencia de comandos. Al salir de la secuencia de comandos del primer inicio, utilice el código de salida SMF_EXIT_TEMP_DISABLE para salir del método start del servicio y desactivar temporalmente el servicio. Se desactiva el servicio, y no se ejecuta el método stop del servicio.

    Es preferible desactivar temporalmente el servicio antes que desactivarlo de forma permanente, ya que de ese modo el servicio se puede volver a activar con mayor facilidad. En algunas situaciones, la secuencia de comandos (y, por lo tanto, el servicio) se debe volver a ejecutar para actualizar la tarea de configuración realizada, como la migración o la clonación de zonas. Si el servicio se desactiva de forma permanente, se debe volver a ejecutar el comando svcadm enable para volver a activar el servicio.

    También es preferible desactivar el servicio de forma temporal antes que dejarlo en línea. Puede parecer que un servicio que está en línea realiza tareas cada vez que se reinicia el sistema. En este ejemplo, el nombre del servicio es site/first-boot-script-svc. Una vez que se inicia el cliente, puede ver que el servicio está en el estado disabled:

    $ svcs first-boot-script-svc
    STATE          STIME    FMRI
    disabled        8:24:16 svc:/site/first-boot-script-svc:default