Outils pour utilisateurs

Outils du site


issue186:critique2

For the sixth and final look at some independent Linux distributions, this month we review NixOS, a unique and unusual operating system. NixOS is entirely built around its own custom package manager, Nix. This not only installs and removes application packages, but also powers some unusual features, including system reversion rollbacks, reliable upgrades, and the ability to run different versions of the same applications side-by-side. It also installs applications for single users in a computer, meaning each user has their own applications. The Nix package manager is used to build the entire operating system including the applications, system packages, configuration files, and even the Linux kernel itself. To make this all work, NixOS has a completely new file system organization with all the components isolated to give enhanced reliability and security. The resulting operating system is advertised as being able to create “reproducible, declarative and reliable systems”.

Pour la sixième et dernière critique d’une distribution Linux indépendante, ce mois-ci, j’ai choisi de vous présenter NixOS, un système d’exploitation unique et atypique.

NixOS est entièrement construit autour de son propre gestionnaire de paquets personnalisé. Outre l’installation et la suppression de paquets d’application, celui-ci alimente quelques caractéristiques inhabituelles, notamment des retours en arrière du système, des mises à niveau fiables et la capacité d’exécuter des versions différentes de la même application côte à côte. Il installe également des applications pour chaque utilisateur de l’ordinateur, ce qui signifie que chacun a ses propres applications.

Le gestionnaire de paquets Nix est utilisé pour compiler le système d’exploitation y compris les applications, les paquets système, les fichiers de configuration et même le noyau Linux.

Pour faire fonctionner tout cela, l’organisation du système de fichiers de NixOS est complètement nouvelle ; tous les composants sont isolés pour donner une fiabilité et une sécurité améliorées. Le système d’exploitation résultant est annoncé comme capable de créer « des systèmes reproductibles, déclaratifs et fiables ».

NixOS is basically designed to be a dream operating system for developers, system administrators and people who work in IT security, and seems to be mostly commercially deployed in companies working in those fields. While optimized for these roles, it is a general desktop distribution as well. Because it is an independent distribution, NixOS is not based on any other Linux distribution. In fact, it is built from scratch using Nix. So, we know developers love it, but my task was to see if this unusual distribution is suitable for the average desktop Linux user.

NixOS est conçu essentiellement comme un système d’exploitation de rêve pour les développeurs, les administrateurs système et les gens qui travaillent dans la sécurité IT ; il semble être pour la plupart déployé commercialement dans des entreprises qui travaillent dans ces domaines-là. Tout en étant optimisé pour ces rôles, c'est également une distribution générale pour ordinateur de bureau.

Puisqu’elle est une distribution indépendante, NixOS n’est basée sur aucune autre distribution Linux. En fait, elle est compilée à partir de zéro avec Nix.

Nous savons donc que les développeurs l’aiment, mais je me suis donné la tâche de voir si cette distribution inhabituelle conviendrait à l’utilisateur lambda d’un ordinateur de bureau sous Linux.

Background NixOS traces its origins back almost 20 years, to 2003, when Eelco Dolstra started the Nix package manager as a PhD research project at Utrecht University in the Netherlands. From those beginnings, it drew in more developers, and on 31 October, 2013, the first public release of the Nix-based operating system was made. Called NixOS 13.10, it adopted the same “year.month” format that Ubuntu uses. That initial release was codenamed “Aardvark”, and each release since then has been in alphabetical order and carried the name of an animal. Unlike Ubuntu, there are no adjectives, though. The current release is 21.11, out on 30 November, 2021, and codenamed “Porcupine”, is the 16th release. NixOS has grown so that it now has a foundation backing it, the NixOS Foundation. It has the NixCon series of developer conventions, regional meetups, community-organized teams for security, infrastructure, convention, marketing, platform moderation and much more. The 21.11 release had 1,541 developers contribute to it, so the project is now fairly big and quite well organized. There are also a dozen companies that provide commercial support for NixOS enterprise deployments.

Contexte

