GNU/Linux >> Linux Esercitazione >  >> Linux

Nix:un potente gestore di pacchetti per Linux e Unix

Tempo fa abbiamo scritto di Linuxbrew , un gestore di pacchetti comune per Linux e Mac OS X. La caratteristica distintiva di Linuxbrew è che puoi installare pacchetti senza root o sudo privilegio. Oggi, in questa guida, parleremo dell'ennesimo gestore di pacchetti simile. Incontra Nix , un gestore di pacchetti puramente funzionale e affidabile per Linux e altre varianti di Unix. A differenza di altri gestori di pacchetti, fornisce l'installazione affiancata di più versioni dello stesso pacchetto, supporto atomico e rollback, gestione dei pacchetti per utente, configurazione semplice degli ambienti di sviluppo dei pacchetti e molto altro. Il gestore di pacchetti Nix è stato originariamente sviluppato per NixOS , una distribuzione GNU/Linux con un approccio unico alla gestione dei pacchetti e della configurazione. NixOS è stato inizialmente avviato come progetto di ricerca da Eelco Dolstra nel 2003.

Caratteristiche

Il gestore di pacchetti Nix è leggermente diverso dagli altri gestori di pacchetti Linux in termini di funzionalità e caratteristiche. Per quanto riguarda le caratteristiche, possiamo elencare quanto segue:

  • Sistema di gestione dei pacchetti multiutente. Ciò significa che ogni utente nel sistema può avere un insieme diverso di pacchetti installati.
  • Gli utenti possono installare pacchetti senza privilegi utente root o sudo.
  • Il gestore di pacchetti Nix archivia i pacchetti nel negozio Nix , di solito la directory /nix/store . Ogni pacchetto ha la propria sottodirectory univoca. Ad esempio, il pacchetto gzip verranno archiviati in una directory univoca /nix/store/c5y9w08xkiz6kvnscpjv3205gyr6iybz-gzip-1.8/ insieme a tutte le dipendenze e le librerie richieste.
  • Utenti diversi possono avere versioni diverse dello stesso pacchetto installate contemporaneamente. È utile per gli sviluppatori che desiderano testare le proprie applicazioni create con versioni diverse di pacchetti e dipendenze.
  • Poiché tutti i pacchetti sono installati in directory univoche, un utente non può interferire (come rimuovere, aggiornare o aggiornare i pacchetti) con i pacchetti installati da un altro utente. Inoltre, l'aggiornamento o l'aggiornamento di un pacchetto non influisce sull'altra versione dello stesso pacchetto o sulle sue dipendenze.
  • È possibile eseguire il rollback dei pacchetti alle versioni precedenti.
  • Supporto per l'aggiornamento atomico. Significa che quando aggiorni un pacchetto, questo non sovrascrive la versione esistente. Ogni nuova versione verrà archiviata in una nuova directory univoca. Poiché il pacchetto non viene sovrascritto, le vecchie versioni sono ancora disponibili anche dopo un aggiornamento.
  • I pacchetti inutilizzati possono essere rimossi in sicurezza.
  • Gestione pacchetti compatibile con DevOps. Nix aiuta gli utenti a creare pacchetti dai sorgenti, se non sono ancora disponibili nei repository. Quindi, Nix è estremamente utile per gli sviluppatori in quanto semplifica la configurazione automatica dell'ambiente di compilazione per un pacchetto.
  • Il gestore di pacchetti Nix può essere utilizzato in GNU/Linux e Mac OS X.

Ora vedremo come installare Nix Package Manager in sistemi operativi simili a Unix.

Installa il gestore di pacchetti Nix in Linux

Installare il gestore di pacchetti Nix è banale.

Per installarlo sul tuo box Linux, esegui come utente normale:

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

