title: Zero Install
text: # Zero Install
  
  Zero Install è un sistema per l'esecuzione di applicazioni su sistemi Linux e Unix-like in genere ed è il gestore di pacchetti predefinito del ROX Desktop. Caratteristica peculiare è che l'installazione del software avviene in modalità trasparente all'utente, cioè lo scaricamento del pacchetto, la risoluzione delle dipendenze e l'installazione vengono gestiti in modo autonomo da Zero Install.
  
  ## Modalità di funzionamento
  
  I programmi vengono identificati con un URI. Per editare un file, per esempio, non si userà "vim testo.txt" ma "http://www.vim.org/vim testo.txt".
  
  La prima volta che l'utente accede ad un programma, Zero Install scarica il pacchetto e le dipendenze necessarie da internet e (se così impostato) lo registra nella cache per evitare di scaricarlo nuovamente agli accessi successivi. I pacchetti solitamente vengono distribuiti in formato application directory, cioè in un'unica directory contenente tutti i file dell'applicazione, documentazione e sorgenti compresi. L'accesso al pacchetto comporterà l'esecuzione del programma in esso contenuto.
  
  Originariamente Zero Install era composto da due parti distinte: un modulo per il kernel linux, che simulava un file system virtuale (chiamato lazyfs) che conteneva tutti i pacchetti disponibili, e Zero Install, un processo demone che scaricava il software su richiesta. Il sistema è poi stato sostituito da un insieme di tool sviluppati in Python e PyGTK, chiamato Injector, che attinge ai pacchetti da un repository decentralizzato.
  
  Questo sistema è progettato per convivere pacificamente con gli altri sistemi di gestione dei pacchetti e può quindi venire installato in parallelo al sistema di gestione pacchetti predefinito.
  
  ## Caratteristiche
  
  L'approccio inusuale adottato da Zero Install comporta dei vantaggi e degli svantaggi:
  
  * non è necessario l'accesso di root per poter usare nuovi programmi: i pacchetti vengono installati in directory utente;
  * ogni installazione è locale all'utente che ha richiamato il relativo programma: possono convivere più versioni dello stesso programma associate ad utenti diversi;
  * poiché non è richiesto l'accesso di root può rivelarsi difficile impostare delle restrizioni supplementari agli utenti (un tipico esempio è un sistema basato su kiosk);
  * l'uso di URI per il richiamo di programmi non è intuitivo: l'impostazione di segnalibri con 0alias può comunque mitigare il problema.
  