Buscar este blog

lunes, 30 de noviembre de 2015

LXC con virt-manager en Fedora 23

Ahora estoy experimentando con LXC en Fedora 23 y he encontrado la forma de crear una instalación de Fedora básica, aquí van los pasos.

Creamos un directorio para la instalación y ejecutamos el siguiente comando para instalar fedora en el:

dnf --releasever=23 --nogpg --installroot=/srv/filesystems/testlxc install systemd passwd dnf fedora-release vim-enhanced openssh-server procps-ng NetworkManager net-tools iputils setup bash-completion dhclient

Esto es para una instalación básica se añaden al final los paquetes que deseemos tener en la maquina virtual.

Se copian los siguientes archivos del directorio /root al mismo directorio de la maquina virtual:
.bash_logout .bashrc .tcshrc .bash_profile .cshrc

Se crea el siguiente archivo en la maquina virtual
/etc/sysconfig/network-scripts/ifcfg-eth0
 con este contenido

DEVICE="eth0"
BOOTPROTO="dhcp"
ONBOOT="yes"

Claro si se quiere dhcp

se crea el archivo /etc/systemd/system/MyNetwork.service en la maquina virtual con el siguiente contenido:

[Unit]
Description=Starts networking in lxc
After=NetworkManager.service

[Service]
User=root
Type=oneshot
RemainAfterExit=yes
ExecStart=/sbin/ifup eth0
ExecStop=/sbin/ifdown eth0

[Install]
WantedBy=multi-user.target

Editamos con vim el archivo /etc/shadow en la maquina virtual y quitamos la contraseña de root, debe quedar así la linea:

root:::0:99999:7:::

Se debe forzar la escritura con wq! porque el archivo esta protegido contra escritura
Ya podemos crear la maquina con virt-manager
Conectamos virt-manager a LXC en Archivo->Añadir conexión
Seleccionamos la conexión y le damos nueva maquina virtual
Seleccionamos Contenedor de sistema operativo
Escogemos la carpeta que creamos.
El resto de los pasos es obvio, cuando terminamos se ejecuta la maquina virtual
Nos logueamos con root sin contraseña por que se la quitamos y terminamos de preparar la maquina virtual:
Ejecutamos para cambiar la contraseña:
passwd
Habilitamos la red y la iniciamos
systemctl enable MyNetwork
systemctl start MyNetwork
Cambiamos el hostname del equipo al que deseemos
hostnamectl set-hostname testlxc

Listo podemos trabajar en el equipo!!

Hasta la vista!!