[Repositorio] Publicando un repositorio de paquetes en Linux

Conexión entre PCHola lector y/o seguidor. Para muchos que dicen ser administradores de redes en nuestra querida, contaminada y lenta intranet cubana, les resulta un poco difícil el montar un simple repositorio de paquetes de la distribución GNU/Linux del momento o de su preferencia. No es que sea el gran invento del siglo pero dado que puede resultarle útil a alguien hacer este proceder, aquí les dedicaré esta entrada a solucionar esa dificultad.

El escenario es el siguiente:

  • Una PC con GNU/Linux, preferentemente con Debian o derivados. Creo que no hay que mencionar que tiene que estar conectada y configurada a la red desde la cual las otras PC van a conectarse para utilizar el repositorio que vamos a publicar. Yo se que parece obvio pero hay cada casitos por ahí que te dejan pensativo.
  • El repositorio esta copiado en la ruta /home/repositorio Lo que importa en sí es la ruta ya que se puede tener en un combo de muchos TB de esos que prepotentemente y de forma anormal muchos tienen por ahí para copiar y/o cobrar el paquete semanal, en cuyo caso solo debe obtener la ruta de la carpeta raíz de su repositorio.

Lo primero es instalar un servicio de publicación de contenido para que desde otras PC puedan consumir esos paquetes, preferentemente se recomienda el uso del protocolo HTTP con los servicios Apache, LightHTTP y Nginx ya que el mismo casi se pensó para eso, pero si lo quere hacer por FTP, NFS, SMB u otro es libre de hacerlo, recuerde que esto es software libre y existen muchos caminos para llegar a donde usted quiere llegar.

Instalamos apache:

aptitude install apache2

Modificaremos el fichero de los sitios publicados por el servidor:

nano /etc/apache2/sites-available/default

Borramos todo su contenido y ponemos este:

#
<VirtualHost *:80>
    ServerAdmin admin@empresa.cu

    DocumentRoot /home/repositorio/
    <Directory "/home/repositorio">
        Options Indexes FollowSymLinks MultiViews
        Order allow,deny
            Allow from all
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/error.log

    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Otorgamos los permisos necesarios para que todo funcione bien:

chown -R www-data:www-data /home/repositorio/

Reiniciamos el apache:

/etc/init.d/apache2 restart

Y listo. Ahora solo le queda configurar el source.list de la PC para que apunte al repositorio que usted tiene publicado haciendo uso del protocolo HTTP y actualizar. Para comprobar que todo se hizo bien solo debes abrir el navegador web de tu preferencia y poner la url:

http://ip-del-pc-con-repositorio/

Antes de finalizar quiero exponer que en materia de rendimiento esta solución es válida para un total de 100 PC sincronizando al mismo tiempo. Si usted estima que ese número será superior entonces considere el utilizar algún otro servicio de publicacion de contenido estático.

2 thoughts on “[Repositorio] Publicando un repositorio de paquetes en Linux

  1. No entiendo eso de “Preferiblemente Debian o derivados” ¿acaso no hay repositorios hosteados detrás de Arch Linux, Fedora y cuanta distro !deb existe? Ojo a la hora de escribir que se te llena esto de Tuxlibanes y lejos de hablar sobre el escrito (cosa que obviamente yo mismo no estoy haciendo) te armen un FlameWar acá sobre temas interesantisimos de la talla de “Mi distro es mejor que la tuya porque actualiza cada 6 meses” (si Manjaro estamos hablando de ti 😉 )

    • Que vengan Tuxlibanes denota que al menos se toman el trabajo de leer este Blog (cosa que dudo mucho 😀 ). Como podrás ver en otras entradas se puede notar un aire de estar atado a una distro (Debian específicamente), lo cual no oculto y por tanto casi todos mis pequeños tutos de “hacer algo” son basados en que tienes ese entorno o uno parecido, tal y como es costumbre en muchos sitios donde personas que si saben de SWL ponen sus aportes. Reconozco que como mal usuario del SWL no me adentro mucho en experimentar otras distro que no sean Debian y algunos de sus hijos descarriados como Ubuntu o Nova 😉

      Gracias por llegarte y comentar.
      Salu2

Comments are closed.