Para modificar /etc/inittab durante la instalación, mediante secuencias de comandos de acción de clase y clases, debe completar las tareas siguientes:
Crear una clase.
Cree una clase llamada inittab . Debe proporcionar una secuencia de comandos de acción de clase de instalación y eliminación para esta clase. Defina la clase inittab en el parámetro CLASSES del archivo pkginfo.
Crear un archivo inittab.
Este archivo contiene la información para la entrada que desea agregar a /etc/inittab . Observe en la figura del archivo prototype que inittab forma parte de la clase inittab y que tiene un tipo de archivo de e para editar.
Crear una secuencia de comandos de acción de clase de instalación (i.inittab).
Recuerde que las secuencias de comandos de acción de clase deben producir los mismos resultados cada vez que se ejecutan. La secuencia de comandos de acción de clase ejecuta estos pasos:
Comprueba si la entrada se ha agregado anteriormente
Si es así, suprime las versiones anteriores de la entrada
Modifica el archivo inittab y agrega líneas de comentarios para que sepa de dónde procede la entrada
Mueve el archivo temporal a /etc/inittab
Ejecuta el comando init q cuando recibe el indicador ENDOFCLASS
Tenga en cuenta que el comando init q se puede ejecutar mediante esta secuencia de comandos de instalación. Esta aproximación no necesita una secuencia de comandos de postinstall de una línea.
Crear una secuencia de comandos de acción de clase de eliminación (r.inittab).
La secuencia de comandos de eliminación es muy parecida a la de instalación. La información agregada por la secuencia de comandos de instalación se suprime y se ejecuta el comando init q.
Este caso práctico es más complicado que el siguiente; consulte Modificación de un archivo mediante la clase sed y una secuencia de comandos postinstall. En lugar de proporcionar dos archivos se necesitan tres; el archivo /etc/inittab entregado es simplemente un marcador de posición que contiene un fragmento de la entrada que se va a insertar. Ésta se podría haber colocado en el archivo i.inittab, a excepción de que el comando pkgadd debe tener un archivo para pasar al archivo i.inittab. Asimismo, el procedimiento de eliminación debe colocarse en un archivo aparte (r.inittab). Mientras este método funcione bien, es mejor reservarlo para casos que impliquen instalaciones muy complicadas de varios archivos. Consulte Modificación de archivos crontab durante la instalación.
El programa sed usado en Modificación de un archivo mediante la clase sed y una secuencia de comandos postinstall admite varias instancias de paquetes, ya que el comentario del final de la entrada inittab se basa en la instancia del paquete. El caso práctico de Modificación de un archivo mediante la clase build muestra una aproximación más simplificada para la modificación de /etc/inittab durante la instalación.