Les origines de NixOS datent d’il y a presque 20 ans, en 2003, quand Eelco Dolstra a démarré le gestionnaire de paquets Nix en tant que projet de recherches pour son doctorat à l’Université d’Utrecht aux Pays-Bas. Après ce début, de plus en plus de développeurs voulaient en faire partie et, le 31 octobre 2013, il y a eu la première sortie publique du système d’exploitation NixOS. Appelé NixOS 13.10, il a adopté le même format « année.mois » qu’utilise Ubuntu. Le nom de code de cette première publication était « Aardvark » et, depuis, chaque version a reçu un nom d’animal par ordre alphabétique. Bien que, contrairement à Ubuntu, il n’y a pas d’adjectif.

La version actuelle est la 21.11, la seizième, nom de code « Porcupine », est sortie le 30 novembre 2021.

NixOS s’est tant développé que, maintenant, il est soutenu par une fondation, la NixOS Foundation. Il gère la série de conventions de développeurs, la NixCon, des réunions régionales, des équipes organisées par la communauté pour la sécurité, l’infrastructure, la convention, le marketing, les outils de modération et beaucoup plus encore. 1 541 développeurs ont contribué à la version 21.11, ce qui indique que le projet est assez conséquent et très bien organisé.

En outre, une douzaine de sociétés fournissent un support commercial pour les déploiements de NixOS en entreprise.

Despite its radically different file system focused on isolating applications and processes, it does superficially have the basic and familiar Linux file system organization, but the directories are all redirects to the underlying new system. The only package manager is Nix, so there is no APT or similar available. The Nix repositories have over 80,000 application files, all in its unique format, so just about every Linux application is there. NixOS is available in three basic forms. There is a “minimal ISO image” which has no graphical interface, and two desktop versions with Gnome and KDE. Other desktops, like Xfce, LXDE and LXQt, are available, but as package downloads for installation. Because the developer emphasis seems to be on the package and file systems, the desktops are unmodified, plain, vanilla versions.

Malgré son système de fichiers, qui est radicalement différent et qui se concentre sur l’isolation des applications et processus, il comporte, en surface, l' organisation de base des systèmes de fichiers Linux, qui est familière. Toutefois, tous les dossiers redirigent l’utilisateur vers le nouveau système sous-jacent.

Le seul gestionnaire de paquets étant Nix, ni APT, ni quelque chose de similaire, n’est disponible. Les dépôts de Nix contiennent plus de 80 000 fichiers d’applications, chacun dans son format unique ; aussi, presque toutes les applications Linux s’y trouvent.

NixOS est disponible en trois versions de base. Il y a l’« image ISO minimale » sans interface graphique, et deux versions pour ordinateur de bureau, avec Gnome et KDE. D’autres bureaux, comme Xfce, LXDE et LXQt sont disponibles, mais comme des paquets à télécharger pour installation.

Puisque l’accent des développeurs semblent être sur les systèmes de paquets et de fichiers, les environnements de bureau sont des versions sans modification, sobres et standards.

Getting NixOS I downloaded the Gnome version of NixOS 21.11 as an ISO file directly from the official website downloads page via https, as there are no bittorrents offered. The Gnome desktop version is 2.1 GB in size, which compares with Ubuntu 21.10 at 2.9 GB. There are updated builds since the 30 November, 2021 release so that, even though the current version is five months old, it arrives fully updated. SHA 256 sums are provided, and it is always a good idea to run the test on the download to make sure your ISO file is not corrupted or otherwise compromised. Installing I used Ventoy 1.0.72 to put the ISO file on a USB stick. With Ventoy already installed on the stick, this is as easy as just copying and pasting NixOS with the file manager. There is no need to unpack or write the ISO file, as Ventoy takes care of all that on boot-up. As always, Ventoy worked great and I was able to boot up NixOS without issues.

Obtenir NixOS

J’ai téléchargé la version Gnome de NixOS 21.11 en tant que fichier ISO directement sur la page des téléchargements du site Web officiel via https, car aucun bittorrent n’est proposé. La taille de la version du bureau Gnome est de 2,1 Go, comparable avec Ubuntu 21.10 à 2,9 Go.

Depuis la sortie de la version du 30 novembre 2021, des compilations mises à jour ont été faites ; ainsi, bien que la version actuelle ait cinq mois d’âge, elle est livrée complètement mise à jour.

