Usando La estructura de debian con pool
Al crear un archivo local de paquetes usted podra administrar los paquetes que esten en el con apt.
Para poder crear el archivo local dederá instalar el paquete dpkg-dev
Cree la carpeta en donde pondra los paquetes
cd /usr/local install -d debian/dists/testing/main/binary-i386 cd debian mkdir pool
Esta estructura de directorios es parecida a la real de un repositorio de paquetes, igual podiria usarse una carpeta cualquiera para poner los paquetesCopie los paquetes en la carpeta que creo
cp /donde_se_encuentren_los_paquetes/* pool
Cree el archivo Packages.gz
dpkg-scanpackages pool /dev/null | gzip > dists/testing/main/binary-i386/Packages.gz
Cree el el archivo Release en el sitio en donde se encuentra el Packages.gz Contenido del archivo Release
Archive: testing Version: 3.1 Component: main Origin: Local Label: Local Architecture: i386
Usando La estructura de debian pero sin pool
* Nota: esta sección se crea por que el metodo expuesto anteriormente no es compatible con debootstarp, mas información en ingles se puede encontrar en el Debian Repository HOWTO y en esta pagina de Roberto C. Sanchez. Para el ejemplo se creara un repositorio con paquetes de sarge, seccion main.
- Instalo los paquetes necesarios:
sudo apt-get install dpkg-dev apt-utils
- Creo la siguiente estructura de directorios, note que si desea tener distribuciones (ej: sid, woody), secciones (ej: non-free contrib) y arquitecturas (ej: ppc, mips, aplha) adicionales este arbol sera mas grande pero no es dificil, solo hay que seguir la estructura, si tienes dudas mira un repositorio oficial de debian. La única diferencia es que no usaremos el directorio pool.
./dists ./dists/sarge ./dists/testing //enlace simbolico a sarge ./dists/sarge/main ./dists/sarge/main/binary-i386
para el ejemplo el directorio raiz del repositorio estará en /usr/local/debian (de aqui en adelante asumire que estamos en este directorio), en este caso toda la estructura la podemos crear solo con dos comandos:mkdir -p /usr/local/debian/dists/sarge/main/binary-i386 ln -s dists/sarge dists/testing
- Pongo todos los debs en su puesto
mv packages_directory/*.deb dists/sarge/main/binary-i386
- Creo el archivo dists/sarge/main/binary-i386/Release con este contenido:
Archive: testing Version: 3.1 Component: main Origin: Debian Label: Debian Architecture: i386 Description: Debian local repository
- Creo el archivo dists/sarge/main/binary-i386/Packages y dists/sarge/main/binary-i386/Packages.gz
dpkg-scanpackages dists/sarge/main/binary-i386 /dev/null > dists/sarge/main/binary-i386/Packages gzip -9c dists/sarge/main/binary-i386/Packages > dists/sarge/main/binary-i386/Packages.gz
¡ OJO, cuando tabula le queda "dpkg-scanpackages dists/sarge/main/binary-i386/", si deja el "/" al final no funciona !!!
- Creo el archivo dists/sarge/Release usando el apt-ftparchive con el archivo de configuración apt-sarge-release.conf como parametro.
apt-ftparchive -c apt-sarge-release.conf release dists/sarge/ > dists/sarge/Release
- apt-sarge-release.conf:
APT::FTPArchive::Release::Origin "Your name or organization"; APT::FTPArchive::Release::Label "Descriptive label"; APT::FTPArchive::Release::Suite "testing"; APT::FTPArchive::Release::Codename "sarge"; APT::FTPArchive::Release::Architectures "i386"; APT::FTPArchive::Release::Components "main"; APT::FTPArchive::Release::Description "More detailed description";
Use el archivo local
Edite el archivo /etc/apt/sources.list añadiendo la linea que indica en donde esta su archivo local de paquetes
deb file:///usr/local/debian/ testing main
Actualice la base de datos de paquetes disponibles
apt-get update
Listo ya tiene un repositorio de paquetes local que puede usar con apt.
