Diferencia entre revisiones de «Grado de Ingeniería de Software»

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar
(Historial)
 
(No se muestran 38 ediciones intermedias de 5 usuarios)
Línea 1: Línea 1:
Material de la asignatura para el Grado de Ingeniería de Software
+
Material de la asignatura de laboratorio de Sistemas Operativos
  
Requisitos. Para la realización de esta práctica necesitará una imagen de Ubuntu
+
= Teoría =
Cloud que descargaremos de https://cloud-images.ubuntu.com/ y necesitaremos un
 
sistema anfitrión con una distribución Linux, basada en debian preferiblemente,
 
como Ubuntu.
 
  
En esta práctica, usando una imagen de ubuntu cloud y cloud-init, vamos a
+
* Temario de [[teoría de sistemas operativos]]
configurar una imagen ubuntu a nuestro gusto. Veremos como añadir usuarios,
 
configurar un repositorio, instalar paquetes o ejecutar comandos al iniciar.
 
También veremos como añadir una clave ssh para un usuario y como acceder a la
 
máquina mediante ssh.
 
  
 +
= Prácticas =
  
== Descargar image ubuntu cloud ==
+
Todo el material de la asignatura gira en torno al sistema operativo Linux:
  
Entramos en https://cloud-images.ubuntu.com/ y descargamos una imagen de ubuntu,
+
* Boletín 1: [[Administración básica]]
nosotros elegiremos la Ubuntu 18.04 por ser LTS (Long Time Support).
+
* Boletín 2: [[Virtualización con libvirt]]
 +
* Boletín 3: [[Sistemas de archivos]]
 +
* Boletín 4: [[Contenedores]] con Docker
  
<syntaxhighlight lang="bash">
+
= Ejercicios =
wget https://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img
 
</syntaxhighlight>
 
  
== Instalar herramientas necesarias ==
+
* [[Ejercicios boletín 1 y 2]]
 +
* [[Ejercicios boletín 3]]
 +
* [[Ejercicios boletín 4]]
  
virt-manager: interfaz gráfica para la gestión de hipervisores.
+
= Historial =
cloud-init: herramienta para personalizar una instancia de cloud antes de inicializar.
 
cloud-image-utils: herramienta complementaria a cloud-init para modificar imágenes cloud.
 
  
Para instalar todas ellas, si estamos usando una distribución basada en debian,
+
* [[Material del curso 2018/2019]]
instalamos con:
+
* [[Ejercicios general]]
  
<syntaxhighlight lang="bash">
+
= Material suplementario =
sudo apt install cloud-init cloud-image-utils virt-manager
 
</syntaxhighlight>
 
  
== Crear configuración de cloud-init ==
+
* [[Usando Fedora en libvirt]]
 
+
* [[Contenedores con podman]]
Para añadir una configuración, crearemos un fichero de configuración, que
+
* [[El sistema operativo FreeDOS]]
comenzará siempre #cloud-config y tendrá una sintaxis yaml.
 
 
 
Una vez añadida la configuración, creamos una imagen con el siguiente comando:
 
 
 
<syntaxhighlight lang="bash">
 
cloud-localds volume.img conf-file
 
</syntaxhighlight>
 
 
 
=== Configurar usuario: password y clave ssh ===
 
 
 
<b>Opción 1</b>
 
 
 
Añadir una contraseña y permitir el acceso por ssh. Por defecto, el usuario es
 
ubuntu.
 
 
 
<nowiki>
 
#cloud-config
 
password: qwerty123
 
chpasswd: { expire: False }
 
ssh_pwauth: True
 
</nowiki>
 
 
 
De esta forma, al entrar por ssh, necesitaremos poner la contraseña del usuario:
 
 
 
<syntaxhighlight lang="bash">
 
ssh ubuntu@IP  # Esto nos pedirá nuestra contraseña de usuario
 
</syntaxhighlight>
 
 
 
<b>Opción 2</b>
 
 
 
Añadir un nuevo usuario, y pasarle clave pública ssh, si no tenemos, generamos
 
una:
 
 
 
<syntaxhighlight lang="bash">
 
ssh-keygen  # Generará clave pública/privada para la autenticación
 
cat ~/.ssh/id_rsa.pub  # Mostrará nuestra clave pública generada
 
</syntaxhighlight>
 
 
 
La configuración del fichero sería esta vez de la siguiente forma. Aquí ya nos
 
estamos creando nuestro propio usuario, con acceso root, y le estamos pasando
 
nuestra clave ssh.
 
 
 
<nowiki>
 
#cloud-config
 
users:
 
  - name: practica
 
    ssh-authorized-keys:
 
      - ssh-rsa AA... user@machine
 
    sudo: ALL=(ALL) NOPASSWD:ALL
 
    groups: sudo
 
    shell: /bin/bash
 
</nowiki>
 
 
 
<syntaxhighlight lang="bash">
 
ssh practica@IP  # No nos pedirá clave de usuario
 
</syntaxhighlight>
 
 
 
=== Configurar hostname y un id de instancia ===
 
 
 
<nowiki>
 
#cloud-config
 
instance-id: my-instance-id
 
local-hostname: my-hostname
 
</nowiki>
 
 
 
 
 
=== Configurar repositorio: añadir e instalar paquetes ===
 
 
 
=== Ejecutar comandos al iniciar ===
 
 
 
 
 
== Crear VM utilizando virt-manager ==
 
 
 
copiar volumen de cloud-init e imagen de ubuntu a /var/lib/libvirt/images/
 
https://gist.github.com/shettyg/455ff78605ea4c45febe7b5aa345c87d
 
 
 
==== Configuración de virt-manager ====
 
 
 
abrir virt-manager y crear VM
 
 
 
=== Buscar ip local de la VM para conectarnos por ssh ===
 
 
 
buscar ip máquina https://www.cyberciti.biz/faq/find-ip-address-of-linux-kvm-guest-virtual-machine/
 
 
 
= Historial =
 
 
 
* [[Material del curso 2018/2019]]
 

Revisión actual del 09:20 17 jun 2022

Material de la asignatura de laboratorio de Sistemas Operativos

Teoría

Prácticas

Todo el material de la asignatura gira en torno al sistema operativo Linux:

Ejercicios

Historial

Material suplementario