1.- Instalar
reprepro.
Lo primero
instalar reprepro y apache2
# apt-get install
reprepro apache2
2.-
Reprepro necesita que tengamos apache para distribuir los paquetes
del repositorio a los clientes.
Una
vez instalados los paquetes, creamosel directorio principal de
nuestros repositorios y el directorio de configuración de una vez.
# mkdir -p
/var/www/repositorios/conf
3.- 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 (solo firmar).
Lo
siguiente que nos preguntará gpg es de que tamaño queremos crear la
clave y por defecto nos ofrece un tamaño de 2048. Le damos aceptar.
Luego
nos preguntará por el periodo de validez de la clave y por defecto
nos ofrecerá la opción 0 = la clave nunca caduca.
Procedemos a elegir la opción por defecto.
Nos
preguntará si es correcto. Respondemos que sí (s).
Nos
preguntará el nombre y apellido, aquí procedes a colocar tus
nombres y tus apellidos.
Nos
solicitara una dirección de correo, aquí procedes a colocar tu
dirección de correo electrónico.
Nos
ofrecerá la posibilidad de poner un comentario, solo tecleamos
“enter” para dejarlo vacío.
Para
finalizar, luego de haber colocado todos los datos correctamente,
tecleamos la letra (V) de (V)ale.
Por
ultimo nos pedirá que coloquemos una frase de contraseña. La
introducimos y repetimos cuando nos lo pida.
Al
final nos mostrara la clave generada. Si se nos ha escapado por lo q
sea y no la hemos visto, ejecutamos lo siguiente:
$
gpg list-keys
ahora
vamos a crear un fichero donde vamos a definir las distribuciones con
las que vamos a trabajar:
#
cd /var/www/repositorios/conf
#
nano distributions
Aquí
vas a llenar el archivo con los siguientes datos:
- Origin: Nombre de la distribución o sabor. Sólo usar caracteres alfanuméricos y guiones, nada de espacios o caracteres especiales. (p. ej.: Canaima, Debian, Ubuntu, Fedora).
- Label: Etiqueta de la distribución o sabor. Generalmente se utiliza el mismo valor de Origin.
- Codename: Nombre código de la distribución o sabor (p. ej: aponwao, roraima, auyantepui, wheezy, squeeze, lenny).
- Suite: Nombre del estado de desarrollo de la distribución (p. ej: estable, pruebas, desarrollo).
- Version: Versión de la distribución o sabor.
- Pull: Distribución desde donde se actualizan los paquetes.
- Description: Descripción de la distribución.
- Architectures: Arquitecturas soportadas por la distribución o sabor.
- Components: Componentes o secciones en las que se divide el repositorio (p. ej: main, contrib, non-free).
- SignWith: Código de la Llave pública GPG o correo asociado con que se firma el repositorio.
- DebIndices: Tipos de Índices a generar.
Se
debe agregar un bloque de estos por cada estado de desarrollo de la
distribución. Por ejemplo, el archivo conf/distributions del
repositorio de Canaima es el siguiente:
Origin:
Canaima
Label:
Canaima
Suite:
antiguo
Codename:
aponwao
Version:
2.1
Pull:
estable
Architectures:
i386 amd64 source
Components:
usuarios
Description:
Canaima GNU/Linux
SignWith:
repositorios@canaima.softwarelibre.gob.ve
DebIndices:
Packages Release . .gz .bz2
Origin:
Canaima
Label:
Canaima
Suite:
estable
Codename:
roraima
Version:
3.0
Pull:
pruebas
Architectures:
i386 amd64 source
Components:
usuarios
Description:
Canaima GNU/Linux
SignWith:
repositorios@canaima.softwarelibre.gob.ve
DebIndices:
Packages Release . .gz .bz2
Origin:
Canaima
Label:
Canaima
Suite:
desarrollo
Codename:
auyantepui
Version:
3.1
Architectures:
i386 amd64 source
Components:
usuarios
Description:
Canaima GNU/Linux
SignWith:
repositorios@canaima.softwarelibre.gob.ve
DebIndices:
Packages Release . .gz .bz2
Cuando
tengamos todo lo anterior en el archivo distributions
guardamos, entramos en el directorio del repositorio:
#
cd /var/www/repositorio
Y
ejecuta el siguiente comando para terminar de crear el esqueleto del
repositorio:
#
reprepro -VVV export
Si
al ejecutar el comando anterior presenta algún problema con la
clave, puedes ejecutar el comando anterior con el parametro
--ask-passphrase:
#
reprepro --ask-passphrase -VVV export
Luego
el siguiente comando creará los enlaces simbolicos Codename >
Suite:
#
reprepro -VVV createsymlink
Listo,
tu repositorio se encuentra listo para que puedas agregarle paquetes.
Para agregar paquetes binarios (.deb) debes ubicarte en la carpeta raíz del repositorio (en nuestro ejemplo seria la siguiente /var/www/repositorio) y ejecutar el siguiente comando:
Ejemplo:
# reprepro includedeb [DISTRIBUCIÓN] [PAQUETE]
En donde [DISTRIBUCIÓN] será la rama de desarrollo donde se desea incluir y [PAQUETE] la ruta completa a donde se encuentra el paquete .deb dentro de la computadora.
Ejemplo:
# reprepro includedeb auyantepui /home/soporte/canaima-desarrollador_3.0-1_all.deb
# reprepro --ask-passphrase includedeb squeeze /home/soporte/canaima-desarrollador_3.0-1_all.deb
Para el caso de los paquetes fuente, el comando es el siguiente:
Ejemplo:
# reprepro include [DISTRIBUCIÓN] [CHANGES]
En donde [DISTRIBUCIÓN] será la rama de desarrollo donde se desea incluir y [CHANGES] la ruta completa a donde se encuentra el archivo .changes producto del empaquetamiento (deben estar también en la misma carpeta el resto de los archivos que forman parte de los paquetes fuentes: dsc, .orig.tar.gz, .debian.tar.gz, más el paquete binario .deb). Por ejemplo:
Ejemplo:
# reprepro include auyantepui /home/soporte/canaima-desarrollador_3.0-1_all.changes
Eliminando paquetes
Eliminar un paquete de una rama es bastante sencillo:
# reprepro remove [DISTRIBUCIÓN] [PAQUETE]
En donde [DISTRIBUCIÓN] es la rama de desarrollo de donde se desea remover el paquete y [PAQUETE] el nombre (sólo el nombre) del paquete que se desea remover.
Ejemplo:
# reprepro remove auyantepui canaima-desarrollador
Usando el repositorio
Puedes probar los paquetes binarios del repositorio colocando ésta linea en tu archivo /etc/apt/sources.list:
deb http://localhost/repositorio [DISTRIBUCIÓN] [COMPONENTES]
En donde [DISTRIBUCIÓN] es la rama de desarrollo donde se encuentran los paquetes que deseas probar y [COMPONENTES] los componentes que creaste para tu distribución en el archivo conf/distributions.
Ejemplo:
deb http://localhost/repositorio auyantepui usuarios
También puedes probar los paquetes fuentes del repositorio si agregas la siguiente línea igualmente en tu archivo /etc/apt/sources.list:
deb-src http://localhost/repositorio [DISTRIBUCIÓN] [COMPONENTES]
Si posees una IP fija o un nombre de dominio asignado a tu computadora o servidor, puedes publicarlo a las demás personas pidiéndoles que agreguen la línea en sus archivos /etc/apt/sources.list:
deb http://TU-DIRECCIÓN-IP/repositorio [DISTRIBUCIÓN] [COMPONENTES]
ó
deb http://TU-DOMINIO/repositorio [DISTRIBUCIÓN] [COMPONENTES]
muy buenas
ResponderEliminarhombre magnifico blog me entretenido y he aprendido mucho (muchisimo realmente) acerca de soporte tecnico (lo leo desde mi celular)
pero hay algo que esta fuera de mis manos
se que esto no tiene nada que ver con el tema pera no se con quien mas acudir (vivo metido en un pueblito como para salir a a una ciudad) es mas hago esto de mi celular (con mucho esfuerzo claro)
he tratado en estos dias de instalar canaima-blobs en mi canaima 3.1
pero me aparece esto
Se ha producido un error
Se proporcionaron los siguientes detalles:
E: /var/cache/apt/archives/firmware-iwlwifi_0.36+wheezy.1_all.deb: intentando sobreescribir `/lib/firmware/iwlwifi-6000g2a-5.ucode', que está también en el paquete linux-3.2.0-3-686-pae-rtlwifi-driver 20121213
he querido instalar los componente privativos (algo esencial por ejemplo para el bluetooh) se que necesita conexion de internet
y lo he tratado hacer cerca de infocentro pero nada, he hecho y deshecho por todos lados y no he podido he leido tantos blogs (pero la gran mayoria hacen soporte es a unbutu y los dedicados a debian o canaima en su gran mayoria estan paralisados
te agradeceria cualquier ayuda de antemano si nacesitas mas informacion o algo no dudes en pedirmela
muchas gracias
cuidese
Hola como estas?? me alegra que le sea de mucha utilidad mi blogs, esa es la idea que las personas aprendan cada vez mas de soporte y redes, sobre su caso me surgen varias interrogantes, que repositorios tiene en el equipo?? usted instalo paquetes para su inalambrica???
ResponderEliminarusted instalo un kernel diferente al que trae por defecto la version 3.1??
hombre buenas disculpa la demora por responder y gracias por atender mi duda
ResponderEliminarno, no he instalado nada a la inalambrica ( ni es mia como para ponerme a inventar jejeje ; ) )
tampoco he instalado un kernel distinto al que tiene por defecto (aunque tengo pensado virtual box a mediano plazo)
y para instalar canaima blobs he usado gestor de paquetes synaptic (bueno que repositorios precisamente utiliza no se como saberlo... T_T si me enseñas tal ves te lo diria)
y bueno no se que mas puedo decirte, si necesitas mas informacion o algo no dudes en preguntar
gracias por responder cuidase chao