Quitter le forum et retourner au site

Miroir, joli miroir...

Vous avez un didactiel ou une astuce particulière concernant un logiciel, partagez votre expérience dans cette partie.
Avatar de l’utilisateur
le Manchot Masqué
Administrateur du site
Messages : 719
Inscription : lun. 26 mai 2008, 21:05
Distribution : Debian, Ubuntu
Niveau : Moitié plein !
Localisation : Guebwiller

Miroir, joli miroir...

Message par le Manchot Masqué »

A. Réalisation d'un mirroir de plusieurs distributions sur disque amovible (présenté ici pour Ubuntu, mais principe similaire pour Debian).
Utilité : install party de l'association, mais aussi déploiement massif (et rapide) en écoles, entreprises, etc.

1 / installer le paquet apt-mirror sur la machine locale.
2 / connecter le disque dur amovible
3 / créer le répertoire qui servira de racine pour le stockage des différentes distributions (soit ici /media/MIRROR/ubuntu_mirror/)
4 / aller dans ce répertoire... ;)
5 / créer le script principal upd.sh :

Code : Tout sélectionner

#!/bin/bash

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

cd /media/MIRROR/ubuntu_mirror
#apt-mirror hardy.mirror
#apt-mirror lucid.mirror
#apt-mirror maveric.mirror
#apt-mirror natty.mirror
apt-mirror oneiric.mirror
La stratégie ici retenue est de créer un script secondaire puis un répertoire dédié par distribution.
Ce n'est pas la manière la plus "simple" de faire, mais elle présente l'avantage de pouvoir nettoyer rapidement et efficacement les distributions devenues obsolètes.
Pour simplifier le tutorial, j'ai ici laissé actif la 11.10 (oneiric) et commenté les autres distributions avec un #.
6 / rendre le script "udp.sh" exécutable via la commande

Code : Tout sélectionner

chmod u+x upd.sh
7 / Pour chaque distribution retenue, recopier (sous root) le répertoire complet /var/spool/apt-mirror en lui donnant le nom abrégé de la distribution, soit ici oneiric. Si tout s'est bien passé, le répertoire /media/MIRROR/ubuntu_mirror/oneiric doit maintenant contenir les trois sous-répertoires mirror, skel et var.
8 / Pour chaque distribution, créer le fichier avec l'extension .mirror (script secondaire). Exemple pour oneiric.mirror :

Code : Tout sélectionner

############# config ##################
#
# set base_path    /var/spool/apt-mirror
set base_path    /media/MIRROR/ubuntu_mirror/oneiric
#
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  <running host architecture>
set defaultarch i386
# set postmirror_script $var_path/postmirror.sh
# set run_postmirror 0
set nthreads     20
set _tilde 0
#
############# end config ##############
deb http://be.archive.ubuntu.com/ubuntu oneiric main restricted universe multiverse
deb http://be.archive.ubuntu.com/ubuntu oneiric-updates main restricted universe multiverse
deb http://be.archive.ubuntu.com/ubuntu oneiric-security main restricted universe multiverse
deb http://be.archive.ubuntu.com/ubuntu oneiric-backports main restricted universe multiverse

deb-amd64 http://be.archive.ubuntu.com/ubuntu oneiric main restricted universe multiverse
deb-amd64 http://be.archive.ubuntu.com/ubuntu oneiric-updates main restricted universe multiverse
deb-amd64 http://be.archive.ubuntu.com/ubuntu oneiric-security main restricted universe multiverse
deb-amd64 http://be.archive.ubuntu.com/ubuntu oneiric-backports main restricted universe multiverse
Quelques remarques :
- la variable base_path en début de script doit pointer vers le répertoire dédié à la distribution.
- la syntaxe globale du script est basée sur le fichier /etc/apt/mirror.list, normalement installé avec le package apt-mirror.
- le miroir est ici réalisé en 32 et 64 bits (début des lignes avec respectivement deb ou deb-amd64).
- les miroirs belges sont malheureusement plus "stables" que bon nombre de miroirs français (je sais, c'est honteux...;)).
8 / Exécuter le script upd.sh.
9 / Vider 1, 2, 3, .... thermos de café (au moins)...

B. Utilisation du miroir pour mettre à jour un seul poste en local
1 / connecter le disque (ben oui...)
2 / créer le script /etc/apt/sources.list.d/oneiric.local.list avec le contenu suivant :

Code : Tout sélectionner

deb file:/media/MIRROR/ubuntu_mirror/oneiric/mirror/be.archive.ubuntu.com/ubuntu/ oneiric main restricted multiverse universe
deb file:/media/MIRROR/ubuntu_mirror/oneiric/mirror/be.archive.ubuntu.com/ubuntu/ oneiric-updates main restricted multiverse universe
deb file:/media/MIRROR/ubuntu_mirror/oneiric/mirror/be.archive.ubuntu.com/ubuntu/ oneiric-security main restricted multiverse universe
deb file:/media/MIRROR/ubuntu_mirror/oneiric/mirror/be.archive.ubuntu.com/ubuntu/ oneiric-backports main restricted universe multiverse
3 / lancez les commandes

Code : Tout sélectionner

apt-get update
apt-get dist-upgrade
Si tout se passe bien, en quelques minutes seulement, votre distribution sera à jour ! Vous remarquerez que sous GNU/Linux, un seul redémarrage final est nécessaire (à comparer aux os concurrents) et encore : tous les programmes installés sont également mis à jour, pas juste le noyau !

C. Utilisation du miroir via internet pour plusieurs machines.
1 / connecter le disque sur la machine serveur
2 / si l'install est permanente (écoles, entreprises, ...) on configurera un serveur Apache avec un hôte virtuel classique.
3 / si l'occasion est plus ponctuelle (install party), on peut se positionner dans le répertoire de la distribution et lancer un serveur HTTP "light", via

Code : Tout sélectionner

cd /media/MIRROR/ubuntu_mirror/oneiric/mirror/be.archive.ubuntu.com/
python -m SimpleHTTPServer 8192 &
avec le numéro de port de votre choix (>1024 svp).
4 / Sur les postes clients, créer le script /etc/apt/sources.list.d/oneiric.distant.list avec le contenu suivant :

Code : Tout sélectionner

deb http://IP_SERVEUR:8192/ubuntu/ oneiric main restricted multiverse universe
deb http://IP_SERVEUR:8192/ubuntu/ oneiric-updates main restricted multiverse universe
deb http://IP_SERVEUR:8192/ubuntu/ oneiric-security main restricted multiverse universe
deb http://IP_SERVEUR:8192/ubuntu/ oneiric-backports main restricted universe multiverse
5 / lancez les commandes

Code : Tout sélectionner

apt-get update
apt-get dist-upgrade
Répondre