Gestion des paquets
Les paquets sont des fichiers suffixés en .spack
: ce sont des archives cpio
à double coque, compressés avec xz
. Ils sont l'œuvre du créateur de spack
; merci à lui. Voir http://requiescant.tuxfamily.org.
Ancienne arborescence des dépôts (0Linux I, II et zeta)
Cette section présente l'ancienne structure des dépôts de 0linux I, II et zeta, aujourd'hui obsolète. Passez au paragraphe suivant pour la nouvelle structure (à partir de 0linux eta)
Les paquets de 0linux sont découpés en catégories, ou « dépôts ». La distribution installe d'office les dépôts suivants :
base/
contenant les outils critiques et le systèmeopt/
contenant toutes les bibliothèques et outils qui complètent le systèmexorg/
contenant l'ensemble du serveur graphique X, ses outils et bibliothèques
Le reste est rangé dans apps/
, qui contient tous les paquets non indispensables au bon fonctionnement du système que l'utilisateur peut installer à loisir et selon ses choix.
Chaque dépôt dans apps/
contient un ou plusieurs paquets. Par exemple, le dépôt du lecteur multimédia audacious
contient le lecteur audacious
, ses greffons audacious-plugins
et les bibliothèques libmcs
et libmowgli
, afin de satisfaire toutes les dépendances. Chaque dépôt est donc à installer dans son intégralité (0g @audacious
sert à cela, vous pouvez également installer les paquets individuellement avec spackadd
ou 0g paquetvoulu
) :
audacious/ ├── audacious-3.0.4-x86_64-1.spack ├── audacious-plugins-3.0-x86_64-1.spack ├── libmcs-0.7.2-x86_64-1.spack └── libmowgli-0.9.95-x86_64-1.spack
Arborescence des dépôts à partir de 0Linux eta
Les paquets de 0linux ne sont plus découpés en dépôts et la distribution n'installe plus d'office des dépôts entiers.
Le dépôt de paquets contient tous les paquets du système, dont certains sont rangés en sous-répertoires par praticité. Une base de données paquets.db
permet de localiser chaque paquet ainsi que ses dépendances.
a/
: Applications exécutables en console n'entrant dans aucune autre catégorie.b/
: Bibliothèques non rattachées à un environnement particulier.d/
: Développement. Compilateurs, débogueurs, interpréteurs, etc.e/
: Environnements. KDE, Xfce, GNOME, Enlightenment et autres environnements.g/
: applications Graphiques nécessitant X, non rattachées à un environnement.r/
: Réseau. Clients, serveurs gérant ou utilisant le réseau en console.x/
: X.org, l'implémentation libre et distribution officielle de X11z/
: Zérolinux : paquets-abonnements, facilitant l'installation d'ensembles.
Un type spécial de paquets, les paquets-abonnements, sont rangés dans z/
et permettent d'installer des ensemble de paquets triés par thématiques (tout KDE, studio multimédia, etc.). Ils contiennent tous le suffixe « -abonnement » dans leur nom. Ce sont des paquets quasi-vides contenant des dépendances arbitraires pour permettre d'installer des ensembles logiciels cohérents automatiquement.
Manipuler les paquets de 0Linux I, II et zeta
Cette section présente l'ancienne méthode de gestion des paquets sous 0linux I, II et zeta, aujourd'hui obsolète. Passez au paragraphe suivant pour la méthode actuelle (à partir de 0linux eta).
On désigne un paquet par son nom. On désigne un dépôt de paquets par son nom précédé d'un arobase « @ ».
Télécharger et installer le contenu d'un dépôt de paquets distant, ici Xfce, lequel contient quelques dizaines de paquets :
0g @xfce
Télécharger et mettre à jour tous ses paquets et ses dépôts installés :
0g
Cette commande va également installer les nouveaux paquets ajoutés à la distribution et supprimer les paquets obsolètes.
Manipuler les paquets de 0Linux eta et plus
On désigne un paquet par son nom.
Il faut distinguer 2 méthodes d'installation :
- celle avec spackadd et spackrm, qui agissent sur des fichiers
.spack
définis - celle avec 0g, qui est un outil d'installation et de mise à jour distante automatisée (et qui utilise
spackadd
etspackrm
dans son fonctionnement interne).
Télécharger et installer un paquet-abonnement (ensemble de paquets regroupés, formant une offre cohérente), ici Xfce, désigné par son paquet-abonnement xfce-abonnement
, lequel contient quelques dizaines de paquets ainsi que leurs dépendances :
0g xfce-abonnement
Pour se désabonner, il suffit de désinstaller le paquet-abonnement concerné (voir plus bas).
Télécharger et mettre à jour tous ses paquets installés :
0g
Voir tous les paquets disponibles sur le dépôt :
0g -i
Voir la description d'un paquet en particulier, ici firefox
:
0g -i firefox
Installer ou mettre à niveau un paquet individuel, au choix :
Télécharger et installer le paquet firefox
:
0g firefox
Installer le paquet Firefox
, présent sur le système local :
spackadd /quelque/part/g/firefox-30.0-x86_64.spack
Installer un ensemble de paquets grâce aux paquets-abonnements (dans z/
), au choix :
Télécharger et installer l'ensemble des paquets appartenant à l'abonnement à Xfce :
0g xfce-abonnement
Installer l'ensemble des paquets appartenant à l'abonnement à Xfce. Cette commande n'installera que l'abonnement. Vous devrez passer ensuite par 0g
pour aller chercher toutes les dépendances comprises dans l'abonnement :
spackadd /quelque/part/z/xfce-abonnement-1-x86_64-1.spack 0g
Le paquet crée 2 journaux après l'installation :
- une liste des fichiers installés sous
/var/log/paquets/paquet-version-archi-révision
- une liste des commandes exécutées post-installation sous
/var/log/scripts/paquet-version-archi-révision
Désinstaller un paquet individuel, au choix :
spackrm xfce4-session # Déduit automatiquement le paquet concerné en cherchant dans '/var/log/paquets/*' spackrm /var/log/paquets/xfce4-session-4.10-x86_64-32 # On peut désigner l'emplacement du fichier
Se désabonner d'un ensemble de paquets, ici xfce-abonnement
:
spackrm xfce-abonnement
Comme Slackware, des journaux sont conservés pour garder une trace de chaque mise à jour, désinstallation ou mise à niveau. Les journaux se trouvent ici :
/var/log/removed-packages/
/var/log/removed-scripts/
Réinstaller un paquet individuel déjà installé en forçant l'installation :
spackadd -f /quelque/part/xfce4-session-4.10.0-x86_64.spack
Installer un paquet dans un emplacement spécifique :
spackadd --root=/une/autre/racine /quelque/part/xfce4-session-4.10.0-x86_64.spack
Voir l'arborescence des fichiers que contient un paquet individuel :
less xfce4-session-4.10.0-x86_64.spack
Voir la description d'un paquet individuel :
spackadd --about xfce4-session-4.10.0-x86_64.spack
Extraire le contenu d'un paquet quelque part sans l'installer (pas de post-installation) :
spackedit paquet-version-archi-révision.spack /quelque/part/paquet
Lister les paquets installés ou leur contenu (voir l'aide pour les options disponibles) :
spacklist 0outils
Structure interne des paquets
Les paquets sont en fait organisés en 4 fichiers :
pre-install.sh post-install.sh files.xz about.txt
Les paquets sont créés à partir des spécifications Spack, à savoir :
- les fichiers sont compressés via
xz
dans une s