Ceci est une ancienne révision du document !
Comment créer votre propre dépôt Ubuntu ?
Cette courte documentation explique comment utiliser debarchiver pour créer et maintenir un dépôt Ubuntu et ainsi mettre à disposition vos propres paquets Ubuntu .
Installation
On commence par installer debarchiver et dpkg-scanpackages :
# apt-get install debarchiver devscripts
Configuration
Ensuite il faut créer les repertoires qui accueilleront les paquets :
# mkdir -p /var/www/ubuntu # mkdir /var/www/ubuntu/dists/ # mkdir /var/www/ubuntu/_incoming/
Le répertoire dists contiendra l'arborescence du dépôt et _incoming sera le répertoire ou debarchiver viendra chercher les nouveaux paquets pour les placer au sein de l'arborescence.
Enfin il suffit d'éditer le fichier /etc/debarchiver.conf et de modifier les paramètres suivants :
$destdir = "/var/www/ubuntu/dists"; $inputdir = "/var/www/ubuntu/_incoming"; @distributions = ('dapper', 'edgy', 'feisty', 'gutsy'); @sections = ('main', 'universe', 'multiverse');
Si vous souhaiter recevoir un message lorsqu'un paquet est ajouté remplissez la section :
# @mailtos = ('Maintainer', The Maintainer field in control file # 'Uploaders', The Uploaders field in control file # '@bar.com', User id @bar.com that own the changes file # 'installer@foo.com', An explicit email address # 'Changed-By'); The email in the changelog file
Initialisation
Il faut maintenant créer l'arborescence du dépôt :
# debarchiver
Vérifier le résultat :
# ls -lR /var/www/ubuntu/dists
Un script cron se trouve dans /etc/cron.d/debarchiver. Par défaut debarchiver est éxecuté toutes les 5 minutes. Le répertoire _incoming est alors scanné à la recherche de nouveaux paquets à ajouter sur le dépôts.
Publier le dépôt
L'arborescence peut être rendu publique par HTTP ou FTP. Nous prenons ici l'exemple d'un serveur apache2.
Voici la configuration d'un virtual host (ubuntu.votredomaine.com)
<VirtualHost *:80> ServerName ubuntu.votredomaine.com ServerAlias ubuntu.votredomaine.com ServerAdmin webmaster@votredomaine.com DocumentRoot /var/www/ubuntu ErrorLog /var/log/apache2/ubuntu-error.log CustomLog /var/log/apache2/ubuntu-access.log combined </VirtualHost> <Directory "/data/www/ubuntu"> Options Indexes Includes FollowSymLinks MultiViews IndexOptions FancyIndexing SuppressHTMLPreamble NameWidth=* IndexIgnore _incoming _style HeaderName /_style/HEADER.html ReadmeName /_style/README.html </Directory>
La commande IndexIgnore permet de cacher le répertoire _incoming.
HEADER.html et README.html permette d'améliorer le rendu visuel de l'aborescence.
Ajouter un paquet
Placer tout les fichiers générés pendant la création du paquet (pas uniquement le .deb) dans le répertoire _incoming et attendre 5 minutes.
Si vous êtes pressé exécuter directement la commande :
# debarchiver -so
Utiliser le dépôt
deb http://ubuntu.votredomaine.com/ feisty main universe multiverse deb-src http://ubuntu.votredomaine.com feisty main universe multiverse