Auteur:


Date:
15/01/2012

Catégories:
Open-source
Planet-libre
Systeme

Tags:







Créer un dépôt Debian local sans liaison Internet

Vous êtes sur un réseau sans accès Internet et vous devez installer et maintenir plusieurs machines Debian ?

Ce scénario s'étant présenté à moi, j'ai décidé d'installer sur ce réseau isolé  un dépôt Debian local que j'ai construit à partir des 8 DVD d'installation de la version 6.0.3 de Debian Squeeze.  Nous allons donc dans ce billet voir la marche à suivre, étape par étape.

Construction du dépôt local

Pour effectuer cette action, il faut:

  • les DVD d'installation de la Debian 6.0.x ou toutes les images ISO des DVD d'installation de Debian 6.0.x (à télécharger ici)
  • une machine sous Debian qui hébergera le dépôt local (donc avec un minimum de 50 Go de disque disponible)
  • du temps...

On commence par faire une installation standard de Debian 6.

On créé ensuite un répertoire qui contiendra le dépôt local (/data/debian dans mon exemple qui est en fait un point de montage sur un deuxième disque dur):

Si vous avez les DVD...

On copie les fichiers .deb des DVD dans ce répertoire en utilisant insérant le DVD dans le lecteur puis en saisissant la commande suivante (action à répéter pour les 8 DVD):

Si vous avez les images ISO...

Si comme moi vous avez copié les images ISO des DVD sur un NAS (monté dans le répertoire /mnt/nas/iso/debian) alors vous pouvez utiliser cette commande en lieu et place de la précédante:

A la fin de ces opérations, le répertoire /data/debian devrait contenir l'ensemble des paquets .deb constituant la distribution stable de Debian Squeeze (pour une taille d'environ 35 Go).

On passe ensuite à la création des deux fichiers qui vont permettre de transformer ce répertoire en un dépôt Debian: les fichiers Release et Packages.gz.

Le fichier Release

On commence par le fichier Release (à mettre dans le répertoire /data/debian) qui décrit le le dépôt. C'est un fichier texte à créer avec votre éditeur favori:

Les lignes importantes sont:

Archive: squeeze > Ce dépôt sera utilisable par des machines sous Debian 6 (nom de code Squeeze)

Component: main > Ce dépôt contient les composant principaux de la distribution Debian 6

Architecture: amd64 > Ce dépôt sera utilisable par des machines 64 bits

Le fichier Packages.gz

On continu ensuite avec le fichier Packages (compressé avec Gzip) qui contiendra la description (nom, version , description, dépendances...) de tous les paquets .deb se trouvant dans le répertoire. Il est bien sur impossible de construire ce fichier à la mimine. Nous allons donc utiliser l'utilitaire dpkg-scanpackages.

Cette opération va prendre un certain temps... Soyez patient...

Test local du dépôt

Avant d'utiliser ce dépôt sur d'autres machines, il faut dans un premier temps le tester sur notre machine hébergeant le dépôt. Pour cela il faut éditer le fichier /etc/apt/sources.list pour y laisser seulement la ligne suivante:

On met ensuite à jour la base APT de notre machine:

Installation du serveur Web pour proposer le dépôt à d'autres machines

Pour que votre dépôt soit visible depuis les autres machines de votre réseau, le plus simple est d'y installer un serveur Web qui va présenter le répertoire /data/debian en utilisant le protocole HTTP.

Personnellement, j'utilise le serveur Web NGinx:

Puis en éditant le fichier /etc/nginx/sites-enabled/defaults:

On relance NGinx pour prendre en compte la configuration:

Utilisation du dépôt local

Pour utiliser notre beau dépôt local sur une autre machine Debian Squeeze, il suffit d'éditer le fichier /etc/apt/sources.list pour y laisser seulement la ligne suivante:


Ou 192.168.1.100 est à remplacer par l'adresse IP du serveur hébergeant votre dépôt.

On met ensuite à jour la base APT de notre machine:

Il ne reste plus qu'a installer vos logiciels en utilisant la commande apt-get install !

Sources pour la rédaction de ce billet:

  • http://knight-galaad.no-ip.org/ Galaad

    Bonjour,

    Merci pour se billet qui sera très pratique. Pourriez vous me dire si le miroir ainsi crée peut être par la suite synchronisé avec “apt-mirror”. Mon but étant de préparé un miroir sur un disque dur avec les DVD Debian, pour ensuite mettre se disque chez une personne qui à une connections ADSL très limité. Elle n’aura ainsi qu’a faire les mise à jours à interval régulier du mirroir et pas à faire le Download initial de plusieurs Go.
    Cordialement,

    • http://www.nicolargo.com NicoLargo

      En l’état je ne pense pas car la structure du répertoire /data/debian n’est pas faite pour. Mais je pense que c’est assez facile à adapter… Le plus simple est de créer une machine de test et de lancer apt-mirror pour voir la structure des répertoire puis d’y copier les .deb (un peu comme je le fais dans le billet mais dans les bons répertoires).

      Je te conseille la lecture du tuto suivant: http://doc.ubuntu-fr.org/tutoriel/creer_un_miroir_de_depot_local

      A+

      • http://knight-galaad.no-ip.org Galaad

        Merci cela me semble très intéressant, je vais essayé de combiner les 2 méthodes.

        • http://www.nicolargo.com NicoLargo

          Au cas ou je suis preneur de la méthode pour mixer apt-mirror et dépôt local DVD pour améliorer le billet. Mon mail est dans la section contact :)

          • http://knight-galaad.no-ip.org/ Galaad

            Bon après essai,
            Je ne suis pas parvenu à mes fins.
            Il semble que lorsque l’on veux synchroniser le miroir, il télécharge de nouveau les paquets mis pendant l’installation local.

            J’ai du très certainement faire une erreur quelques part dans l’adaptation. Mais je ne vais pas essayer de nouveau pour l’instant par manque de temps.

            Cordialement

  • Leseb

    Bonjour,

    Il manque un lien symbolique entre /data/debian et /var/www sinon en l’état actuel cela ne peut fonctionner.
    Merci pour ce tuto, au final c’est assez simple à réaliser :-)

    • http://www.nicolargo.com NicoLargo

      Corrigé ! Merci :)

  • Pingback: Nono’s Vrac 35 « m0le'o'blog