Des sommes SHA 256 sont fournies et c’est toujours une bonne idée d’exécuter le test sur le téléchargement pour vous assurer que le fichier ISO ne soit pas corrompu ou autrement compromis.

Installation

J’ai utilisé Ventoy 1.0.72 pour mettre le fichier OS sur une clé USB. Quand Ventoy est déjà installé sur la clé, c’est aussi facile qu’un copier/coller de NixOS avec le gestionnaire de fichiers. Pas besoin de dépaqueter ou d’écrire le fichier ISO, car Ventoy s’en occupe au démarrage. Comme toujours, Ventoy a très bien fonctionné et j’ai pu démarrer sur NixOS sans problème.

System requirements NixOS has a lot of documentation on its official website but no minimum system requirements are specified. In one place it does suggest that 4 GB of RAM are recommended to run some specific processes, though. I tested NixOS out on a nine-year old desktop computer with 6 GB of RAM and a dual-core Intel Core i3 GHz processor, and I can report that it ran without issues.

Exigences systèmes

Il y a beaucoup de documentation sur le site Web officiel de NixOS, mais aucune spécification des exigences système minimales. Néanmoins, il suggère une fois que 4 Go de RAM sont recommandés pour l’exécution de certains processus précis.

J’ai testé NixOS sur un ordinateur de bureau de neuf ans, avec 6 Go de RAM et un processeur Intel Core i3 avec double cœur, et je peux vous dire qu’il fonctionnait sans problème.

Trying out NixOS NixOS boots up to a serious-looking gray wallpaper with the geometric NixOS logo on it. The very minimalist Gnome 41 desktop shows only the top panel, with the date and time, icons for networking, audio volume and shutdown, plus the single menu button marked “Activities”. Clicking the “Activities” button, or hitting the “super” key (Windows key), takes you to the Gnome main menu – which has the twin desktop selector, an application launcher for “favorites”, an application search bar, and a button that takes you to the two pages of application tiles. Since NixOS uses unmodified Gnome, the individual application windows have only a “close” button and no “maximize” or “minimize” buttons. A right-click on the window top provides “hide” and “maximize”, though, which provides similar functionality. The Gnome desktop works as expected, but it is in other areas that NixOS creates a steep learning curve for new users. There is no Gnome Software or other graphical application to use to install and remove applications or run system updates. That has to all be done with Nix and from the command-line with its unique syntax. Nothing you learned using APT will help you here. So, for example, to install LibreOffice the syntax is: $ nix-env -iA nixos.libreoffice

Les essais de NixOS

NixOS démarre sur un fond d’écran gris qui semble très sérieux avec le logo géométrique de NixOS dessus. Le très minimaliste bureau Gnome 41 n’affiche que le panneau du haut avec la date et l’heure et les icônes pour le réseautage, le volume audio et l’arrêt, plus un seul bouton menu appelé « Activités ».

Un clic sur le bouton « Activités », ou un appui sur la touche « super » (Windows), vous amène au menu principal de Gnome, qui a un sélecteur de bureaux jumeaux, un lanceur d’application pour les « favorites », une zone de recherche d’applications et un bouton qui vous amène à deux pages d’icônes d’application.

Puisque NixOS utilise Gnome sans modification, les fenêtres de chaque application n’ont qu’un bouton « fermer » sans boutons « maximiser » ou « minimiser ». Toutefois, un clic droit en haut de la fenêtre fournit « masquer » et « maximiser » ce qui donne une fonctionnalité similaire.

Le bureau Gnome fonctionne comme attendu, mais c’est dans d’autres domaines que NixOS crée une courbe d’apprentissage raide pour les nouveaux utilisateurs. Il n’y a pas de Gome Software ou autre application graphique pour installer et supprimer des applications ou faire des mises à jour système. Tout cela doit être fait avec Nix, à partir de la ligne de commande avec sa syntaxe unique. Rien de ce que vous aurez appris avec APT ne vous aidera ici.

Ainsi, par exemple, pour installer LibreOffice la syntaxe est :

$ nix-env -iA nixos.libreoffice

