Cette page explique comment créer son propre dépôt Debian. Je n'ai validé cette procédure qu'une seule fois, donc il est possible que j'ai oublié de noter certaines étapes. Merci d'en faire part dans le forum.
On commence par installer apache2, de manière basique :
apt-get install apache2
Puis on installe debarchiver et dpkg-scanpackages :
apt-get install debarchiver devscripts
Ensuite il faut créer les répertoires qui accueilleront les paquets :
mkdir -p /var/www/debian
mkdir /var/www/debian/dists/
mkdir /var/www/debian/_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/debian/dists"; $inputdir = "/var/www/debian/_incoming"; @distributions = ('etch', 'lenny', 'testing', 'unstable'); @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
Il faut maintenant créer l'arborescence du dépôt :
debarchiver
Vérifier le résultat :
ls -lR /var/www/debian/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.
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 debian.votredomaine.com ServerAlias debian.votredomaine.com ServerAdmin webmaster@votredomaine.com DocumentRoot /var/www/debian ErrorLog /var/log/apache2/debian-error.log CustomLog /var/log/apache2/debian-access.log combined<br </VirtualHost>
<Directory> "/data/www/debian" 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.
Placez tous 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écutez directement la commande :
debarchiver -so
Ajoutez les dépôts créés:
echo " deb http://@IP_SERVEUR/depots debian main " >> /etc/apt/sources.list
apt-get update