Compartir actualizaciones de Arch Linux locamente 馃惂

Inicialmente tenia el titulo como tener tu repositorio local, pero realmente lo que compartes son los programas instalado y las actualizaciones, esta necesidad viene principalmente por el motivo que tengo varios dispositivos con Arch Linux y un internet inestable y lento 馃ゲ


 
En el grupo de telegram (Arch Linux en Espa帽ol) planteaba mi problem谩tica y segundos despu茅s ya tenia la soluci贸n (Custom local repository) en la poderosa y confiable wiki de Arch 馃憤


Usando un servidor web 馃摙

Hay varios m茅todos disponibles, pero el primero es extremadamente sencillo de implementar y funciona muy bien, consiste en instalar en el PC servidor (main-pc) un servidor web, en la wiki se recomienda estas tres alternativas:
  • Python http.server
  • Darkhttpd, desarrollado en C (Recomendado 馃憤)
  • Miniserve, desarrollado en Rust (Recomendado 馃憤) 

 



Instalaci贸n

Luego de actualizar, instalamos darkhttpd as铆: 
$ sudo pacman -S darkhttpd
o si decide por miniserve as铆:
$ sudo pacman -S miniserve
 

Preparaci贸n 

Debemos ejecutar el siguiente comando, que realiza un enlace suave de la base de datos de los repositorios, al directorio cache de pacman 馃憤
$ sudo ln -s /var/lib/pacman/sync/*.db /var/cache/pacman/pkg/

En el caso de errores en el PC cliente, ejecutar nuevamente este comando lo puede solucionar, tenga esto en consideraci贸n.

Levantar el servidor

Si usamos darkhttpd los realizamos as铆:
$ darkhttpd /var/cache/pacman/pkg/ --no-server-id
 
En el caso de miniserve es as铆:
$ miniserve /var/cache/pacman/pkg/


Acceder al repositorio local 馃捇

Este paso lo realizamos en las PC clientes y debemos agregar al archivo mirrorlist (listas de repositorios) a nuestro servidor como primera opci贸n, para el ejemplo usamos el editor nano.
$ sudo nano /etc/pacman.d/mirrorlist

Y agregamos 
Server = http://main-pc:8080
 
Donde:
  • main-pc es el hostname o la IP est谩tica de la pc que hace de servidor en el ejemplo de la imagen es 192.168.1.10 ✌️

Quedando as铆:
Server = http://192.168.1.10:8080

 

 

Luego actualizamos, como lo hacemos normalmente.

$ sudo pacman -Syu

Para aclarar, este paso se realiza en las PC clientes que se van actualizar 馃槈


Consideraciones:
  • Antes de compartir, es MUY recomendable actualizar el sistema del PC servidor.
  • Si en el servidor no se encuentra un paquete se usara el siguiente servidor de la lista de mirror y as铆 sucesivamente. 


Python en vez de Darkhttpd 馃

En la wiki (2022) se recomienda el uso de Python http.server sobre Darkhttpd, pero seg煤n mi experiencia he encontrado estos dos inconvenientes:
  • Se crachea seguido, es decir da error y se cierra en medio de las actualizaciones.
  • No permite retomar una actualizaci贸n luego de que se cierre o de un error, se debe borrar el cache, antes de intentar actualizar nuevamente.
     
De todos modos si desea probar Python se realiza as铆:
$ python -m http.server -d /var/cache/pacman/pkg/ 8080

Darkhttpd funciona perfecto es estable y se puede retomar una actualizaci贸n parcial.
 
Revisando la wiki (2024.12) tenemos miniserve como otra opci贸n y funciona excelente como lo hace darkhttpd 馃憤


Repositorio de tercero Chaotic-AUR

Ya les cont茅 sobre este excelente y muy recomendado repositorio aqu铆, para que tambi茅n puedas compartir los paquetes instalados de este repositorio hay que realizar tres cosas.

Primero se debe habilitar los repositorios Chaotic-AUR, como lo indica la documentaci贸n oficial en todos los dispositivos.

 

Segundo volver ejecutar el comando que crea los enlaces, con la base de datos en la PC servidor 馃憤

$ sudo ln -s /var/lib/pacman/sync/*.db /var/cache/pacman/pkg/

 

Tercero agregar de primero la direcci贸n de nuestro servidor, en la lista de repositorios de Chaotic-AUR ubicado en /etc/pacman.d/chaotic-mirrorlist de igual forma que lo realizamos anteriormente, en las PC clientes.

$ sudo nano /etc/pacman.d/chaotic-mirrorlist


 

Palabras finales 馃憤

Estoy tratando de obtener un mejor internet, aun as铆 continuare usando este m茅todo que funciona muy bien, hasta lo use en una re instalaci贸n de mi Laptop y fue s煤per  r谩pido.

El PC que se seleccione como servidor deber铆a tener la mayor cantidad de paquetes.

Cualquier duda que tengas luego de leer la documentaci贸n puedes usar los comentarios, de todos modos coloco nuevamente los enlaces mas importantes:


Actualizado [2024.12]

Comentarios

Entradas m谩s populares de este blog

Super Mario RPG 馃幃