21 novembre 2024

Rasbperry : Monter son propre miroir Raspbian

S’il est une chose qui est pénible sur le Raspberry, c’est le traditionnel apt-get.
En effet, le miroir officiel de Raspbian souffre d’une lenteur exécrable et installer de nouvelles applications sur notre jouet est vite une perte de temps.
Je vous invite à suivre ce tutoriel Monter son miroir Debian avec Apt-Mirror pour la mise en place en général d’Apt-mirror, cet article ne se concentrant que sur les spécificités pour faire la mise en place d’un miroir Raspbian sur un serveur linux.
On est bien d’accord, je ne monte pas un miroir sur le Raspberry, mais je monte un miroir pour le Raspberry sur un serveur Debian autre.
 

I – Création de la structure

On va stocker les archives du rasp ici : /stock/apt-mirror/rasp/

# cd /stock
# mkdir apt-mirror/rasp
# cd apt-mirror/rasp
# mkdir var
# mkdir skel
# mkdir mirror
# cd var/
# touch clean.sh
# touch postmirror.sh
# cd /stock
# chown apt-mirror:apt-mirror apt-mirror/ -R

 

II – Fichier mirror2.list pour raspberry

Les différences sont au niveau du defaultarch (armhf) et évidement les dépôts dans un fichier /etc/apt/mirror2.list

set base_path    /stock/apt-mirror/rasp
set mirror_path  $base_path/mirror
set skel_path    $base_path/skel
set var_path     $base_path/var
set cleanscript $var_path/clean.sh
set defaultarch  armhf
set postmirror_script $var_path/postmirror.sh
set run_postmirror 1
set nthreads     20
set _tilde 0
deb-armhf http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi
deb-armhf http://raspberrypi.collabora.com/ wheezy rpi
deb-armhf http://archive.raspberrypi.org/debian/ wheezy mai
clean http://mirrordirector.raspbian.org/raspbian/
clean http://raspberrypi.collabora.com/
clean http://archive.raspberrypi.org/debian/

 

III – Postmirror.sh et clean.sh

On va éditer le fichier postmirror.sh

# cd /stock/apt-mirror/rasp/var
# nano postmirror.sh

Et ajouter ceci :

/stock/apt-mirror/rasp/var/clean.sh

Puis :

# chmod u+x clean.sh
# chmod u+x postmirror.sh

 

IV – Création des liens symboliques

Il faut rendre ça accessible depuis apache afin que les clients puissent y accéder.

# ln -s /stock/apt-mirror/rasp/mirror/archive.raspberrypi.org/debian/ /var/www/archiverasp/
# ln -s /stock/apt-mirror/rasp/mirror/mirrordirector.raspbian.org/raspbian/ /var/www/raspian/
# ln -s /stock/apt-mirror/rasp/mirror/raspberrypi.collabora.com/ /var/www/collaboraspi

 

V- Spécificité lié à l’architecture

Par défaut, apt-mirror ne traite pas l’architecture armhf. Il suffit donc de rajouter quelques lignes dans /usr/bin/apt-mirror aux environs de la ligne  270.
Remplacez :

if($config_line =~ /deb-(alpha|amd64|armel|arm|hppa|hurd-i386|i386|ia64|lpia|m68k|mipsel|mips|powerpc|s390|sh|sparc)/) {

par

if($config_line =~ /deb-(alpha|amd64|armel|armhf|arm|hppa|hurd-i386|i386|ia64|lpia|m68k|mipsel|mips|powerpc|s390|sh|sparc)/) {

Il faut bien que armhf soit avant arm.
 

VI – Lancement d’apt-mirror

Rien de complexe :

# apt-mirror /etc/apt/mirror2.list

Et la, vous patientez tout comme pour Debian (bon, y’a moins de données, mais ça pèse quand même … )
La aussi,  il convient de faire un cron de tout ça par ex :

# crontab -e
* */2 * * *	/usr/bin/apt-mirror /etc/apt/mirror2.list

pour une mise à jour toute les deux heures.
 

VII – Configuration des clients

Dans le fichier /etc/apt/sources.list :

deb http://192.168.1.1/raspbian/ wheezy main contrib non-free rpi

Dans le fichier /etc/apt/sources.list.d/collabora.list :

deb http://192.168.1.1/collaboraspi wheezy rpi

Dans le fichier /etc/apt/sources.list.d/raspi.list

deb http://192.168.1.1/archiverasp/ wheezy main

 

VIII – Conclusion

Et voila, ce n’est pas plus compliqué que cela !
A vous les apt-get update et upgrade un poil moins lent sur votre Raspberry préféré !

11 réflexions sur « Rasbperry : Monter son propre miroir Raspbian »

  1. salutca me sool pas moyen d y arriver et ca fais des semaines que je test en boucle
    jessaie de cree un depo sur un disque dur symplement ( un depo rasbian sur un raspberry lol)
    tu pourrai m aider ?

  2. FYI, la version actuelle de apt-mirror (mon dernier apt-get update / install c’est du 29-03-2016) prend en charge l’architecture arm-hf, donc pas besoin de modifier le script de /usr/bin/apt-mirror

  3. Bonjour,
    Merci pour le tuto, cependant J’ai ça comme erreur: Processing indexes: [PPPsh: 1: cannot open archive.raspberrypi.org/debian///dists/wheezy/mai/binary-armhf/Packages.gz: No such file
    apt-mirror: can’t open index in process_index_gz at /usr/bin/apt-mirror line 688.
    ]
    De meme, dans le fichier apt–mirroir, il n’y a plus la ligne if($config_line =~ /deb-(alpha|amd64|armel|arm|hppa|hurd-i386|i386|ia64|lpia|m68k|mipsel|mips|powerpc|s390|sh|sparc)/) {

  4. merci 🙂
    je l’avais fait pour une debian en 2012. et à l’époque le dépot debian était de 50 go je crois.
    du coup, comme j’ai pas assez de place sur la clef de 64 go ou je voulais mettre le dépot, j’ai créer un raid 5 de 4 USB KEYx64go sur mon RPI3.

    ca sera suffisant

    EDIT :
    « 72.7 GiB will be downloaded into archive.
    Downloading 62051 archive files using 10 threads… »

    concernant la ligne à modifier, je ne l’ai pas trouvé mais cela ne semble pas poser de soucis.

    du coup ca va télécharger tout le week end pour construire le dépot.

    cordialement

    manon

Laisser un commentaire

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