GNU/Linux >> Tutoriels Linux >  >> Linux

Nix - Un puissant gestionnaire de packages pour Linux et Unix

Il y a quelque temps, nous avons écrit sur Linuxbrew , un gestionnaire de packages commun pour Linux et Mac OS X. La caractéristique distinctive de Linuxbrew est que vous pouvez installer des packages sans racine ni sudo privilège. Aujourd'hui, dans ce guide, nous discuterons d'un autre gestionnaire de packages similaire. Rencontrez Nix , un gestionnaire de packages purement fonctionnel et fiable pour Linux et d'autres variantes d'Unix. Contrairement à d'autres gestionnaires de packages, il fournit une installation côte à côte de plusieurs versions du même package, une prise en charge atomique et de restauration, une gestion des packages par utilisateur, une configuration facile des environnements de développement de packages, et bien plus encore. Le gestionnaire de paquets Nix a été initialement développé pour NixOS , une distribution GNU/Linux avec une approche unique de la gestion des packages et de la configuration. NixOS a été initialement lancé comme un projet de recherche par Eelco Dolstra en 2003.

Caractéristiques

Le gestionnaire de packages Nix est un peu différent des autres gestionnaires de packages Linux en termes de fonctionnalités et de fonctionnalités. Concernant les fonctionnalités, nous pouvons énumérer les éléments suivants :

  • Système de gestion de packages multi-utilisateurs. Cela signifie que chaque utilisateur du système peut avoir un ensemble différent de packages installés.
  • Les utilisateurs peuvent installer des packages sans privilèges d'utilisateur root ou sudo.
  • Le gestionnaire de packages Nix stocke les packages dans la boutique Nix , généralement le répertoire /nix/store . Chaque package a son propre sous-répertoire unique. Disons par exemple, le package gzip sera stocké dans un répertoire unique /nix/store/c5y9w08xkiz6kvnscpjv3205gyr6iybz-gzip-1.8/ ainsi que toutes les dépendances et bibliothèques requises.
  • Différents utilisateurs peuvent avoir différentes versions du même paquet installées en même temps. C'est bon pour les développeurs qui souhaitent tester leurs applications construites avec différentes versions de packages et de dépendances.
  • Étant donné que tous les packages sont installés dans des répertoires uniques, un utilisateur ne peut pas interférer (comme supprimer, mettre à jour ou mettre à niveau des packages) avec les packages installés par un autre utilisateur. De plus, la mise à niveau ou la mise à jour d'un package n'affecte pas l'autre version du même package ni ses dépendances.
  • Il est possible de restaurer des packages vers des versions précédentes.
  • Prise en charge de la mise à niveau atomique. Cela signifie que lorsque vous mettez à niveau un package, il n'écrase pas la version existante. Chaque nouvelle version sera stockée dans un nouveau répertoire unique. Étant donné que le package n'est pas écrasé, les anciennes versions sont toujours disponibles même après une mise à niveau.
  • Les packages inutilisés peuvent être supprimés en toute sécurité.
  • Gestionnaire de packages compatible DevOps. Nix aide les utilisateurs à créer des packages à partir de sources, s'ils ne sont pas encore disponibles dans les référentiels. Ainsi, Nix est extrêmement utile pour les développeurs car il facilite la configuration automatique de l'environnement de construction d'un package.
  • Le gestionnaire de paquets Nix peut être utilisé sous GNU/Linux et Mac OS X.

Nous allons maintenant voir comment installer le gestionnaire de packages Nix dans les systèmes d'exploitation de type Unix.

Installer le gestionnaire de packages Nix sous Linux

L'installation du gestionnaire de paquets Nix est triviale.

Pour l'installer sur votre machine Linux, exécutez-le en tant qu'utilisateur normal :

$ curl https://nixos.org/nix/install | sh

