Diferencia entre revisiones de «APT Repos»

De Ardemans Wiki
Saltar a: navegación, buscar
Línea 33: Línea 33:
 
=== Configuracion inicial ===
 
=== Configuracion inicial ===
 
Lo primero es crear un usuario del sistema con el que se trabajará con los repositorios.
 
Lo primero es crear un usuario del sistema con el que se trabajará con los repositorios.
```
+
<pre>
 
# Adduser --system --disabled-password --disable-login --home /srv/packages --group reprepro
 
# Adduser --system --disabled-password --disable-login --home /srv/packages --group reprepro
```
+
</pre>
  
 
Todas las operaciones se tienen que realizar con este usuario. Cada uno de los repositorios que creemos deberá tener la siguiente estructura:
 
Todas las operaciones se tienen que realizar con este usuario. Cada uno de los repositorios que creemos deberá tener la siguiente estructura:
Línea 46: Línea 46:
 
El contenido del fichero de configuracion, ./conf/options:
 
El contenido del fichero de configuracion, ./conf/options:
  
```
+
<pre>
 
outdir +b/www
 
outdir +b/www
 
logdir +b/logs
 
logdir +b/logs
 
gnupghome +b/gpg
 
gnupghome +b/gpg
```
+
</pre>
  
 
Tenemos que crear la clave gpg:
 
Tenemos que crear la clave gpg:
```
+
<pre>
 
$ GNUPGHOME=gpg gpg --gen-key
 
$ GNUPGHOME=gpg gpg --gen-key
```
+
</pre>
 
Como ejemplo creamos una clave RSA, expira para 10 años (10y).
 
Como ejemplo creamos una clave RSA, expira para 10 años (10y).
  
 
Si no ponemos una contraseña a esta clave RSA podremos hacer operaciones desatendidas
 
Si no ponemos una contraseña a esta clave RSA podremos hacer operaciones desatendidas

Revisión de 09:00 27 nov 2014

Introducción

Mis apuntes sobre como crear mis propios repositorios APT. El motivo de esto es el de tener mi pripio repo centralizado para ciertas máquinas que esté congelado en el tiempo, que no sea necesario que mis máquinas tengan acceso a inet, y poder meter mis propios paquetes.

Fuentes

Este enlace lo explica muy bien, aun así este documento va en plan apuntes.


Tipos de repositorios

Hay varios tipos de repositorios de APT:

  • Distribution Mirror: la copia de uno oficial, normalmente se usa para ahorrar ancho de banda y que las instlaciones vayan más rápidas
  • Local Repository: con nuestros propios paquetes, y permite tener una zona de stagin, previa a poner algo en producción
  • Mirrors de repositorios no oficiales (como ubuntu ppa): Para evitar cambios no esperados, y poder hacer pruebas antes de pasar lo cabmis de esos repos a nustra produccion

Estructura del repositorio

Un repositorio tiene distribuciones que a su vez tiene componentes

Hay varias cosas a tener en cuenta: - Un repositorio no puede tener dos paquetes identicos: mismo nombre, misma versión y misma arquitectura) - En un componente solo puede haber una version de un paquete - Una ditribución suele ser una lista de versiones mientras un componente suele ser una lista de paquetes.

Como ejemplo, el repo de debian tiene la distribucion unstable, con las versiones más recientes de software, pero dentro de unstable hay un componente main, que es un grupo de paquetes.

Herramientas

Usaremos reprepro para estas pruebas. Existen otras herramientas más complicadas. Reprepro solo puede manejar un repositorio


Configuración de un repo

Configuracion inicial

Lo primero es crear un usuario del sistema con el que se trabajará con los repositorios.

# Adduser --system --disabled-password --disable-login --home /srv/packages --group reprepro

Todas las operaciones se tienen que realizar con este usuario. Cada uno de los repositorios que creemos deberá tener la siguiente estructura:

  • ./conf: ficheros de configuracion
  • ./gpt: para firmar los repositorios
  • ./logs contiene los logs
  • ./www: lo que hay que exportar en el servidor web

El contenido del fichero de configuracion, ./conf/options:

outdir +b/www
logdir +b/logs
gnupghome +b/gpg

Tenemos que crear la clave gpg:

$ GNUPGHOME=gpg gpg --gen-key

Como ejemplo creamos una clave RSA, expira para 10 años (10y).

Si no ponemos una contraseña a esta clave RSA podremos hacer operaciones desatendidas