Bienvenue sur le site de St Carré

  • Miroir local d'un dépot Debian

    Si l’on administre beaucoup de machines sous Debian, ou si l’on installe souvent des machines, il peut être intéressant d’avoir une copie locale des dépots afin d’améliorer le temps d’accès.
    La distribution Debian, et ses dérivées comme Ubuntu, propose des outils permettant de réaliser cette copie simplement.

    Les outils nécessaires

    Pour faire cette copie, il faut installer apt-mirror, en tant que root, utiliser la commande :

        apt-get install apt-mirror
    

    Pour Ubuntu, il faudra précéder cette commande de sudo.

    Les répertoires du miroir

    Pour mes tests, j’ai utilisé une partition disponible qui a été montée dans le dossier /montage avec la commande :

        mkdir /montage
        mount /dev/hda4 /montage
    

    Pour accueillir le contenu du dépot, il faut créer un certains nombre de dossiers, cela se fait avec la commande suivante :

        mkdir -p /montage/depot/{mirror,skel,var}
    

    Il faut ensuite modifier le propriétaire de ces dossiers, ils doivent appartenir au compte apt-mirror qui a été créé lors de l’installation de l’outil. Il faut utiliser la commande :

        cd /montage
        chown -R apt-mirror:apt-mirror depot
    

    Il faut que le système de fichier devant accueillir le miroir du dépot soit assez grand, une copie du mirroir de Lenny en 32 bits occupe 24Go.

    La configuration

    Un exemple de configuration de l’outil apt-mirror est donnée dans le fichier /etc/apt/mirror.list.
    Pour séparer la configuration mise en place de celle livrée par défaut, il faut créer un dossier et y copier la modèle de configuration :

        mkdir /monatge/depot/config
        cp /etc/apt/mirror.list /monatge/depot/config/.
    

    Il faut ensuite adapter ce fichier à son besoin, voila ce que cela donne pour une copie de Debian Lenny en 32bits :

        ############# config ##################
        #
        # Definition du repertoire racine du miroir local
        # set base_path    /var/spool/apt-mirror
        set base_path    /montage/depot
        #
        # if you change the base path you must create the directories below with write privlages
        #
        set mirror_path  $base_path/mirror
        set skel_path    $base_path/skel
        set var_path     $base_path/var
        # set cleanscript $var_path/clean.sh
        # Architecture par defaut
        set defaultarch  i386
        # Nombre de connexions ouvertes en parallele pour le telechargement
        #set nthreads     20
        set nthreads     5
        set _tilde 0
        #
        ############# end config ##############
    
        #Debian Lenny
        deb http://ftp.fr.debian.org/debian/ lenny main contrib non-free
        deb http://security.debian.org/ lenny/updates main contrib non-free
        deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free
    
        clean http://ftp.fr.debian.org/debian
        clean http://security.debian.org
        clean http://volatile.debian.org/debian-volatile
    

    Si l’on veut réaliser un miroir avec les architectures 32 et 64 bits, il faut utiliser la syntaxe suivante pour décrire l’adresse source des dépots 64 bits:

        #Debian Lenny
        deb-amd64 http://ftp.fr.debian.org/debian/ lenny main contrib non-free
        deb-amd64 http://security.debian.org/ lenny/updates main contrib non-free
        deb-amd64 http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free
    

    Activer la copie

    Pour lancer la création du miroir local, il faut utiliser la commande

        apt-mirror /montage/depot/config/mirror.list
    

    Pour la première copie, il faut être patient :

        $ date ; apt-mirror /montage/depot/config/mirro.list ; date
        samedi 21 novembre 2009, 17:10:12 (UTC+0100)
        Downloading 27 index files using 5 threads...
        Begin time: Sat Nov 21 17:10:12 2009
        [5]... [4]... [3]... [2]... [1]... [0]... 
        End time: Sat Nov 21 17:11:10 2009
    
        Proceed indexes: [PPP]
    
        22.8 GiB will be downloaded into archive.
        Downloading 24073 archive files using 5 threads...
        Begin time: Sat Nov 21 17:11:17 2009
        [5]... [4]... [3]... [2]... [1]...  [0]... 
        End time: Sun Nov 22 02:46:54 2009
    

    Utiliser le dépot

    Une fois la copie réalisée sur une machine locale, il faut rendre accessible ces répertoires depuis une instance web.
    Il faut créer les liens permettant d’accéder aux fichiers :

        cd /var/www
        ln -s /montage/depot/mirror/security.debian.org
        ln -s /montage/depot/mirror/ftp.fr.debian.org/debian
        ln -s /montage/depot/mirror/volatile.debian.org/debian-volatile
    

    Enfin, il faut modiifer le fichier sources.list pour le faire pointer vers le miroir :

        deb http://<adresse du miroir>/debian/ lenny main contrib non-free
        deb http://<adresse du miroir>/debian-security/ lenny/updates main contrib non-free
        deb http://<adresse du miroir>/debian-volatile/ lenny/volatile main contrib non-free
    

     

    Liens

    Quelques informations complémentaires sur le forum Ubuntu-Fr.

    lire la suite