====== Pacman-G2 ======

|{{  http://aviaweb.free.fr/ftp/images/3819.png|}} Frugalware vient avec le gestionnaire de paquets pacman-g2. Pacman-g2 est une version complétement réécrite de la version cvs pas-encore-sortie de pacman-g1 d'Aurelien Foret (l'ancien pacman-g1 fut écris par Judd Vinet). Si vous voulez manipuler les paquets, vous devez toujours utiliser la commande pacman-g2. Ici vous trouverez quelques commandes de base avec pacman-g2:| 



===== Les commandes principales de Pacman-g2 =====

**Note**: Ces commandes sont à connaître

== Rafraichîr la base de données des paquets ==


  #  pacman-g2 -Sy

Met à jour la base de données des paquets. Avant de rechercher un paquet ou d'en installer depuis un serveur FTP, vous devriez utiliser cette commande.

== Mise à jour du système ==


  #  pacman-g2 -Su

Met à jour tous les paquets actuellement installés sur le système dont une version plus récente existe sur les serveurs FTP. (NDT: on peut combiner les commandes précédentes; pacman -Syu va mettre à jour la base de donnée, comparer avec les paquets installés localement et installer dans la foulée toutes les mises à jours disponibles)

== Installer un paquet ==

  #  pacman-g2 -S nomdupaquet

== Désinstaller un paquet ==


  #  pacman-g2 -Rc nomdupaquet

== Rechercher un paquet ==

  #  pacman-g2 -Ss nomdupaquet

**Note**: la recherche se fait également dans les descriptions de paquet

== Installer un paquet depuis un fichier .fpm ==

  #  pacman-g2 -A nomdupaquet.fpm

== Nettoyer le cache ==

  #  pacman-g2 -Sc

== Connaître les paquets orphelins ==

  #  pacman-g2 -Qe


===== Quelques autres commandes =====


  #  pacman-g2 -Sup

Affiche l'url de tous les paquets que pacman doit télécharger. De cette façon vous pourrez télécharger les paquets de n'importe où et les copier dans /var/cache/pacman/pkg. C'est très pratique si vous avez une bande passante limitée sur votre ordinateur mais que vous pouvez télécharger sans contraintes d'ailleurs (bibliothèque, cybercafé, lieu de travail/études).

  #  pacman-g2 -S sendmail

Installe sendmail avec toutes ses dépendances depuis le serveur FTP. S'il entre en conflit avec n'importe quel autre paquet, pacman vous demandera s'il faut le(s) retirer.

  #  pacman-g2 -Ss perl

Cherche dans la base de donnée un paquet correspondant (sur le serveur FTP). Cet exemple va probablement afficher le paquet perl et ceux des modules perl.

Évidement, vous pouvez traiter les paquets comme des fichiers normaux, et les ajouter/supprimer/.. indivuellement et manuellement. Quelques exemples:

  #  pacman-g2 -U zsh-4.2.1-1.fpm

Ajoute (ou met à jour s'il est déjà installé) le paquet zsh, depuis le fichier zsh-4.2.1-1.fpm qui se trouve dans le répertoire courant

  #  pacman-g2 -R qt

Supprime le paquet Qt.

  #  pacman-g2 -Qs perl

Recherche dans la liste des paquets installés ceux qui contiennent la chaîne perl.

Généralement, si vous souhaitez désactiver la vérification de conflit de fichiers, vous pouvez utiliser le paramètre -f, et si vous souhaitez désactiver les vérifications de dépendances vous devriez utiliser le switch -d.

  #  pacman-g2 -h

Affichera les options évoquées précédemment, et bien plus encore. Encore une fois, ce ne sont que les bases.

==== Manuel ====

tapez:

  man pacman-g2



===== Référence croisée Apt - pacman-g2 =====

Pour ceux qui ont utilisés Apt sur d'autres distributions (Ubuntu, Debian...), voici les équivalences des commandes avec celles de pacman-g2.

^ Action  	                                            ^ Commande APT  	      ^ Commande Pacman ^  
| Rafraichir la base de donnée des paquets: 	            | apt-get update 	      | pacman-g2 -Sy | 
| Mettre à jour les paquets vers la nouvelle version:    	    | apt-get upgrade 	      | pacman-g2 -Su| 
| Installer un nouveau paquet: 	                            | apt-get install foo       | pacman-g2 -S foo| 
| Retirer un paquet: 	                                    | apt-get remove foo 	      | pacman-g2 -Rc foo| 
| Chercher dans la liste des paquets: 	                    | apt-cache search foo      | pacman-g2 -Ss foo| 
| Installer un paquet depuis un fichier: 	                    | dpkg -i foo.deb 	      | pacman-g2 -A foo.fpm| 
| Nettoyer le cache des paquets: 	                            | apt-get clean 	      | pacman-g2 -Sc| 


===== Optimiser pacman-g2 =====

pacman-g2-optimize est un petit "hack" qui a pour but d'améliorer les performances de pacman-g2 lors de la lecture/écriture de sa base données sur le système.

Parceque pacman-g2 utilise des petits fichiers pour garder une traces des paquets, il arrive que ces fichiers se fragmentent avec le temps. Le script va relocaliser ces petits fichiers dans un même lieu sur votre disque dur. Ceci en résultera que disque dur les lira plus rapidement.


  #  pacman-g2-optimize

===== Problèmes avec pacman-g2 =====


Si le gestionnaire de paquet venait à se planter, nous aurions alors besoin d'une trace de la pile d'exécution fournis par gdb. Voici les instructions afin d'obtenir la pile d'exécution:

  *Cherchez la ligne de commande qui déclenche le plantage. Par exemple: pacman-g2 -Sy
  *Télécharger le dépôt darcs de pacman-g2 et compiler le en activant les options de débogage:

  darcs get --partial
  http://darcs.frugalware.org/repos/pacman-g2
  cd pacman-g2
  sh autogen.sh
  ./configure --enable-debug
  make

  *Puis lancez pacman-g2 dans gdb et obtenez la trace:

  cd src/pacman-g2
  sudo libtool gdb ./pacman-g2
  run -Sy

    *Quand pacman-g2 se plante, taper bt pour obtenir la pile. Voici un exemple:

  Program received signal SIGSEGV, Segmentation fault.
  0x0805035e in pacman_sync (targets=0x0) at sync.c:354
  354             *p = 1;
  (gdb) bt
  #0  0x0805035e in pacman_sync (targets=0x0) at sync.c:354
  #1  0x08054594 in main (argc=2, argv=0xbfee1844) at pacman.c:609
  (gdb)

  *Joindre l'affichage produit par bt à votre rapport d'erreur.


===== Boostez pacman avec wget =====

D'abord installez wget:

  #  pacman -S wget

Puis éditez pacman.conf:

  #  nano /etc/pacman.conf

Décommentez (enlever le symbole #) la ligne: **#XferCommand = /usr/bin/wget ....**

Sauvegarder le fichier et quitter nano.

Source: http://wiki.archlinux.org/index.php/Boost_Pacman