Nota Inicial:
Hace poco que me enteré de este nuevo init: InitNG que podrá reemplazar a la clásica herramienta SysVinit de nuestro sistema GNU/Linux con la gran ventaja de cargar los procesos que se ejecutan en el arranque en forma paralela y asincrónica. Incluso existe una Live-CD polaca que ya integró este fantástico Init: http://home.gna.org/pingwinek/index.html
Comparándolo con el antiguo init me he ahorrado más de 15 segundos en el arranque y funciona perfectamente, sin ningún cuelgue ni nada.
Es más podremos sólo probarlo si queremos agregando un simple parámetro en nuestro cargador de arranque (GRUB, Lilo) =)
I.- Instalando:
El primer paso será instalarlo, en este caso en Debian, tenemos un repositorio con paquetes precompilados; bastará añadir al “/etc/apt/sources.list”:
deb http://debian.space-based.de/debs/ experimental main
deb-src http://debian.space-based.de/debs/ experimental main
Y a continuación hacemos:
#aptitude update
#aptitude install initng-ifiles
La herramienta configurará y detectará automáticamente nuestros scripts de arranque y los guardará con un formato propio (archivos con extensión .i) y creará un directorio para cada demonio, agrupando los scripts en
3 directorios principales: “net”, “system” y “daemon”.
El directorio principal de configuración de InitNG se encuentra en /etc/initng.
Por último nos queda modificar nuestro cargador de arranque:
(a) Si usamos GRUB:
Agregamos en la línea del kernel: “init=/sbin/initng”
Por ejemplo mi línea quedaría así:
title Elive GNU/Linux kernel 2.6.16
root (hd0,3)
kernel /boot/vmlinuz-2.6.16.5 root=/dev/hda4 init=/sbin/initng vga=0x317
initrd /boot/initrd.img-2.6.16.5
(b) O si usamos Lilo:
Agregamos esta nueva línea: append = “init=/sbin/initng”
Un ejemplo:
image = /boot/vmlinuz-2.6.16.5
root = /dev/hda4
label = Elive GNU/Linux kernel 2.6.16 linux-initng
append = "init=/sbin/initng"
Nos queda reiniciar y disfrutar de un veloz arranque !!!
(La primera vez quizás irá lento, pero en el segundo arranque sentirás la diferencia)
II.- Herramientas de InitNG:
ngc —> Herramienta de control de Init (Equivalente a telinit)
ng-update —> Herramienta de configuracion de los niveles de arranque.
gen_system_runlevel.sh —> Script generador de niveles.
install_service —> Instalar servicios initng’s (.ii )
III.- Algunos comandos adicionales:
*** Agregar un servicio:
#ng-update add DIRECTORIO/SERVICIO default
*En DIRECTORIO se coloca el respectivo directorio en el que se encuentra el servicio. (net, system, daemon)
*** Eliminar un servicio:
#ng-update del DIRECTORIO/SERVICIO default
*** Crear todos los scripts de inicio para todos los niveles:
#gen_system_runlevel -all
*** Iniciar/Detener/Reiniciar un servicio
#ngc -u/-d/-r SERVICIO
Más información:
man initng
IV.- Posibles problemas:
Si no detectara adecuadamente un servicio necesario, lo que debemos hacer es ir al directorio de ejecución que usamos por defecto, en Debian tendríamos que mirar en: “/etc/rc.2.d/”, ahí se encuentran todos los scripts que se cargan por defecto en un inicio normal del sistema
; por ejemplo yo uso el administrador de sesión gráfico entrance pero no me lo añadió de forma automática, por lo tuve que ver en /etc/initng/daemon/, encontré ahí el archivo: “entranced.i” y lo añadí al inicio con el comando:
ng-update add daemon/entranced default
Notas Finales:
En la web principal del proyecto existen también paquetes para Fedora, ebuilds para Gentoo y por supuesto el código fuente)
Enfin, las posibilidades de este Init son muchas, existe además un GUI para Gtk: http://www.initng.org/attachment/wiki/initng-conf-gtk/initng_conf_gtk_in_action.png de configuración de niveles, así como muchos
plugins adaptables a nuestro init. Más en la web principal del proyecto.
Referencias:
http://bulma.net/body.phtml?nIdNoticia=2288
http://www.initng.org/
