Manuel de TazPkg

Nom

TazPkg — Gestionnaire de paquets de SliTaz.

Syntaxe
tazpkg [command] [paquet|rép|motif|liste|cat|--opt] [rép|--opt]
tazpkg shell
Description

TazPkg est un gestionnaire de paquets léger permettant d'installer, lister, télécharger, mettre à jour ou enlever des paquets précompilés sur un système GNU/Linux. TazPkg propose aussi une commande de recherche et une commande pour la création de paquets. Il a été créé pour les besoins de SliTaz GNU/Linux, mini distribution autonome. Les paquets, qui utilisent l'extension *.tazpkg, sont des archives cpio contenant un système de fichiers (fs) compressé avec lzma, la recette et une éventuelle description. TazPkg fournit aussi un système de gestion des dépendances basé sur les recettes des paquets. La recette contient toutes les informations au sujet du paquet, elle peut aussi contenir les fonctions pré et post installation. Cette même recette est par ailleurs utilisée par Cookutils pour compiler les sources et créer le paquet tazpkg.

TazPkg est écrit à partir de zéro (from scratch), en script shell, compatible Bash, et fonctionne avec Ash du projet Busybox. TazPkg est distribué sous licence libre GNU GPL v3.

Environnement

TazPkg utilise les variables d'environnement suivantes :

Fichiers
Fichiers de configuration
Base de données des paquets

L'emplacement par défaut de la base de données des paquets est /var/lib/tazpkg.

Tous les fichiers obsolètes seront supprimés quand aucun programme ne les utilisera plus.

En plus des fichiers communs ci-dessus, chaque paquet installé dispose d'un répertoire propre dont le chemin par défaut est /var/lib/tazpkg/installed/paquet. Chacun contient tout ou partie des fichiers suivants :

Cache

L'emplacement par défaut du cache de paquets est /var/cache/tazpkg avec des sous-répertoires pour les différents dépôts. Par exemple, c'est le répertoire /var/cache/tazpkg/cooking/packages qui contient les paquets de la version cooking.

Fichiers divers

Le journal d'activité de TazPkg est placé par défaut dans le fichier /var/log/slitaz/tazpkg.log. Il enregistre cinq types d'actions : installation, retrait, blocage, déblocage, reconfiguration des paquets.

Les informations partagées sur le type MIME des paquets SliTaz, des recettes et des fichiers de saveur sont dans le fichier /usr/share/mime/packages/tazpkg.xml.

