E. U. de Informática Departamento de Informática Aplicada Examen Final de Administración de Sistemas Operativos 23 de junio de 2003 EJERCICIO 2 (3.5 puntos) Tiempo estimado: 30 m. La ejecución de los comandos df –k y more /etc/dumpdates en un sistema Linux produce los resultados siguientes: Salida de df –k Filesystem 1k-blocks /dev/hda8 /dev/hda1 /dev/hda6 /dev/hda10 /dev/hda5 /dev/hda7 256194 21929 3571696 131734 1815580 256194 Used 81103 4918 24336 5797 1113348 256194 Available Use% Mounted on 161863 15879 3365924 119135 610004 225953 33% 24% 1% 5% 65% 7% / /boot /local /tmp /usr /var Salida de more /etc/dumpdates /dev/hda8 /dev/hda6 /dev/hda7 /dev/hda5 /dev/hda5 /dev/hda7 /dev/hda6 /dev/hda8 /dev/hda6 /dev/hda1 /dev/hda7 /dev/hda1 /dev/hda7 /dev/hda5 /dev/hda1 /dev/hda8 /dev/hda1 /dev/hda6 2 3 3 9 1 0 1 1 0 1 1 4 2 0 0 0 3 2 Thu Thu Thu Thu Sat Sat Sat Sat Thu The Mon Thu Mon Sat Fri Fri Sun Sun Jan Jan Jan Jan Jan Jan Jan Jan Jan Jan Jan Jan Dec Nov Sep Aug Jul Jul 17 17 17 17 12 12 12 12 10 8 7 3 24 3 21 24 29 29 22:59:23 22:51:51 22:50:24 22:46:25 22:45:42 23:14:47 23:14:32 23:14:17 22:47:31 22:16:05 22:08:09 22:51:53 22:53:52 22:46:21 22:46:29 23:01:24 22:52:20 23:01:32 2002 2002 2002 2002 2002 2002 2002 2002 2002 2002 2002 2002 2001 2001 2001 2001 2001 2001 Responda a las cuestiones siguientes: a) ¿Cuál ha sido la secuencia de llamadas al comando dump para realizar el respaldo del sistema de ficheros /local?. El fichero del dispositivo de cinta es /dev/rmt0 b) Indica la secuencia de llamadas al comando restore para recuperar el contenido del directorio /usr/alumnos/aso01 c) Accidentalmente se ha ejecutado el comando rm –rf /*, indica la secuencia de comandos (restore) para recuperar los directorios y ficheros perdidos. d) El contenido del directorio /tmp/tmp3 se ha borrado accidentalmente, indica la secuencia de comandos que permita recuperar su contenido a partir de los respaldos realizados. EJERCICIO 3 (3.5 puntos) Tiempo estimado: 45 m. Eres el administrador de un sistema Linux y quieres conseguir que los usuarios organicen su directorio de trabajo. El objetivo es que en el directorio principal no tengan muchos ficheros, sino directorios que contengan ficheros relacionados con una actividad o proyecto concreto. Por ejemplo, se consideraría una organización válida tener 8 directorios y un fichero, pero no sería aceptable tener 8 ficheros y dos directorios. Escribe un script en el lenguaje BASH que realice las tareas siguientes: • • • Averiguar cuántas entradas del directorio principal del usuario no son directorios, y si son más de dos, trasladar dichos ficheros a algún subdirectorio del usuario El traslado de los ficheros se realiza mediante un proceso interactivo en que el script va preguntando al usuario para cada fichero a qué directorio debe enviarse. Para simplificar, debe suponerse que es un directorio que cuelga directamente del directorio principal, con lo que el usuario sólo indicará su nombre (sin ruta) Si el directorio destino no existe, se creará uno con el nombre indicado bajo el directorio principal del usuario En el desarrollo del script deben tenerse en cuenta las indicaciones siguientes: • • • • • Se pide código del lenguaje BASH, NO seudocódigo Para especificar la ruta de los ficheros/directorios, suponer que el script no está en el directorio principal del usuario Cuando sea necesario, deberán declararse variables Cuando se usen comillas, debe quedar claro de qué tipo son La estructura del código debe ser clara y limpia (mediante espaciado, sangrado, uso de estructuras de control, ...)