Pregunta dentro de una pregunta (del wiki de Debian ):
¿Debo usar sid en mi escritorio?
Si cree que puede manejar un sistema Debian dañado, seguro. ¿Sabes qué hacer si se rompe libpam0g, evitando todos los inicios de sesión? ¿Sabes qué hacer si grep se rompe y el proceso de arranque se bloquea para siempre? Estas cosas han sucedido. Volverán a suceder.
Mi pregunta es, ¿cómo un roto grep
hace que el proceso de arranque se bloquee para siempre?
grep
esgrep -r pattern . > pattern.grep
. Como el shell crea el archivo de salida antes de invocarlogrep
, elgrep
comando busca el archivo de salida, que crece hasta que el disco se llena. No tengo idea de si esto está relacionado con algo que pueda causar que el proceso de arranque se bloquee para siempre.Respuestas:
Es común que los scripts de arranque llamen
grep
en algún momento. Si segrep
bloquea debido a un error,grep
se bloqueará el primero de estos scripts de arranque que llama . O, más comúnmente, si uno de estos scripts está roto y llamagrep
sin proporcionar un argumento de nombre de archivo y sin redirigir la entrada,grep
se sentará para siempre esperando la entrada de la consola (eso no es tan malo si está frente a la consola y puede tipoCtrl+D
). Si un script está roto y llamagrep
a una tubería o dispositivo donde nadie está escribiendo ... qué mal.fuente
Bueno, la forma obvia sería "grep se cuelga para siempre, entonces algo que usa grep se cuelga para siempre, y algo en el proceso de arranque lo hace".
Es probable que el texto sea ilustrativo en lugar de ejemplos literales de problemas, pero no es imposible.
Para comprender realmente, comience a leer en
/etc/init.d/rc
y/etc/init.d/rcS
, esos son los scripts de shell que ejecutan todos los bits que activan su sistema.fuente