Tuto création dépôt perso Apt

Bonjour,

Aujourd’hui petit tuto sur la mise en place d’un dépôt Apt perso.
Le but ? Pouvoir diffuser ses logiciels.

Structure du dépôt

Tout d’abord créer un répertoire cible pour votre dépôt. Dans mon cas, je l’ai appelé apt tout simplement.

mkdir apt

(Ce répertoire sera à configurer en tant que site de apache)
A l’intérieur de ce dernier deux répertoires à créer conf et incoming.

mkdir apt/conf
mkdir apt/incoming

Le répertoire conf contiendra les fichiers de configuration de votre dépôt et le repertoire incoming les .deb que vous voudrez diffuser.

Créer un fichier de configuration de ce type.

Origin: Matthieu LEMAIRE
Label: Depot de Matthieu LEMAIRE
Suite: stable
Codename: stable
Version: all
Architectures: i386 amd64 source
Components: main non-free contrib 
Description: Depot pour la distribution des logiciels de Matthieu LEMAIRE
SignWith: yes

Jusque là rien de bien compliqué. C’est maintenant que cela va devenir intéressant !!

Génération de la clé GPG et signature

Dans votre répertoire utilisateur lancer la commande suivante :

gpg2 --full-gen-key

Répondre aux questions, pour ma part, j’ai choisi RSA et 4096 (ca prend un peu de temps)
Une fois terminé, vous pouvez voir la clé générée avec la commande

gpg --list-keys

Maintenant il faut exporter cette clé pour qu’elle soit publique.

gpg --armor --export utilisateur@apt.matthieulmr.fr >> ./apt/key/depot-deb.gpg.key

La clé publique est maintenant accessible. Dans mon cas elle est disponible à l’adresse suivante : Clé GPG

Installation de reprepro

Maintenant que le terrain est préparé nous allons construire le dépôt avec reprepro.
Tout d’abord on l’installe

apt install reprepro

Une fois l’installation faite, lancer la commande suivante pour mettre en place l’arborescence du dépôt.

reprepro --ask-passphrase -Vb ./apt export

Et voilà ! Votre dépôt est prêt pour acceuillir vos paquets.
Pour en rajouter :

reprepro --ask-passphrase -Vb ./apt includedeb stable ./apt/incoming/mon-paquet_1.2.deb

Pour en supprimer :

reprepro --ask-passphrase -Vb ./apt remove stable mon-paquet

Côté client

Votre dépôt est prêt mainteant il faut que les clients l’ajoute de leur côté
Pour se faire ajouter votre adresse dans le sources.list ou créer un fichier spécifique dans sources.list.d

nano /etc/apt/sources.list.d/depot-matthieulmr.list

# depot de matthieulmr
deb http://apt.matthieulmr.fr/ stable main

Et on ajoute la fameuse clé publique :

wet -O - http://apt.matthieulmr.fr/key/apt.matthieulmr.fr.gpg.key | apt-key add -

Une fois la clé ajouter un petit

apt update

et votre client a accès à vos paquets !!

Laisser un commentaire