Esto es una receta rápida para configurar y empezar a usar ian, una pequeña aplicación que simplifica algunos de los problemas habituales con los que se enfrenta cualquier mantenedor de paquetes Debian.

Firma GPG

Para poder subir paquetes debian a un repositorio una vez compilados debes firmarlos. El repositorio de paquetes también tiene una clave. Tu clave GPG debe estar firmada con la clave del repositorio. De ese modo cualquiera que vaya a instalar un paquete puede verificar que los paquetes efectivamente corresponden a ese repositorio.

Por eso, lo primero es disponer de una clave GPG. Aquí tienes unos pasos para crearla y comprobarla, en el caso de que no tengas.

Generar clave GPG

$ gpg --gen-key

Los ficheros generados quedan en ~/.gnupg.

Es conveniente exportar la clave privada y almacenarla en un lugar seguro. Si la pierdes u olvidas la passphrase tendrás problemas, tendrás que crear una nueva y dar la lata a alguien para hacer el cambio. En resumen, no la pierdas.

$ gpg --export-secret-keys -a <huella_digital> > ~/<nombre-fichero>.asc

Listar claves

$ gpg --list-keys

Añadir clave a un servidor (ej: pgp.mit.edu):

$ gpg --keyserver <servidor> --send-key <huella_digital>

Configuración de ian

  • Añadir configuración en ~/.config/ian (para ian) o ~/.bashrc (para el sistema).
    DEBFULLNAME="Ana Rubio Ruiz"
    DEBEMAIL=ana.rubio.ruiz@gmail.com
    DEBSIGN_KEYID=<huella_GPG>
    DEBPOOL=debrepo@debrepo/shared
  • Ian necesita un editor por defecto (ej: emacs).
    EDITOR="emacs -nw"

ian prioriza los valores indicados en ~/.config/ian por encima de los de ~/.bashrc.

Generar clave SSH

$ ssh-keygen -b 4096
  • CLAVE PÚBLICA SSH: ~/.ssh/id_rsa.pub
  • CLAVE PRIVADA SSH: ~/.ssh/id_rsa

Configuración SSH

Añade en tu ~/.ssh/config una sección para el host debrepo similar a ésta:

Host debrepo
    Hostname debrepo.example.net
    User debrepo
    IdentityFile ~/.ssh/id_rsa

Comandos básicos ian

Fecha de última versión:

ian release-date -y

Compilar:

ian build -c

Subir paquete:

ian upload

Más en: https://github.com/davidvilla/ian



blog comments powered by Disqus