reprositorio en open suse
En ocasiones necesitamos disponer de un repositorio de paquetes propio con el que instalar una serie de paquetes que no se encuentran en los repositorios de nuestra organización ni en los de nuestra distribución. En este caso, podemos recurrir a reprepro.
Vamos a ver cómo podemos instalar y utilizar reprepro en nuestraorganización.
Instalar reprepro.
Lo primero es instalar los paquetes reprepro y apache2:
# apt-get install reprepro apache2
Reprepro necesita que tengamos apache para distribuir los paquetes del repositorio a los clientes.
Una vez instalados los paquetes, creamos el directorio principal de nuestro repositorio y el directorio de configuración de una vez. Por ejemplo:
# mkdir -p/var/www/iesvalledeljerte3/conf
A continuación vamos a crear una clave con la que firmaremos el repositorio:
cd /var/www/repositorio $ gpg --gen-key
gpg nos pedirá que seleccionemos el tipo de clave que deseamos crear. Elegiremos la opción (4) RSA (sólo firmar).
Lo siguiente que nos preguntará gpg es de qué tamaño queremos crear la clave y por defecto nos ofrece un tamaño de 2048. Lo aceptamos.Nos preguntará por el período de validez de la clave y por detecto nos ofrecerá la opción 0 = la clave nunca caduca. Elegimos la opción por defecto.
Nos preguntará si es correcto. Respondemos que sí (s).
Nos preguntará el nombre y apellidos. Introducimos nuestro nombre y apellidos.
Nos pedirá que introduzcamos nuestra dirección de correo. Así que la introducimos.
Nos ofrecerá laposibilidad de poner un comentario. Pulsamos Enter para dejarlo vacío.
Para terminar, suponiendo que hemos introducido todos los datos correctamente, pulsaremos (V) de (V)ale.
Y, ya por último, nos pedirá que introduzcamos una frase de contraseña. La introducimos y repetimos cuando nos lo pida.
Al final nos mostrará la clave generada. Si se nos ha escapado por lo que sea y no la hemosvisto, ejecutamos:
$ gpg --list-keys
/home/enam0000/.gnupg/pubring.gpg
---------------------------------
pub 1024D/153F5386 2009-12-01
uid Esteban M. Navas Martín (Administrador Informatico)
sub 2048g/83061C03 2009-12-01
Copiamos el identificador de la clave pública para introducirlo posteriormente en el fichero /var/www/iesvalledeljerte3/conf/distributions. En micaso: 153F5386
Exportamos la clave pública en un archivo y la copiamos en el directorio principal del repositorio:
$ gpg --armor --export 153F5386 > /var/www/iesvalledeljerte3/iesvalledeljerte3.asc
A continuación creamos un fichero donde vamos a definir las distribuciones con las que vamos a trabajar:
$ nano /var/www/iesvalledeljerte3/conf/distributions
Origin: IES Valle del JerteLabel: Debian Squeeze packages
Suite: squeeze
Codename: squeeze
Architectures: i386 amd64
Components: main
Description: Paquetes adicionales para el IES
DebIndices: Packages Release . .gz .bz2
SignWith: 153F5386
Cuando tengamos todo lo anterior, entramos en el directorio del repositorio:
$ cd /var/www/iesvalledeljerte3
Y ejecutamos:
$ reprepro -VVV export
Al ejecutar elcomando anterior, en alguna ocasión he tenido problemas con la clave. Si tuviérais algún problema como yo, siempre podéis ejecutar el comando anterior con el parámetro --ask-passphrase:
$ reprepro --ask-passphrase -VVV export
A continuación creamos los enlaces simbólicos:
$ reprepro -VVV createsymlinks
Agregar paquetes binarios a nuestro repositorio
Para agregar paquetesbinarios (.deb), nos situamos en la carpeta raíz del repositorio (siguiendo el ejemplo: /var/www/iesvalledeljerte3) y ejecutamos el siguiente comando:
$ reprepro --ask-passphrase includedeb [DISTRIBUCION] [PAQUETE]
Ejemplo:
$ reprepro --ask-passphrase includedeb squeeze /home/enam0000/Java-package/oracle-j2re1.7_1.7.0+update7_amd64.deb
$ reprepro --ask-passphrase includedeb squeeze...
Regístrate para leer el documento completo.