The good news is that the official website has a searchable database of applications to install, and actually prompts you with the Nix syntax to use for installation. That is helpful because, while there is a vast quantity of official documentation, it is highly technical and not aimed at beginners or, indeed, non-developers. The upside is that the internet offers up many other people’s take on NixOS user guides. Some of the cautions on the website are not real confidence-builders either: “please note that NixOS at the moment lacks a nice, user-friendly graphical installer. Therefore this form of installation may not be suitable for novice Linux users.” Consider yourself warned. There are other oddities too, such as when running a live session from a USB drive, even though the computer is connected to the internet and you can do a terminal ping check that confirms the connection, neither provided web browser will connect. A forum post theorizes that this is apparently for some undocumented, opaque, live-session, security reason. Compared to more conventional Linux distributions, there is a lot that is new and a lot to learn here to gain reasonable proficiency.

La bonne nouvelle est que le site Web officiel a une base de données d’applications à installer avec une zone de recherche. De plus, il vous donne la syntaxe Nix à utiliser pour l’installation. C’est utile parce que, bien qu’une vaste quantité de documentation officielle soit fournie, il est hautement technique et ne cible pas les débutants ou, même, les non-développeurs. Vous trouverez sur l’Internet ce que d’autres personnes ont pensé des guides utilisateur de NixOS.

Certains des avertissements sur le site Web ne renforcent pas non plus votre confiance : « veuillez noter que, actuellement, il manque à NixOS un installeur graphique sympa et convivial. Ainsi, cette forme d’installation peut ne pas convenir aux utilisateurs Linux débutants. » Vous voilà averti.

Il y a d’autres bizarreries aussi, comme quand vous exécutez une session Live à partir d’une clé USB, bien que l’ordinateur soit connecté au Net et que vous puissiez faire une vérification ping dans le terminal qui confirme la connexion, aucun des deux navigateurs Web fournis ne se connecteront. Un message sur le forum présente la théorie que c’est sans doute pour une raison sécuritaire des sessions live, qui est non documenté et opaque.

Par rapport aux distributions Linux qui sont plus conventionnelles, il y a beaucoup de nouveautés et beaucoup à apprendre avant de devenir raisonnablement compétent.

Settings In keeping with the developer focus on the backend functions, the stock Gnome desktop is provided with very minimal user options. There is one light window theme, plus the accessibility option of high contrast icons, and that is it. A total of 14 wallpapers are provided, or you can use your own. Another oddity is that if you use a wallpaper other than the default gray NixOS logo wallpaper, it disappears from the list. A dive into the file system to usr/share to look for it runs into a dead end in the opaque file system. The KDE desktop version likely comes with more user options than Gnome does.

Paramètres

Conformément à la concentration des développeurs sur les fonctions du backend, le bureau standard Gnome est fourni avec très peu d’options utilisateur. Il y a un thème fenêtre clair, plus l’option d’accessibilité d’icônes de haut contraste, et c’est tout. Au total, 14 papiers peints sont fournis, ou vous pouvez utiliser le vôtre. Une autre bizarrerie est que, si vous utilisez un fond d’écran autre que celui par défaut avec le logo NixOS gris, il disparaît de la liste. Si vous plongez vers usr/share dans le système de fichiers, vous vous trouverez dans une impasse, car ce système de fichiers est opaque.

La version avec le bureau KDE est livrée sans doute avec plus d’options utilisateur que Gnome.

Applications NixOS comes with a moderate collection of application software, almost all from Gnome. This includes: Archive Manager (File Roller) 3.40.0 file archiver Cheese 41.1 webcam application Document Viewer (Evince) 41.3 PDF viewer Document Scanner (Simple Scan) 40.6 optical scanner Firefox 98.0.2 web browser Gnome Calendar 41.0 desktop calendar Gnome Disks 40.0 disk manager Gnome Files (Nautilus) 41.1 file manager Gnome Music 41.0 music player Gnome Photos 40.1 photo manager Gnome Terminal 3.42.1 terminal emulator Gnome System Monitor 40.0 system monitor Gnome Web (Epiphany) 41.2 web browser Gparted 1.3.1 partition editor Image Viewer (Eye of Gnome) 41.0 image viewer Text Editor (gedit) 40.1 text editor Videos (Totem) 3.38.2 movie player

