ubuntu-fr

Communauté francophone des utilisateurs d'Ubuntu

[[tutoriel:comment_installer_un_depot_local_temp]]

Piste: » comment_installer_un_depot_local_temp

Mettre en place un dépôt local

Intérêt d'un dépôt local de paquets deb

Il existe plusieurs situations dans lesquelles il est particulièrement intéressant de créer un dépôt local de logiciels sous forme binaire en .deb comme :

  • Une installation sur une machine dépourvue de connexion internet ;
  • Une installation sur une machine avec une connexion internet lente 56K par simple modem RTC ;
  • Une install-party où il y a beaucoup de machines à installer en même temps avec une connexion internet haut-débit pas suffisamment rapide.

Dans tous les cas, cette technique permet d'éviter de télécharger sur internet des paquets qui sont déjà présent localement soit sur une machine du réseau, un disque dur externe, unCD ou tout autre support.

Cette documentation sera valable avec Breezy, Dapper, Edgy Feisty ou Gutsy du moment que l'on reste cohérent. En effet il faut veiller à utiliser le dépôt local uniquement sur la version qui correspond.(un depot local rempli de paquets pour edgy ne devra pas être utilisé sur dapper..) Pour cela il suffit de remplacer dapper par breezy ou edgy ou feisty ou gutsy partout(dans les scripts on aura tendance à utiliser la commande "remplacer").

Ce que vous pourrez faire

Il y a deux possibilités :

  • effectuer une copie complète des dépôts "officiels" grâce a debmirror, ce qui demande un peu de temps de téléchargement et de la place ;
  • créer un dépôt avec uniquement les paquets les plus utiles,et éventuellement y ajouter des paquets non officiels (kiba-dock, bemused ...).

Dans chacun des cas il sera possible ensuite de :

  • mettre en place un server local qui servira de depot pour votre reseau domestique ;
  • de faire un CD/DVD de dépot(plusieurs si vous voulez l integralite des paquets disponibles) ;
  • de stocker vos paquets sur votre disque dur interne, externe ou clef usb.

Télécharger l'intégralité d'un ou plusieurs dépôts

L'utilitaire que nous allons utiliser est debmirror, il se trouve dans les dépôts. Installez le :

sudo apt-get install debmirror

Dans cet exemple, nous allons télécharger l'intégralité de trois dépôts : dapper, dapper-security et dapper update. Dans un soucis d'efficacité et de simplicité nous allons créer un script qui nous permetra de mettre a jour nos dépôts.

1ère étape

Nous devons créer l'arborescence de nos dépôts.

Par exemple :

mkdir -p /media/depot_local/dists/dapper/
mkdir -p /media/depot_local/dists/dapper-updates/
mkdir -p /media/depot_local/dists/dapper-security/

Si vous comptez faire un server local, il peut être judicieux de choisir /var/www/ à la place de /media/depot_local/.

2ème étape

Mise en place du script.

Sous Gnome :

gksudo gedit /usr/bin/mise_a_jour_depots.sh

Puis copiez-collez :

#!/bin/bash -x

#dapper
/usr/bin/debmirror --nosource -m -e rsync --passive --host=fr.archive.ubuntu.com \
        --root=ubuntu/ --method=http --progress --dist=dapper \
              --ignore-release-gpg --section=main,multiverse,universe,restricted \
              --arch=i386 /media/media_local/dists/Dapper/ubuntu/ 

#dapper-update
/usr/bin/debmirror --nosource -m --passive -e rsync --host=fr.archive.ubuntu.com \
              --root=ubuntu/ --method=http --progress --dist=dapper-updates \
        --ignore-release-gpg --section=main,restricted \
        --arch=i386 /media/media_local/dists/Dapper-updates/ubuntu/ 

#dapper-security
/usr/bin/debmirror --nosource -m --passive -e rsync --host=fr.archive.ubuntu.com \
             --root=ubuntu/ --method=http --progress --dist=dapper-security \
        --ignore-release-gpg --section=main,universe,restricted \
        --arch=i386 /media/media_local/dists/Dapper-security/ubuntu/ 

Ensuite, il suffit de rendre le script exécutable :

sudo chmod +x /usr/bin/mise_a_jour_depots.sh

On peut ensuite le lancer en tappant simplement :

mise_a_jour_depots.sh

3ème etape

