miércoles, octubre 24, 2018

Construir e instalar en un entorno limpio Chroot


Hay dos maneras, todas usando devtools, por lo que hay que instalarlo.
sudo pacman -S devtools
Personalmente me gusta la Manera clásica.
Donde aprendes y ves donde va cada cosa... y sobretodo a detectar errores.

Primero es crear el directorio donde vamos a construir los paquetes. Para ello creamos una carpeta en algún lugar con espacio y que NO sea en una partición NTFS (Porque tendremos problemas con los permisos).
mkdir rutaDeseada/chroot
Donde rutaDeseada es donde queramos, /home/user por ejemplo si tenemos espacio.
Ahora vamos a definir una variable llamada CHROOT con esta ruta, para referirnos a ésta más cómodamente cada vez que haga falta, y editarla de manera rapida si fuera necesario.
CHROOT=rutaDeseada/chroot
echo "export CHROOT=$CHROOT" >> ~/.bashrc
Ahora vamos a crear una carpeta root dentro de la anterior con lo necesario para construir paquetes de manera independiente y "limpia" con el siguiente comando:
Para ArchLinux:
sudo mkarchroot $CHROOT/root base-devel
Para Manjaro:
sudo mkmanjaroroot $CHROOT/root base-devel
Veréis como empezará cargar y pedir confirmación para instalar las herramientas y archivos necesarios.
Editar con vuestro editor de texto favorito $CHROOT/root/etc/pacman-mirrors.conf para descomentar la linea donde indica la rama que debe usar pacman. Por defecto en estable.
sudo nano $CHROOT/root/etc/pacman-mirrors.conf
Y descomentamos la linea donde pone Branch = stable
Guardamos y salimos pulsando Ctrl+Shift+O y después Ctrl+Shift+X.

Ya estamos en disposición de construir nuestro paquete en un entorno limpio.
Antes siempre debemos asegurarnos de tener el entorno actualizado.
En Arch Linux:
arch-nspawn $CHROOT/root pacman -Syyu
En Manjaro:
manjaro-nspawn $CHROOT/root pacman -Syyu
Ahora si, construimos el paquete poniendo el archivo PKGBUILD (lo podemos descargar de AUR) correspondiente en la carpeta donde indicamos $CHROOT al principio y abrimos terminal en este mismo directorio.
Al usar el siguiente comando se limpia el entorno y empezará a compilar el paquete.
makechrootpkg -c -r $CHROOT
Por último querremos instalar el paquete generado. Dentro de la carpeta CHROOT donde se ha creado, usamos pacman para instalarlo.
sudo pacman -U NombrePaquete.pkg.tar
Y si no has recibido ningún error ya estará todo correcto.
Un saludo!
Si detectas algo mal, tienes dudas o te gustó, coméntalo!

2 Comentarios :

  1. No encuentro pacman-mirrors.conf

    ResponderEliminar
    Respuestas
    1. Hola!
      Ese archivo tiene que estar donde crearas la carpeta root en el directorio:
      $CHROOT/root/etc/pacman-mirrors.conf

      Donde recuerda que $CHROOT es realmente la manera de abreviar la ruta completa.
      Espero que te aclare la duda.
      Gracias por tu comentario, un saludo!

      ->Si te gustó y te sirvió, no dudes en compartirlo en tus redes sociales, puedes ayudar a mucha gente! <-

      Eliminar

 
Google+