Ceci est une ancienne révision du document !
Création d'un dépot de paquets
Par Sp4rKy
Ce petit tutoriel va vous apprendre une façon simple de créer votre propre serveur de paquets.
Prérequis
Ce tutoriel utilise le logiciel reprepro , disponible dans le dépot universe. Donc avant tout :
sudo apt-get install reprepro
Création d'un dépot
La création d'un dépot est relativement simple. Commencez par créer un répertoire qui contiendra votre futur dépot :
user@ubuntu:~$ mkdir apt
Ensuite, on crée l'architecture de base du serveur apt :
user@ubuntu:~$ mkdir -p ./apt/conf user@ubuntu:~$ mkdir -p ./apt/incoming
Le répertoire conf contiendra les fichiers de configuration, le répertoire incoming pourra permettre l'ipload de paquets.
Nous allons maintenant créer le fichier de configuration, ce fichier contiendra plusieurs informations, comme la version de la distribution correspondant aux paquets.
Pour Breezy :
Origin: Votre Nom Label: Label de votre société (ou autre) Suite: stable Codename: breezy Version: 5.10 Architectures: i386 all source Components: main restricted universe multiverse Description: Votre Description
Pour Dapper :
Origin: Votre Nom Label: Label de votre société (ou autre) Suite: unstable Codename: dapper Version: 6.06 Architectures: i386 all source Components: main restricted universe multiverse Description: Votre Description
Bien sûr une fois que Dapper sera la distribution stable, il faudra changer le unstable en stable … Ensuite enregistrez le fichier dans le répertoire conf sous le nom distributions.
Ajouter mon premier paquet
Vous voila près à ajouter des paquets à votre serveur . Pour celà , la ligne de commande générique est :
user@ubuntu:~$ cd apt user@ubuntu:~$ reprepro -Vb . include //distribution// //nom_du_paquet//
Vous pouvez enlever l'option V pour qu'il y ai moins d'informations à s'afficher. Le . correspond à la racine de votre serveur (nous sommes dans le répertoire apt). La distribution doit correspondre à celle du paramètre Codename du fichier de configuration précédemment créé.
Ajouter plusieurs paquets en une fois
Voici un petit script perso permettant d'ajouter tous les paquets présents dans un répertoire en une seule commande :)
#!/bin/bash for paquet in $1/*.deb; do reprepro -b . include breezy $paquet; done
Copiez ce code dans le fichier AjoutPaquets.sh dans le répertoire apt, puis :
user@ubuntu:~$ chmod u+x ./AjoutPaquets.sh user@ubuntu:~$ ./AjoutPaquets.sh /var/cache/apt/archives
La dernière commande aura pour effet d'ajouter à votre dépot tous les paquets présents dans /var/cache/apt/archives , c'est à dire tous les paquets téléchargés récemment. Pour inclure un autre répertoire, il suffit de le passer en paramètre au script.
Utilisation de votre dépot
Bon voila, vous avez un dépot fraichement créé, mais vous voudriez bien l'utiliser, suivez le guide …
Soit vous l'utilisez en local, dans ce cas il vous suffit d'ajouter à votre /etc/sources.list la ligne :
deb file:/home/user/apt stable main contrib non-free
Bien sûr il faudra changer le stable en unstable pour la version instable (Dapper actuellement).
Si vous voulez l'utiliser en réseau, il vous faudra un serveur web sur votre pc, je n'aborderais pas ça ici. Ajoutez un alias dans votre httpd.conf pointant vers le répertoire apt fraichement créé. Une fois ceci fait et votre serveur lancé, le répertoire apt devrait être accessible avec une adresse du type http://votre_ip/apt . Il vous suffira alors d'ajouter à tous les pc devant se servir de ce serveur la ligne :
deb http://ip_du_serveur/apt stable main contrib non-free
dans le fichier sources.list .
Ensuite un petit
user@ubuntu:~$ sudo apt-get update
et les paquets ajoutés à votre serveur perso devraient être disponibles.