Contenu | Rechercher | Menus
Selon les tags présents sur cette page, celle-ci est ancienne et ne contient plus d'informations sur une des versions supportées d'Ubuntu.
Apportez votre aide…

Comment créer un dépôt de paquets

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épôt universe. Donc avant tout : installez le paquet reprepro.

Création d'un dépôt

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'upload 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. Vous devez éditer le fichier conf/distributions.

Pour Gutsy :

Origin: Votre Nom
Label: Label de votre société (ou autre)
Suite: stable
Codename: gutsy
Version: 7.10
Architectures: i386 source
Components: main restricted universe multiverse
Description: Votre Description

Bien sûr, il faudra changer le unstable en stable selon les autres indications que vous donnerez (version, nom)…

Ajouter mon premier paquet

Vous voila prêt à ajouter des paquets à votre dépôt. Pour cela, la ligne de commande générique est :

user@ubuntu:~$ cd apt
user@ubuntu:~$ reprepro -Vb . includedeb (distribution) (nom_du_paquet)

Vous pouvez enlever l'option V pour qu'il y ait moins d'informations affichées. 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éé.

Attention: ceci fonctionne pour ajouter des paquets .deb

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 . includedeb 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épôt 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 argument au script.

Utilisation de votre dépôt

Bon, vous avez un dépôt fraîchement 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/apt/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.

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.

Vous pouvez aussi ajouter vos fichiers sur un site web (le site disponible pour vous chez votre fournisseur d'accès ou autre…). Il vous suffira de donner la bonne URL dans une ligne semblable à ci-dessus. Tout le monde pourrait alors avoir accès à vos chers debs.

Signer votre dépôt

Pour ce faire, rien de plus simple, vous devez bien évidemment, disposer avant tout d'une clé GPG

Ensuite, éditez ./conf/distribution, et rajoutez y ceci :

SignWith: XXXXXXXX

XXXXXXXX devant être remplacé par la valeur de votre clé GPG

ensuite, lancez le terminal, et utiliser cette commande :

reprepro --ask-passphrase export

Votre passphrase vous sera demandée, puis votre dépôt sera signé. Il ne vous restera plus qu'à uploader tous les dossiers composants votre dépôt. =)


Contributeurs : Sp4rKy (base), Johndescs, Billou


tutoriel/comment_creer_depot.txt · Dernière modification: Le 15/12/2011, 15:17 (modification externe)
Le contenu de ce wiki est sous licence : CC BY-SA v3.0