Mostrando entradas con la etiqueta chroot. Mostrar todas las entradas
Mostrando entradas con la etiqueta chroot. Mostrar todas las entradas

miércoles, noviembre 07, 2018

Instalar GCC6 en un entorno limpio chroot

Buenas! Hay determinados programas y/o paquetes que son necesarios o recomendables instalar en un entorno limpio para evitar y detectar errores.
Un caso claro son los paquetes GCC.


Entonces... ¡Manos a la obra! (La versión del paquete sobre la que explico es la gcc 6.5.0)
Necesitaremos:
1.- Crear un entorno CHROOT. 
En caso de no tenerlo ya pulsa aquí.

2.- Descargar PKGBUILD de AUR.
- Accedemos a esta dirección: https://aur.archlinux.org/packages/gcc6

- A la derecha encontramos la opción Download snapshot. Al pulsar descargamos en la carpeta CHROOT y descomprimimos el archivo PKGBUILD en CHROOT.

Guardamos en la misma carpeta CHROOT junto al PKGBUILD y continuamos...

3.- Abrimos terminal en la carpeta CHROOT
- Actualizamos el entorno chroot.
En Arch Linux:
arch-nspawn $CHROOT/root pacman -Syyu
En Manjaro:
manjaro-nspawn $CHROOT/root pacman -Syyu

- Construimos y creamos el paquete de instalación. (necesitamos alrededor de 10GB de espacio en la carpeta CHROOT y tiempo según tu CPU y disco duro.)
makechrootpkg -c -r $CHROOT
- Instalamos el paquete gcc y librerias generadas del paso anterior.
sudo pacman -U gcc6-libs-6.5.0-1-x86_64.pkg.tar.xz
sudo pacman -U gcc6-6.5.0-1-x86_64.pkg.tar.xz
sudo pacman -U gcc6-fortran-6.5.0-1-x86_64.pkg.tar.xz
sudo pacman -U gcc6-gcj-6.5.0-1-x86_64.pkg.tar.xz
Lo que está en rojo debemos de poner el nombre del archivo (van cambiando las versiones) que hemos creado en la carpeta de compilación y que termina en .pkg.tar.xz

¡Y esto es todo! ¿no es para tanto verdad?
Para cualquier duda o sugerencia pon un comentario
¡Saludos!

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!

 
Google+