GNU Guix version Un‐Point‐Zéro
-
Nous sommes très heureux d’annoncer la publication de GNU Guix version 1.0.0 !
GNU Guix est un gestionnaire de paquets transactionnel et une distribution GNU perfectionnée qui respecte la liberté des utilisateurs. Guix peut être utilisé avec n’importe quelle distribution utilisant le noyau Linux, tout comme il peut être utilisé comme système d’exploitation à part entière pour des machines ayant une architecture i686, x86-64, ARMv7 ou AArch64.
En plus des fonctionnalités habituelles pour gérer des paquets, Guix permet des mises à jours et retours en arrière transactionnels, une gestion des paquets qui ne nécessite pas de droits privilégiés, des profils pour chaque utilisateur et une gestion automatique de la mémoire.
Lorsque Guix est utilisé comme une distribution GNU/Linux autonome, il permet la gestion de la configuration du système d’exploitation par une approche déclarative et sans état. Guix est extrêmement personnalisable et bidouillable via Guile qui est une implémentation du langage Scheme avec quelques extensions.
La publication fournit des images d’installation ISO 9660, une image pour machine virtuelle et des archives tar.xz pour installer le gestionnaire de paquets sur votre distribution GNU/Linux à partir des sources ou des binaires. Les utilisateurs de Guix peuvent mettre à jour en lançant
guix pull
.La suite de la dépêche est une traduction de l’annonce officielle. Cette traduction n’a pas été faite par l’équipe de Guix, le « nous » utilisé dans la dépêche renvoie à l’équipe Guix, pas aux traducteurs.
- lien n°1 : GNU Guix 1.0.0 released
- lien n°2 : Manuel de référence abrégé
- lien n°3 : Manuel de référence de GNU Guix
- lien n°4 : Guix (page officielle)
Sommaire
- Guix 1.0 une aventure !
- Ce que GNU Guix peut faire pour vous
- Les nouveautés depuis la version 0.16.0
- Les prochaines étapes
Guix 1.0 une aventure !
Un‐point‐zéro est toujours une étape importante dans la publication de logiciels libres. Pour Guix, 1.0 est le fruit de sept ans de développement. Deux cent soixante personnes ont produit du code, construit des paquets ou rédigé la documentation. Une douzaine de personnes a réalisé la traduction, l’identité graphique ou encore le développement du site Web… pour ne citer que quelques‐uns des travaux effectués. Au cours de ces années, nous avons publié pas moins de dix‐neuf versions « 0.x ».
Nous avons pris notre temps pour en arriver là, ce qui est assez inhabituel à une époque ou les logiciels libres évoluent rapidement. Pourquoi avons nous mis autant de temps ? Premièrement, construire une communauté autour d’une distribution GNU/Linux prend du temps et une distribution ne peux pas vraiment exister sans elle. Deuxièmement, nous avons le sentiment d’apporter une pièce importante au système d’exploitation GNU, et évidemment cela intimide et rend humble.
Enfin, nous avons construit quelque chose d’inédit. Bien sûr, nous nous tenons sur les épaules de géants, notamment Nix qui a conçu le paradigme de distribution de logiciels dont Guix est une implémentation. Mais le développement de Guix a été, et est encore, une prouesse dans plein de domaines : c’est une prouesse au niveau de la conception d’un langage de programmation, une prouesse au niveau de la conception d’un système d’exploitation, une prouesse au niveau de la sécurité, de la reproductibilité, de l’amorçage, de l’utilisabilité et de bien d’autres choses. Bref, cela a été une longue aventure, mais pleine d’enseignements.
Ce que GNU Guix peut faire pour vous
Nous supposons que nombre de lecteurs découvrent Guix aujourd’hui, voici donc un petit récapitulatif de ce que Guix peut faire pour vous, chers utilisateurs et utilisatrices.
Guix est un ensemble d’outils complet pour distribuer des logiciels, ce qui le distingue de la plupart des outils que vous connaissez.
Guix gère les paquets, les environnements, les conteneurs et les systèmes.
Le court guide de référence présente les principales commandes. En vous plongeant dans Guix, vous découvrirez bien des aspects du système exposé à l’aide d’interfaces de programmation Guile cohérentes : la définition des paquets, les services système, le système d’initialisation et tout un tas bibliothèques système. Nous pensons que cela rend le système très bidouillable, et nous espérons que vous vous amuserez autant avec que nous.
Tout cela peut paraître un peu abstrait, regardons donc des cas concrets.
Pour les utilisateurs
En tant qu’utilisateur, Guix vous permet d’installer vos logiciels et de les mettre à jour : trouvez des logiciels avec
guix search
, installez‐les avecguix install
et mettez‐les à jour régulièrement en lançantguix pull
etguix upgrade
. Guix suit un modèle en publication continue (rolling release), ainsi vous pouvez lancerguix pull
à tout moment pour obtenir la dernière et la meilleure version des logiciels libres.Cela peut vous paraître familier, mais ce qui distingue Guix est sa fiabilité : Guix est transactionnel, cela veut dire que vous pouvez à tout instant revenir en arrière (à une « génération » précédente de votre ensemble de paquets) avec
guix package --roll-back
et examiner les différences avecguix package -l
, etc.Une autre propriété utile est la reproductibilité : Guix vous permet de déployer exactement le même environnement logiciel sur des machines différentes ou à des moments différents. Tout cela grâce à
guix describe
etguix pull
.Tout cela, en plus des opérations de gestion des paquets ne nécessitant pas de droits de super‐utilisateur root, est très précieux, notamment pour le calcul haute performance (HPC) et la reproductibilité en science, ce sur quoi le projet Guix-HPC a concentré ses efforts de développement.
Guix-HPC est un projet de développement de logiciels auquel participent actuellement trois instituts de recherche : Inria, le Centre de médecine moléculaire Max Delbrück (MDC) et le Centre de bio‐informatique d’Utrecht (UBC).
Pour les développeurs
En tant que développeur, nous espérons que vous apprécierez
guix environnement
. Il vous permet de créer des environnements logiciels uniques. Supposons que vous êtes un développeur de GIMP :guix environment gimp
permet de produire un environnement avec tout ce dont vous avez besoin pour « hacker » GIMP, bien plus rapidement que l’installation manuelle de ses nombreuses dépendances.Les développeurs ont souvent du mal à diffuser leur travail aux utilisateurs, ce qui leur permettrait d’avoir rapidement des retours d’expérience.
guix pack
offre un moyen simple de créer des conteneurs utilisables par Docker et compagnie, ou même des archives TAR relocalisables [relocatable] et exécutables par tout le monde, indépendamment de la distribution GNU/Linux utilisée.Ah, et vous aimerez sûrement aussi les options de transformation de paquet, elles vous permettent de définir des variantes de paquets via la ligne de commande.
Pour les administrateurs système
En tant qu’administrateur système (et actuellement nous sommes tous des espèces d’administrateurs système de nos ordinateurs portables), l’approche déclarative et unifiée de Guix pour gérer les configurations vous sera très utile. C’est sûrement une pratique avec laquelle la plupart des gens sont habitués, mais c’est si rassurant : un fichier de configuration suffit pour spécifier tous les aspects de la configuration du système (services, systèmes de fichiers, options de localisation, comptes des utilisateurs), le tout dans un même langage.
Tout cela rend étonnamment facile le déploiement de services autrement plus complexes, comme des logiciels qui dépendent de services Web. Par exemple, installer CGit ou Zabbix se fait en une ligne, même si, en coulisse, cela implique la configuration de nginx, fcgiwrap, etc. Nous aimerions voir dans quelle mesure cela aide les gens à héberger eux‐mêmes leurs services — un peu comme ce qui est proposé par FreedomBox et YunoHost.
Avec le
guix system
, vous pouvez instancier une configuration sur votre machine, ou dans une machine virtuelle où la tester, ou dans un conteneur. Vous pouvez aussi provisionner des images ISO, des images de machines virtuelles ou des images de conteneurs avec un système d’exploitation complet depuis la même configuration, grâce àguix system
.Voilà pour l’aperçu !
Les nouveautés depuis la version 0.16.0
Pour ceux qui nous ont suivi jusqu’ici, de nombreuses et importantes choses ont changé depuis les cinq derniers mois, depuis la version 0.16.
En effet, sur cette période, 99 personnes ont contribué via 5 700 commits, dont voici les principaux points :
- l’image ISO d’installation dispose dorénavant d’un installateur graphique tout mignon (un grand merci à Mathieu Othacehe pour l’avoir développé, et merci à tout ceux qui l’ont testé et amélioré !) qui suit l’esprit de l’installateur Debian ; que vous soyez un hacker GNU/Linux intransigeant ou un utilisateur novice, vous constaterez certainement que cela rend l’installation du système beaucoup moins fastidieuse qu’elle ne l’était ! L’installateur est entièrement traduit en français, allemand et espagnol ;
- la nouvelle image VM correspond mieux aux attentes des utilisateurs : que vous souhaitiez bricoler avec Guix System et voir à quoi il ressemble, ou que vous souhaitiez l’utiliser comme environnement de développement, cette image de machine virtuelle devrait être plus utile ;
- plus de 1 100 paquets ont été ajoutés, 2 104 paquets ont été mis à jours et plusieurs services systèmes ont été fournis ; on approche donc des 10 000 paquets ;
- l’interface utilisateur a été améliorée : maintenant, des alias pour les opérations communes comme
guix search
etguix install
sont disponibles, les diagnostics sont colorés, plus d’opérations affichent une barre de progression, il y a une nouvelle option--verbosity
reconnue par toutes les commandes et la plupart des commandes sont « silencieuses » par défaut ; - il y a une nouvelle option de transformation de paquet :
--with-git-url
, qui se combine avec--with-branch
et--with-commit
; - Guix a maintenant un mécanisme uniforme de première classe pour configurer la disposition du clavier, une fonction attendue depuis longtemps ; dans la continuité, la configuration de X.Org a été adaptée avec le nouvel enregistrement
xorg-configuration
; - nous avons introduit
guix pack -R
il y a longtemps : il crée des archives contenant des ensembles d’applications déplaçables qui reposent sur des espaces de noms d’utilisateurs ; à partir de la version 1.0,guix pack -RR
(pour « reliably relocatable » ou « relocalisation fiable ») génère des fichiers binaires déplaçables qui reposent sur PRoot sur les systèmes où les espaces de noms d’utilisateurs ne sont pas pris en charge ; - le manuel a été entièrement traduit en français et les traductions allemandes et espagnoles sont presque terminées, et une traduction en chinois simplifié vient d’être lancée ; vous pouvez aider à traduire le manuel dans votre langue en intégrant le groupe de traduction.
Cette liste est déjà longue, mais vous trouverez plus de détails dans le fichier NEWS.
Les prochaines étapes
Un‐point‐zéro est une étape majeure, en particulier pour ceux d’entre nous qui participent au projet depuis plusieurs années. Mais avec les nombreuses idées que nous avons collectées, ce n’est certainement pas la fin de l’aventure !
Si vous êtes intéressé par le « devops » et le déploiement distribué, vous serez certainement ravi de nous aider dans ce domaine. Ceux qui sont intéressés par le développement de systèmes d’exploitation voudront peut‐être rendre Shepherd plus flexible et plus rapide.
Les scientifiques intéressés par la reproductibilité à long terme mettront certainement l’approfondissement de l’intégration au projet Software Heritage en première position sur leur liste de choses à améliorer.
Les bricoleurs en langage de programmation voudront peut‐être pousser plus loin les G-expressions, etc.
Guix 1.0 est un outil à la fois utile pour l’utilisation quotidienne d’un ordinateur et un grand terrain de jeu pour les bricoleurs que nous sommes.
Que vous souhaitiez aider au niveau du design, de la programmation, de la maintenance, de l’administration système, de la traduction, des tests, de la charte graphique, des services Web, du financement ou de l’organisation d’install parties, vos contributions sont bienvenues !
Nous sommes humains, n’hésitez pas à nous contacter. Et surtout amusez‐vous bien avec Guix 1.0 !
Télécharger ce contenu au format Epub
Commentaires : voir le flux atom ouvrir dans le navigateur
Sauf mention contraire, le site est placé sous double licence Creative Commons BY-SA et GNU Free Documentation License propulsé par NodeBB