Pendant ce temps là, mettez a jour votre sources.list (celà n'est pas nécessaire dans le cas d'une machine serveur).

Éditez le en root pour y rajouter les 3 lignes :

deb file:///media/depot_local/dists/dapper/ dapper main multiverse restricted universe
deb file:///media/depot_local/dists/dapper-security/ dapper-security main restricted universe
deb file:///media/depot_local/dists/dapper-updates/ dapper-updates main restricted

Et une fois que debmirror a fini son boulot (normalement, vous avez eu le temps de faire la vaisselle et même de passer l'aspirateur ... ~ plus de 6 heures).

Vous pouvez faire :

sudo apt-get update && sudo apt-get upgrade

Oui bien "Recharger" puis "Tout mettre à jour" dans synaptic/adept et autres.

Se faire son propre dépôt

Dans cette partie, nous allons voir comment créer un dépôt personnalisé.

Dans ce cas là, il faut repartir d'une installation de base, y faire les mises à jour et les ajouts de logiciels désirés et éventuellement de taper :

sudo apt-get -d install ubuntu-desktop xubuntu-desktop kubuntu-desktop

qui permet de télécharger tous les paquets nécessaires à Gnome, KDE, XFCE sans rien installer cependant.

Tous les paquets étant télécharger au fur et à mesure dans /var/cache/apt/archives, nous allons pouvoir les récupérer pour notre dépôt.

Commençons par créer l'arborescence de notre dépôt :

mkdir -p #oulonveut#/dists/unstable/main/binary-i386

Pour un server local, généralement, #oulonveut# = /var/www.

Pour une clef usb, #oulonveut# = /media/usdisk/.

Ensuite, nous allons y placer tous les paquets que nous voulons :

cd #oulonveut#/dists/unstable/main/binary-i386
sudo cp -v /var/cache/apt/archives/* .

permet de copier tout le cache. Et ensuite, vous pouvez rajouter vos propres paquets ou ceux trouvés ça et là (soyez tout de même prudent).

Génération du fichier de dépôt :

Cela nécessite l'installation du paquet dpkg-dev :

sudo apt-get install dpkg-dev
cd #oulonveut#/dists/unstable/main

dpkg-scanpackages binary-i386 /dev/null dists/unstable/main/ | gzip -f9 > binary-i386/Packages.gz

Il est bien de créer le fichier Release dans binary-i386, pour identifier votre dépôt. Inscrivez-y :

Archive : unstable
Version : 1
Component : main
Origin : xxxxxx
Label : xxxxxxxxx
Architecture : i386

Enregistrez le.

Ensuite, il ne vous reste plus qu'à mettre à jour votre sources.list. Pour un disque dur externe, rajoutez :

deb file:///oulonveut/dists/ unstable main

Pour un CD ou DVD, il suffit de tapper après l'introduction du cd :

sudo apt-cdrom add

pour éditer le sources.list comme il le faut (il est possible que cela ne fonctionne pas en fait car non testé).

Serveur local : IMPORTANT : Il faudra installer le serveur web Apache2 pour permettre une connexion locale en réseau intranet. À ce stade ci, vous devez avoir vos paquets dans /var/www/dists/unstable/main/binary-i386 ainsi que Packages.gz et Release générés dans ce même dossier si vous n'avez pas utilisez debmirror.

À ce stade, votre serveur est presque prêt, il faut juste configurer votre machine pour dire que n'importe qui pourra aller chercher ces paquets dans Apache2, pour cela, exécutez les 2 commandes suivantes :

chmod 755 -R /var/www/dists/

Suivi de :

chown -R www-data:www-data /var/www/dists/

Votre serveur local est prêt, pour le tester, lancez-votre navigateur web et saisissez cette adresse :

http://ip_serveur/dists

(ip_serveur serveur sera remplacée par l'adresse IP de votre machine dans le réseau local)

Si une grande liste s'affiche avec tous les logiciels et le fichier Packages.gz, c'est tout bon, sinon non, reprenez au dessus, vous avez oublié quelque chose ...

Les ordinateurs du réseau peuvent alors accéder au dépôt via le rajout dans /etc/sources.list de deb http://192.168.0.X/dists unstable main


tutoriel/comment_installer_un_depot_local_temp.txt · Dernière modification: Le 14/05/2008, à 11:56 par 41.251.89.147, 213.95.41.13
Le contenu de ce wiki est sous double licence : CC BY-SA et GNU FDL