
L'installazione di software su Linux comporta gestori di pacchetti e repository software, non il download e l'esecuzione di file .exe da siti Web come su Windows. Se non conosci Linux, questo può sembrare un drammatico cambiamento culturale.
Mentre puoi compilare e installare tutto da solo su Linux, i gestori di pacchetti sono progettati per fare tutto il lavoro per te. L'uso di un gestore di pacchetti semplifica l'installazione e l'aggiornamento del software rispetto a Windows.
Linux vs Windows
Esiste un'ampia varietà di distribuzioni Linux e un'ampia varietà di gestori di pacchetti. Linux è costruito da software open source, il che significa che ogni distribuzione Linux compila il proprio software con le versioni di libreria e le opzioni di compilazione desiderate. Compilare le applicazioni Linux in genere non vengono eseguite su tutte le distribuzioni, anche se potessero, l'installazione sarebbe ostacolata da formati di pacchetti concorrenti. Se si individua il sito Web di un'applicazione Linux, è possibile che vengano visualizzati numerosi collegamenti di download per diversi formati di pacchetto e Linux distribuzioni – supponendo che il sito Web dell'applicazione fornisca versioni precompilate. L'applicazione potrebbe richiedere di scaricare il codice sorgente e compilarlo da soli.

Archivi software
Gli utenti Linux normalmente non scaricano e installano applicazioni dai siti Web delle applicazioni, come fanno gli utenti Windows. Invece, ogni distribuzione Linux ospita i propri repository software. Questi repository contengono pacchetti software appositamente compilati per ogni distribuzione e versione di Linux. Ad esempio, se stai usando Ubuntu 12.04, i repository che utilizzi contengono pacchetti appositamente compilati per Ubuntu 12.04. Un utente Fedora utilizza un repository pieno di pacchetti appositamente compilati per la propria versione di Fedora.

Gestori di pacchetti
Pensa a un gestore di pacchetti come a un app store per dispositivi mobili, tranne per il fatto che esistevano molto prima degli app store. Di 'al gestore di pacchetti di installare il software e scaricherà automaticamente il pacchetto appropriato dai suoi archivi software configurati, lo installerà e lo configurerà, il tutto senza che tu debba fare clic su procedure guidate o cercare file .exe sui siti Web. Quando viene rilasciato un aggiornamento, il gestore pacchetti nota e scarica l'aggiornamento appropriato. A differenza di Windows, dove ogni applicazione deve avere un proprio programma di aggiornamento per ricevere aggiornamenti automatici, il gestore pacchetti gestisce gli aggiornamenti per tutto il software installato, supponendo che siano stati installati dai repository software.

Che cos'è un pacchetto?
A differenza di Windows, dove le applicazioni arrivano in file di installazione .exe che possono fare tutto ciò che vogliono sul sistema, Linux utilizza formati di pacchetti speciali. Esistono vari tipi di pacchetti, in particolare DEB su Debian e Ubuntu e RPM su Fedora, Red Hat e altri. Questi pacchetti sono essenzialmente archivi contenenti un elenco di file. Il gestore pacchetti apre l'archivio e installa i file nella posizione specificata dal pacchetto. Il gestore pacchetti rimane a conoscenza di quali file appartengono a quali pacchetti: quando si disinstalla un pacchetto, il gestore pacchetti conosce esattamente quali file sul sistema appartengono ad esso. Windows non ha idea di quali file appartengano a un'applicazione installata: consente agli installatori di gestire autonomamente l'installazione e la disinstallazione.
I pacchetti possono anche contenere script che vengono eseguiti quando il pacchetto viene installato e rimosso, sebbene questi vengano generalmente utilizzati per l'installazione del sistema e per non spostare i file in posizioni arbitrarie.