Le plugin pour TazPanel (le panneau de configuration et d'administration de SliTaz), /var/www/tazpanel/pkgs.cgi, permet de gérer les paquets depuis l'interface web.

La documentation de TazPkg est dans le répertoire /usr/share/doc/tazpkg.

Commandes

Le premier paramètre de tazpkg est une commande, éventuellement suivie d'autres paramètres obligatoires ou optionnels (voir plus bas). Les options commencent par deux tirets ; elles peuvent être placées dans n'importe quel ordre et à n'importe quel endroit, même avant la commande. Les options inconnues ou inappropriées sont ignorées. Par exemple, les lignes suivantes sont équivalentes :

$ tazpkg info nano --root=/mnt/sda6
$ tazpkg --root=/mnt/sda6 info nano
$ tazpkg info --root=/mnt/sda6 nano --color

L'option générale --root=… peut être ajoutée à toute commande de TazPkg. Elle permet d'opérer sur d'autres installations de SliTaz : son argument indique le répertoire racine de cette autre installation. Cette option permet notamment d'installer SliTaz sur un autre système de fichier à partir de zéro, et de mettre à jour des paquets à distance.

Commandes de service
Listes d'information
Recherches
Installation et retrait de paquets
Manipulation de paquets
Manipulation de dépôts
Description détaillée des commandes
Commandes de service

usage

Affiche la liste complète des commandes de TazPkg avec une description succinte.

$ tazpkg usage
$ tazpkg

help, -h

Affiche l'aide de la commande indiquée. Vous pouvez donner son nom abrégé, avec ou sans tiret, ou son nom long, complet ou seulement une partie de celui-ci. Si cette partie peut correspondre à plusieurs commandes, il vous sera demandé de préciser.

$ tazpkg help -gi
$ tazpkg -h us

activity, -a, log

Affiche le journal d'activité de TazPkg. Le paramètre optionnel --nb= permet de choisir le nombre de lignes affichées.

$ tazpkg activity
$ tazpkg -a --nb=20

clean-cache, -cc

Supprimer les paquets TazPkg présents dans le cache. Lors de l'installation de paquets via le Web, TazPkg garde une copie du paquet afin d'économiser de la bande passante en cas de réinstallation. Mais il se peut que vous vouliez libérer de la place sur le disque dur, ou que vous désiriez retélécharger des paquets.

# tazpkg clean-cache
# tazpkg -cc

list-cache

List *.tazpkg packages downloaded to the cache. Displays a list of file names and their sizes, as well as the total amount and size.

# tazpkg list-cache

shell

TazPkg fournit un mode SHell permettant de passer successivement plusieurs commandes au gestionnaire de paquets. Ce mode supporte « su » pour devenir administrateur mais ne propose pas le rappel des commandes.

$ tazpkg shell
# tazpkg shell
Listes d'information

list, -l

Liste et compte les paquets installés sur le système. Cette commande affiche en colonne la liste de tous les paquets installés. Elle permet aussi de lister les catégories (option c, cat ou categories), les paquets d'une catégorie (en indiquant son nom anglais ou français), ou les paquets bloqués (option b ou blocked). Utilisez la commande search pour avoir une liste des paquets correspondant à un nom.

$ tazpkg list
$ tazpkg list cat
$ tazpkg list games
$ tazpkg list jeux
$ tazpkg list blocked

list-mirror, -lm

Liste et compte les paquets disponibles sur le miroir. Cette commande utilise le fichier packages.list téléchargé depuis le miroir. S'il n'existe pas, il vous sera demandé de lancer la commande tazpkg recharge en tant qu'administrateur (root) pour l'obtenir. L'option --diff permet d'afficher les différences entre la liste actuelle et la précédente.

$ tazpkg list-mirror
$ tazpkg -lm --diff

list-config

Liste les fichiers de configuration du système. L'option --box produit un tableau. Préciser le nom d'un paquet restreint la sortie aux fichiers de configuration de ce seul paquet.

$ tazpkg list-config
$ tazpkg list-config --box
$ tazpkg list-config slim
$ tazpkg list-config --box slim
Recherches

search-pkgname, -sp

Liste tous les paquets disponibles qui contiennent au moins un fichier dont le nom correspond à la chaîne recherchée.

$ tazpkg search-pkgname libnss
$ tazpkg -sp /usr/share/fonts

search-file, -sf

Recherche les paquets installés qui contiennent des fichiers dont le nom correspond à la chaîne recherchée, et affiche ces paquets et fichiers. Cette commande est très utile pour trouver le chemin complet vers un fichier et savoir si un fichier est bien présent sur le système. L'option --mirror permet de rechercher parmi tous les paquets disponibles.

$ tazpkg search-file libnss
$ tazpkg -sf /usr/share/fonts --mirror
Installation et retrait de paquets

get, -g

Télécharge dans le répertoire courant un ou plusieurs paquets depuis le miroir. Si le nom ne correspond pas à un paquet ordinaire, TazPkg cherche parmi les paquets installateurs (get-*), puis parmi les extras. L'option --extra indique de se limiter aux extras. Les noms des paquets peuvent être passés dans un fichier avec l'option --list (voir aussi get-list).

# tazpkg get grub
# tazpkg get nano --root=/mnt/sda6
# tazpkg get palemoon --extra
# tazpkg -g nano mc
# tazpkg -g --list=/tmp/office

install, -i

Cette commande permet l'installation d'un fichier *.tazpkg local. L'option --forced force la réinstallation d'un paquet déjà installé. L'option --newconf remplace les fichiers de configuration actuels du système par ceux contenus dans le paquet. L'option --nodeps empêche l'installation des dépendances du paquet.

Avec l'option --local, TazPkg recherche les dépendances en priorité parmi les fichiers locaux, plutôt que dans le cache ou sur le miroir. Cela permet d'installer un ensemble de paquets téléchargés préalablement sans recourir à une connexion réseau.

Il est possible de spécifier plusieurs noms de paquets, ou un fichier contenant une liste avec l'option  --list (voir aussi install-list).

# tazpkg install package-1.0.tazpkg
# tazpkg -i chemin/vers/paquet-1.0.tazpkg --forced
# tazpkg -i chemin/vers/paquet-1.0.tazpkg --root=/mnt/rootfs
# tazpkg -i nano-2.4.0.tazpkg mc-4.8.14.tazpkg
# tazpkg -i --list=/tmp/developpement
# cd /home/boot/packages; tazpkg -i nano-2.4.0.tazpkg --local

get-install, -gi

Installe un paquet depuis un miroir sur internet. La commande vérifie auparavant si le paquet existe sur le miroir et s'il n'a pas déjà été téléchargé.

L'option --forced force la réinstallation d'un paquet déjà installé. L'option --newconf remplace les fichiers de configuration actuels du système par ceux contenus dans le paquet. L'option --nodeps empêche l'installation des dépendances du paquet.

Il est possible de spécifier plusieurs noms de paquets, ou un fichier contenant une liste avec l'option  --list (voir aussi get-install-list).

Pour connaître la liste des paquets sur le miroir, utiliser la commande list-mirror.

# tazpkg get-install grub
# tazpkg -gi grub --forced
# tazpkg -gi nano --root=/mnt/sda6
# tazpkg -gi nano mc
# tazpkg -gi --list=/tmp/multimedia

get-list, install-list, get-install-list

Téléchargement ou installation d'un ensemble de paquets listés dans un fichier. Cette commande permet d'opérer sur plusieurs paquets en une seule commande. Toutes les options des commandes simples correspondantes, get, install et get-install, sont applicables.

# tazpkg install-list mes-paquets.liste
# tazpkg get-install-list mes-paquets.liste --forced

remove, -r

Désinstalle un paquet, non sans avoir demandé confirmation (o/N). TazPkg propose aussi de supprimer les paquets qui en dépendent, et de réinstaller les paquets qu'il a modifiés. L'option --auto exécute toutes ces opérations sans demander confirmation. Cette commande supprime tous les fichiers installés par le paquet (voir list-files).

# tazpkg remove bc
# tazpkg -r gtk+-3 --root=/mnt/sda6
# tazpkg -r nano --auto

reconfigure

Relance les commandes post-installation d'un paquet afin de le reconfigurer.

# tazpkg reconfigure gcc
# tazpkg reconfigure gcc --root=/mnt/sda6

set-release

Change la version de SliTaz et met à jour tous les paquets en conséquence. Attention cette commande peut être dangereuse dans le cas d'une mise à jour de la version stable vers la version en cuisson (cooking).

# tazpkg set-release cooking

add-flavor, install-flavor

Installe l'ensemble des paquets d'une saveur. La commande install-flavor permet en plus de supprimer les autres paquets installés.

# tazpkg add-flavor gtkonly
# tazpkg install-flavor justx

Remplacement de tous les paquets par ceux listés dans une saveur. Cette commande permet de transformer la distribution courante en une seule commande sans avoir à générer un nouveau cdrom avec tazlito.

# tazpkg install-flavor office.flavor
 
Manipulation de paquets

info

Donne les informations disponibles concernant un paquet installé ou présent sur le miroir. Il est aussi possible d'indiquer le chemin d'un fichier *.tazpkg. Les informations sont tirées de la base de données de TazPkg et de la recette du paquet, laquelle contient ses version, catégorie, mainteneur, site Web et éventuelles dépendances (voir aussi Cookutils pour plus d'informations sur les recettes).

$ tazpkg info busybox
$ tazpkg info minitube
$ tazpkg info paquets/comix-4.0.4.tazpkg

desc, -d

Description du paquet (si elle existe). Cette commande affiche le fichier description.txt propre à chaque paquet, un simple fichier texte dont les lignes ne dépassent pas 80 caractères (pour un affichage standard dans un terminal). Si la description du paquet n'existe pas, vous pouvez la créer et l'envoyer au mainteneur du paquet (quelques lignes suffisent).

$ tazpkg desc busybox

list-files, -lf

Liste et compte les fichiers installés avec un paquet. Cette commande se contente de lire et classer le fichier files.list propre à chaque paquet ; ce fichier, qui est généré automatiquement lors de la création, est aussi utilisé pour supprimer les fichiers lors de la désinstallation du paquet.

$ tazpkg list-files bc

block, -b ; unblock, -u ; chblock

La commande block permet de bloquer la version du paquet installé pour qu'il ne soit pas mis à jour par la commande upgrade. La liste des paquets bloqués est contenue dans le fichier /var/lib/tazpkg/blocked-packages.list, qui peut aussi être édité à la main. La commande unblock libère le paquet pour la mise à jour. La commande chblock le passe de l'état bloqué à l'état libre et inversement.

# tazpkg block grub
# tazpkg unblock grub
# tazpkg chblock grub

check

Vérifie les dépendances de paquets installés et si tous les fichiers nécessaires à la reconstruction des paquets sont bien présents. En l'absence d'argument tous les paquets sont vérifiés. L'option --full ajoute quelques tests, ce qui requiert plus de temps.

$ tazpkg check
$ tazpkg check --full
$ tazpkg check nano
$ tazpkg check sakura --full

bugs

Affiche les bogues connus de tous les paquets ou de ceux indiqués.

$ tazpkg bugs
$ tazpkg bugs nano

depends, rdepends

Affichent un arbre de dépendances d'un paquet.

La commande depends liste les paquets dont dépend ce paquet, ceux nécessaires à son fonctionnement. L'option --mark ajoute un signe + devant les paquets déjà installés et un - devant les autres. L'option --total calcule le nombre de paquets affichés et leur taille. Les deux options ensemble affichent le nombre et la taille des paquets nécessaires à installer.

La commande rdepends liste les paquets qui dépendent de ce paquet, ceux au fonctionnement desquels il est nécessaire. Avec l'option --all tous les paquets disponibles concernés sont affichés, sans, seuls les paquets installés. L'option --mark fonctionne comme avec la commande depends.

# tazpkg depends mpd
# tazpkg rdepends mpd

extract, -e

Extrait un paquet dans un sous-répertoire nommé paquet-version. Si vous ne spécifiez pas de répertoire de destination, ce sous-répertoire est créé dans le répertoire courant.

$ tazpkg extract paquet.tazpkg
$ tazpkg extract paquet.tazpkg repertoire/cible

pack

Crée un paquet à partir d'un répertoire préparé à l'avance ou obtenu par l'extraction d'un paquet. Cette commande permet aussi de créer manuellement un paquet *.tazpkg (voir la documentation des Cookutils pour la création automatique de paquets).

# tazpkg pack paquet-version

repack

Recrée un paquet à partir des fichiers présents sur le système où il a été précédemment installé.

$ tazpkg repack paquet

repack-config

Recrée un paquet à partir des fichiers de configuration du système (voir list-config). Il suffit d'installer ce paquet pour retrouver la configuration actuelle.

# tazpkg repack-config

recompress

Recompresse avec lzma l'archive d'un fichier *.tazpkg.

$ tazpkg recompress paquet.tazpkg

convert, -c

Convertit un paquet tiers en paquet SliTaz (*.tazpkg).

Formats de paquet supportés :

# tazpkg convert fichier-paquet-tiers

list-suggested

Liste les paquets suggérés par chacun des paquets installés. Avec l'option --all tous sont montrés, sinon seuls ceux qui ne sont pas installés.

$ tazpkg list-suggested
$ tazpkg list-suggested --all
Manipulation de dépôts

recharge

Recharge la liste des paquets disponibles sur le miroir. Cette commande télécharge la plus récente base de données des paquets du miroir, après avoir sauvegardé l'ancienne. Une fois la base à jour, vous pouvez la consulter avec la commande list et utiliser la commande search. Pour réafficher la liste des différences, utiliser la commande list-mirror --diff. Pour mettre à jour les paquets du système, utiliser upgrade.

Sans option, la commande recharge la base de tous les dépôts. Un dépôt particulier peut être indiqué : « main » pour le dépôt principal, ou le nom d'un dépôt indigeste.

# tazpkg recharge
# tazpkg recharge main
# tazpkg recharge Mon_indigeste
# tazpkg recharge --root=/mnt/sda6

up, upgrade

Met à jour tous les paquets installés et disponibles sur le miroir courant. La mise à jour des paquets est importante pour garder un système sécurisé, grâce aux dernières corrections et nouveautés. Le projet SliTaz, bien que mini, fournit régulièrement des mises à jours de sécurité et propose généralement les dernières versions des logiciels. Notez que cette fonction est destinée aux personnes ayant installé SliTaz sur disque dur ; en mode Live CD les mises à jour seront perdues lors de l'arrêt du système.

TazPkg commence par mettre à jour la base de données des paquets (recharge) pour savoir lesquels sont concernés.

En l'absence d'option il demande confirmation avant l'installation effective des mises à jour. Avec l'option -c ou --check, seule la base de données est mise à jour. Avec -i ou --install toutes les mises à jour sont automatiquement installées.

# tazpkg upgrade
# tazpkg up --check
# tazpkg up -i

setup-mirror, -sm

Configure l'URL du miroir ; TazPkg vous demande l'URL du nouveau miroir. Vous pouvez spécifier plusieurs URL en les séparant par des espaces. Notez que vous pouvez aussi modifier directement le fichier /var/lib/tazpkg/mirror. L'URL doit pointer sur le répertoire contenant la liste (packages.info) et les paquets.

# tazpkg setup-mirror

add-undigest, setup-undigest

Configure l'URL d'un miroir indigeste, c'est-à-dire complémentaire et non officiel, pour tester des paquets non encore présents sur les miroirs officiels. Notez que vous pouvez aussi modifier à la main le fichier /var/lib/tazpkg/undigest/nom-indigeste/mirror. L'URL doit pointer sur le répertoire contenant la liste (packages.info) et les paquets.

# tazpkg add-undigest public-repository http://my.home.org/slitaz
# tazpkg setup-undigest local-repository /home/slitaz/packages

list-undigest

Affiche les miroirs indigestes (complémentaires et non officiels). L'option --box produit un tableau.

# tazpkg list-undigest
# tazpkg list-undigest --box

remove-undigest

Supprime un miroir indigeste (complémentaire non officiel). Une confirmation est demandée.

# tazpkg remove-undigest mon-dèpôt 

mkdb

Crée une base de données des paquets *.tazpkg contenus dans un répertoire donné.

Les fichiers suivants seront créés : packages.info, packages.equiv, descriptions.txt, files.list.lzma, IDs. La commande est sans effet si une base est déjà présente, à moins d'ajouter l'option --forced.

# tazpkg mkdb /home/boot/paquets
# tazpkg mkdb /home/boot/paquets --forced
Mainteneur

Christophe Lincoln <pankso at slitaz.org>

Traduction mise à jour le 24 octobre 2015, d'après la version anglaise du 21 octobre 2015.