[pacman] Dépôt local

Mise à jour / Création /debug de paquetages
Répondre
Soulou
Hankyu
Messages : 30
Inscription : sam. 14 mars 2009, 16:53

[pacman] Dépôt local

Message par Soulou »

Bonsoir à tous.

Afin d'alimenter mes machines en mises à jour, je souhaite mettre en place un dépôt local, c'est un disque dur externe branché sur le réseau.

Existe-t-il un guide permettant de faire cela grâce à pacman (ou autre) ?

Car pour l'instant j'ai télécharger via wget les paquets de core et extra, et confectionné un petit script gérant la mise à jour des deux dépôts, mais lorsque je mets à jour mes dépôts, et qu'ensuite je lance un pacman -Suy sur une de mes machines, il ne repère pas que le dépôt a été mis à jour.

Une petite idée ? Merci bonne soirée !
Dernière modification par Soulou le jeu. 30 avr. 2009, 17:58, modifié 3 fois.
Avatar de l’utilisateur
wido
Chu Ko Nu
Messages : 497
Inscription : mar. 21 oct. 2008, 20:59

Re: Dépôt local

Message par wido »

Bonjour,
ajoute dans ton pacman.conf:

Code : Tout sélectionner

gksu gedit /etc/pacman.conf

Code : Tout sélectionner

[nomdudepot]
#64bits
Server = http://tonreseau/x86_64/
#32bits
Server = http://tonreseau/i686/
Image
Soulou
Hankyu
Messages : 30
Inscription : sam. 14 mars 2009, 16:53

Re: Dépôt local

Message par Soulou »

Merci,

Mais concernant la configuration du choix des serveur de pacman je suis bon.
Je ne les ai pas encore mis sur le réseau, mais pour la machine qui s'occupe de tester, j'ai :
file:///empl/ace/ment/

Ainsi lorsque je lance un pacman -Suy, ça marche parfaitement bien, il charge les dépôts, extra et core à 2OMo/s, normal plus ou moins pour un disque dur ^^. Si il y a des installations à faire, il les fait, mais en ce qui concerne la mise à jour du dépôt lui même, ce qui va dans /var/lib/pacman/sync, c'est bof . Il ne repère pas tout le temps qu'il y a de nouveaux paquets.
farvardin
Maître du Kyudo
Messages : 1084
Inscription : sam. 29 mars 2008, 22:56

Re: Dépôt local

Message par farvardin »

tu peux utiliser repo-add pour créer une base locale, et la mettre à disposition des autres machines.

(commande à lancer dans ton dossier dépot, de mémoire : repo-add nomdetondepot.tar.gz *pkg* )

