Comment installer Nixos

Comment installer Nixos
Dans le monde Linux, il existe de nombreuses distributions, et ces distributions diffèrent généralement en termes de gestionnaire de packages, d'environnement et de packages. Une fois installé, vous pouvez trouver des fichiers à des endroits spécifiques de la structure des fichiers. Des répertoires comme / usr, / usr / local et / bin sont utilisés pour stocker différents fichiers, et cette norme permet à un utilisateur Linux expérimenté de savoir où se trouvent les fichiers et d'exécuter des scripts qui utilisent ces fichiers sur de nombreuses distributions. Pour en savoir plus, recherchez le projet LSB.

Bien que vous puissiez exécuter des applications sous Nixos car elles suivent la norme ci-dessus, les fichiers ne sont pas là où ils seraient dans un autre système. Les développeurs de Nixos et GNU Guix ont des opinions fortes sur ce système, et ils ont trouvé des moyens intelligents pour y conformer.

Un système différent

Votre système de stockage de logiciels affecte la fonctionnalité d'une manière beaucoup plus profonde qu'elle ne semble à première vue. Pour que le logiciel trouve les fichiers dont il a besoin, Nixos utilise des liens symboliques. Chaque application a son propre répertoire qui contient l'exécutable et les liens vers les bibliothèques qui l'exécutent.

Avec ce système d'organisation, vous pouvez installer différents fichiers et versions en même temps. Par défaut, tous les packages et leurs dépendances devraient se compiler pendant l'installation. Cependant, cela nécessite beaucoup de temps et de puissance de traitement pour le faire à chaque installation, il y a des caches.

Téléchargement

Avec Nixos, il y a toujours plus d'une façon de faire quelque chose. Comme d'autres distributions, avec Nixos, vous avez une ISO sur un bâton USB. Vous avez des choix sur la façon dont vous souhaitez installer Nixos sur votre distribution. Cependant, avant de discuter de ce sujet plus en détail, il est important de comprendre qu'il existe deux parties légèrement déroutantes de ce processus.

Tout d'abord, Nix est différent de Nixos, et vous devez comprendre la différence entre Nix, le gestionnaire de packages et Nixos, qui configure votre système. Vous pouvez télécharger le gestionnaire de packages NIX et l'utiliser sur votre système actuel. Avec lui, vous pouvez conserver de nombreuses versions d'applications sur votre système sans qu'ils interfèrent les uns avec les autres.

Deuxièmement, avec Nixos, bien que vous ne puissiez pas déclarer le schéma de partitionnement, tout le reste peut être laissé dans un seul fichier. La plupart des utilisateurs laissent le fichier de configuration matérielle créé automatiquement seul. Lorsque vous commencez pour la première fois, vous pouvez garder vos packages déclarés dans le fichier, mais au fil du temps, vous ferez probablement des fichiers séparés que vous importez dans votre fichier de configuration.

Partitionnement

Avant l'installation, vous devez partitionner vos disques. Dans d'autres distributions, vous pouvez accepter par défaut; Cependant, avec Nixos, vous devez faire votre propre partitionnement. Le partitionnement n'est pas très complexe, mais vous pouvez avoir des problèmes lorsque vous devez définir votre configuration pour le schéma de partitionnement que vous choisissez. Il est important de comprendre que les instructions et les scripts préfèrent si vos systèmes de fichiers sont étiquetés correctement.

Le manuel standard montre les commandes de partitionnement. Notez que les commandes diffèrent pour un disque UEFI et MBR, et la définition des mauvaises valeurs causera de nombreux problèmes. Le manuel suggère d'utiliser les valeurs fournies ci-dessous pour l'installation initiale, mais il est vraiment facile de tester de nouvelles valeurs.

Partitions standard:
MBR:

Parted / dev / sda - Mklabel MSDOS
Parted / dev / sda - mkpart primaire 1mib -8gib
Parted / dev / sda - mkpart primaire linux-swap -8gib 100%

Uefi:

Parted / dev / sda - mklabel gpt
Parted / dev / sda - mkpart primaire 512mib -8gib
Parted / dev / sda - mkpart primaire linux-swap -8gib 100%
Parted / dev / sda - Mkpart ESP FAT32 1MIB 512MIB
Parted / dev / sda - réglez 3 ESP sur

