Apparence
Uubu.fr

Les systèmes Linux, l’open source, les réseaux, l’interopérabilité, etc.
« Il vaut mieux viser la perfection et la manquer que viser l’imperfection et l’atteindre. » (Bertrand Arthur William RUSSEL)
06 avril 2014

package manager           gestionnaire de paquets


paco

paco

Gestionnaire de paquet lors de l'installation depuis le code source

   En installant un paquet, paco peut être utilisé en mode log (avec l'option -l) pour envelopper la commande d'installation (ex: "make install"), et logger les fichiers créés. par défaut, les log sont dans le répertoire /var/log/paco. Une fois un paquet installé et loggé, paco peut être utilisé en mode liste, qui est de défaut, pour afficher les informations du paquet. Il y'a également des options pour supprimer des paquet, requêter de propriétaire des fichiers, ou maintenir la base de paquets.

Options générales

-a, --all Applique l'action spécifiée à tous les paquets loggés. ne fonctionne pas avec l'option -r
-L, --logdir=DIR Répertoire pour les logs (défaut: /var/log/paco)
-v, --verbose mode verbeux, -vv affiche également des messages de débuggage

Options de maintenance de base

-u, --update Synchronise le log du paquet avec le status courant du système de fichier, calculant la taille des fichiers loggés et en vérifiant ceux qui sont manquants. détecte ceux qui sont compressés.
-U, --unlog Supprime le log du paquet de la base

Options générales de liste

-b, --block-size=SIZE Utilise des block de la taille spécifiée.
-k, --kilobytes idem à --block-size=1k ou --block-size=1024
--sort=WORD trie la liste par: name, size, date, files, missing-files ou missing-size
-r, --reverse inverse l'ordre de trie
-t, --total Affiche les totaux à la fin de la liste

Options générales de paquet

-1, --one-column Liste un paquet par ligne
-F Affiche le nombre de fichiers installés
-M Affiche la nombre de fichiers manquants
-C Affiche le nombre de fichier partagés (installés et manquants)
-d, --date Affiche la date d'installation (-dd affiche l'heure également)
-s, --size Affiche la taille de chaque paquet installé
-n, --missing-size Affiche la taille manquante de chaque paquet installé (taille originale - taille courante)

-Options de liste de fichiers

-f, --files Liste les fichiers actuellement installés
-m, --missing-files Liste les fichiers manquants (fichiers supprimés après l'installation)
-c, --shared Avec -f et/ou -m, liste seulement les fichier partagés (ceux également loggés par d'autres paquets)
-N, --non-shared Avec -f et/ou -m, liste seulement les fichier non-partagés (ceux non loggés par d'autres paquets)
-w, --who-shares Avec -c, affiche les noms des paquets qui partagent chaque fichier
-y, --symlinks Affiche le contenu des fichiers symboliques
-s, --size Affiche la taille de chaque fichier
-z, --no-package-name N'affiche pas le nom du paquet.

Options d'information

-i, --info Affiche des informations sur le paquet
-o, --configure-options Affiche les options de configure
-q, --query, --owner Requête les paquets qui possèdent un ou plusieurs fichiers

Options de log

-l, --log active le mode log. Si une commande shell est donnée en argument, l'exécute de la monitore, log les fichiers créés, sinon la liste des fichiers est lue depuis l'entrée standard.
-p, --package=PKG Spécifie le nom du paquet à logger, qui doit commencer par un caractère alpha-numéric.
-D, --dirname Utilise le nom du répertoire courant comme nom du paquet à logger
-E, --exclude=PATH1:PATH2:... Liste de chemins à ignorer durant le log. Défaut: /dev:/tmp:/usr/src:/media:/selinux:/sys:/usr/share/info/dir
-I, --include=PATH1:PATH2:... Liste de chemins à scanner durant le log. Défaut: /
--ignore-errors Ne quitte pas si la commande d'install échoue.
--log-missing Log également les fichiers manquants
-+, --append Avec -p ou -D, si le paquet est déjà loggé, ajoute la liste des fichiers à son log

Options de suppression

-r, --remove Supprime un paquet, laissant les fichiers partagés et demande confirmation. Les fichiers compressés ont également supprimés. -rr, le paquet est supprimé de la base.
-B, --batch Ne demande pas confirmation lors de la suppression
-e, --skip=PATH1:PATH2:... Ne supprime pas les fichiers dans ces chemins
--remove-shared Supprime également les fichiers partagés

Correspondance de chemins

   Les options -I, -E, et -e accèptent une liste de chemins, chacun peut contenir des caractères d'expansion (*,? et [..]]. Les fichiers sont matchés avec chacun de ces paths, suivant l'expansion standard de shell, mais avec l'exception suivante: Si un chemin ne contient wildcard, et est un repertoire, il matche tout fichier dans ce repertoire.

Exemples

logger l'installation du paquet foo-1.0, qui est installé avec make -C src install. Utiliser des guillemets pour empêcher l'interprétation de -C
paco -lp foo-1.0 "make -C src install"
Utilser les guillemets simples si la commande contient déjà des guillemets doubles
paco -lp foo-1.0 'echo "hello world" › /var/log/foo.log'
L'argument de fin d'option peut être utilisé dans le même but
paco -lp foo-1.0 -- make -C src install
Alternativement, on peut utiliser le répertoire courant comme nom de paquet
paco -lD "make install && make install.man"
Si on a oublié d'installer un fichier, il peut être ajouté
paco -lp+ foo-1.0 "install foo /bin/foo"
Noter que -+ ne permet pas de supprimer un fichier dans le log
paco -lp+ foo-1.0 "rm /bin/foo"
Ne supprime pas le fichier du log
Pour éviter ce problème il est parfois utile de joindre des commandes d'install composés en une seule commande. Par exemple, pour un paquet qui installe /bin/foo, mais on veut qu'il s'install dans /usr/bin/foo:
paco -lp foo-1.0 make install
paco -lp+ foo-1.0 "mv /bin/foo /usr/bin/foo"
Les 2 fichiers sont marqués dans les logs. /usr/bin/foo est marqué installé et /bin/foo est marqué manquant. les 2 commandes peuvent être spécifié sur une seule ligne, celà marque /foo/bar même s'il est manquant.
echo /foo/bar | paco --log-missing -lp foo
Pour supprimer toutes les versions du paquet foo, en laissant les fichiers dans /etc et /root:
paco -r --batch -e /etc:/root foo
Pour supprimer le paquet foo-3.3, en laissant les fichiers dans /var/log et les fichiers *.conf
paco -r -e '/var/log:*.conf' foo-3.3
On a installé le paquet bubble-1.9 en préfix /opt/bubble-1.9, mais on n'a pas loggé l'installation. Cela peut être fait avec
find /opt/bubble-1.9 | paco -lp bubble-1.9

fichiers

/etc/pacorc fichier de configuration de paco
/var/log/paco répertoire par défaut pour les logs