Adentrándose en Unix


Cómo ampliar el sistema de control

Posted in WikiUnix por Noelia en 28 febrero 2010
Tags: , , , , ,

El sistema de control actual se basa en la utilización de un único script, el cual se sirve de directorios y ficheros de texto plano para realizar las comprobaciones del conjunto de ejercicios actual.

Por cada conjunto de ejercicios existe dentro del directorio ~/unix/ (en el repositorio se encuentra en la ruta /code/control/unix) un subdirectorio con su identificador (por ejemplo, en el caso de la sección Órdenes básicas el subdirectorio se denomina ordenes_basicas). Dentro de cada uno de estos subdirectorios existirán los elementos sobre los que tengamos que trabajar, el script de comprobación (que se encuentra en la ruta /code/control/control.py en el repositorio) y un directorio de comprobación oculto (~/unix/ordenes_basicas/.correccion, siguiendo el ejemplo).

Dentro de este directorio de comprobación general definimos los siguientes (además de aquellos elementos extras que fueran necesarios):

  • .correccion/base: Directorio que contiene las comprobaciones que deben realizarse siempre. Esto quiere decir que previo a las demás comprobaciones se ejecutarán las que se definan en este directorio.
  • .correccion/limpia: Directorio de limpieza, donde se indican las órdenes y comprobaciones a realizar para dejar el directorio de trabajo del script listo para poder realizar los ejercicios.
  • .correccion/parcialn: Siendo n un número dentro del rango de las comprobaciones a realizar menos 1. Es el directorio que contiene las comprobaciones a realizar en el control intermedio número n.
  • .correccion/final: Directorio que contiene las comprobaciones finales, es decir, las necesarias para verificar que el ejercicio se ha desarrollado correctamente hasta el último punto de control.

Dentro de cada directorio de comprobación se incluyen dos tipos de ficheros de control (sólo deben incluirse si es necesario realizar la comprobación pertinente, en caso contrario no se crearán):

  • Ficheros de comprobación: tan sólo verifican información sin modificar nada
    • dir_existentes.dat Incluye los directorios de los que se desea comprobar su existencia. El formato del fichero debe ser un directorio por cada línea.
    • fich_existentes.dat Incluye los ficheros de los que se desea comprobar su existencia. El formato del fichero debe ser un fichero por cada línea.
    • dir_eliminados.dat Incluye los directorios de los que se desea comprobar su “no-existencia”, o lo que es lo mismo, de los que se desea comprobar que se hayan borrado. El formato del fichero debe ser un directorio por cada línea.
    • fich_eliminados.dat Incluye los ficheros de los que se desea comprobar su “no-existencia”. El formato del fichero debe ser un fichero por cada línea.
    • permisos.dat Incluye los permisos que se deben comprobar de determinados elementos. El formato del fichero debe ser el elemento (fichero o directorios) seguido de un espacio y de los permisos en formato octal de 7 dígitos.
    • propietarios.dat Incluye los propietarios que se deben comprobar de determinados elementos. El formato del fichero debe ser el elemento (fichero o directorios) seguido de un espacio y del identificador del usuario (UID).
    • grupos.dat Incluye los grupos propietarios que se deben comprobar de determinados elementos. El formato del fichero debe ser el elemento (fichero o directorios) seguido de un espacio y del identificador del grupo (GID).
    • mascara.dat Incluye la máscara de permisos que se desea que posea el sistema. El formato del fichero debe ser una única línea con la máscara en formato octal de 4 dígitos.
    • fich_iguales.dat Incluye ficheros de los cuales se debe comprobar su igualdad. El formato del fichero debe ser las parejas de ficheros separados por un espacio.
    • dir_iguales.dat Incluye directorios de los cuales se debe comprobar su igualdad. El formato del fichero debe ser las parejas de directorios separados por un espacio.
    • contenido.dat Incluye expresiones regulares que se desean encontrar en un determinado fichero. Se da por válida esta comprobación si se encuentra dicha expresión en una o más líneas del fichero. El formato del fichero debe ser el nombre del fichero afectado seguido de la expresión regular a buscar.
    • enlaces.dat Incluye enlaces y ficheros enlazados que se desean comprobar. El formato del fichero debe ser el fichero que contiene el enlace y el fichero que se supone que debe enlazar.
  • Ficheros de acción: se encargan de preparar el entorno para la ejecución de los ejercicios
    • dir_a_borrar.dat Incluye los directorios que se desean eliminar. El formato del fichero debe ser un directorio por cada línea.
    • fich_a_borrar.dat Incluye los ficheros que se desean eliminar. El formato del fichero debe ser un fichero por cada línea.
    • cambiar_permisos.dat Incluye los permisos que se desean modificar a determinados elementos. El formato debe ser el elemento (fichero o directorio) seguido de los permisos en formato octal de 7 dígitos.
    • cambiar_propietarios.dat Incluye los propietarios que se desean modificar a determinados elementos. El formato debe ser el elemento (fichero o directorio) seguido del identificador del usuario (UID).
    • cambiar_grupos.dat Incluye los grupos propietarios que se desean modificar a determinados elementos. El formato debe ser el elemento (fichero o directorio) seguido del identificador del grupo (GID).
    • cambiar_mascara.dat Incluye la máscara de permisos que se desea configurar en el sistema. El formato debe ser una única línea con los permisos de la máscara en formato octal de 4 dígitos.
    • fich_a_restaurar.dat Incluye los ficheros que se desean restaurar en el sistema. El formato debe ser el fichero fuente a restaurar seguido de un espacio y de la ruta de destino.
    • dir_a_restaurar.dat Incluye  los directorios que se desean restaurar en el sistema. El formato debe ser el directorio fuente a restaurar seguido de un espacio y de la ruta de destino.
    • ordenes.dat Incluye las órdenes que se desean ejecutar en el sistema. El formato debe ser una línea por cada orden a ejecutar.

Para entender mejor esta estructura lo mejor es visualizar uno de los directorios que ya están compuestos (los cuales se encuentran en el directorio que se indicó antes en el repositorio).

Tras este tutorial (que también puede encontrarse en el manual de usuario del proyecto) me queda comentar que en la presentación final del proyecto surgieron varias ideas interesantes para ampliar este sistema de control, por lo que a lo mejor incluyo otra entrada en el blog hablando de las posibilidades.

Un saludo, unixeros😉

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


A %d blogueros les gusta esto: