2026-2027
La memoria de estas prácticas debes escribirla en un fichero en formato markdown. El fichero estará en tu cuenta del laboratorio. El dia del examen, recogeremos automáticamente tus prácticas.
Es imprescindible que respetes al pie de la letra los nombres de los ficheros especificados en el guión. Una letra mal puesta equivale a una práctica no presentada (o un examen no presentado). Si bien dispondrás de un script que verificará que has usado los nombres correctos
Redacta la memoria describiendo escuetamente todo lo que haces. Esta memoria te será muy útil para preparar el examen práctico (recuerda que podrás llevarla al examen).
No merece la pena que te preocupes de tener una redacción muy cuidada: copia y pega órdenes y resultados, describe telegráficamente lo que haces. Vete preparando la memoria a la vez que trabajas, no lo dejes para el final.
Cuando un paso del guión te pida una orden de shell o similar, es recomendable que primero ejecutes la orden y luego copies y pegues en la memoria. Si resulta algún texto, pégalo también.
Cuando el guión pida que escribas o edites un fichero, basta con que lo modifiques en su sitio. No es necesario que copies y pegues en la memoria.
Ahora prepararás el directorio de la práctica 1 y el fichero de texto para la memoria de la esta práctica.
Entra en tu cuenta del laboratorio Linux de la EIF. Crea el
directorio ~/lagrs. Aquí guardarás la mayoría de tu trabajo
de prácticas en la asignatura
Ponle permisos rwx------
Debes mantenerlo así todo el curso. Recuerda que debes ser autor del
100% de tus prácticas y no permitir que ningún compañero
tuyo tenga acceso a ningún fragmento.
Crea el directorio
~/lagrs/practica01
Crea el fichero
~/lagrs/practica01.md
Observa que el nombre de este fichero no es
~/lagrs/practica01/practica01.md # ¡Este no es el nombre correcto!
Por el momento déjalo vacío.
Crea un directorio
~/lagrs/images
para las imágenes de tus memorias de prácticas (aunque tal vez tus ficheros no tengan imágenes)
Crea un directorio
~/lagrs/docs
Guarda aquí cualquier documento o chuleta relacionado con la asignatura que te parezca útil y que quieras usar el día del examen.
Seguiremos este convenio en todas las prácticas, un directorio
para cada práctica y un fichero de texto plano para cada práctica,
fichero que cuelga de ~/lagrs
El objetivo de esta práctica es que sepas usar al menos las órdenes elementales de vi. Si no te gusta este editor, podrás usar algún otro editor sencillo en modo texto. Pero para poder instalar un editor nuevo, necesitas usar vi.
Usando vi, crea el fichero
~/lagrs/practica01/ejemplo.md y escribe en él 4 titulares
de cualquier periódico de hoy. Escribe 3 o 4 faltas de ortografía,
intencionadamente. Guárdalo.
Vuelva a abrirlo y corrige las faltas.
Ahora empezarás a usar el fichero de la memoria de prácticas. Escribe
la memoria de este apartado y de todos los apartados siguientes de esta
práctica en el fichero que creaste en el apartado 1.1.
~/lagrs/practica01.md
Es necesario que manejes con soltura funciones al menos intermedias de algún editor de texto sin gráficos. La recomendación es vi/vim, pero también puedes elegir uno más sencillo.
Prepara un documento llamado
~/lagrs/practica01/test_markdown.md
Escribe en él un texto de prueba con diferentes secciones, negritas, cursivas, enlaces, imágenes, listas de varios tipos, código fuente y alguna tabla.
Usa pandoc para limpiar el
fichero.
Usa pandoc para generar una versión en html usando
alguna de las plantillas css que vimos en clase.
Guarda dos o tres contraseñas, de prueba o reales, usando
gpg
LibreOffice
KeePassx. O alguna herramienta similar como Bitwarden.
Usa recordatorios de contraseña en todos los casos, en un fichero de texto aparte. Guarda los ficheros donde quieras, describe brevemente en la memoria los pasos que has seguido
Usa ssss para descomponer una contraseña en 6 trozos, de forma que baste con 4 para restaurarlos. Recomponla. De este ejercicio no hace falta que hagas memoria.
En este ejercicio probarás Vagrant, lanzando una máquina virtual de VirtualBox. Si quieres hacer esta práctica en tu ordenador de casa, tendrás que instalar Vagrant y VirtualBox si no lo tenías ya.
Si estás en el laboratorio, configura VirtualBox para usar
/var/tmp/tulogin como carpeta predeterminada de
máquinas
Crea un project directory de Vagrant en el directorio
~/lagrs/vbox01 de tu pc (de casa o del
laboratorio)
Prepara una máquina Ubuntu 26.04 LTS Resolute Raccoon.
Lanza la máquina y entra por ssh, usando vagrant.
Comprueba que el project directory del host está montado
dentro de la máquina virtual en /vagrant
Para ello, edita un fichero en este directorio desde el guest o el host, guárdalo y vuelve a editarlo desde la otra máquina (el host si antes usaste el guest y viceversa).
Apaga la máquina desde vagrant, sin destruirla.
Apaga la máquina (sin destruirla) y haz que su nombre sea
vbox, tanto visto desde VirtualBox como desde dentro de la
propia máquina. Vuelve a lanzarla y comprueba que lo has hecho bien.
Observa la máquina virtual desde el GUI de VirtualBox.
Si hiciste la práctica en casa o en tu portátil, copia el
directorio ~/lagrs/vbox01 de tu pc al directorio
~/lagrs de tu cuenta del laboratorio. De esta forma, el
directorio ~/lagrs/vbox01 de ambas máquinas será
idéntico.
En este ejercicio practicarás con los usuarios y grupos de linux.
Vuelve a entrar en la máquina virtual del apartado anterior.
Crea un nuevo usuario, con el mismo nombre que tu usuario en el laboratorio.
Abre una sesión de este usuario (con la orden
su).
Este usuario no tendrá privilegios para ejecutar sudo, pero intenta lanzar alguna orden y observa qué pasa.
Haz que este usuario sí pueda ejecutar sudo. Pruébalo.
Con este usuario, crea dos nuevos grupos con el nombre que quieras. Mete al usuario en estos grupos. Comprueba que están incluidos.
Prueba la orden newgrp, observa su efecto.
Configura tu cuenta del laboratorio para entrar desde cualquier máquina hasta cualquier máquina, sin escribir contraseña.
Configura la máquina virtual vbox01 para poder abrir una sesión del usuario que creaste en el apartado 1.8, desde tu cuenta del laboratorio, sin escribir contraseña.
Editando el fichero ~/lagrs/vbox01/Vagrantfile,
provisiona el box para:
Crear automáticamente el usuario con el mismo nombre que tu cuenta en el laboratorio. Con sus grupos y privilegios.
Que este usuario pueda abrir sesión en el box desde el
puesto del laboratorio con criptografía asimétrica, sin necesida de
teclear contraseñas. Para ello, prepara un fichero
~/lagrs/vbox01/authorized_keys y haz que en el
provisionamiento se copie en el lugar adecuado de la máquina
virtual.
De esta forma, cada vez que trabajes en un puesto nuevo del
laboratorio, podrás crear automáticamente un nuevo box. Antes
de usar uno nuevo, tendrás que borrar el viejo. Normalmente podría
usarse el comando vagrant destroy, pero esta orden no
sabe que la máquina ya no está en
/var/tmp/tulogin, así que tendrás que eliminar la máquina
desde el GUI de VirtualBox.
Mediante scp:
Copia un fichero cualquiera desde tu puesto del laboratorio al
directorio /tmp de un puesto vecino
Entra en un puesto vecino, crea el directorio
/tmp/tulogin. (donde tulogin es tu nombre de
usuario en el laboratorio). En este directorio, crea unos cuantos
ficheros. Copia este directorio al directorio /tmp/ de tu
puesto.
Copia un fichero cualquiera desde tu puesto hasta el directorio
/tmp de vbox. Recuerda, mediante scp, sin usar
el directorio /vagrant de la máquina
vbox
Copia un directorio cualquiera desde tu puesto hasta el
directorio /tmp de vbox.
Ahora practicarás el troceado de ficheros.
Prepara en tu host un directorio cualquiera con unos cuantos ficheros de cierto tamaño, unos cuantos megas. Por ejemplo un puñado de fotos.
Calcula y guarda los hash de todos estos ficheros.
Comprime el directorio (nos los ficheros por separado) en un .tgz.
Usando split, trocea este fichero .tgz en unos cuantos ficheros más pequeños.
Mediante scp, copia los trozos en el directorio
/tmp de vbox.
En vbox, recompón los trozos y extrae los
ficheros.
Calcula los hash de los ficheros, comprueba que sean idénticos a los orioginales
Elige los directorios que quieras en las máquinas que quieras (una local, otra remota). Debes poder acceder desde la local a la remota sin escribir contraseña. Usando rsync:
Clona un directorio local en uno remoto.
Clona un directorio remoto en uno local.
Consulta la página de manual, elige tres opciones y comprueba que se comportan como deben.
Ahora practicarás el uso de FreeFileSync para simular que sincronizas
tu pc de casa con el laboratorio. Empieza creando en tu pc las carpetas
~/simula_labo/lagrs y ~/simula_casa/lagrs.
Vamos a imaginar que
El puesto físico del laboratorio es tu ordenador de casa.
La carpeta ~/simula_casa/lagrs es la carpeta
lagrs de tu ordenador de casa.
La carpeta ~/simula_labo/lagrs es la carpeta
lagrs de tu cuenta en el laboratorio.
Observaciones:
Hay una diferencia entre esta simulación y el trabajo normal en
casa: como el puesto físico y el puesto virtual comparten la cuenta,
desde cualquiera de los dos podrás escribir en cualquiera de las dos
carpetas. Pero para hacer bien este ejercicio, tienes que usar la
carpeta ~/simula_casa/lagrs solamente desde tu puesto
físico y la carpeta ~/simula_labo/lagrs solamente desde el
puerto virtual.
Operando de forma análoga al ejercicio anterior, y con los mismos ficheros, simula un conflicto de sincronización. Observa los mensajes de error de FreeFileSync.
Resuelve el conflicto. Comprueba que FreeFileSync ya no muestra errores.
Prepara en tu PC de casa un directorio con nombre lagrs, en el directorio que prefieras (mis documentos, escritorio...) y sincroniza allí tu cuenta lagrs del laboratorio. Mantenlo sincronizado todo el curso. Te será util como copia de seguridad y para trabajar indistintamente en ambos entornos. Recuerda que eres responsable de custodiar tus prácticas: tu directorio del laboratorio podría perderse. (Sería raro pero no imposible, el servicio ofrecido es de tipo best effort).
En otras palabras: si haces mal esta práctica, si no mantienes durante todo el curso una copia de seguridad de tu trabajo, podrías suspender la asignatura.
Recuerda: esta no es una práctica puntual. Esta práctica consiste en mantener sincronizados estos directorio, de forma continua, todo el curso.
Observa los ficheros de inicio de la shell de tu cuenta del
laboratorio. Créalos si no los tienes. ¿Cuándo se ejecuta
.bashrc? ¿Solamente en las shell de login? ¿Solamente en
las shell que no son de login? ¿O en ambos tipos de shell? ¿Por
qué?
Comprueba que los diferentes tipos de ficheros que se tienen que ejecutar en la invocación de la shell (interactivo y de login, interactivo no de login, no interactivo) se comportan como cabe esperar. Usa trazas como
echo prueba blabla
o
echo prueba blabla >> /tmp/mi_traza.txt
Prepara tu cuenta del laboratorio para que el
.bash_profile invoque al .bashrc (si es que no
está así ya). Es recomendable que también lo hagas en tu pc de
casa.
Usando la máquina virtual, comprueba qué sucede cuando, desde la
shell, cambiamos de usuario mediante la orden su. ¿Qué
ficheros se ejecutan? ¿Pasamos a tener una shell de login o no?
En este apartado instalarás Docker en una máquina Linux
Instala el paquete docker.io en la máquina virtual vbox01
Comprueba que la instalación de docker es correcta, lanzando un contenedor de tipo holamundo basada en debian.
Haz una prueba de tipo holamundo basada en ubuntu.
En este apartado empezarás a usar los contenedores en la máquina virtual vbox01. Mientras el enunciado no especifique lo contrario, usa imágenes basadas en Ubuntu 24.04.
Crea un contenedor interactivo. No le pongas nombre. Ejecuta alguna orden básica de la shell. Indica alguna orden básica que esté disponible y alguna otra que no.
No detengas el contenedor. Crea otro contenedor interactivo, poniéndole el nombre xxxxc01, donde xxxx son las primeras 4 letras de tu nombre de usuario en el laboratorio. Para jperez, sería jperc01.
En un nuevo terminal, usa las ordenes de docker listar contenedores e imágenes. Explica lo que estás viendo.
Termina la ejecución de los contedores y observa el estado de las imágenes y de los contenedores detenidos.
Comprueba que el sistema de ficheros dentro del contenedor no es persistente. Esto es: escribe algún fichero, apaga el contenedor, vuelva a entrar y observa que ha desaparecido.