Prácticas A.S.O./A.S.O.P. - Bolet´ın L02 Arranque y Parada

Anuncio
Prácticas A.S.O./A.S.O.P. - Boletı́n L02
Arranque y Parada
Ejercicios
1. Arranca el ordenador y cuando aparezca el menú del GRUB, entra en modo edición e indica al
núcleo que arranque en modo monousuario.
Para entrar en modo edición pulsa la tecla “e”, al igual que para editar cualquier lı́nea. Para
arrancar en modo monousuario hay que pasar al núcleo el parámetro “single” ó 1.
Observa que estás cambiando el comportamiento del núcleo, y por tanto del sistema, sin ninguna
comprobación de seguridad.
2. Modo monousuario. Realiza las siguientes comprobaciones.
2.1 Con la orden mount, los sistemas de ficheros que hay montados.
2.2 Con ps aux, los procesos que hay en ejecución.
2.3 Utiliza la orden runlevel para averiguar el nivel en el que está el sistema.
3. Modo multiusuario. Desde modo monousuario ejecuta la orden exit, el sistema continuará el
arranque al nivel por defecto. Entra al sistema con el usuario root, y a continuación realiza las
siguientes comprobaciones comparando la información obtenida en el ejercicio anterior.
3.1 Sistemas de ficheros montados. (Lo normal es que en los ordenadores del laboratorio no haya
diferencia con respecto al modo monousuario, porque sólo hay una partición, y por tanto un
único sistema de ficheros).
3.2 Observa los procesos que hay en ejecución.
3.3 Comprueba el nivel del sistema. En este caso, ¿qué nos dice runlevel además del nivel
actual?
4. Resuelve las siguientes cuestiones con el gestor de arranque GRUB :
4.1 Asigna la contraseña “practicas” al gestor de arranque, de forma que cuando se desee introducir parámetros al kernel, sea necesario dar esa contraseña. Esto va a solucionar el posible
problema de seguridad creado al poder introducir parámetros al núcleo y al GRUB, sin que
el sistema pida autenticación.
4.2 Crea una nueva entrada en el arranque, con una nueva etiqueta pero que cargue el mismo
núcleo (imagina que es una nueva versión de kernel). Sólo hay que copiar una entrada ya
existente y cambiarle la etiqueta asignada.
5. Usando la orden shutdown, reinicia el sistema.
6. Cuando el menú del GRUB aparezca de nuevo, selecciona como opción de arranque la nueva
entrada creada, entra en modo edición e indica al núcleo el parámetro “3” para arrancar en este
nivel de ejecución. (Ahora es necesario darle la contraseña asignada).
7. Observa que aunque estás en el nivel 3, la principal diferencia con el nivel 5 es el entorno gráfico.
En el nivel 5 se lanza de forma automática el entorno gráfico, mientras que en el 3 no. También
los demonios lanzados en cada caso pueden ser diferentes.
8. Edita el fichero de configuración del GRUB y quita la contraseña establecida.
9. Respecto al arranque del sistema mediente eventos, resuelve las siguientes cuestiones:
9.1 ¿Qué eventos y en qué orden se ejecutan para el nivel 5?
1
9.2 ¿Qué eventos y en qué orden se ejecutan para el modo monousuario?
9.3 Cuando se apaga el sistema ¿qué eventos y en qué orden se ejecutan?
9.4 Para los niveles 3 y 5, crea un nuevo evento que se ejecute cuando el correspondiente evento
rc se haya ejecutado y que realice las siguientes tareas:
Usando la opción de introducir guiones shell, compruebe si existe el fichero /tmp/prueba,
y, si exite, lo mueva al fichero /tmp/prueba1.
A continuación que ejecute la orden mount para comprobar cuántos sistemas de ficheros
hay ya montados, guardando la información en el fichero /tmp/prueba.
9.5 Establece que para el nivel de ejecución 3 también se ejecute el entorno gráfico, de la misma
manera que se hace para el nivel 5.
10. Establece como nivel de arranque por defecto, el nivel 3, a continuación reinicia el sistema.
11. Con la orden telinit, cambia al nivel de ejecución 5.
12. Ojea el funcionamiento del script /etc/rc.d/rc, que es el encargado de lanzar y matar los
demonios de cada nivel. Para cada nivel utiliza los directorios /etc/rc<n>.d, en los que hay
una serie de ficheros que serán parados o lanzados al entrar a ese nivel. Los ficheros de estos
directorios en realidad son enlaces simbólicos a ficheros del directorio /etc/rc.d/init.d.
12.1 Estudia dicha estructura.
12.2 ¿Qué indican las K’s y S’s?
12.3 ¿En qué orden se ejecutan?
13. Cada fichero script del directorio init.d suele admitir los parámetros start, stop, restart
y status y puede ser ejecutado de forma independiente. Por ejemplo, con la instrucción
“/etc/rc.d/init.d/crond restart” relanzamos el demonio Cron, y con
“/etc/rc.d/init.d/crond status” se conoce su estado. Utilizando este método:
13.1
13.2
13.3
13.4
Comprueba el estado del demonio atd.
Si está en ejecución, páralo.
Vuelve a comprobar su estado.
A continuación lanza el demonio.
14. La orden chkconfig nos permite configurar los demonios a lanzar o terminar para un nivel
concreto, ası́ como obtener un listado de los mismos. Resuelve los siguientes ejercicios:
14.1 Consigue un listado del estado de todos los demonios en cada nivel.
14.2 Averigua, mostrando un listado, para qué niveles se lanza el demonio crond y para qué niveles se para.
14.3 Haz que en el nivel de ejecución no 2 no se pueda hacer uso de la impresora, para ello
deberás conseguir que no se ejecute su demonio, cups, al entrar a ese nivel.
14.4 Con la herramienta system-config-services haz que para el nivel no 5, no se ejecute
el demonio crond.
15. Durante el proceso de arranque, los usuarios no pueden acceder al sistema hasta que no termina.
En ocasiones, esto se controla con el fichero /etc/nologin. Resuelve las siguientes cuestiones:
15.1
15.2
15.3
15.4
Crea el fichero /etc/nologin con el texto “Sistema en pruebas, disculpe las molestias”.
Intenta entrar al sistema con el usuario alumno, ¿qué sucede?
Intenta, en otro terminal, entrar al sistema con el usuario root, ¿te lo permite?
¿Para qué serı́a útil esta posibilidad?
2
15.5 Borra el fichero.
16. Deshabilita la posibilidad de usar la combinación de teclas Ctrl-Alt-Supr.
16.1 Haz que cuando se pulsen dichas teclas aparezca en pantalla un mensaje diciendo: “Enhorabuena: has pulsado las teclas Cltr+Alt+Del”
16.2 Haz que cuando se pulsen, el sistema no realice absolutamente nada.
17. El subsistema de “log” también recoge mensajes del proceso de arranque, aunque de forma conjunta al resto de mensajes del sistema. Visualiza el contenido del fichero /var/log/messages
tras un arranque, y observa los nuevos mensajes que han aparecido referenciando a dicho proceso.
18. De los mensajes que se muestran cuando el sistema está arrancando, unos son del núcleo y otros
de los scripts del proceso de arranque. ¿Cuáles son los que muestra la orden dmesg?
19. Solucionando problemas. En este ejercicio vamos a estudiar una opción que nos permite
arrancar el sistema en caso de que tenga problemas.
Imagina que se ha borrado el ejecutable /sbin/init, en este caso el sistema no podrá realizar
el proceso de arranque. Una opción es arrancar indicando que el proceso Init es el intérprete de órdenes, /bin/bash, y no el proceso /sbin/init. Para ello introduce el parámetro
init=/bin/sh al núcleo cuando arranque el sistema.
Comprueba el estado del sistema al iniciar de esta forma y qué cosas puedes o no hacer con el
mismo.
Ejercicios teóricos
20. Observa la configuración actual de GRUB e identifica las palabras clave de la configuración que
determinan los elementos de la “cadena de arranque”:
20.1
20.2
20.3
20.4
¿Qué
¿Qué
¿Qué
¿Qué
imagen del kernel se carga por defecto?
imagen initrd se carga?
sistema de ficheros raı́z monta el kernel?
sistema de ficheros usa GRUB para encontrar el núcleo y el initrd ?
21. Una vez que toma el control, el proceso Init selecciona y ejecuta los scripts de inicio necesarios
para llevar el sistema al nivel de ejecución elegido.
21.1 ¿Qué PID tiene el proceso Init?
21.2 ¿Dónde se establece el nivel por defecto?
21.3 Si comentases esa lı́nea y reiniciases, ¿a qué nivel entrarı́a el sistema? (¡Importante! no
borres la lı́nea)
22. shutdown versus telinit. Rellena el siguiente cuadro con los prámetros en cada caso:
shutdown
apagar
reiniciar
modo monousuario
3
telinit
Descargar