(edit : c'est repo-add, pas repo_add)
Dernière modification par farvardin le jeu. 30 avr. 2009, 11:12, modifié 1 fois.
Avatar de l’utilisateur
wido
Chu Ko Nu
Messages : 497
Inscription : mar. 21 oct. 2008, 20:59

Re: Dépôt local

Message par wido »

Bonjour,
avec ce script tu le places directement sur le disque dur, ou tu as mis tes paquets, j'ai crée un dépot sur ma clé usb , tous les paquets sont dans la racine de la clé, je lance le script qui efface le $NOM_DEPOT.db.tar.gz présent sur la clé et en crée un nouveau, après si tu as ajouté ton disque dur comme dépot , il suffit d'actualiser pacman.
Il y a une interface graphique: zenity.

Code : Tout sélectionner

#!/bin/bash
# dependances : zenity

lancement()
{
echo "Lancement du script"

## Analyse 2 vérifications ##
NOM_SCRIPT="$(basename $0)"
CHEMIN_SCRIPT="$(dirname $0)"
NOM_DEPOT=DEPOT_EEEPC

cd $CHEMIN_SCRIPT
rm ./*.db.tar.gz
repo-add $CHEMIN_SCRIPT/$NOM_DEPOT.db.tar.gz $CHEMIN_SCRIPT/*.pkg.tar.gz
echo "Script fini"
}
(echo ""; lancement) | zenity --progress --title "Depot" --text="création du $NOM_DEPOT.db.tar.gz en cours" --pulsate

## Si on clic sur Annuler...
if [ $? -ne 0 ]
    then
        exit 0
    fi

zenity --question --title "Depot" --text "$@ \
création du $NOM_DEPOT.db.tar.gz terminé ."

## Si on clic sur Annuler...
if [ $? -ne 0 ]
    then
        exit 0
    fi
Image
Soulou
Hankyu
Messages : 30
Inscription : sam. 14 mars 2009, 16:53

Re: [pacman] Dépôt local

Message par Soulou »

Merci beaucoup, je ne m'attendais pas à un script tout fait, je voulais le confectionner, mais ça me va bien, c'est du travail en moins.
Je vais tout de suite tester ça ! Merci

Edit: Merci beaucoup, je ne connaissais pas repo-add, maintenant c'est ok, les bases de données se font comme il faut. Mais je viens de m'apercevoir que je n'en n'ai pas l'utilité, il faut juste que je dise de télécharger le core.db.tar.gz, qui lui ne change pas de nom, c'est pour ça qu'il ne se met pas à jour avec wget (qui se réfère aux nom de fichiers)

Maintenant je cherche à nettoyer le mirroir, par exemple lorsque j'ai :
- firefox-3.0.9-1.pkg.tar.gz
- firefox-3.0.10.pkg.tar.gz

Pouvoir enlever le plus vieux. Merci bien.
Avatar de l’utilisateur
mélodie
Maître du Kyudo
Messages : 2784
Inscription : lun. 30 oct. 2006, 02:06
Localisation : Pyrénées

Re: [pacman] Dépôt local

Message par mélodie »

Soulou a écrit : Maintenant je cherche à nettoyer le mirroir, par exemple lorsque j'ai :
- firefox-3.0.9-1.pkg.tar.gz
- firefox-3.0.10.pkg.tar.gz

Pouvoir enlever le plus vieux. Merci bien.
Bonjour,
man pacman a écrit : -c, --clean
Remove packages that are no longer installed from the cache as well
as currently unused sync databases to free up disk space. When
pacman downloads packages, it saves them in a cache directory. In
addition, databases are saved for every sync DB you download from,
and are not deleted even if they are removed from the configuration
file linkman:pacman.conf[5]. Use one --clean switch to only remove
packages that are no longer installed; use two to remove all
packages from the cache. In both cases, you will have a yes or no
option to remove packages and/or unused downloaded databases.

If you use a network shared cache,see the CleanMethod option in
linkman:pacman.conf[5].
Avatar de l’utilisateur
wido
Chu Ko Nu
Messages : 497
Inscription : mar. 21 oct. 2008, 20:59

Re: [pacman] Dépôt local

Message par wido »

En fait , mélodie avec la commande pacman -Sc,
il nettoye le cache des anciennes versions de paquet? c'est bon à savoir :D
Image
Soulou
Hankyu
Messages : 30
Inscription : sam. 14 mars 2009, 16:53

Re: [pacman] Dépôt local

Message par Soulou »

Merci,

je connais pacman -Sc pour nettoyer le cache de mes machines, mais concernant mon mirroir local, la question est là, un script télécharge les paquets individuellement de core et extra, mais les paquets s'accumule dans mon dépôt, je cherche donc à nettoyer celui-ci et non ma machine ^^

Bonne journée !
Avatar de l’utilisateur
wido
Chu Ko Nu
Messages : 497
Inscription : mar. 21 oct. 2008, 20:59

Re: [pacman] Dépôt local

Message par wido »

Je sais ce que tu recherches c'est pareil je cherche comme toi :D ,en faite,tu mets tous tes paquets dans le cache (/var/cache/pacman/pkg) tu efface le dépot , tu lance la commande pour qu'il supprime les version différentes et tu recopies la totalité des paquets dans ton dépot.
ou à l'ancienne à la main :?
Image
Soulou
Hankyu
Messages : 30
Inscription : sam. 14 mars 2009, 16:53

Re: [pacman] Dépôt local

Message par Soulou »

J'ai une solution sinon,

/etc/pacman.conf

Code : Tout sélectionner

#CacheDir    = /var/cache/pacman/pkg/
Il suffit de décommenter et de mettre l'emplacement du dépot, ce qui remplacera alors l'emplacement d'origine.

Merci beaucoup pour vos réponses ! Si tu as du nouveau je prends, car c'est bien beau de bidouiller, faire quelque chose de propre c'est plus sympa je trouve.

BOnne continuation

Edit : mais ce n'est pas une si bonne solution, puisque la commande efface tous les paquets qui ne sont pas installé sur la machine lançant la commande, or je souhaite effacé tous les paquets qui ne sont pas dans la database <_<
Répondre