# Manuel de Tazpkg

## NOM

Tazpkg - Tiny autonomous zone package manager

## SYNTAXE

     tazpkg [command] [package|dir|pattern|list|cat|--opt] [dir|--opt]
     tazpkg shell

## DESCRIPTION

Tazpkg est un gestionnaire de paquets ultra léger (~35 Ko) 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. Le format des paquets utilise l'extension *.tazpkg, c'est une archive cpio contenant un système de fichiers (fs) compressé avec gzip, 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 de pre et post installation. Cette même recette est par ailleurs utilisée par Cookutils pour compiler les sources et créer un paquet tazpkg.

Tazpkg est écrit en script shell depuis rien (from scratch), compatible Bash, et fonctionne avec Ash du projet Busybox. Tazpkg est distribué sous license libre GNU gpl v3.

## SHELL

Tazpkg fourni un mode SHell permettant de directement passer les commandes au gestionnaire de paquets. Ce mode est utile pour lancer quelques commandes comme la mise à jour du système, il support 'su' pour devenir admnistrateur mais ne propose pas le rappel des commandes. Pour utiliser Tazpkg en mode SHell :

     $ tazpkg shell

## COMMANDES

### list

Liste et compte les paquets installés sur le système. Cette commande permet d'afficher sur une colonne la liste tous les paquets installés, vous pouvez aussi utiliser la commande de recherche (search) pour avoir une liste en fonction d'un nom (exemple xorg). Cette commande vous permet aussi de lister les catégories, les paquets en fonction de leur catégorie et les paquets bloqués :

     # tazpkg list
     # tazpkg list cat|categories
     # tazpkg list blocked

### xhtml-list

La commande 'xhtml-list' permet de créer une liste au format xHTML des paquets installés sur le système, une fois générée, cette liste peut être lue avec votre navigateur Web préféré. Cette commande peut être lancée en tant que simple utilisateur et crée par défaut une liste nommée 'installed-packages.html' dans le répertoire courant. A noter que vous pouvez aussi changer le nom de la liste générée via la ligne de commande :

     # tazpkg xhtml-list
     # tazpkg xhtml-list list-name.html

### list-mirror

Liste et compte les paquets disponnibles sur le miroir. Cette commande va afficher le dernier fichier packages.list rechargé depuis le miroir, si la liste des paquets n'existe pas, il vous sera demandé de lancer la commande 'tazpkg recharge' en tant qu'administrateur (root) pour obtenir la liste des paquets disponibles. L'option --diff est utilisée pour afficher le fichier des différences entre la dernière et l'actuelle liste des paquets :

     # tazpkg list-mirror
     # tazpkg list-mirror --diff

### info

