Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| tutoriel:creer_un_miroir_de_depot_local [Le 25/11/2011, 08:40] – lien YoBoY | tutoriel:creer_un_miroir_de_depot_local [Le 07/06/2015, 12:50] (Version actuelle) – suppression voir https://doc.ubuntu-fr.org/tutoriel/creer_un_miroir_de_depot L'Africain | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | {{tag> | ||
| - | ---- | ||
| - | |||
| - | ====== Administration Système : Comment créer un miroir de dépôt local ? ====== | ||
| - | |||
| - | |||
| - | La création d'un miroir pour les paquets va vous permettre de créer et de maintenir la copie conforme de dépôts (officiels ou non) en local. La raison principale est de ne plus avoir besoin de connexion vers le net pour pouvoir installer un paquet ou bien faire des mises à jour. C'est donc une solution pratique et efficace pour une //install party//, la mise à jour d'un parc de machine (dans ce cas le miroir peut être couplé avec un serveur, un proxy, etc.) ou, pour en finir, la mise à jour ou l' | ||
| - | |||
| - | Ce n'est donc pas une procédure à prendre à la légère, car vous allez aspirer complètement le contenu d'un ou plusieurs dépôts et les stocker dans un répertoire. Ce répertoire peut être sur un disque dur interne ou externe et il vous faudra une connexion internet conséquente. Pour l' | ||
| - | |||
| - | {{icons: | ||
| - | > Si votre but n'est que de partager des paquets que vous avez déjà téléchargés, | ||
| - | |||
| - | |||
| - | |||
| - | ===== Installation de « apt-mirror » ====== | ||
| - | |||
| - | C'est très simple : il suffit d' | ||
| - | |||
| - | ===== Préparation de votre sauvegarde ===== | ||
| - | |||
| - | Dans mon exemple, je vais configurer un disque dur externe. Mais un autre emplacement est possible tant que vous en connaissez le chemin complet. Cela peut donc être un simple répertoire dans votre compte utilisateur. | ||
| - | |||
| - | Le cas du disque externe est celui que j' | ||
| - | |||
| - | Mon disque dur est automatiquement monté sous « / | ||
| - | |||
| - | mkdir / | ||
| - | |||
| - | Dans celui-ci, nous avons besoin de créer 3 sous-répertoires afin que // | ||
| - | |||
| - | mkdir / | ||
| - | mkdir / | ||
| - | mkdir / | ||
| - | |||
| - | Ces répertoires peuvent être tout aussi bien créés en utilisant [[: | ||
| - | |||
| - | Pour les puristes : | ||
| - | mkdir -p / | ||
| - | |||
| - | |||
| - | |||
| - | ===== Configuration de « apt-mirror » ===== | ||
| - | |||
| - | Par défaut, // | ||
| - | |||
| - | Soit vous modifiez ce fichier, ce qui me semble être la bonne solution dans le cas d'un serveur, soit vous en créez un nouveau que vous sauvegarderez dans votre miroir. | ||
| - | |||
| - | Je vais donc prendre cette dernière solution. Il vous faudra néanmoins dans ce cas spécifier à apt-mirror d' | ||
| - | |||
| - | apt-mirror / | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | ==== Création du fichier de configuration ==== | ||
| - | |||
| - | Tout d' | ||
| - | cp / | ||
| - | |||
| - | [[: | ||
| - | < | ||
| - | set base_path / | ||
| - | set mirror_path | ||
| - | set skel_path | ||
| - | set var_path | ||
| - | set cleanscript $var_path/ | ||
| - | set defaultarch i386 | ||
| - | set nthreads | ||
| - | set tilde 0 | ||
| - | |||
| - | deb http:// | ||
| - | deb http:// | ||
| - | deb http:// | ||
| - | deb http:// | ||
| - | deb http:// | ||
| - | |||
| - | clean http:// | ||
| - | </ | ||
| - | |||
| - | Les lignes dont vous devez vous soucier sont : | ||
| - | |||
| - | < | ||
| - | |||
| - | Elle est à adapter à votre cas. | ||
| - | |||
| - | < | ||
| - | |||
| - | Cette ligne précise que je ne désire récupérer que les paquets pour l' | ||
| - | |||
| - | Si vous voulez avoir plusieurs architectures dans votre miroir il suffit de le préciser dans les dépots comme ceci | ||
| - | |||
| - | < | ||
| - | ############# | ||
| - | # | ||
| - | set base_path / | ||
| - | # | ||
| - | # if you change the base path you must create the directories below with write privileges | ||
| - | # | ||
| - | set mirror_path | ||
| - | set skel_path | ||
| - | set var_path | ||
| - | set cleanscript $var_path/ | ||
| - | ## set defaultarch xxxx (votre architecture i386/ | ||
| - | set defaultarch i386 | ||
| - | set nthreads | ||
| - | set tilde 0 | ||
| - | # | ||
| - | ############# | ||
| - | deb http:// | ||
| - | deb http:// | ||
| - | deb http:// | ||
| - | deb http:// | ||
| - | deb http:// | ||
| - | deb http:// | ||
| - | deb http:// | ||
| - | deb http:// | ||
| - | deb-amd64 http:// | ||
| - | deb-amd64 http:// | ||
| - | deb-amd64 http:// | ||
| - | deb-amd64 http:// | ||
| - | deb-amd64 http:// | ||
| - | deb-amd64 http:// | ||
| - | deb-amd64 http:// | ||
| - | deb-amd64 http:// | ||
| - | |||
| - | ############# | ||
| - | |||
| - | clean http:// | ||
| - | etc... | ||
| - | </ | ||
| - | |||
| - | Explication : deb seul revient a dire deb-i386, car c'est l' | ||
| - | |||
| - | Viennent ensuite 4 lignes qui précisent quels sont les dépôts dont je souhaite faire une copie. Ces 4 lignes sont ceux par défaut pour l' | ||
| - | |||
| - | Les lignes qui suivent la section " | ||
| - | |||
| - | Sauvegardez votre fichier. Dans mon cas il se nomme « apt-mirror-configuration » et il est sauvé dans « / | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | ===== Récupération des paquets ===== | ||
| - | |||
| - | Lancez la création de votre miroir par : | ||
| - | |||
| - | apt-mirror / | ||
| - | |||
| - | Note : je rappelle que si vous ne passez pas de fichier de configuration à la commande // | ||
| - | |||
| - | * Dans un premier temps // | ||
| - | * Dans un second temps // | ||
| - | * Vous pouvez aller boire plusieurs cafés, même manger, fumer (beaucoup) et dormir… à moins de disposer d'une connexion de folie. ;-) | ||
| - | < | ||
| - | A titre indicatif, le contenu du miroir d' | ||
| - | |||
| - | Si vous voulez surfer sur le net en même temps vous devriez installer [[: | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | Si vous passez par un proxy et que vous obtenez le message : | ||
| - | |||
| - | Proceed indexes: [Psh: cannot open archive.ubuntu.com/ | ||
| - | apt-mirror: can't open index in proceed_index_gz at / | ||
| - | |||
| - | |||
| - | Veuillez vérifier les lignes suivantes dans le fichier **wgetrc** | ||
| - | |||
| - | vi /etc/wgetrc | ||
| - | |||
| - | http_proxy = http:// | ||
| - | use_proxy = on | ||
| - | |||
| - | |||
| - | ===== Utilisation de votre miroir ===== | ||
| - | |||
| - | ==== Directement ==== | ||
| - | |||
| - | Nous avons donc un disque dur externe contenant un miroir de nos dépôts préférés. | ||
| - | |||
| - | Il faut modifier temporairement le fichier de configuration des sources du système (« / | ||
| - | |||
| - | Pour ce faire nous allons ouvrir un terminal et : | ||
| - | |||
| - | * Faire une sauvegarde de ce fichier :< | ||
| - | * [[: | ||
| - | * Supprimez-en tout le contenu. | ||
| - | * Ajoutez :< | ||
| - | deb file:/ | ||
| - | deb file:/ | ||
| - | deb file:/ | ||
| - | deb file:/ | ||
| - | </ | ||
| - | * Sauvegardez votre fichier. | ||
| - | * Mettez à jour votre système de gestion de paquet :< | ||
| - | * Désormais votre système utilise uniquement votre miroir. Vous pouvez donc faire vos manipulations, | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | ==== À distance, en passant par un serveur ==== | ||
| - | |||
| - | === Côté serveur === | ||
| - | |||
| - | Un petit serveur HTTP nous suffit pour ce que nous avons à faire, inutile d' | ||
| - | |||
| - | Ouvrez une console, placez-vous dans le dossier qui sera la racine de votre serveur : | ||
| - | cd / | ||
| - | puis entrez la commande magique : | ||
| - | python -m SimpleHTTPServer 80 & | ||
| - | |||
| - | Le numéro en fin de commande (ici 80) est le port sur lequel tournera notre mini-serveur HTTP. Ce port doit être modifié (par exemple remplacé par 1234) si un autre serveur HTTP tourne sur la machine. | ||
| - | |||
| - | On peut tester son bon fonctionnement en se rendant sur [[http:// | ||
| - | |||
| - | On y découvre un nouveau répertoire « ubuntu ». | ||
| - | |||
| - | === Côté client === | ||
| - | |||
| - | On sauvegarde le fichier de configuration : | ||
| - | |||
| - | sudo cp / | ||
| - | |||
| - | On va éditer le fichier « / | ||
| - | |||
| - | sudo gedit / | ||
| - | |||
| - | Là où vous avez une ligne du style | ||
| - | < | ||
| - | deb http:// | ||
| - | </ | ||
| - | vous allez devoir remplacer l' | ||
| - | < | ||
| - | deb http:// | ||
| - | </ | ||
| - | On fait cette manipulation pour chaque entrée ou ligne et on sauvegarde. | ||
| - | <note tip> | ||
| - | |||
| - | On fait prendre en compte le nouveau fichier de configuration par un : | ||
| - | |||
| - | sudo apt-get update | ||
| - | |||
| - | et vous voilà prêt à utiliser votre miroir et serveur local. | ||
| - | |||
| - | |||
| - | ===== Enlever votre miroir du système ===== | ||
| - | |||
| - | Avant de partir il vous faut restaurer la configuration initiale du système de paquet. Nous allons donc remettre en état le système. | ||
| - | |||
| - | * Sauvegarde de votre fichier modifié :< | ||
| - | * Remise en place du fichier original :< | ||
| - | sudo rm / | ||
| - | sudo cp / | ||
| - | </ | ||
| - | * Prise en compte de celui-ci par le système :< | ||
| - | |||
| - | ===== Mise à jour de votre miroir ===== | ||
| - | |||
| - | ==== Manuellement ==== | ||
| - | |||
| - | Il suffit pour cela de relancer // | ||
| - | |||
| - | apt-mirror / | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | ==== Automatiquement ==== | ||
| - | |||
| - | Tout est prêt. Il suffit juste de décommenter une ligne dans le fichier « / | ||
| - | |||
| - | sudo gedit / | ||
| - | |||
| - | On enlève le « # » de la ligne : | ||
| - | < | ||
| - | #0 4 * * * apt-mirror / | ||
| - | </ | ||
| - | |||
| - | On ajoute le fichier de configuration si celui-ci n'est pas celui par défaut et on en profite pour modifier l' | ||
| - | < | ||
| - | 0 13 * * * apt-mirror / | ||
| - | </ | ||
| - | On sauvegarde et c'est tout. Tous les jours, à 13 heures, le miroir se mettra à jour. :-) | ||
| - | |||
| - | Dans cet exemple, comme / | ||
| - | |||
| - | sudo chown -R apt-mirror / | ||
| - | |||
| - | [[: | ||
| - | |||
| - | ==== Problèmes ==== | ||
| - | |||
| - | * apt-mirror is already running, exiting at / | ||
| - | |||
| - | La solution est de supprimer le fichier '' | ||
| - | < | ||
| - | rm -f / | ||
| - | </ | ||
| - | |||
| - | ===== Cas d'une Install Party ===== | ||
| - | Dans le cas d'une Install Party, pensez a ajouter aussi les dépôts nécessaires pour une [[: | ||
| - | |||
| - | deb http:// | ||
| - | deb http:// | ||
| - | deb http:// | ||
| - | deb http:// | ||
| - | # deb http:// | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | ===== Mise à niveau à partir du dépot local (dist upgrade) ===== | ||
| - | Avec une connexion permanente à internet, le logiciel de mise à jour (update-manager) propose la mise à disposition de la nouvelle version d' | ||
| - | |||
| - | === Comment cela fonctionne-t-il? | ||
| - | |||
| - | Update manager consulte les fichiers **meta-release** et **meta-release-lts** situé à l' | ||
| - | |||
| - | Ces fichiers indiquent pour chaque version de ubuntu le nom, la version et ou sont situé les éléments de cette version. On remarque que le logiciel de mise à jour utilise les données situé dans [[http:// | ||
| - | |||
| - | Si une nouvelle version de ubuntu est ajoutée ce fichier sera mis à jour. | ||
| - | |||
| - | Le logiciel de mise à jour contient dans son code cette adresse par défaut [[http:// | ||
| - | |||
| - | |||
| - | Dans le cas du dépot local ont peut faire la même chose voir ci-dessous. | ||
| - | |||
| - | === Pré-requis === | ||
| - | Le miroir a déjà été mis à jour comme ci-dessus! | ||
| - | |||
| - | Créer un répertoire temporaire : | ||
| - | |||
| - | mkdir mon_tmp | ||
| - | cd mon_tmp | ||
| - | |||
| - | Télécharger les fichiers meta-release et meta-release-lts dans un répertoire temporaire. | ||
| - | |||
| - | wget http:// | ||
| - | wget http:// | ||
| - | |||
| - | Mettre à jour les fichiers meta-release* : | ||
| - | En éditant les fichiers meta-release et meta-release-lts afin de modifier l' | ||
| - | |||
| - | Télécharger le répertoire indiqué par la ligne ReleaseNotes de la version correspondante du fichier meta-release : | ||
| - | |||
| - | ... | ||
| - | Dist: hardy | ||
| - | Name: Hardy Heron | ||
| - | Version: 8.04 LTS | ||
| - | Date: Thu, 24 Apr 2008 12:00:00 UTC | ||
| - | Supported: 1 | ||
| - | Description: | ||
| - | Release-File: | ||
| - | ReleaseNotes: | ||
| - | UpgradeTool: | ||
| - | UpgradeToolSignature: | ||
| - | ... | ||
| - | |||
| - | Pour la hardy ReleaseNotes: | ||
| - | |||
| - | wget -r http:// | ||
| - | |||
| - | Maintenant vous devez avoir : | ||
| - | |||
| - | | ||
| - | | ||
| - | |||
| - | === Mise à jour du dépot === | ||
| - | A partir du répertoire mon_tmp : | ||
| - | |||
| - | Créer le répertoire | ||
| - | |||
| - | mkdir -p / | ||
| - | |||
| - | Copier dans le dépot le répertoire dist-upgrader-all en remplacant << Votre-Distrib >> par la version ubuntu cible ici karmic | ||
| - | |||
| - | cp -r 0.87.30 | ||
| - | |||
| - | Créer dans le dépot un nouveau répertoire changelogs visible par le client : | ||
| - | |||
| - | mkdir / | ||
| - | |||
| - | Copier les fichiers meta-release* | ||
| - | |||
| - | cp -r meta-release* / | ||
| - | |||
| - | Voilà c'est terminé pour le dépot | ||
| - | |||
| - | < | ||
| - | |||
| - | === Configuration du logiciel de mise à jour (update-manager) === | ||
| - | Il faut maintenant indiquer au logiciel de mise à jour ou récupérer les informations de mise à jour. | ||
| - | |||
| - | [[: | ||
| - | |||
| - | |||
| - | # deafault location for the meta-release file | ||
| - | [METARELEASE] | ||
| - | URI = http:// | ||
| - | URI_LTS = http:// | ||
| - | URI_UNSTABLE_POSTFIX = -development | ||
| - | URI_PROPOSED_POSTFIX = -proposed | ||
| - | |||
| - | Les lignes à modifier sont : | ||
| - | |||
| - | URI = http:// | ||
| - | URI_LTS = http:// | ||
| - | |||
| - | Dans le cas de l' | ||
| - | |||
| - | URI = http:// | ||
| - | URI_LTS = http:// | ||
| - | |||
| - | Et voilà votre dépot est prêt il ne reste plus qu'a mettre à jour le fichier << meta-release >> sur tout les postes client afin qu'il profite des mise à niveau au travers du logiciel de mise à niveau | ||
| - | |||
| - | ---- | ||
| - | |||
| - | ===== Notes ===== | ||
| - | {{icons: | ||
| - | > Apt-mirror génère des fichiers de log. Ils se trouvent dans **/var** à la racine du dossier de votre dépot. (dans le chemin que vous avez paramétré dans votre mirror.list : **set base_path / | ||
| - | |||
| - | Nota : Il existe d' | ||
| - | [[https:// | ||
| - | |||
| - | ===== Contributeurs ===== | ||
| - | : [[: | ||