Installazione del software su Linux
Per installare il software su Linux, aprire il gestore pacchetti, cercare il software e dire al gestore pacchetti di installarlo. Il tuo gestore di pacchetti farà il resto. Le distribuzioni Linux offrono spesso una varietà di frontend al gestore dei pacchetti. Ad esempio, su Ubuntu, Ubuntu Software Center, Update Manager, l'applicazione Synaptic e il comando apt-get usano tutti apt-get e dpkg per scaricare e installare i pacchetti DEB. Puoi usare qualsiasi utility che ti piace – forniscono solo interfacce diverse. Troverai generalmente un semplice gestore di pacchetti grafico nei menu della tua distribuzione Linux.

Ritardi di aggiornamento
Una cosa che i nuovi utenti Linux notano spesso con i gestori di pacchetti e i repository è un ritardo prima che nuove versioni del software raggiungano i loro sistemi. Ad esempio, quando viene rilasciata una nuova versione di Mozilla Firefox, gli utenti Windows e Mac la acquisiranno da Mozilla. Su Linux, la tua distribuzione Linux deve impacchettare la nuova versione e inviarla come aggiornamento. Se apri la finestra delle preferenze di Firefox su Linux, noterai che Firefox non ha la possibilità di aggiornarsi automaticamente (supponendo che tu stia utilizzando la versione di Firefox dai repository della tua distribuzione Linux).

Puoi anche scaricare e installare tu stesso l'applicazione, ad esempio scaricando Firefox direttamente da Mozilla, ma ciò potrebbe richiedere la compilazione e l'installazione del software dall'origine e la rimozione dei vantaggi dei gestori di pacchetti, come aggiornamenti di sicurezza automatici e centralizzati.
Mentre le nuove versioni di Firefox sono una priorità perché contengono aggiornamenti di sicurezza, altre applicazioni potrebbero non essere consegnate così rapidamente. Ad esempio, una nuova versione principale della suite per ufficio LibreOffice potrebbe non essere mai rilasciata come aggiornamento per la versione corrente della tua distribuzione Linux. Per evitare la potenziale instabilità e concedere tempo per i test, questa versione potrebbe non essere disponibile fino alla prossima versione principale della distribuzione Linux, ad esempio Ubuntu 12.10, quando diventerà la versione predefinita nei repository software della distribuzione.
Per risolvere questo problema, alcune distribuzioni Linux, come Arch Linux, offrono “cicli di rilascio progressivi”, in cui le nuove versioni del software vengono inserite nei principali repository software. Ciò può causare problemi: anche se potresti desiderare nuove versioni di applicazioni desktop, probabilmente non ti interessano le nuove versioni di utilità di sistema di basso livello, che potrebbero potenzialmente causare instabilità.
Ubuntu offre il repository di backport per portare le versioni più recenti di pacchetti significativi nelle distribuzioni più vecchie, anche se non tutte le nuove versioni arrivano al repository di backport.
Altri repository
Mentre le distribuzioni Linux vengono fornite con i propri repository preconfigurati, è anche possibile aggiungere altri repository al proprio sistema. Una volta che hai, puoi installare repository software da quel repository e ricevere aggiornamenti da esso usando il tuo gestore pacchetti. Il repository che aggiungi deve essere progettato per la tua distribuzione Linux e gestore pacchetti.
Ad esempio, Ubuntu offre un'ampia varietà di archivi di pacchetti personali (PPA), che contengono software compilato da singoli e team. Ubuntu non garantisce la stabilità o la sicurezza dei pacchetti in questi repository, ma puoi aggiungere PPA da persone fidate per scaricare pacchetti non ancora nel repository di Ubuntu – o scaricare versioni più recenti di pacchetti esistenti.
Alcune applicazioni di terze parti utilizzano anche i propri repository di software. Ad esempio, quando installi Google Chrome su Ubuntu, aggiunge il suo repository apt al tuo sistema. Questo ti garantisce di ricevere aggiornamenti su Google Chrome tramite l'Update Manager di Ubuntu e gli strumenti standard di installazione del software.