Exemple de résultat :

 % Total % Received % Xferd Average Speed Time Time Time Current
 Dload Upload Total Spent Left Speed
 100 2354 100 2354 0 0 833 0 0:00:02 0:00:02 --:--:-- 833
 downloading Nix 1.11.9 binary tarball for x86_64-linux from 'https://nixos.org/releases/nix/nix-1.11.9/nix-1.11.9-x86_64-linux.tar.bz2' to '/tmp/nix-binary-tarball-unpack.SoCHJhv4Vz'...
 % Total % Received % Xferd Average Speed Time Time Time Current
 Dload Upload Total Spent Left Speed
 100 27.3M 100 27.3M 0 0 525k 0 0:00:53 0:00:53 --:--:-- 248k
 performing a single-user installation of Nix...
 directory /nix does not exist; creating it by running ‘mkdir -m 0755 /nix && chown sk /nix’ using sudo
 [sudo] password for sk:
 copying Nix to /nix/store...............................
 initialising Nix database...
 creating /home/sk/.nix-profile
 installing ‘nix-1.11.9’
 building path(s) ‘/nix/store/7dv1lghxz40rbvv9ffg7fq2as972a4r7-user-environment’
 created 6 symlinks in user environment
 downloading Nix expressions from ‘https://d3g5gsiof5omrk.cloudfront.net/nixpkgs/nixpkgs-17.09pre108299.ec9a23332f/nixexprs.tar.xz’...
 downloading ‘https://d3g5gsiof5omrk.cloudfront.net/nixpkgs/nixpkgs-17.09pre108299.ec9a23332f/nixexprs.tar.xz’... [7625/8656 KiB, 403.0 KiB/s]
 unpacking channels...
 created 2 symlinks in user environment
 modifying /home/sk/.bash_profile...

Installation finished! To ensure that the necessary environment
 variables are set, either log in again, or type

. /home/sk/.nix-profile/etc/profile.d/nix.sh

in your shell.

Après avoir installé Nix, déconnectez-vous et reconnectez-vous à votre système pour vérifier que les variables d'environnement nécessaires sont correctement définies. Vous pouvez également exécuter la commande suivante à partir du terminal pour vous en assurer.

$ . /home/sk/.nix-profile/etc/profile.d/nix.sh

Veuillez noter qu'il y a un point (.) au début. Si vous ne voyez aucune sortie, alors vous avez terminé ! Le gestionnaire de packages Nix a été installé avec succès sur votre système. Ajoutez également la ligne ci-dessus à votre profil PATH pour éviter d'exécuter la commande ci-dessus à chaque fois après vous être connecté à votre système.

Pour ce faire, modifiez ~/.profile ou ~/.bashrc (ou similaire) :

$ vi ~/.bashrc

Ajoutez la ligne suivante à la fin.

. /home/sk/.nix-profile/etc/profile.d/nix.sh

Enregistrez et fermez le fichier. Redémarrez votre système. Désormais, vous n'avez plus besoin d'exécuter la commande ci-dessus à chaque fois après vous être connecté à votre système.

Le didacticiel suivant explique comment utiliser le gestionnaire de packages Nix pour effectuer des opérations générales de gestion de packages telles que l'installation, la suppression, la mise à jour, la mise à niveau et la création de packages.

  • Démarrer avec Nix Package Manager

Linux
  1. DistroTest - Testez gratuitement les systèmes d'exploitation Linux et Unix en ligne

  2. Fotoxx - Un éditeur de photos et un gestionnaire de collections pour Linux

  3. NordPass – Un puissant gestionnaire de mots de passe pour Linux

  4. UNIX / Linux :Comment installer et configurer mod_perl pour Apache 2

  5. Gestionnaire/installateur de paquets basé sur Git pour Linux

Premiers pas avec le gestionnaire de paquets Nix

Comment savoir si un package est installé ou non sous Linux et Unix

Guide de Midnight Commander (mc) :Puissant gestionnaire de fichiers texte pour Unix

Motrix :un gestionnaire de téléchargement gratuit et open source pour Linux

OpenShot :un éditeur vidéo simple et puissant pour Linux

Pourquoi n'y a-t-il pas de gestionnaire de paquets vraiment unifié pour Linux ?