Risultato di esempio:

 % Totale % Ricevuto % Xferd Velocità media Tempo Tempo Tempo Caricamento corrente Caricamento Totale speso Velocità residua 100 2354 100 2354 0 0 833 0 0:00:02 0:00:02 --:--:-- 833 download Nix 1.11.9 tarball binario per x86_64-linux da 'https://nixos.org/releases/nix/nix-1.11.9/nix-1.11.9-x86_64-linux.tar.bz2' a '/tmp/nix- binary-tarball-unpack.SoCHJhv4Vz'... % Totale % Ricevuto % Xferd Velocità media Tempo Tempo Tempo Corrente Caricamento Caricamento Totale speso Velocità sinistra 100 27.3M 100 27.3M 0 0 525k 0 0:00:53 0:00:53 - -:--:-- 248k eseguendo un'installazione per utente singolo di Nix... la directory /nix non esiste; creandolo eseguendo 'mkdir -m 0755 /nix &&chown sk /nix' usando sudo [sudo] password per sk:copiando Nix in /nix/store............... ..............inizializzazione del database Nix... creazione di /home/sk/.nix-profile installazione di 'nix-1.11.9' percorsi di costruzione '/nix/store/7dv1lghxz40rbvv9ffg7fq2as972a4r7 -user-environment' ha creato 6 collegamenti simbolici nell'ambiente utente scaricando le espressioni Nix da 'https://d3g5gsiof5omrk.cloudfront.net/nixpkgs/nixpkgs-17.09pre108299.ec9a23332f/nixexprs.tar.xz'... scaricando 'https:// d3g5gsiof5omrk.cloudfront.net/nixpkgs/nixpkgs-17.09pre108299.ec9a23332f/nixexprs.tar.xz'... [7625/8656 KiB, 403.0 KiB/s] decompressione dei canali... creato 2 collegamenti simbolici nell'ambiente utente modificando /home/ sk/.bash_profile...Installazione terminata! Per assicurarsi che le variabili di ambiente necessarie siano impostate, eseguire nuovamente il login o digitare. /home/sk/.nix-profile/etc/profile.d/nix.shin la tua shell.

Dopo aver installato Nix, disconnettersi e riconnettersi al sistema per verificare che le variabili di ambiente necessarie siano impostate correttamente. In alternativa, esegui il seguente comando dal Terminale per verificarlo.

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

Si noti che all'inizio è presente un punto (.). Se non vedi alcun output, hai finito! Il gestore di pacchetti Nix è stato installato correttamente sul tuo sistema. Inoltre, aggiungi la riga sopra al tuo profilo PATH per evitare di eseguire il comando sopra ogni volta dopo aver effettuato l'accesso al tuo sistema.

Per farlo, modifica ~/.profile o ~/.bashrc (o simili):

$ vi ~/.bashrc

Aggiungi la riga seguente alla fine.

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

Salva e chiudi il file. Riavvia il tuo sistema. Ora, non devi eseguire il comando sopra ogni volta dopo aver effettuato l'accesso al tuo sistema.

Il seguente tutorial spiega come utilizzare il gestore di pacchetti Nix per eseguire operazioni generali di gestione dei pacchetti come l'installazione, la rimozione, l'aggiornamento, l'aggiornamento e la creazione di pacchetti.

  • Introduzione a Nix Package Manager

Linux
  1. Qual è il tuo gestore di pacchetti Linux preferito?

  2. Installazione e utilizzo di Homebrew Package Manager su Linux

  3. Linuxbrew:un gestore di pacchetti comune per Linux e Mac OS X

  4. Fotoxx:un editor di foto e un gestore di raccolte per Linux

  5. NordPass – Un potente gestore di password per Linux

Iniziare con Nix Package Manager

Come scoprire se un pacchetto è installato o meno in Linux e Unix

Guida di Midnight Commander (mc):potente file manager basato su testo per Unix

UNIX / Linux:come installare e configurare mod_perl per Apache 2

Motrix:un gestore di download gratuito e open source per Linux

OpenShot:un editor video semplice e potente per Linux