Estoy intentando crear un repositorio apto con reprepro, que es muy sencillo en su mayor parte. He estado usando este artículo como referencia porque me gustó la estructura de tener un árbol de preparación.
http://vincent.bernat.im/es/blog/2014-local-apt-repositories.html
Sin embargo, parece que no puedo entender lo que probablemente sea muy simple. Usando un ejemplo de configuración/distribuciones del artículo siguiente, me confunde el hecho de que cuando importo un paquete, siempre solo va a principal. ¿No existe ningún directorio llamado precision-staging y precision-prod? Lo que estoy tratando de hacer es tener un lugar separado para poner los paquetes que no han sido probados y otro para producción en el mismo repositorio. (/opt/packages/pool/trusty-prod, /opt/packages/pool/trusty-stage)
Podría señalar a los clientes a cualquiera de ellos según sea necesario a través de /etc/apt/sources.list.d/ con Puppet.
¿Me estoy perdiendo por completo cómo se haría esto o no entiendo este artículo?
Dailymotion Precise packages (staging)
Origin: Dailymotion
Label: dm-staging
Suite: precise-staging
Codename: precise-staging
Architectures: i386 amd64 source
Components: main role/dns role/database role/web # ➊
Description: Dailymotion Precise staging repository
Contents: .gz .bz2
Tracking: keep
SignWith: yes
NotAutomatic: yes # ➋
Log: packages.dm-precise-staging.log
--type=dsc email-changes
Dailymotion Precise packages (prod)
Origin: Dailymotion # ➌
Label: dm-prod # ➌
Suite: precise-prod
Codename: precise-prod
Architectures: i386 amd64 source
Components: main role/dns role/database role/web # ➊
Description: Dailymotion Precise prod repository
Contents: .gz .bz2
Tracking: keep
SignWith: yes
Log: packages.dm-precise-prod.log
Respuesta1
Hay 4 pasos para configurar un repositorio simple para usted
1.Instale dpkg-dev
2.Coloque los paquetes en un directorio
3.Cree un script que escanee los paquetes y cree un archivo que apt-get update pueda leer
4. Agregue una línea a su lista de fuentes apuntando a su repositorio
Instalar dpkg-dev
Escriba una terminal
sudo apt-get install dpkg-dev
El directorio
Crea un directorio donde guardarás tus paquetes. Para este ejemplo, usaremos
/usr/local/mydebs.
sudo mkdir -p /usr/local/mydebs
Ahora mueva sus paquetes al directorio que acaba de crear.
Los paquetes descargados previamente generalmente se almacenan en su sistema en el directorio /var/cache/apt/archives. Si ha instalado apt-cacher, tendrá paquetes adicionales almacenados en su directorio /packages.
La actualización del script-mydebs
Es una simple línea de tres líneas:
#! /bin/bash
cd /usr/local/mydebs
dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz
Corte y pegue lo anterior en gedit y guárdelo como update-mydebs en ~/bin. (la tilde '~' significa su directorio de inicio. Si ~/bin no existe, créelo: Ubuntu colocará ese directorio en su RUTA. Es un buen lugar para colocar scripts personales). A continuación, haga que el script sea ejecutable:
chmod u+x ~/bin/update-mydebs
Cómo funciona el script: dpkg-scanpackages examina todos los paquetes en mydebs, y el resultado se comprime y se escribe en un archivo (Packages.gz) que apt-get update puede leer (consulte a continuación una referencia que explica esto con insoportable detalle). ). /dev/null es un archivo vacío; es un sustituto de un archivo de anulación que contiene información adicional sobre los paquetes, que en este caso no es realmente necesaria. Consulte deb-override(5) si desea obtener más información.
Lista de fuentes
agrega la linea
deb file:/usr/local/mydebs ./
a tu /etc/apt/sources.list y listo.
Opción CD
Puede grabar el directorio que contiene los debs en un CD y usarlo también como repositorio (bueno para compartir entre computadoras). Para utilizar el CD como repositorio, simplemente ejecute
sudo apt-cdrom add
Usando el repositorio
Siempre que coloques un nuevo deb en el directorio mydebs, ejecuta
sudo update-mydebs
sudo apt-get update
Ahora sus paquetes locales se pueden manipular con Synaptic, aptitude y los comandos apt: apt-get, apt-cache, etc. Cuando intente instalar apt-get, cualquier dependencia se resolverá por usted, siempre que se puedan cumplir. .
Los paquetes mal hechos probablemente fallarán, pero no habrás soportado el infierno de dpkg.