Martes, Mayo 11, 2021

Instalación de contenedor systemd con debootstrap en Debian

deb

Es posible que hayas notado que algún software en tu distribución Debian no es el último disponible. La mayoría de los usuarios ni siquiera son conscientes de esto porque, a menudo, no es un problema. Es sólo cuando se necesitan algunas características muy recientes cuando se convierte en un problema. Digamos que tu editor de vídeo favorito tiene algunos cambios de código que mejoran mucho el programa con extras incluidos y quieres adquirirlo.

En pocas palabras, la mayoría de las distribuciones que se consideran “estables” o “de soporte a largo plazo” tendrán (al menos parcialmente) software más antiguo en sus repositorios. Pero las “distribuciones rollings” tienen un software mucho más nuevo incluido, ya que constantemente incorporan actualizaciones de los desarrolladores. Debian Unstable (nombre en clave Sid) es una distribución de este tipo. Con un poco de magia de línea de órdenes de terminal, puedes ejecutar Debian Sid dentro de tu instalación actual de Debian Stable o Ubuntu.

¿Por qué hacer esto cuando puedo añadir PPAs o Backports?

Los archivos Personal Package son muy populares entre los usuarios que quieren añadir software más nuevo a Ubuntu. Pero los PPAs, backports (en Debian), y otros métodos similares interfieren con tu instalación principal. Esto significa que pueden actualizar piezas de tu sistema principal. Esto aumenta el riesgo de que algo vaya mal, incompatibilidades entre software nuevo y viejo, nuevos errores introducidos en el sistema operativo, etc.

Por el contrario, el método de este tutorial aísla el software en un espacio separado y no interfiere con la instalación principal de ninguna manera. Es algo similar a un contenedor (menos las fuertes características de seguridad). Además, Debian Sid incluye mucho más software del que encontrarás en los PPAs o backports. Sin embargo, todo tiene sus limitaciones, así que ten en cuenta las notas de la página Debian Unstable.

Crear una instalación mínima de Debian Sid con debootstrap

Abre un emulador de terminal e instala “debootstrap”.

sudo apt install debootstrap

Cambia a tu directorio root;

cd $HOME

Comienza a arrancar una nueva instalación de Debian Sid en el directorio “debian-sid”:

sudo debootstrap sid debian-sid

El proceso tomará un tiempo, así que espera unos minutos.

Prepara tu instalación de Debian Sid

Primero, instala un nuevo paquete..:

sudo apt install systemd-container

Ahora, usa una utilidad recién instalada para “entrar” en tu distribución de Debian Sid:

sudo systemd-nspawn -D debian-sid/

Si alguna vez te quedas atrapado en este contenedor, puedes presionar Ctrl + ] tres veces seguidas para salir a la fuerza. Úsalo sólo como método de emergencia.

Añadir un nuevo usuario. En este ejemplo el usuario se llama simplemente “user”, pero puedes reemplazarlo con el nombre de usuario que desees.

adduser usuario

Selecciona una contraseña para este usuario. No se mostrará ningún texto cuando escribas. Después de pulsar Enter, vuelve a escribir la misma contraseña cuando se te solicite. Los siguientes detalles, como “Nombre completo”, no son necesarios, por lo que sólo tienes que pulsar Enter cuando se te pida. Finalmente, escribe “y” cuando se te pregunte si la información es correcta, y pulsa Enter.
Instala sudo si no lo tienes instalado:

apt install sudo

Añade el usuario al grupo sudo:

adduser usuario sudo

Configura el nombre de host para tu contenedor. Esto te ayudará en la terminal, haciéndolo más claro cuando estés conectado al contenedor y cuando estés en tu sistema principal. Ayudará a evitar errores.

echo debian-sid > /etc/hostname

Sal de tu contenedor de Debian Sid:

exit

Un simple comando chroot podría haber sido usado para entrar en este contenedor, pero systemd-nspawn tiene métodos de aislamiento más fuertes. Esto previene mejor que el contenedor se “escape” hacia el sistema principal accidentalmente. Además, la utilidad incluye un conmutador de arranque virtual. Lo que esto hace es simular un arranque real de tu instalación de Debian Sid. Esto lanza algunos procesos en segundo plano que algunas aplicaciones pueden necesitar para funcionar correctamente (por ejemplo, dbus).
“Arrancar” tu instalación de Debian Sid:

sudo systemd-nspawn --boot -D debian-sid/

Inicia sesión con el nombre de usuario y la contraseña elegidos anteriormente.
Instalar y ejecutar el software deseado
Digamos que quieres instalar el editor de imágenes GIMP:

sudo apt install gimp

Apaga tu contenedor para que pueda reiniciar con todas las cosas nuevas que instalaste (dependencias como dbus):

sudo systemctl poweroff

Siempre que termines de trabajar con el contenedor, este es el comando que debes usar para salir.

GIMP es una aplicación gráfica, por lo que necesitas un servidor gráfico. Por razones técnicas, esto no se está ejecutando en tu contenedor sino en tu sistema principal. Ejecútalo en tu sistema operativo principal (no en el contenedor):

echo $DISPLAY

Puedes obtener una respuesta como :0.0.

Arranca el contenedor de nuevo:

sudo systemd-nspawn --boot -D debian-sid/

Después de iniciar sesión, dile al contenedor dónde puede encontrar la pantalla.

export DISPLAY=:0.0

Reemplaza :0.0 si tuvieras una respuesta diferente.

Esto sólo funciona con el servidor gráfico de Xorg. Si estás usando Wayland, puede que necesites hacer lo anterior con la variable WAYLAND_DISPLAY en lugar de DISPLAY. Si eso no funciona, usa temporalmente Xorg a través de las opciones de tu administrador de inicio de sesión.

Ahora puedes ejecutar:

gimp

No te preocupes por las advertencias en la terminal. Se obtienen en cualquier sistema cuando se ejecuta una aplicación gráfica desde el terminal. Es una salida normal. Por lo general no se ve, ya que normalmente se inician aplicaciones desde un lanzador gráfico.

Puede ser difícil llegar a este punto, pero una vez que hayas terminado, es fácil instalar un nuevo programa. Simplemente arranca el contenedor, instala apt, exporta display, ejecuta aplicación. Una vez que tengas todo lo que necesitas,
sólo tienes que actualizar de vez en cuando. Hazlo con apt update && apt upgrade. A veces también tendrás que usar apt update && apt full-upgrade después de la orden anterior.

 

Fuente: maslinux

¿Quién está en línea?

Hay 164 invitados y ningún miembro en línea

Contador de Visitas

11692304
Hoy Hoy 1876
Ayer Ayer 3607
Esta semana Esta semana 5483
Este mes Este mes 38701
Total de Visitas Total de Visitas 11692304

Día con más
visitantes

04-19-2021 : 3976

Gracias por su visita