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 créer un dépôt de paquets Ubuntu avec reprepro.
Installation
On commence par installez le paquet apache2. Puis les paquets debarchiver et la commande "dpkg-scanpackages" avec le paquet devscripts.
Configuration
Ensuite il faut créer les dossiers qui accueilleront les paquets:
sudo mkdir -p /var/www/ubuntu sudo mkdir /var/www/ubuntu/dists/ sudo mkdir /var/www/ubuntu/_incoming/
Le dossier dists contiendra l'arborescence du dépôt et _incoming sera le dossier 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 avec les droits d'administration et de modifier les paramètres suivants :
$destdir = "/var/www/ubuntu/dists"; $inputdir = "/var/www/ubuntu/_incoming"; @distributions = ('trusty'); @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 rendue 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’arborescence.
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éés :
deb http://ubuntu.votredomaine.com/ lucid main universe multiverse deb-src http://ubuntu.votredomaine.com lucid main universe multiverse
Contributeurs: Fabien26, L'Africain.