Profiles
Les profiles sont là pour isoler la configuration de chaque utilisateur·ice et permettre de revenir en arrière à tout moment. Chaque profile (et chaque génération de ce profile est un raccourcis vers /nix/var/nix/profiles/
.
A chaque changement dans l'environement de l'utilisateur·ice (avec nix-env
par exemple), une nouvelle génération est crée depuis la précédente.
Pour illustrer tout ceci, voici ce qu'il se passe lorsque Carol installe Svn :
- La dérivation est installée dans le Nix store (soit en la compilant soit en la téléchargeant depuis le cache)
- Une nouvelle dérivation est crée depuis la génération précédente de Carol, dans cette nouvelle dérivation
svn
est lié dans un dossierbin
(pour imiter la structure des fichiers de Linux) - Cette nouvelle dérivation est liée dans le dossier
/nix/var/nix/profiles
comme une nouvelle dérivation de Carol (par exemplecarol-24-link
) - Cette nouvelle dérivation est liée dans le profile de carol (
carol
) - Enfin le profile de carol est liée dans son dossier
~/.nix-profile
- Enfin tous les fichiers dans
~/.nix-profile/bin
sont ajouté à son$PATH
pour être accessible à Carol. Carol peut maintenant utiliser Svn.
Maintenant lorsque Carol veut rollback vers sa génération précédente, il suffit simplement de remplacer le lien de carol
vers carol-23-link
à la place de carol-24-link
.
Ainsi faire un rollback se fait en une seule opération. Par contre ce système à le désavantage de prendre beaucoup de place car rien n'est supprimé. Dans la page suivante, nous allons voir comment le "garbage collector" fonctionne pour pouvoir faire de la place.
No comments to display
No comments to display