Création d’un dépôt personnalisé pour ses paquets Debian

Toujours dans le cadre de faire des paquets, un moment ou un autre, on aura envie de se faire son petit dépôt pour y placer ses paquets et profiter de ceux-ci directement via Apt.

Tuto inspiré de celui sur Debian-facile en partie ou dans sa totalité.

Installation

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

Configuration

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 :

Extrait de debarchiver.conf
$destdir = "/var/www/debian/dists";
$inputdir = "/var/www/debian/_incoming";
@distributions = ('jessie', 'testing', 'unstable');
@sections = ('main', 'contrib', 'non-free');

%distmapping =
 (
 'stable' => 'jessie',
 'testing' => 'stretch',
 'unstable' => 'sid'
  );

@architectures = ('i386', 'amd64', 'all');

Si vous souhaitez recevoir un message lorsqu’un paquet est ajouté remplissez la section :

Extrait de debarchiver.conf
@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

Voici mon fichier perso ( j’ai seulement cacher mon mail!)

$destdir = "/var/www/debian/dists";
$inputdir = "/var/www/debian/_incoming";
@distributions = ('jessie', 'testing', 'unstable');
@sections = ('main', 'contrib', 'non-free');

%distmapping =
 (
 'stable' => 'jessie',
 'testing' => 'stretch',
 'unstable' => 'sid'
 );

@mailtos = ('Maintainer', 
 'Uploaders', 
 '@bar.com', 
 'utilisateur@adresse.perso',
 'Changed-By');

@architectures = ('i386', 'amd64', 'all');

Initialisation

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.

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 (debian.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>
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.

Ajouter un paquet

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

Utiliser le dépôt

Ajoutez les dépôts créés:

echo " deb http://@IP_SERVEUR/depots debian main "  >>  /etc/apt/sources.list
apt-get update

 

8 pensées sur “Création d’un dépôt personnalisé pour ses paquets Debian”

  1. Bonjour, j’aurais aimé avoir votre avis sur Debian concernant l’aspect publication en continue ( Rolling Release, Debian Sid). Est-ce qu’elle est viable comparé à d’autres distributions, notamment la OpenSUSE qui me fait de l’oeil ? Il parait qu’il y a un gèle sur débian même pour sa version rolling release ? En moyenne, il dure combien de temps ? Pour vous, quelles sont les avantages de débian ? d’OpenSUSE ? Et quelle distribution conseilleriez vous à un utilisateur de bureau ?

    Merci d’avance pour vos retours.

    1. Bonsoir,
      Je ne sais pas si Sid est viable par rapport a la rolling de l’opensuse (tumbleweed de son nom) car sid a un temps de gèle tous les deux ans qui dure entre 6 et 8 mois, puis une fois que la nouvelle stable sort, les mises a jour de sid reprennent de plus belle et tout le retard engendré pendant ses 6-8 mois sont rattrapé en peu de temps, ce qui est casse gueule.

      Maintenant comparé a archlinux c’est un peu kiff kiff, mais si vous êtes pas a l’aise avec ce type de distribution, commencé par manjaro qui est plus tranquille.
      Pour sid il y a un petit programme, apt-listbugs qui justement permet de voir si on va être embêté par une mise a jour.

      Après faudrait regarder si vous avez besoin vraiment d’une rolling, mais si c’est le cas je pense que debian sid avec listbug, calculate linux, manjaro et surtout opensuse tumbleweed sont de bonnes distributions, je conseille tout de même opensuse qui est bien plus simple.

      Les avantages de opensuse se résume a yast, un centre de contrôle qui facilite la vie.
      Les avantages de debian est sa communauté et sa charte qui place l’utilisateur avant tout autre chose comme prioritaire. Son nombre de paquets sans égale est aussi une de ses forces.

      En résumé, regardez si une rolling vous est indispensable car ce que vous allez gagner en fraîcheur vous allez le perdre en tranquillité.

      Merci de votre visite.

      1. LLo,

        Désolé mais comme je vois que vous parlez de openSuSE et que je ne savais pas trop où poser cette question, donc voilà.

        L’autre jour je ne sais plus où, tu parlais (si j’ai bien compris) que tu avais « activé un dépôts kde » sous openSuSE Leap pour avoir un KDE Plasma un peu plus récent que celui fournis avec la version « officiel ».

        Du coup voilà, j’aimerai savoir quel est ce dépôt en question car j’aimerai l’activer moi aussi pour tester en VM et pourquoi pas par la suite l’installer en dur parce que franchement je la trouve vraiment pas mal du tout, surtout Yast2 miam.
        J’ai cherché ici: https://fr.opensuse.org/D%C3%A9p%C3%B4ts_KDE mais je n’ai rien trouvé de concluant.

        Est ce que tu aurais un lien pour m’aiguiller ?

        Merci a+ 😉

        1. Coucou Phoenix,
          Desolé du temps de reponse, je viens de rentrer chez moi, je mange un peu et j’ai répondu a fred qui est mécontent, mais bon, alors pour kde oui c’est assez simple en faite, il faut activer 3 depots, https://fr.opensuse.org/D%C3%A9p%C3%B4ts_KDE#KDE_Frameworks_5_et_Plasma_5
          et https://fr.opensuse.org/D%C3%A9p%C3%B4ts_KDE#Applications_.C3.A0_jour_uniquement .
          Ensuite tu peux facilement le faire via http://software.opensuse.org/search
          De la tu cherche plasma5-session
          http://software.opensuse.org/package/plasma5-session
          Il va te demander d’actievr les depots framework et qt, de la tu fais la mise a jour.
          Pour les applications active les depots extra toujours en cherchant dans la recherche de paquets, j’ai fait une recherche sur konversation par exemple, http://software.opensuse.org/package/konversation

          Voila, j’espere t’avoir aidé 🙂

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *