Apportez votre aide…
Ceci est une ancienne révision du document !
DokuWiki
Dépôt local
Rédigé par niber, corrigé par yomega, complété par Laurent Bellegarde
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 dans au moins une machine correctement installée de façon traditionnelle via le net.
Installation en réseau local à partir d'une machine serveur locale
Etape 1 : Installer complètement une machine locale via Internet qui deviendra un serveur de dépôt
- Installez votre machine de façon traditionnelle via Internet haut-débit en utilisant un fichier sources.list classique et pensez à mettre tous les logiciels nécessaires.
Une fois terminé, jettez un oeil dans ce dossier pour vérifier que tous les paquets sont bien là sous forme de fichier.deb :
/var/cache/apt/archives/
Etape 2 : Préparer la machine locale bien installée à devenir serveur de dépôt
Dans mon exemple, je crée un dossier local qui contiendra les paquets .deb dans Apache2 et appelé ubuntu_local.
- Ouvrez un terminal (ou console) avec Applications/Accessoires/terminal et devenez root (=super-administrateur) avec la commande :
sudo su + votre mot de passe
- Copiez tout le dossier archives et les paquets deb qu'il contient dans la racine de votre serveur web Apache2 avec la commande :
cp -rf /var/cache/apt/archives /var/www/ubuntu_local
- Ensuite, allez dans ce dossier avec :
cd /var/www/ubuntu_local/
- et faites la liste de tous les paquets contenus dedans avec la commande :
dpkg-scanpackages ./ /dev/null | gzip -9c > Packages.gz
A 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/ubuntu_local/
suivie de :
chown -R www-data:www-data /var/www/ubuntu_local/
Etape 3 : Préparer la machine cliente locale en attente d'installation pour se connecter au serveur de dépôt local
ou comment installer un deb via synaptic
1. Créez les répertoires (p.ex vous voulez avoir les debs dans le répertoire monDepot) ~/monDepot/dists/breezy/
cd ~ mkdir -p monDepot/dists/breezy
2. Copiez votre deb dans ~/monDepot/
Il vaut mieux sauvegarder le deb souhaité tout de suite dans ce répertoire, lors du téléchargement.
3. Dans le répertoire monDepot, vous aurez besoin d'un fichier Packages.gz
Ce fichier sera créé automatiquement par un script que vous allez créer. Packages.gz doit en effet contenir les données sur les debs que vous venez de mettre dans le répertoire. Pour faciliter la mise en jour de Packages.gz, créez un script (à l'aide de gedit), par exemple miseAjour.sh :
cd monDepot gedit miseAjour.sh
Ecrivez-y ces deux lignes:
#!/bin/bash dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz
Quittez gedit (en sauvegardant). Il faut que le script soit executable, c'est-à-dire qu'il aie l'attribut x :
chmod +x miseAjour.sh
Chaque fois que vous allez cliquer sur ce script, le fichier de desriptions sera mis à jour.
4. Il nous faut encore quelques liens symboliques :
- dans dists/ il nous faut un lien nommé stable qui renvoi sur breezy
- breezy doit contenir:
- binary-386i –> breezy
- main –> breezy
- Packages.gz –> ~/monDepot/Packages.gz
Avec le Noyau 2.6.15.26 de Dapper il semble necessaire d'indiquer le chemin absolu du lien symbolique.
Tout cela, vous pouvez le faire en tapant:
cd ~/monDepot/dists ln -s breezy stable ln -s breezy breezy/binary-386i ln -s breezy breezy/main ln -s ~/monDepot/Packages.gz breezy/Packages.gz
5. Finalement, nous devons éclairer synaptic sur notre nouveau dépôt :
Dans le menu du synaptic vous saisissez "dépots - ajouter" et cliquez sur "personnaliser" et mettez:
deb file:/home/monNom/monDepot/ stable main
Dès que vous cliquez sur la relecture des dépôts (après le changement que vous venez de faire, synaptic le fait automatiquement) vous avez votre nouveau deb tout joli dans le syinaptic. Pour chaque nouveau deb que vous téléchargez dans monDepot, executez le script miseAjour.sh et faites relire ses dépôts à Synaptic (en cliquant sur le bouton avec les deux flèches) ou par
apt-get update
.
Autre méthode bien plus simple ici http://www.supinfo-projects.com/fr/2006/creer%5Fdepot%5Fdebian/1/ Cependant cette méthode requière un logiciel dédié.
Vous pouvez aussi utiliser le script suivant: script automatique pour depot local