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 .
voir aussi : comment_creer_depot
Installation
On commence par installer apache2, de manière basique (pour une utilisation plus avancée, consultez le lien précédent) :
sudo apt-get install apache2
Puis on installe le paquet "debarchiver" et la commmande "dpkg-scanpackages" :
sudo apt-get install debarchiver devscripts
Configuration
Ensuite il faut créer les repertoires qui accueilleront les paquets :
sudo mkdir -p /var/www/ubuntu sudo mkdir /var/www/ubuntu/dists/ sudo mkdir /var/www/ubuntu/_incoming/
Le répertoire dists contiendra l'arborescence du dépôt et _incoming sera le répertoire où 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 souhaitez 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 :
sudo 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 executé toutes les 5 minutes. Le répertoire _incoming est alors scanné à la recherche de nouveaux paquets à ajouter sur le dépôt.
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 "/var/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 permettent d'améliorer le rendu visuel de l'aborescence.
Ajouter un paquet
Placer tous les fichiers générés pendant la création du paquet (par exemple, le .deb, le .changes, et le .dsc) dans le répertoire _incoming et attendre 5 minutes.
Si vous êtes pressé exécuter directement la commande :
sudo debarchiver -so
Utiliser le dépôt
Ajouter les dépôts créé:
deb http://ubuntu.votredomaine.com/ feisty main universe multiverse deb-src http://ubuntu.votredomaine.com feisty main universe multiverse
Contributeurs: Fabien26.