Montant les partitions dans MBR:

mkswap -l swap / dev / sda2
mont / dev / disque / by-label / nixos

Montant les partitions en UEFI:

mont / dev / disque / by-label / nixos / mnt
mkdir -p / mnt / botter
mont / dev / disque / par-label / démarrage / mnt / botter

La section suivante vous montrera comment créer votre fichier de configuration.

Le fichier de configuration

Une fois que vous avez configuré vos disques, vous pouvez démarrer le processus de configuration. Avec Nixos, vous configurez d'abord puis installez. Les instructions suivantes supposent que vous avez démarré en utilisant l'ISO, mais vous pouvez démarrer avec Chroot.

Avec Nixos-Generate-Config, le système génère un fichier de configuration standard.

$ Nixos-Generate-Config -Root / Mnt

Cette commande crée deux fichiers: / mnt / etc / nixos / matériel-configuration.Nix (vous ne modifiez pas ce fichier) et / mnt / etc / nixos / configuration.rien. Vous pouvez modifier le deuxième fichier de votre éditeur préféré.

Habituellement, les options ne changent pas en fonction de la méthode utilisée pour démarrer. Vous pouvez utiliser Grub ou une autre configuration de démarrage. Il existe de nombreuses options, mais voici quelques normes.

Ajoutez cette ligne pour MBR uniquement:

botte.chargeur.ver.device = "dev / sda";

Ajoutez ces lignes pour UEFI uniquement:

botte.chargeur.systemd-boot.activer = true;
botte.chargeur.EFI.cantouchefivariables = true;

Modifier les fichiers de configuration le moins possible pour démarrer. Ces valeurs sont toutes dans le fichier d'origine: il suffit de les commander et d'apporter des modifications pour répondre à vos besoins.

la mise en réseau.hostname = "Nixos";
utilisateurs.utilisateur.Nixos =
ISNormalUser = true;
extragroups = "roue"

environnement.systemPackages = avec pkgs [
wget vim
]]
prestations de service.opensh.activer = true;

Ajouter les packages que vous souhaitez utiliser comme packages standard. Tous les forfaits standard vont dans les carrés avec WGET et VIM. Vous pouvez installer plus de packages une fois le système exécuté.

Bâtiment

Une fois votre fichier de configuration correct, vous pouvez exécuter l'installation.

$ nixos-stall

Ensuite, l'installateur demandera un mot de passe racine qui sera utilisé sur le système réel. Tous les programmes seront compilés ou téléchargés à partir de Cache.nixpkgs.org puis installé dans le magasin Nix sur votre ordinateur. Ensuite, vous pouvez redémarrer, et vous devriez obtenir une invite de connexion.

$ redémarrer

Maintenant, fournissez un mot de passe à votre utilisateur en utilisant root. L'utilisateur que vous avez défini dans le fichier de configuration aura également un répertoire domestique.

Nouvelle configuration

Une fois que vous avez terminé les étapes ci-dessus, vous pouvez jouer avec le fichier de configuration. Lorsque vous changez quelque chose, essayez-le sans l'installer comme suit:

$ Nixos-Rebuild Test

Une fois que vous avez bien de nouvelles valeurs qui fonctionnent bien, exécutez la commande Rebuild:

$ Nixos-Rebuild Switch

Maintenant, vous verrez si vous avez réglé correctement les valeurs de démarrage. Il est important de noter que les modifications de la configuration sont réversibles. Vous pouvez simplement redémarrer et choisir une ancienne version, qui s'appelle une génération, et réessayer. Cependant, chaque configuration nécessite un espace disque, alors assurez-vous que vous connaissez la fonction de collecte des ordures.

Conclusion

Nixos a besoin de quelques étapes manuelles à configurer, mais vous pouvez revenir à un système en cours d'exécution beaucoup plus rapidement qu'avec d'autres systèmes. De plus, le contrôle de la version est plus facile si vous avez besoin de nombreuses versions de la même application ou si vous avez besoin de nombreuses versions des mêmes bibliothèques. À première vue, il peut sembler y avoir de nombreuses limites, mais ces limitations peuvent être surmontées avec les parties les plus avancées du système.