IES Miguel Romero Esteo - Departamento de Informática - Linux/Unix

Bash y programación en Bash/ Práctica 0

Referencias:

http://asir.sudo.es/docnux/bash.1.html#lbAH

Aplicaciones:

nano, vi, mount

Enunciado:

El objetivo de esta práctica es crear la infraestructura necesaria para implementar las propuestas de shell-scripts (tanto en lenguaje bash en el módulo de ASOS como en lenguaje python en el módulo de HLC) que vendrán en las prácticas siguientes. Dicha infraestructura consiste en un sistema sysresccd montado sobre un USB-PEN con capacidad de arranque, funcionalidad operativa y espacio para almacenar los trabajos del alumno. Para ello se realizará lo siguiente:

0.-    Iniciar en un desktop cualquier distribución de GNU/Linux y conectarse como root.

1.-    Descargar “.iso” de la distribución sysresccd disponible en ftp://192.168.50.70.

2.-    Crear un directorio de nombre /var/tmp/openiso

3.-    Montar el archivo “.iso” recien descargado para disponer de acceso a su contenido como si fuese un sistema de ficheros. La orden es la siguiente:

mount -t iso9660 -o loop systemrescuecd-..iso /var/tmp/openiso/

4.-    Disponer de un USB-PEN de un mínimo de 8GB sin contenido alguno o con contenido que se pueda perder. Conectarlo al sistema. Debe quedar desmontado pero no desactivado, es decir, el disco debe ser visible por el sistema (se ve con la orden fdisk -l) pero las particiones que contengan no pueden estar montadas (no se ven con la orden df).

5.-    Crear un directorio de nombre /var/tmp/sysresccd/ y copiar en su interior el contenido completo del directorio /var/tmp/openiso/

6.-  Aplicar permisos de ejecución para el usuario propietario, el grupo propietario y otros al archivo /var/tmp/sysresccd/usb_inst.sh. Este script crea una partición de tipo vfat que ocupa el 100% del tamaño del USB-PEN. Para los efectos del trabajo que se va a realizar en el presente trimestre es un desperdicio, conviene crearla más pequeña y dejar el resto del USB-PEN para otros menesteres. Para provocar este cambio hay que modificar el código fuente de usb_inst.sh así: Localiza la línea donde se crea dicha partición (keyword mkpart es la pista) y modifica el 100% por un porcentaje más razonable, con que tenga 4 GB la particición es suficiente.

7.-    Posicionarse en /var/tmp/sysresccd y ejecutar ./usb_inst.sh. Este shellscript hace todo lo necesario para implantar en el USB-PEN un sistema systemresccd bootable.  Al terminar el proceso reiniciar el puesto del alumno con el USB-PEN recién creado para verificar que se ha hecho lo correcto. Si funciona, parar la cuenta atrás de inicio tocando las teclas de cursor.

8.-    En el menu de opciones de arranque seguir el procedimiento indicado a continuación, el cual, proporciona al sistema del USB una área de persistencia. De no hacerlo, este sistema sólo funciona en modo read-only (todo lo que hagas sobre él se pierde cuando lo apagues).

  1. Intervenir sobre el menú de opciones de arranque para obligar al kernel a iniciarse con el parámetro backstore=off además de los que ya tuviera. Esto se consigue  pulsando TAB sobre la opción del menú que arranca el sistema con los valores por defecto (normalmente la primera opción).
  2. Crear una partición primaria que ocupe 4000Mb del espacio libre en el STICK-USB y formatearla con un sistema de ficheros ext4.
  3. Crear un directorio de nombre /mnt/backstore y montar sobre él la partición creada en el punto anterior.
  4. Ejecutar sysresccd-backstore create /mnt/backstore/sysrcd.bs 3500. Este comando crea el área de persistencia (denominada basckstore en el contexto de sysresccd).
  5. Desmontar la partición del directorio /mnt/backstore.
  6. Reiniciar el sistema del USB-STICK.
  7. A partir de ahora se montará automáticamente el área de persistencia sin más intervención por parte del usuario. Verificar que así ocurre visualizando con el comando df la existencia de un directorio /livemnt/backstore asociado a una partición del USB-STICK (la creada en el paso 2).

9.-    Especificaciones a implementar en systemresccd.

10.-    El USB-PEN y el sistema sysresccd instalado en su interior con área de persistencia se denominará developer (este nombre es para facilitar la redacción de las prácticas en el futuro).