Crear un repositorio local en Archlinux

Hace algunos dias que me vi en la necesidad de tener que formatear mi disco duro y tener que instalar mis sistemas nuevamente. Pero como saben para poder instalar el escritorio y todas las aplicaciones en Archlinux se necesita de una conexion a internet.

Yo cuento con una conexion a internet lenta y limitada, asi que descargar todos los paquetes de Gnome y aplicaciones extras, iba a llevar tiempo, asi que me vi en la necesidad de poder buscar alternativas.

Una de las que encontre fue hacer un pequeño repositorio local, con los paquetes que habia rescatado de la cache del sistema. Estos paquetes los encontramos en la carpeta /var/cache/pacman/pkg en esta direccion estan los paquetes que hemos instalado en el sistema y lo que normalmente hago yo, es hacer frecuentemente copia de esta carpeta, para tener un backup de todas las aplicaciones que tenga instaladas en ese momento y asi poder hacer este metodo.

Asi que teniendo nuestro backup lo que necesitamos es copiar todos los paquetes a nuestra nueva ubicacion en la instalacion nueva, en mi caso fue asi:

$ mkdir /home/kr105/repo/

Ahora copiamos todos los archivos del repositorio a la nueva carpeta que creeamos:

$ cp /media/kr105/pkg/*.* /home/kr105/repo/

Ahora, generamos el repositorio local y lo creamos con la utilidad repo-add que ya viene incluida en la base de Archlinux

$ repo-add /home/kr105/repo/repo.db.tar.gz /home/kr105/repo/*

El repositorio ya esta creado, lo unico que hace falta es agregarlo al archivo pacman.conf para que reconozca el sistema el repositorio.

$ nano /etc/pacman.conf

y agregamos al final del archivo

[repo]
Server = file:///home/kr105/repo/

Guardamos el archivo con los cambios que se han hecho y luego

$ pacman -Sy

Con este comando lo que hacemos es actualizar la lista de repositorios y nuestro repositorio local será agregado, Ahora solo instalamos los archivos que teniamos anteriormente en nuestro sistema, como Gnome, el paquete Gnome-extra, en mi caso, ya que tenia Gnome instalado en el sistema que fue eliminado.