martes, 6 de enero de 2015

Script para crear repositorio local (lr_debs)

Con unas pocas líneas he creado un script para crear un repositorio local con mis archivos .deb para que sean accesibles desde apt:


#!/bin/bash
# nombre del archivo: lr_debs

for archivo in *.deb; do
   chmod 644 $archivo
   clasif=`dpkg-deb -I $archivo|grep "Section: "`
   if [ "" == "$clasif" ]
   then
      clasif=" Section: lrdtab"
   fi
   midir=${clasif:10}
   echo "$archivo .... $midir"
  if [ -d "$midir" ]
   then
      mv "$archivo" "$midir/"
   else
      mkdir -p "$midir"
      mv "$archivo" "$midir/"
   fi
done

if [ -e Packages.gz ]
then
    rm Packages.gz
fi

apt-ftparchive  packages . | gzip > Packages.gz
exit 0
 
 
Luego guardamos el archivo en /usr/local/bin y le damos permisos de ejecución:
 
# chmod 755 /usr/local/bin/lr_debs
 
Para usarlo nos ubicamos el directorio que contenga los debs y ejecutamos:
 
/home/mi/deb/dir/ $ lr_debs
 
Luego movemos la carpeta a un lugar accesible por el servidor web, por ejemplo:
 
/var/www/debs/
 
y modificamos /etc/apt/sources.list, agregando una línea:
 
deb http://localhost/debs/ ./
 
y listo. Ya tenemos el repositorio funcional. Solamente debemos actualizar apt.
 
 

No hay comentarios: