Dans Guix, les paquets logiciels, y compris Guix lui-même, sont mis à disposition à travers de ce que l'on appelle les canaux. Au fil du temps, l'offre de paquets dans ces canaux évolue. Les versions changent, de nouveaux paquets ou de nouvelles fonctionnalités Guix apparaissent, d'autres disparaissent. Par exemple, en 2021, il était possible de demander à Guix de créer un environnement logiciel avec le paquet Inkscape en version 0.92 en utilisant la commande =guix environment --pure --ad-hoc inkscape@0.92=. En 2024, le canal concerné ne propose plus la version 0.92 d'Inkscape et la commande =guix environment= a cédé sa place à la nouvelle commande =guix shell=.
Pour pouvoir réutiliser la ligne de commande et retrouver l'environnement logiciel d'origine, il nous faudrait retourner dans le passé. Impossible ? Pas pour Guix ! A l'occasion du prochain Café Guix, nous verrons comment utiliser sa machine à voyager dans le temps, la commande =guix time-machine=. Les canaux, qui sont en fait des dépôts git versionnés, permettent de garder la trace de leurs évolutions. A condition de disposer de la liste des canaux et de leurs numéros de révisions (commits) respectifs de l'époque, avec =guix time-machine=, il est alors possible de retourner exactement au bon moment en 2021. Bien qu'il soit possible d'approximer le bon repère temporel a posteriori, il est préférable d'en garder la trace depuis le début. Dans ce contexte, nous découvrirons également la commande =guix describe=.
---------------------------------
In Guix, software packages, including Guix itself, are made available through so-called channels. Over time, the supply of packages in these channels evolves. Versions change, new Guix packages or features appear, others disappear. For example, in 2021, it was possible to ask Guix to create a software environment with the Inkscape package version 0.92 using the command =guix environment --pure --ad-hoc inkscape@0.92=. In 2024, the concerned channel no longer offers Inkscape verion 0.92 and the =guix environment= command was superseded by the new command =guix shell=. To reuse the initial command line and restore the original software environment, we'd have to go back in time. Impossible? Not for Guix! At the next Café Guix, we'll be looking at how to use his time machine, the =guix time-machine= command. Channels, which are in fact versioned git repositories, make it possible to keep track of their changes. With =guix time-machine=, if you have a list of channels and their respective commit numbers at the time, you can go back to exactly the right moment in 2021. Although it's possible to approximate the correct time marker a posteriori, it's better to keep track of it from the beginning. In this context, we'll also discover the =guix describe= command.
gestionnaire d'environnement logiciel Guix. Étudiant-e-s, chercheuses
et chercheurs, admin. système, IT support de labos ou de centre de
calcul, tout le monde est le bienvenu dans ce rendez-vous mensuel d'une
heure où l'on discutera de questionnements apportés par chacun sur Guix
et sa pratique au sens large.
Mots clés : environnement guix logiciel reproeductbilite
Informations
- Céline Acary-Robert
- 4 juin 2024 13:43
- Autres
- Français
Commentaire(s)