que taal linuxeros hoy les comparto este truco que me encontre en la red al estar buscando solución a un error
jejeje
en fin con estas modificaciones ubuntu 12.04 vuela al iniciar y apaguar
(lo instale en mi laptop acer 5733 con ubuntu 12.04)
en fin ustedes prueben
xD
Arranque y paro rápido: lnet-startpar
lnet-startpar implementa el comportamiento make(1) de startpar para distribuciones Debian y derivadas; startpar es una idea original de SUSE, pero para un sistema Debian ha sido necesario crear un programa distinto.
Qué hace lnet-startpar?
Arranca y para un Sistema Operativo Debian GNU/Linux ejecutando los scripts iniciales completamente en paralelo, tanto en sistemas Live como no-Live.
Debe instalarse en un sistema Debian, y requiere del paquete insserv(8), el cual debe estar correctamente configurado para crear los ficheros de dependencias, según los cuales lnet-startpar arrancará y parará el sistema.
puede ejecutarse en todos los niveles de inicialización "runlevel", incluso en el nivel S. En este nivel, cuando el programa ejecuta udev, tiene cuidado de esperar a que éste termine la creación de dispositivos antes de continuar con el proceso de arranque.
Cómo se ha implementado?
Ésta es una breve sinopsis sobre como lnet-startpar hace el proceso.
explora el directorio correspondiente para este nivel de ejecución anotando cuáles son los servicios que han de ejecutarse y analiza el fichero correspondiente /etc/init.d/.depend.(a) para almacenar una lista de servicios activos, de dependencias entre servicios, y también de servicios interactivos. (a) es la operación que se lleva a cabo (a)=boot, start, stop,
ejecuta los servicios para este nivel de ejecución, primero los de paro K, después los de arranque S. Estos se ejecutan en el orden establecido por la línea TARGETS del fichero .depend.(a), el parámetro importancia también es un indicador de importancia para algunos servicios, según el cual se modifica el orden pre-establecido; todo ello teniendo en cuenta las dependencias entre ellos.
resuelve las dependencias entre los servicios siguiendo un algoritmo recursivo que utiliza la lista de las dependencias del fichero .depend.(a), incluso si algunos servicios no están activados para ejecutarse en este nivel. Cada programa de servicio se ejecuta cuando su lista de servicios dependientes se ha completado.
permite a los servicios interactivos acceder directamente a la consola, para los servicios que no son interactivos la salida a stdout y stderr se almacena en un búfer y se escribe en la pantalla cuando termina la ejecución del servicio.
Instalación
Para instalar lnet-startpar se debe modificar el script /etc/init.d/rc que ha sido instalado por el paquete sysvinit de la distribución Debian:
aplicamos el fichero de diferencias (parche), o editamos el fichero /etc/init.d/rc para insertar las líneas correspondientes
//*********************************************codigo*************************************//
fi
fi
# ADD BEGIN
if [ "lnet-startpar" = "$CONCURRENCY" ] ; then
test -e /etc/init.d/.depend.boot || CONCURRENCY="none"
test -e /etc/init.d/.depend.start || CONCURRENCY="none"
test -e /etc/init.d/.depend.stop || CONCURRENCY="none"
fi
# ADD END
#
# Start script or program.
#
case "$CONCURRENCY" in
# ADD BEGIN
lnet-startpar)
log_action_msg "Using lnet-startpar-style concurrent boot in runlevel $runlevel"
lnet-startpar -n -M -P "${previous}" -R "${runlevel}"
trap - EXIT # Disable emergency handler
exit 0
;;
# ADD END
shell)
log_action_msg "Using shell-style concurrent boot in runlevel $runlevel"
startup() {
//********************************fin del codigo*************************************/
editamos el fichero /etc/default/rcS para asignar el valor "lnet-startpar" a la variable CONCURRENCY.
CONCURRENCY="lnet-startpar"
Parámetros y Opciones.
-M se refiere al modo make(1) de lnet-startpar, esta es la única forma de funcionamiento de esta utilidad, es un parámetro obligatorio. No tiene argumentos.
-P es el nivel anterior, es un parámetro obligatorio. El script /etc/init.d/rc establece correctamente el valor de la variable previous correspondiente a este argumento.
-R es el nivel de ejecución, es un parámetro obligatorio. El script /etc/init.d/rc establece correctamente el valor de la variable runlevel correspondiente a este argumento.
Opciones Generales.
Todas ellas son opcionales.
-D directorio en donde leer los ficheros de dependencias. Hemos de especificar la ruta completa. es un parámetro opcional.
-I kdm,xdm,gdm es una lista de los servicios más importantes, separados por comas. Si la importancia no se especifica, los servicios se iniciarán en el orden especificado en la línea TARGETS. El valor por defecto es kdm,xdm,gdm.
-E udev es una lista de los servicios con prioridad absoluta, separados por comas. El valor por defecto es udev.
-q solamente muestra los mensajes de los servicios interactivos.
-n escribir el nombre del servicio al principio del mensaje.
-h muestra un texto de ayuda y finaliza.
-v muestra el número de versión y finaliza.
Probando la utilidad.
Os recomiendo que probéis y uséis lnet-startpar, al mismo tiempo que hacéis la comparación de algunos datos, como los tiempos de ejecución de scripts individuales, del gestor de escritorio o del sistema final. De momento, a causa de su juventud, esta utilidad se encuentra actualmente en Beta, pero he tratado de mantener el código tan simple y directo como ha sido posible y veo que funciona correctamente en varios de mis sistemas.
El proceso de lnet-startpar se realiza con algoritmos simples que se han programado en C, el resultado es un único programa que es muy rápido en la ejecución y además es fácil de instalar.
lnet-startpar muestra una ventaja considerable respecto a los tipos estándar de CONCURRENCY "none, shell o startpar"; los tiempos de arranque y paro pueden reducirse a la mitad.
Una vez nos hemos decidido a usar lnet-startpar básicamente las diferentes opciones para poner a prueba se resumen en dos: activar (o no) el parámetro -I para clasificar los servicios según su importancia. Según mis pruebas, si los gestores de sesión (kdm, xdm, gdm) son designados como servicios importantes, se da prioridad al pesado proceso de arranque del gestor de escritorio, lo que reduce el tiempo de arranque y también los otros servicios más ligeros se iniciarán casi simultáneamente con el gestor de sesiones.
Comparando con otras utilidades de arranque, como speedboot o initng podemos observar que, a diferencia de otras que modifiquen qué programas se han de ejecutar en cada nivel de ejecución, lnet-startpar no cambia o minimiza el número de servicios a ejecutar, solamente cambia la distribución en el tiempo de la ejecución; también con lnet-startpar no es necesario re-codificar los programas de servicio, y no requiere ningún cambio de su código, se ejecutarán tal como actualmente son.
Ficheros.
/etc/init.d/.depend.boot
/etc/init.d/.depend.start
/etc/init.d/.depend.stop
init.d(7), insserv(8), startpar(8). startproc(8).
Copyright.
Copyright © 2009 Jordi Pujol.
License.