Donne les informations disponibles dans la recette du paquet en question, sa version, sa catégorie, le mainteneur, son site Web et ses éventuelles dépendances (voir aussi Cookutils pour plus d'informations sur les recettes) :

     # tazpkg info busybox

### desc

Description du paquet (si elle existe). Cette commande affiche le fichier description.txt propre à chaque paquet, la description est un simple fichier texte ne dépassant pas le 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

Liste et compte les fichiers installés avec un paquet. Cette commande va simplement lire et classer le fichier files.list propre à chaque paquet, ce fichier est généré automatiquement lors de la création, il est aussi utilisé pour supprimer tous les fichiers lors de la désinstallation d'un paquet. Pour lister les fichier installés avec le paquet bc :

     # tazpkg list-files bc

### search

Recherche de paquets par patron ou nom de paquet. La commande va chercher le terme voulu dans les paquets installés et dans les listes des paquets disponibles sur le miroir. Pour obtenir la plus récente liste des paquets installables depuis internet, il suffit de lancer 'tazpkg recharge' avant d'effectuer une recherche :

     # tazpkg search gcc
     # tazpkg search gcc [--installed|--list|--mirror]
     Ou :
     # tazpkg search gcc [-i|-l|-m]

### search-files

La commande 'search-file' permet de rechercher un fichier parmi tous les fichiers installés par tous les paquets. 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. Exemple :

     $ tazpkg search-file libnss

### install

Cette commande permet l'installation d'un paquet local avec l'extension .tazpkg. Voir la commande 'get-install' pour installer un paquet depuis internet. A noter que vous pouvez forcer l'installation via l'option --forced, désinstaller et réinstaller ou encore spécifier la racine du système dans lequel vous désirez installer le paquets via l'option --root= :

     # tazpkg install package-1.0.tazpkg
     Ou :
     # tazpkg install path/to/package-1.0.tazpkg --forced
     Ou :
     # tazpkg install path/to/package-1.0.tazpkg --root=/mnt/rootfs

### install-list

Installation d'un set de paquets listés dans un fichier. Cette commande permet d'installer plusieurs paquets en une seule commande et peut aussi être forcée :

     # tazpkg install-list my-packages.list
     # tazpkg install-list my-packages.list --forced

### link

Cette commande permet l'installation d'un paquet déjà installé sur un autre media. Cette installation s'effectue par des liens symboliques et consomme très peu de mémoire. Elle est utilisée généralement avec un système en RAM pour installer des compléments depuis une clé USB.

     # tazpkg link openoffice /media/usbdisk

### add-flavor

Installation d'un set de paquets listés dans une saveur. Cette commande permet d'installer tous les paquets d'une saveur en une seule commande sans avoir à générer un nouveau cdrom avec tazlito.

     # tazpkg add-flavor office.flavor

### install-flavor

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

### remove

Désinstallation d'un paquet, il vous sera demandé confirmation (y/N). Cette commande va supprimer tous les fichiers installés avec le paquet, pour afficher cette liste, vous pouvez utiliser la commande 'list-files' de Tazpkg suivie du nom du paquet en question. Exemple avec le paquet bc :

     # tazpkg remove bc

### extract

Extraire un paquet dans un répertoire donné. Si vous ne spécifiez pas le répertoire de destination, le paquet sera extrait dans le répertoire courant en utilisant le nom paquet-version :

     # tazpkg extract package.tazpkg
     # tazpkg extract package.tazpkg target/dir

### pack

La commande 'pack' permet de créer un paquet depuis un répertoire préparé à l'avance ou depuis un paquet désarchivé. Cette commande permet aussi de créer manuellement un paquet.tazpkg (voir la documentation et Cookutils pour la création automatique de paquets). Pour empaqueter un paquet :

     # tazpkg pack package-version

### repack

La commande 'repack' permet de recréer un paquet depuis les fichiers présents sur le système où il a été précédemment installé. Pour réempaqueter un paquet :

     # tazpkg repack package

### recharge

Recharge la liste des paquets disponibles sur le miroir (packages.list). Cette commande va télécharger la plus récente liste des paquets installables depuis le miroir, à noter qu'avant de commencer, Tazpkg va sauvegarder l'ancienne liste. Une fois la liste à jour, vous pouvez la consulter via la commande 'list' et effectuer un recherche de paquet via la commande 'search' de Tazpkg. Pour réafficher la liste des différences, vous pouvez utiliser la commande 'list-mirror --diff'. Et pour afficher et mettre à jour les paquets du système, vous pouvez utiliser 'upgrade'. Pour recharger la plus récente liste des paquets :

     # tazpkg recharge

### up ou upgrade

La commande 'upgrade' permet de mettre à jour tous les paquets installés et disponibles sur le miroir courant. La mise à jour des paquets est une importante partie du système, elle permet de garder un système sécurisé avec les dernières corrections et nouveautés. Le projet SliTaz, même mini, fournit régulièrement des mises à jours de sécurité et propose généralement les dernières versions des logiciels. A noter que cette fonction est destinée aux personnes ayant installé SliTaz sur disque dur, en mode LiveCD les paquets mis à jour seront perdus lors de l'arrêt du système. Pour garder un système un jour :

     # tazpkg up

Up permet aussi d'automatiquement recharger la list des paquets ou installer les mises à jours. Petit example et affichage de l'aide spécifique à cette commande:

     # tazpkg up --recharge
     # tazpkg --help-up

### set-release

La commande 'set-release' permet de changer la version de SliTaz et de mettre à jour tous les paquets. Attention cette commande peut être dangereuse dans la cas d'une mise à jour de la version stable version en cuisson (cooking) :

     # tazpkg set-release cooking

### check

La commande 'check' permet de vérifier les dépendances sur les paquets installés et de vérifier si tous les fichiers nécessaires à la reconstruction des paquets sont bien présents :

     # tazpkg check
     # tazpkg check --full

### block ou unblock

Les commandes 'block' et 'unblock' pemettent 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, elle peut aussi être éditée à la main. Pour bloquer ou débloquer un paquet tel que Grub :

     # tazpkg block grub
     Ou :
     # tazpkg unblock grub

### get

Télécharge un paquet depuis le miroir (si il existe). Le paquet téléchargé est stocké dans le répertoire courant, pour connaître le chemin vous pouvez utiliser la commande 'pwd'. Pour télécharger un paquet tel que 'grub', il suffit de lancer la commande :

     # tazpkg get grub

### get-install

Installer un paquet depuis un mirroir sur internet. La commande 'get-install' commence par vérifier si le paquet existe bien sur le miroir et si il n'a pas déjà été téléchargé, avant de commencer le rapatriement. Pour connaître la liste des paquets sur le miroir il faut utiliser la commande 'list-mirror' (voir aussi recharge). Pour installer un paquet tel que 'grub' :

     # tazpkg get-install grub

### clean-cache

Supprimer les paquets Tazpkg téléchargés dans le cache. Lors de l'installation de paquets via le Web, Tazpkg garde une copie du paquet, cela est fait pour gagner 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

### setup-mirror

Configurer l'URL du miroir, la commande 'setup-mirror' vous demandera alors l'URL du nouveau miroir. Vous pouvez spécifier plusieurs URLs en les séparant par des espaces. A noter que vous pouvez aussi modifier à la main le fichier /var/lib/tazpkg/mirror. L'URL doit pointer sur le répertoire contenant la liste (packages.list) et les paquets :

     # tazpkg setup-mirror

### setup-undigest ou add-undigest

Configurer l'URL d'un miroir complémentaire non officiel pour tester des paquets non encore présents sur les miroirs. A noter que vous pouvez aussi modifier à la main le fichier /var/lib/tazpkg/undigest/<undisgest-name>/mirror. L'URL doit pointer sur le répertoire contenant la liste (packages.list) et les paquets :

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

### remove-undigest

Supprime l'URL un miroir complémentaire non officiel.

     # tazpkg remove-undigest my-repository

### list-undigest

Affiche les miroirs complémentaires.

     # tazpkg list-undigest

### reconfigure

La commande 'reconfigure' permet de relancer les commande de post et pre-installation d'un paquet afin de le reconfigurer si besoin est :

     # tazpkg reconfigure package

### convert

La commande 'convert' permet de convertir un paquet Debian (.deb), Redhat (.rpm), Slackware (.tgz) ou Archlinux (.pkg.tar.gz) en paquet Slitaz (.tazpkg) :

     # tazpkg convert alien-package

### depend

Affiche l'arbre des dépendances d'un paquet, c'est à dire tous les paquets qui devront être installés en plus :

     # tazpkg depend package

### rdepend

Affiche l'arbre des dépendances inversé d'un paquet, c'est à dire tous les paquets qui en dépendent directement ou indirectement :

     # tazpkg rdepend package

### bugs

Affiche les bugs connus :

     # tazpkg bugs package

## MAINTENEUR

Christophe Lincoln <pankso at slitaz.org>