J'utilise Windows (fourni par l'entreprise) pour le travail, MacBook Pro (donné par un ami) pour un usage quotidien et Manjaro Linux (donné par un responsable de l'entreprise) pour l'expérimentation, qui sont tous des gestionnaires de paquets. J'utilise nix. (Cependant, Windows utilise Nix dans Ubuntu sur WSL2)
La raison pour laquelle j'utilise Nix au lieu d'utiliser tranquillement apt et homebrew est
J'en suis content.
Je veux que Nix devienne plus populaire, je vais donc vous montrer comment installer Nix Package Manager et comment utiliser les commandes de base.
Linux
$ sh <(curl -L https://nixos.org/nix/install)
Une mise en garde est qu'il ne peut pas être utilisé avec une coquille de poisson.
macOS
$ sh <(curl -L https://nixos.org/nix/install) --darwin-use-unencrypted-nix-store-volume
Dans ~ / .bashrc
pour définir les variables d'environnement nécessaires pour utiliser nix sur Linux et Mac
if [ -e $HOME/.nix-profile/etc/profile.d/nix.sh ]; then
. $HOME/.nix-profile/etc/profile.d/nix.sh;
fi
Ajoutons.
Tout d'abord, vous devez vous abonner à la chaîne de paquets Nix pour l'utiliser.
Utilisez la commande nix-channel
pour faire fonctionner le canal.
$ nix-channel --add https://nixos.org/channels/nixpkgs-unstable
$ nix-channel --update
nix-channel --update
est comme sudo apt update
.
La commande principale pour la gestion des paquets est nix-env
.
Vous pouvez utiliser nix-env
pour installer, mettre à niveau, supprimer, rechercher des packages, etc.
Vous pouvez parcourir tous les paquets installables avec nix-env -qa
.
La même chose est vraie pour nix-env --query --available
.
$ nix-env -qa
aterm-2.2
bash-3.0
binutils-2.15
bison-1.875d
blackdown-1.4.2
bzip2-1.0.2
...
Vous pouvez rechercher un package spécifique en mettant le nom du package après -qa
.
$ nix-env -qa firefox
firefox-68.11.0esr
firefox-78.1.0esr
firefox-79.0
Vous pouvez également utiliser des expressions régulières pour la recherche.
$ nix-env -qa 'firefox-.*'
Vous pouvez installer le paquet avec nix-env -i
ou nix-env --install
.
Au fait, vous n'avez pas besoin de sudo
. Les packages installés sont installés par l'utilisateur et non par le système. Il n'y a (probablement) aucun impact sur l'ensemble du système.
$ nix-env -i subversion
Vous pouvez vérifier tous les paquets installés avec nix-env -q
.
$ nix-env -q
nix-2.3.7
subversion-1.12.2
Vous pouvez mettre à jour votre environnement avec nix-env -u
ou nix-env --upgrade
.
Lors de la mise à niveau d'un package spécifique,
$ nix-env -u subversion
Lors de la mise à niveau de tous les packages installés
$ nix-env -u
Vous pouvez désinstaller le paquet avec nix-env -e
ou nix-env --erase
.
nix-env -e subversion
uninstalling 'subversion-1.12.2'
rollback
Nix crée une génération pour votre environnement chaque fois que vous ajoutez ou supprimez un package. Et vous pouvez revenir à ces générations à tout moment.
Par exemple, il est utile lorsque vous avez installé un package et que vous avez un bogue et que vous souhaitez le restaurer avant l'installation qui a bien fonctionné.
Vérifier les générations nix-env --list-generations
$ nix-env --list-generations
1 2020-08-03 23:36:12
2 2020-08-06 19:15:43
3 2020-08-06 19:55:13
4 2020-08-09 18:33:59
5 2020-08-09 18:34:46 (current)
(current)
est l'environnement actuel.
Utilisez nix-env --rollback
pour revenir à l'environnement précédent.
$ nix-env --rollback
switching from generation 5 to 4
$ nix-env --list-generations
1 2020-08-03 23:36:12
2 2020-08-06 19:15:43
3 2020-08-06 19:55:13
4 2020-08-09 18:33:59 (current)
5 2020-08-09 18:34:46
Pour passer à une génération spécifique, utilisez nix-env --switch-generation
.
$ nix-env --switch-generation 2
switching from generation 4 to 2
Recommended Posts