Mini Repo Portable

A pesar de existir muchas maneras de hacer un repositorio portable hoy en día, les dejare una opción más, que recientemente hice, con la que podrán hacer un repositorio local en un dispositivo usb o disco duro, sin pasar mucho trabajo.

Lo mejor de todo es que los programas que quieren llevar a su repositorio, no tienen que estar instalados en la pc donde van a hacer dicho Mini Repo Portable y mucho menos tienen que estar residentes en /var/cache/apt/archives, los únicos requerimientos son que la maquina tenga la versión 0.8.11 o superior de apt, que esté instalado el paquete dpkg-dev y que esté correctamente configurado el archivo /etc/apt/sources.list.

Desde una consola nos dirigimos al directorio donde vamos a crear nuestro Mini Repo Portable y ponemos:

mkdir local-repository
cd local-repository
editor atrepo

Pegamos dentro en contenido de abajo.

atrepo
#!/bin/sh
#######################################################################################################
# AUTOR:      	(c) Yasiel Ordońez Abreu. <inf1003@ucf.edu.cu>
# WRITTEN:	Abr 07,2013
# VERSIÓN:      1.0.1
# LICENCIA:     GPL (http://www.gnu.org/licenses/gpl.html)
# NOMBRE: 	Aplication to Repo (atrepo)
# DESCRIPCIÓN:  Descarga Aplicaciones al Repo Personalizado.
# USO:		./atrepo nombre-del-o-los-paquetes-a-descargar
# EJEMPLO:	./atrepo nc wget mc moc
# Con esto le decimos a la aplicación que nos descargue el: nc wget, mc y el moc.
#######################################################################################################
# Colaboradores: Hugo Florentino
#######################################################################################################
# Log Jun 11,2013:
#
# Acortado el código de la aplicación para un mejor entendimiento de como trabaja el programa.
#######################################################################################################
 
mkdir -p binary > /dev/null 2>&1 &
packages=`apt-cache depends $@ | grep -Ev "(Repl|Reempl|Confl|PreDep|<)" | sed -r 's/^\s+?(.+: )?(.+)$/\2/g' | xargs`
cd binary ; apt-get download $packages

Guardamos los cambios y le damos permisos de ejecución.

chmod a+x atrepo

Una vez hecho, procedemos a crear otro fichero más:

editor atrepo-update

Pegamos el contenido de abajo:

atrepo-update
#!/bin/sh
#######################################################################################################
# AUTOR:      	(c) Yasiel Ordońez Abreu. <inf1003@ucf.edu.cu>
# WRITTEN BY:   Abr 07,2013
# VERSIÓN:      1.0.1
# LICENCIA:     GPL (http://www.gnu.org/licenses/gpl.html)
# NOMBRE: 	Aplication to Repo Update (atrepo-update)
# DESCRIPCIÓN:  Actualiza la lista de binarios y sources de nuestro repo local.
# Requiere tener instalado el paquete: dpkg-dev
#######################################################################################################
# Colaboradores: Hugo Florentino
#######################################################################################################
dpkg-scanpackages binary /dev/null | gzip -9c > binary/Packages.gz

Guardamos los cambios y le damos permisos de ejecución.

chmod a+x atrepo-update

Listo ahora procedemos a crear nuestro Mini Repo Portable, supongamos que queremos en el necesitemos los programas (nc, wget, moc y htop), solo bastaría con poner:

./atrepo nc wget moc htop

Esperamos a que se descargen todos los paquetes y dependencias de esas aplicaciones a nuestro Mini Repo Portable y luego actualizamos poniendo:

./atrepo-update

Y listo, ya tenemos el Mini Repo Portable, nos lo llevamos a casa. Una ves en ella configuramos nuestro sources.list:

sudo editor /etc/apt/sources.list

Dentro le ponemos:

deb file:///usr/share/local-repository binary/

Espero les sirva de algo, lo antes expuesto.

PD: Donde dice usr/share/local-repository, deben remplazarlo por la dirección real donde hallan copiado el directorio local-repository

Yasiel Ordoñez Abreu 2013/06/07 14:09