NixOS, quand la programmation fonctionnelle rencontre Linux

Magazine
Marque
Linux Pratique
Numéro
117
Mois de parution
janvier 2020
Domaines


Résumé

NixOS est une distribution basée sur le gestionnaire de paquets Nix et dont toute la configuration se fait à partir d’un fichier. Nous verrons que NiXOS permet de gérer son système de manière reproductible, avec des mises à jour atomiques et des rollbacks, des espaces utilisateurs, l’installation simultanée de plusieurs versions d’un paquet, la configuration fine de chaque composant ainsi qu’un cache binaire, testé et contenant plus de 47 000 paquets. Nous testerons ensuite NixOS dans une machine virtuelle.


Un programme est souvent une succession d’assignations de variables, de réassignations, de boucles for, de boucles while… À la place de cette approche impérative, déclarer le résultat que l’on souhaite atteindre peut suffire si un compilateur trouve les instructions à votre place. Cette approche déclarative, la programmation fonctionnelle l’applique à tous types d’applications : avec NixOS, il s’agit de la construction d’un système d’exploitation.

1. NixOS

1.1 Une configuration centralisée

v-nixos figure02 v2

Fig. 1 : Construction purement fonctionnelle du système d'exploitation. La commande nixos-install déduit du fichier configuration.nix comment installer une première version du système – OS1 – ainsi qu'un bootloader (e.g. GRUB). Par la suite, l'utilisateur édite le fichier de configuration puis exécute la commande nixos-rebuild ; ce qui construit et active un nouveau système : OS2. Ainsi de suite jusqu'à la version courante, OSn. La gestion est...
Cet article est réservé aux abonnés. Il vous reste 95% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Garder ses secrets avec Tomb

Magazine
Marque
Linux Pratique
HS n°
Numéro
48
Mois de parution
septembre 2020
Domaines
Résumé

Pour conserver des documents privés sur un disque dur ou un support amovible, il est nécessaire d'avoir recours au chiffrement. L'outil Tomb permet de manipuler simplement des répertoires chiffrés par le standard LUKS, pensé dans un d'esprit de confort et de mobilité.

Aller plus loin avec coreboot

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
110
Mois de parution
septembre 2020
Domaines
Résumé

Rappelez-vous dans le numéro 220 de GNU/Linux Magazine, j’avais écrit un petit article sur coreboot, le BIOS libre. Je vous propose cette fois d’aller plus loin, en explorant quelques façons de sécuriser un peu le processus de boot, et plus encore.

Les utilitaires relatifs aux namespaces

Magazine
Marque
GNU/Linux Magazine
Numéro
240
Mois de parution
septembre 2020
Domaines
Résumé

Après un premier article [1] sur la notion de namespace et de conteneur avec un passage en revue des appels système, ce second opus se concentre sur les commandes mises à disposition de l’utilisateur.

Supervision des architectures à microservices avec Prometheus

Magazine
Marque
Linux Pratique
Numéro
121
Mois de parution
septembre 2020
Domaines
Résumé

Lorsqu’on supervise des services statiques, tel qu’un serveur apache ou un serveur de base de données, on se concentre sur le bon fonctionnement de ces derniers (réponse aux requêtes, état : démarré ou non...) et donc un outil de supervision est nécessaire pour évaluer le statut du service en question. Un outil comme Nagios est destiné à ce type de supervision. Mais si nos services sont susceptibles de disparaître à tout moment et sont remplacés par de nouvelles instances, comment pourra-t-on les superviser ? S’ils ne sont pas déployés sur leurs hôtes d’origine, comment peut-on les localiser dans ce cas ? Et si ces services sont sous forme de conteneurs, comment alors superviser les processus à l’intérieur de ces conteneurs ? Et enfin, si ces services sont déployés dans un orchestrateur à l’instar de Kubernetes, et donc sous forme de pod, comment superviser l’ensemble de ces pods repartis sur différents nœuds ? Dans cet article, nous répondons à toutes ces questions avec des cas pratiques. Mais voici déjà un indice concernant la réponse : Prometheus.