Centro de Informática. Sistemas Operativos II. Curso 1999.
-
Prueba parcial 2/2.
Nombre: ______________________________________ Nota:
___________
Con libre consulta de material.
Estructura de archivos.
Estructura del archivo /etc/passwd:
#nombre:contraseña:UID:GID:comentarios:dir_propio:shell
jperez:Xdio0IKLLP:1130:103:Juan Pérez:/home/jperez:/bin/bash
Estructura del archivo /etc/group:
#grupo:GID:lista_usuarios
docentes:103:victor,german,fernando
Estructura del archivo /etc/hosts:
#número_IP nombre_máquina alias
10.137.137.250 liebre.cdi.edu.uy liebre localhost
mailhost
Todos los archivos anteriores pueden tener comentarios (líneas
comenzadas por #).
En los sistemas con NIS, para passwd y group usar
el comanto ypcat en lugar de cat para listar estos archivos, o
el comando ypmatch para extraer una línea sola de alguno
de ellos. Ejemplos:
ypcat passwd
ypcat group
ypmatch jperez passwd
1. Escribir un script admaq para agregar
una máquina al archivo /etc/hosts. Solicitará al
usuario un número IP y luego un nombre de máquina. El ingreso
del nombre de máquina se reiterará hasta que el usuario ingrese
un nombre de máquina vacío (tecla Enter sin escribir nada).
El script armará la línea en el formato del archivo hosts
y la presentará al usuario pidiendo confirmación. Si la obtiene,
adjuntará la línea al final del archivo /etc/hosts.
(15 puntos)
2. Escribir un script sumadora para hacer
sumas y restas de enteros. Presentará al usuario una interfaz similar
a ésta:
SUMADORA: suma y resta enteros.
Los símbolos aceptados son: + y -
Debe haber espacio entre todos los operandos y operadores.
Ejemplo: 5 + 3 - 20 + 35
Ingrese operaciones:
3 * 2 + 10
Resultado:
16
Si la expresión ingresada es correcta, el script realizará
el cálculo y presentará el resultado; si no lo es, emitirá
en lugar del resultado el mensaje "Expresión incorrecta. Debe
comenzar de nuevo" y saldrá.
¿Qué dificultas se presentaría al incluír
otras operaciones?
Sugerencia: para controlar la validez de la expresión,
capturar el valor de retorno del comando que realiza la operación.
(10 puntos)
3. Un administrador de una máquina UNIX
debe revisar día a día si hay conexión hacia todas
las máquinas contenidas en el archivo /etc/hosts. Para
ello dispone del comando
ping -c1 <nombre de la máquina destino>
Como ejemplo, el comando
ping -c1 nutria
envía y recibe un paquete hacia la máquina nutria.
El valor de retorno del comando ping es el siguiente:
0 La máquina destino está viva,
contesta normalmente.
1 La máquina destino no contesta.
2 Hubo algún error.
Construir un script vivas que pruebe conectividad a todas
las máquinas contenidas en el archivo /etc/hosts, y muestre
el nombre de las máquinas indicando su estado, así:
RESPUESTA de máquinas en /etc/hosts:
nutria: está viva.
gaviota: no contesta.
coati: error en ping
Sugerencias. Recordar que el archivo /etc/hosts puede tener
comentarios. Redireccionar salida y error de ping para no confundir
la salida del script. (15 puntos)
4. El comando df muestra el espacio disponible
en los sistemas de archivos montados. Su salida tiene esta forma:
Filesystem 1024-blocks Used Available
Capacity Mounted on
/dev/hda2 1484386 433463 974213 31%
/
/dev/hda1 1228736 524576 704160 31%
/dosc
/dev/hda3 68263 63484 4779 93% /tmp
Los campos están separados por espacios. El campo Capacity indica
el porcentaje ocupado. Escribir un script espacio que invoque
el comando df y muestre en su salida el nombre del sistema de
archivo y su capacidad ocupada para los sistemas de archivos con 90% o
más espacio ocupado. (10 puntos)