You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

199 lines
5.5 KiB

# Virtualizaciones y contenedores
## Instalación de _virtualBox_
__AVISO IMPORTANTE__
Tenemos dos formas de instalar _Virtualbox_, desde los repos oficiales de la aplicación o desde los propios de Linux Mint (Ubuntu Focal Fossa)
Si descargamos los oficiales de _Virtualbox_ se instalará el paquete `python-is-python2`, eso hara que el python por defecto de nuestro sistema sea el dos. A cambio tendremos la última versión de _Virtualbox_
Si lo instalamos con los repos de Ubuntu, podemos tener instalado el paquete `python-is-python3` (esta es mi opción favorita)
### Instalación desde Ubuntu
```bash
sudo apt install virtualbox virtualbox-ext-pack virtualbox-guest-addition-iso
```
### Instalación desde repos oficiales
Lo hacemos con los origenes de software oficiales (alternativamente, podríamos hacerlo manualmente):
~~~~
# Importamos la clave gpg
wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
# Añadimos el nuevo origen de software
sudo add-apt-repository "deb [arch=amd64] https://download.virtualbox.org/virtualbox/debian $(. /etc/os-release; echo "$UBUNTU_CODENAME") contrib"
# Actualizamos la base de datos de paquetes
sudo apt update
~~~~
Ahora podemos comprobar que además del paquete _virtualbox_ tenemos
varios paquetes con número de versión (p.ej. _virtualbox.6.1), estos
últimos son los que hemos añadido (compruebalo con `apt-cache policy
[nombrepaquete]`)
Instalamos el que nos interesa:
~~~~{bash}
sudo apt install virtualbox-6.1
~~~~
**ATENCIÓN**
~~~~
The following additional packages will be installed:
python-is-python2
~~~~
Descargamos también el [VirtualBox Extension
Pack](https://www.virtualbox.org/wiki/Downloads), este paquete lo
podemos instalar desde el propio interfaz de usuario del _VirtualBox_,
o bien con el siguiente comando:
~~~~
sudo VBoxManage extpack install ./Oracle_VM_VirtualBox_Extension_Pack-6.1.2.vbox-extpack
~~~~
Sólo nos queda añadir nuestro usuario al grupo `vboxusers`, con el
comando `sudo gpasswd -a username vboxusers`, y tendremos que cerrar
la sesión para refrescar nuestros grupos.
## qemu
Un par de comprobaciones previas:
* El comando `egrep -c '(vmx|svm)' /proc/cpuinfo` debe devolvernos un
número mayor que cero si nuestro sistema soporta virtualización.
* El comando `kvm-ok` nos sirve para comprobar que la virtualización
hardware no está deshabilitada en la BIOS (puede que tengas que
ejecutar `apt install cpu-checker`)
Instalamos desde el repo oficial:
~~~~
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager
sudo apt install virt-viewer
~~~~
qemu-kvm
: nos da la emulación hardware para el hipervisor KVM
libvirt-daemon-system
: los ficheros de configuración para ejecutar el demonio `libvirt`
como servicio
libvirt-clients
: software para gestionar plataformas de virtualización
bridge-utils
: utilidades de linea de comandos para configurar bridges ethernet
virtinst
: utilidades de linea de comandos para crear máquinas virtuales
virt-manager
: un interfaz gráfico junto con utilidades de linea de comandos
para gestionar máquinas virtuales a través de _libvirt_
Solo queda añadir nuestro usuario a los grupos:
~~~~
sudo gpasswd -a username libvirt
sudo gpasswd -a username kvm
~~~~
Podemos comprobar el estado del servicio con `scs libvirtd`
(`systemctl status libvirtd`).
### Referencias
* [How to install KVM on Ubuntu 20.04 Graphical & headless
server](https://www.how2shout.com/how-to/how-to-install-kvm-on-ubuntu-20-04-graphical-headless-server.html)
* [How to Install Kvm on Ubuntu 20.04](https://linuxize.com/post/how-to-install-kvm-on-ubuntu-20-04/)
* [How to Install KVM on Ubuntu 20.04](https://www.tecmint.com/install-kvm-on-ubuntu/)
## Docker
Tenemos que añadir el repositorio correspondiente a nuestra
distribución:
~~~~
# Be safe
sudo apt remove docker docker-engine docker.io
sudo apt autoremove
sudo apt update
# Install pre-requisites
sudo apt install ca-certificates curl
# Import the GPG key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# Next, point the package manager to the official Docker repository
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(. /etc/os-release; echo "$UBUNTU_CODENAME") stable"
# Update the package database
sudo apt update
#
apt-cache policy docker-ce
sudo apt install docker-ce
sudo gpasswd -a username docker
~~~~
Esto dejará el servicio _docker_ funcionando y habilitado (arrancará
en cada reinicio del ordenador)
La forma de pararlo es:
~~~~{bash}
sudo systemctl stop docker
sudo systemctl disable docker
systemctl status docker
~~~~
Añadimos el _bundle_ __docker__ en nuestro fichero `~/.zshrc` para
tener autocompletado en comandos de docker.
Para usar _docker_ tendremos que arrancarlo, con los alias de nuestro sistema para _systemd_ ejecutamos:
~~~~{bash}
scst docker # para arrancar el servicio
scsp docker # para parar el servicio
~~~~
### docker-compose
* Nos bajamos la última versión disponible de [las releases de
github](https://github.com/docker/compose/releases)
* Movemos el fichero que hemos descargado a `/usr/local/bin/docker-compose`
* Y le damos permisos de ejecución `sudo chmod +x /usr/local/bin/docker-compose`
### Kitematic
Un interfaz gráfico para _Docker_. En su [página de
releases](https://github.com/docker/kitematic/releases) bajamos la
última para Ubuntu e instalamos con el gestor de paquetes.
La verdad es que me gusta más el CLI.