Accueil du site || Les logiciels libres || Conseils/astuces || Installer un dépôt Debian chez soi
Vous avez plusieurs machines Debian, ne jonglez plus avec les dvd d’installation et economisez votre bande passante adsl en installant un depot debian chez vous, les mises à jour s’effectueront à travers le réseau local beaucoup plus rapidement.

Qu’est-ce qu’un dépôt Debian ?

Il s’agit d’une source d’installation que vous pouvez ajouter à la configuration de vos machines en éditant le fichier /etc/apt/sources.list

Une source d’installation se présente ainsi :

La distribution Sarge a aujourd’hui remplacé la Woody qui s’appelle désormais Etch. Pour en savoir plus, allez voir ici :

http://www.debian.org/releases/

La section Main contient tout ce qui est libre, au sens Debian du terme :

http://www.debian.org/intro/free

La section Contrib contient tout ce qui, bien que libre, dépend de logiciel non libre.

La section non-free contient tout ce qui n’est pas libre.

Quel est l’intérêt de créer un dépôt Debian chez soi ?

Si vous n’avez qu’une seule machine Debian chez vous, il est clair que cela n’a aucun intérêt. Si vous avez au moins 2 machines Debian ou plus, cela vous évitera de gaspiller votre bande passante adsl, en téléchargeant 2 fois ou plus des paquets identiques à chaque installation ou mise à jour. Vous n’installerez Debian qu’une seule fois sur la machine qui servira de dépôt à partir d’un serveur officiel Debian.

Les autres machines seront configurées (grâce à leur fichier /etc/apt/sources.list) pour s’adresser à la machine dépôt plutôt qu’à un serveur officiel Debian.

Description de l’installation

La procédure que je vais décrire est inspirée du Debian Repository HOWTO (en anglais) disponible ici :

http://www.isotton.com/software/debian/docs/repository-howto/repository-howto.html

et en particulier du paragraphe suivant concernant les dépôts triviaux :

http://www.isotton.com/software/debian/docs/repository-howto/repository-howto.html#id301090

Pour mettre en oeuvre cette procédure, il vous faut de l’espace disque sur une de vos machines, au moins de quoi stocker les 3 dvd Debian, plus le dvd d’update courant, disons au moins 20 Go.

Pour commencer, il faut vous procurer des images de la distribution Debian, dans mon cas, il s’agit des binaires pour Intel i386 que j’ai récupéré ici avec jigdo :

http://debian.med.univ-tours.fr/debian-cd/4.0_r4a/i386/jigdo-dvd/

Pour en savoir plus sur jigdo, rendez vous ici :

http://www.debian.org/CD/jigdo-cd/

Vous pouvez aussi utiliser bittorrent si vous préférez : http://www.debian.org/CD/torrent-cd/

Pour avoir un dépôt complet, téléchargez une copie des 3 dvd de binaires, ainsi que le dvd d’update.

Créez ensuite une arborescence "à la Debian" sur votre serveur local. Commencez par créer un répertoire qui sera la racine de votre dépôt, puis déplacez-vous à l’intérieur et créez l’arborescence suivante :


./dists
 |-- ./dists/etch -> stable/
  -- ./dists/stable
      |-- ./dists/stable/contrib
      |   -- ./dists/stable/contrib/binary-i386
      |-- ./dists/stable/main
      |   -- ./dists/stable/main/binary-i386
       -- ./dists/stable/non-free
          -- ./dists/stable/non-free/binary-i386

Copie des paquets Debian en local

Insérez le premier dvd Debian sur le serveur local, il doit être accessible dans /media/cdrom0 ou /media/cdrom1 , selon la façon dont vous avez branché vos lecteurs.

Copiez tous les fichiers *.deb du dvd dans le répertoire /racine/dists/etch/main/binary-i386 du serveur.

Les fichiers *.deb sur le dvd sont classés dans le répertoire pool, selon une arborescence alphabétique, que nous n’allons pas utiliser ici, car, nous n’avons besoin que d’un dépôt trivial. Ce dépôt ne gérera qu’une seule architecture, celle des machines de notre réseau local, composé uniquement de PC Intel.

Le répertoire racine de ma machine dépôt est /debian, vous devrez adapter la commande qui suit, si votre répertoire racine est situé ailleurs.

Pour copier les fichiers depuis le dvd, utilisez la commande suivante :


find  /media/cdrom0/pool/main/ -name '*.deb' -exec cp {}  /debian/dists/etch/main/binary-i386/ \;

Copiez ensuite les fichiers de contrib/ :


find  /media/cdrom0/pool/contrib/ -name '*.deb' -exec cp {} /debian/dists/etch/contrib/binary-i386/ \;

Faites de même avec les dvd suivants.

Si vous voulez mettre à disposition des paquets non libres, libdvdcss2, par exemple, copiez les dans non-free/binary-i386

Il ne reste plus qu’à créer un index du dépôt pour qu’il soit utilisable par apt. La commande dpkg-scanpackages est là pour ça :


dpkg-scanpackages dists/etch/main/binary-i386 /dev/null|gzip -9c > ists/etch/main/binary-i386/Packages.gz

dpkg-scanpackages dists/etch/contrib/binary-i386 /dev/null|gzip -9c > ists/etch/contrib/binary-i386/Packages.gz

dpkg-scanpackages dists/etch/non-free/binary-i386 /dev/null|gzip -9c > ists/etch/non-free/binary-i386/Packages.gz

Vous devez maintenant mettre à disposition ce dépôt, en configurant votre serveur web. Copiez les lignes suivantes en les adaptant dans votre répertoire de configuration apache :


Alias /debian/ "/debian/"
<Directory "/debian">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>

Redémarrez votre serveur apache.

Sur une autre machine de votre réseau, ajoutez cette ligne en l’adaptant dans le fichier /etc/apt/sources.list


deb http://machine_depot/debian/ stable main contrib non-free

Tapez apt-get update et vérifiez que votre dépôt debian est bien reconnu. Vous devez voir apparaître les lignes suivantes :


Hit http://machine_depot stable/main Packages
Hit http://machine_depot stable/contrib Packages
Hit http://machine_depot stable/non-free Packages
Reading package lists...

Vous pouvez maintenant lancer apt-get upgrade sur tous vos clients en même temps et apprécier la rapidité de votre réseau local.