Applications

NixOS est livré avec une collection modérée d’applications, la plupart venant de Gnome, dont : Archive Manager (File Roller) 3.40.0 archiveur de fichiers Cheese 41.1 application de Webcam Document Viewer (Evince) 41.3 visionneur de PDF Document Scanner (Simple Scan) 40.6 scanner optique Firefox 98.0.2 navigateur Web Gnome Calendar 41.0 calendrier de bureau Gnome Disks 40.0 gestionnaire de disques Gnome Files (Nautilus) 41.1 gestionnaire de fichiers Gnome Music 41.0 lecteur de musique Gnome Photos 40.1 gestionnaire de photos Gnome Terminal 3.42.1 émulateur de terminal Gnome System Monitor 40.0 moniteur système Gnome Web (Epiphany) 41.2 navigateur Web Gparted 1.3.1 éditeur de partitions Image Viewer (Eye of Gnome) 41.0 visionneur d’images Text Editor (gedit) 40.1 éditeur de texte Videos (Totem) 3.38.2 lecteur de vidéos

Notably missing from this list is an office suite such as LibreOffice or even a word processor. This is probably just more evidence that NixOS is more intended for developers than regular desktop users. There is also no default bittorrent client. As noted, though, with 80,000 packages to choose from, including LibreOffice and Transmission, it isn’t hard to add what you need for any possible role. Conclusions Overall NixOS Gnome 21.11 impresses as serious, neat and elegant. If you are a fan of the unmodified Gnome desktop, then you will find a lot to like here. The downside of this distribution is the steep learning curve for package management, including updates and the like. No matter which distribution you come from, you will have much to learn to be able to make Nix work well for you on the command-line. The lack of a beginner-level guide is a hindrance or at least creates a high bar for entrance here. You may need to rely on third-party guides on the internet to find the information you need. If you have a work-related or personal reason to use NixOS, such as enhanced security, packaging isolation, or even if you are just looking for a new Linux challenge, it could be worth the time invested. But, for most average Linux users just seeking a nice, plain, unmodified Gnome desktop distribution, something like Fedora or Debian would be an easier transition and an easier installation too. External links Official website: https://nixos.org/

Ce qui manque dans cette liste – et c’est assez remarquable – est une suite bureautique comme LibreOffice, ou même un traitement de texte. C’est probablement tout simplement davantage de preuves que NixOS cible plus les développeurs que des utilisateurs normaux d’ordinateur de bureau. Il n’y a pas de client bittorrent par défaut. Cependant, comme mentionné, avec un choix parmi 80 000 paquets, y compris LibreOffice et Transmission, ce n’est pas difficile d’ajouter ce dont vous avez besoin pour tout usage possible.

Conclusions

Globalement, NixOS Gnome 21.11 donne l’impression d’être sérieux, propre et élégant. Si vous aimez le bureau Gnome sans modifications, beaucoup ici vous plaira.

L’inconvénient de cette distribution est la raide courbe d’apprentissage de la gestion de paquets, y compris les mises à jour, etc. Peu importe votre distribution de départ, vous aurez beaucoup à apprendre pour pouvoir faire bien fonctionner Nix en ligne de commande. Le manque d’un guide de niveau débutant est un obstacle ou, à tout le moins, crée une barre haute pour pouvoir y entrer. Vous allez peut-être devoir vous fier à des guides de tierces parties sur le Net pour trouver les informations dont vous avez besoin.

Si vous avez une raison personnelle ou en rapport avec votre travail d’utiliser NixOS, comme la sécurité améliorée et l’isolation des paquets, ou si vous cherchez tout simplement un nouveau défi Linux, cela pourrait valoir le temps investi. Mais, pour la plupart des utilisateurs Linux moyens qui ne recherchent qu’une distribution Gnome sympa, sobre et inchangée pour un ordinateur de bureau, quelque chose comme Fedora ou Debian serait une transition et une installation nettement plus faciles.

Liens externes

Site Web officiel : https://nixos.org/

issue186/critique2.txt · Dernière modification : 2022/10/31 14:59 de andre_domenech