salut,
je suis en train de jouer a scripter pacman et j'ai une question pour le moins vitale:
comment pacman sait ce qu'il y a d'installé sur le système ?
si j'ai bien compris il regarde simplement ce qu'il y a dans /var/lib/pacman/*
mais j'ai comme un gros doute et globalement je me sent pas joueur sur ce coup...
merci d'avance
[ PACMAN ] question fonctionnement
-
- Chu Ko Nu
- Messages : 405
- Inscription : lun. 18 sept. 2006, 16:21
- Localisation : france, yvelines 78
-
- Chu Ko Nu
- Messages : 405
- Inscription : lun. 18 sept. 2006, 16:21
- Localisation : france, yvelines 78
là je vient de faire un: pacman -S --clean --clean
il a vidé /var/cache/pacman/*
par contre après il m'a demandé si je voulais supprimer les dépots inutilisés de: /var/lib/pacman/
je pense que je n'en avait pas, mais ca confirme mon doute
si il vire testing parceque je l'ai commenté dans pacman.conf, il fait comment pour savoir ce que j'ai pu installer depuis testing et qui est peut-etre toujours sur le système?
il a vidé /var/cache/pacman/*
par contre après il m'a demandé si je voulais supprimer les dépots inutilisés de: /var/lib/pacman/
je pense que je n'en avait pas, mais ca confirme mon doute
si il vire testing parceque je l'ai commenté dans pacman.conf, il fait comment pour savoir ce que j'ai pu installer depuis testing et qui est peut-etre toujours sur le système?
- wain
- Maître du Kyudo
- Messages : 1854
- Inscription : ven. 11 août 2006, 19:15
- Localisation : Nancy (54)
Il sait pas, il pense que..._alexmyself a écrit :si il vire testing parceque je l'ai commenté dans pacman.conf, il fait comment pour savoir ce que j'ai pu installer depuis testing et qui est peut-etre toujours sur le système?
Une fois qu'un paquetage est installé (on le voit dans /var/lib/pacman/local/ pour répondre à ta question précédente), il n'est plus possible de savoir à coup sûr de quel dépôt il vient.
yaourt accède directement à la base de données /var/lib/pacman/. Tu trouveras plein d'exemples dans le code (en bash) à la rubrique "Package database".
exemple:
Pour savoir si un package est installé, j'ai créé cette fonction:
Code : Tout sélectionner
###################################
### Package database functions ###
###################################
isinstalled(){
if grep -qrl --include="desc" "^$1$" "$PACMANROOT/local"; then return 0; else return 1; fi
}
s/pacman/yaourt/g c'est ARCHi clair ! => http://archlinux.fr/