28 abril 2014

¿Cómo crear un repositorio Slackware local con soporte de dependencias?

Salix proporciona un repositorio con soporte de dependencias de Slackware 14.1 en los siguientes mirrors (espejos) para los paquetes de 32 bits:

    http://salix.enialis.net/i486/slackware-14.1/
    http://download.salixos.org/i486/slackware-14.1/
    http://slackware.org.uk/salix/i486/slackware-14.1/
    ftp://slackware.org.uk/salix/i486/slackware-14.1/

y estos para los paquetes de 64 bits:

    http://salix.enialis.net/x86_64/slackware-14.1/
    http://download.salixos.org/x86_64/slackware-14.1/
    http://slackware.org.uk/salix/x86_64/slackware-14.1/
    ftp://slackware.org.uk/salix/x86_64/slackware-14.1/

Este depósito no es un verdadero repositorio de Slackware, ya que no contiene en realidad cualquier paquete. Sólo se mantiene la información de dependencia para todos los paquetes incluidos en los repositorios de Slackware. Todo el tráfico de paquetes se desvía hacia un espejo de Slackware, específicamente ftp.gwdg.de, y los paquetes se llegan a descargar desde allí. Aunque este mirror de Slackware es rápido para la mayoría de la gente, puede que no, de hecho, ser lo suficientemente rápido para vos, dependiendo sobre todo de donde vivis. Este jautu (o-cómo-hacer) te muestra cómo crear un repositorio de Slackware como local en tu propia maquina y el apuntar a cualquier otro mirror de Slackware, que probablemente será más rápido para vos y cómo apuntar slapt-get/gslapt a el.

Esto no es realmente un espejo de Slackware, ya que no incluye los paquetes de Slackware, aunque no ocupa mucho espacio en tu disco rigido, sólo unos pocos KB.

Configuración del repositorio local
Lo primero que tenes que hacer, es elegir donde deseas mantener el repositorio local, /ruta/al/repo se usa en este artículo a partir de ahora para que apunte a eso. Por lo tanto, crear una partición /ruta/al/repo, descargar el script adddepinfo.sh desde el servidor Salix y hacerlo ejecutable:

root@gostir:~# wget http://salix.enialis.net/i486/slackware-14.1/adddepinfo.sh
root@gostir:~# chmod + x adddepinfo.sh

Puede editar el script adddepinfo.sh con su editor de texto favorito. Hay una línea con el siguiente texto cerca de la parte superior:

  SLACKREPO="http://ftp.gwdg.de/pub/linux/slackware/slackware-14.1/"

Un cambio para apuntar al repositorio de Slackware que deseas utilizar, por ejemplo:

  SLACKREPO="http://ftp.ntua.gr/pub/linux/slackware/slackware-14.1/"

Recorda que debes utilizar el repositorio adecuado para tu arquitectura. A continuación, tendrás que descargar los archivos de dependencia en un directorio deps que se encuentre en /ruta/al/repo. Creealo, cd en él y a descargar todos los archivos dep con wget:

root@gostir:~# mkdir /ruta/al/repo/deps
root@gostir:~# cd /ruta/al/repo/deps
root@gostir:~# wget -m -nH -r -np --cut-dirs=4 -R "=D","=A","index.html" http://salix.enialis.net/i486/slackware-14.1/deps/

Ahora, de nuevo en el cd /ruta/al/repo y ejecutar el script adddepinfo.sh

root@gostir:~# cd /ruta/al/repo
root@gostir:~# ./adddepinfo.sh

Eso llevará unos pocos minutos. Después de que finalice, el repositorio local esta listo, con los parches y directorios adicionales.

Apuntando con el gestor de paquetes al repositorio local
Ahora tendrás que editar el archivo slapt-getrc para apuntar al repositorio local. Inicia la sesión como usuario root y edita el-get slapt archivo /etc/slapt-get/slapt-getrc con tu editor de texto favorito. Vas a tener que quitar o comentar las dos líneas que hacen referencia al repositorio de Slackware en el servidor de Salix y agregar el directorio local (dejando el repositorio Salix real intacto). La sección de fuentes de slapt-getrc debería ser algo como esto:

#SOURCE=http://salix.enialis.net/i486/slackware-14.1/
#SOURCE=http://salix.enialis.net/i486/slackware-14.1/extra/
SOURCE=file:///path/to/repo
SOURCE=file:///path/to/repo/extra
SOURCE=http://salix.enialis.net/i486/14.1/:PREFERRED

Por último, actualizar slapt-get sobre los cambios:

root@gostir:~# slapt-get -u

Y ya está listo para usar slapt-get/gslapt para instalar paquetes de Slackware con la información de dependencia de su mirror favorito de Slackware.

Actualizar la información del repositorio
Los Repositorios de Slackware para las versiones estables normalmente no cambian el contenido durante su vida. La excepción es, por supuesto, el directorio de parches, que se actualiza con la seguridad y correcciones de errores importantes. Si desea actualizar la copia local con ellos, tendras que ejecutar el script adddepinfo.sh de vez en cuando. Poner algo como lo siguiente en una tarea programada que se ejecutará una vez al día tendrá de todo:

root@gostir:~# cd /ruta/al/repo && ./adddepinfo.sh


Basado en: http://docs.salixos.org/wiki/How_to_create_a_local_slackware_repository_with_dependency_support

No hay comentarios: