NixOS

Come usare NixOS Package Manager?

Come usare NixOS Package Manager?
Il gestore di pacchetti NixOS è un sistema a sé stante. Puoi usarlo sotto qualsiasi distribuzione Linux.

Cosa fa NixOS Package Manager??

La maggior parte dei gestori di pacchetti utilizza un file che contiene l'eseguibile o il codice sorgente. Quindi calcolano ciò di cui ha bisogno sul sistema e quindi si assicurano che esista. In Nix, le cose funzionano in modo molto simile. La grande differenza è che Nix crea tutti i file e li compila se necessario, quindi li mette in un unico posto; il nix-store. La prima domanda che hai potrebbe essere: "I file non avranno lo stesso nome??” Il sistema evita ciò avendo una directory per ogni versione E nominando tutti i file con un hash. Per far "sentire a casa" l'applicazione, tutte le dipendenze vengono quindi collegate alle loro directory corrette utilizzando normali collegamenti simbolici. Un profilo tiene traccia della versione eseguita da ciascun utente.

Installazioni utente NixOS

Con questo sistema, puoi avere diverse versioni installate nella directory di ogni utente. Se sono gli stessi in più utenti, l'amministratore può consentire a Nix di ricollegare i binari, quindi ne esiste solo uno alla volta. Questo è utile per risparmiare spazio su disco. Puoi anche creare ambienti specifici per ogni versione del pacchetto. Ciò è particolarmente utile quando si desidera testare una nuova versione o sviluppare software.

Installazione per la distribuzione comune

Per le piattaforme più comuni, puoi installare Nix, il gestore di pacchetti con un semplice script. Questo script è disponibile sul sito web di Nix. Lo script avrà bisogno dell'accesso come utente root, ma se sei molto attento alla sicurezza, dovresti leggere lo script prima di usarlo. Se vuoi evitare di usare root nello script, crea semplicemente la directory /nix sul tuo sistema.

$ sh <(curl -L https://nixos.org/nix/install)

Se non hai accesso root o sei solo super cauto, puoi avere Nix come gestore di pacchetti solo utente.

$ sh <(curl -L https://nixos.org/nix/install) -no-daemon

Questo binario funziona bene per la maggior parte, se non per tutte, le distribuzioni. Le piattaforme sono x8664, i?86, aarch64 e x8664-darwin, che coprono quasi tutte le piattaforme disponibili. Se usi altre piattaforme, probabilmente puoi usare il codice sorgente e crearne uno tuo. Al termine dell'installazione, avrai un sacco di nuovi comandi.

Aggiungere il tuo primo programma a NixOS

Per installare il software e impostare quando può essere utilizzato, hai nix-env. L'opzione di installazione (-i) è la più comune poiché la usi sempre e inserisci un pacchetto come argomento.

$ nix-env -i firefox

Questo sembra lo stesso di altre distribuzioni, così come l'argomento della query. L'installazione richiederà un po' di tempo, però. Il motivo è che deve compilare il software a meno che non ci sia una versione precompilata nella Nix Cache. Anche raggiungere la cache non è sempre molto veloce. C'è una differenza di cui dovresti prendere nota; puoi scegliere una versione! Se vuoi una versione speciale, devi trovare quali sono disponibili usando le espressioni regolari.

$ nix-env -qa 'firefox'.*'

Riceverai un elenco di tutti i pacchetti disponibili. Puoi installarlo allo stesso modo ma usando il valore nell'elenco.

$ nix-env -install 'firefox-78'.4.0ser' -preserve-installato

Questo può fallire se hai già una versione installata. L'opzione '-preserve-installed' non cancellerà la versione installata. Potresti ritrovarti con due versioni della stessa priorità, che puoi correggere impostando la priorità.

$ nix-env -set-flag priorità 2 'firefox-82.0.2'

Ora eseguirai la vecchia versione al prossimo avvio di Firefox. Per cambiare quello che si esegue, è possibile impostare la priorità di conseguenza. Puoi anche avviare una shell per scegliere un binario. Questa è un'opzione per sviluppatori e il comando è nix-shell.

Aggiornamento di NixOS

Una volta che hai una raccolta di software, vuoi rimanere aggiornato. Come sempre, usi lo stesso comando con un argomento. Ma devi anche tenere aggiornato il canale. Il comando è nix-channel.

$ nix-channel -update

Questo legge le versioni correnti di tutti i pacchetti disponibili. Successivamente, puoi iniziare ad aggiornare il tuo software con nix-env.

$ nix-env -upgrade

Un aggiornamento come questo aggiornerà la tua vecchia versione del software. In questo caso, il vecchio Firefox verrà sostituito con la versione più recente. Potresti non volerlo per qualsiasi motivo, di solito lo sviluppo.

Rimozione di applicazioni da NixOS

Rimuovere le applicazioni è altrettanto semplice, con un piccolo avvertimento. Nessuna applicazione viene rimossa da un comando di rimozione.

$ nix-env -uninstall 'firefox-78'.4.0ser'

Questo comando rimuoverà i collegamenti alla build corrente di questa versione di Firefox. Tutti i file rimarranno sempre su disco. Hai queste versioni disponibili per eseguire un rollback. Un rollback significa che torni a utilizzare la vecchia versione. Questo può essere utile se hai provato il più recente e ha problemi imprevisti.

$ nix-env -rollback

Esegui il rollback di un'intera generazione, ovvero tutti i programmi che sono stati aggiornati dall'ultima generazione. L'opzione esegue due comandi; quella lista e poi passa a quelle vecchie generazioni. Tutti i pacchetti installati esistono in una generazione su disco.

NixOS roll-back e pulizia

La funzione di rollback porterà a molto spazio su disco utilizzato dalle vecchie versioni. Puoi ripulire questo (devi pulirlo!). Quando hai avuto un periodo abbastanza lungo, a tua scelta, puoi anche ripulire queste vecchie generazioni per risparmiare spazio su disco.

$ nix-env -delete-generas old

Con questo comando elimini tutte le generazioni tranne le ultime due. Puoi andare avanti e indietro nell'elenco con parametri più complessi per lasciare la generazione specifica che ha funzionato meglio per te. A meno che tu non abbia molti progetti di test o sviluppo che richiedono molte versioni per il test, dovresti usare una rimozione programmata di tutte le vecchie generazioni.

Un semplice script per mantenere pulite le tue generazioni viene fornito con un'installazione del gestore di pacchetti Nix.

$ nix-raccogli-spazzatura

Dovresti anche impostare il raccoglitore per l'esecuzione automatica utilizzando systemd o altri sistemi.

Conclusione

Nix Package Manager è un potente sistema che può farti eseguire ambienti di sviluppo complessi sulla tua macchina. Puoi anche usarlo per mantenere il tuo software in ordine e avere un modo semplice per ripristinarlo su una nuova macchina, nel caso si verificasse la catastrofe di un crash del disco.

I migliori giochi di laboratorio dell'app Oculus
Se possiedi un visore Oculus, devi essere informato sul sideloading. Il sideloading è il processo di installazione di contenuti non archiviati sul vis...
I 10 migliori giochi da giocare su Ubuntu
La piattaforma Windows è stata una delle piattaforme dominanti per i giochi a causa dell'enorme percentuale di giochi che si stanno sviluppando oggi p...
I 5 migliori giochi arcade per Linux
Al giorno d'oggi, i computer sono macchine serie utilizzate per i giochi. Se non riesci a ottenere il nuovo punteggio più alto, saprai cosa intendo. I...