domenica 19 settembre 2010

apt-get: come avviene la gestione dei software su Ubuntu

Per chi non conoscesse il meccanismo di aggiornamento di Ubuntu, vi spiego come avviene. Alla base di tutto esistono dei server chiamati repository che contengono, sostanzialmente, due file:

  • Un file contenente la lista dei pacchetti (nome, versione, dipendenze,...);
  • Tutti i pacchetti binari;
Un pacchetto binario è chiamato così perchè non è costituito da un insieme di file di testo (sorgenti) che vanno a descrivere il comportamento del programma in un linguaggio più lontano da quello della macchina, ma da un codice detto codice macchina.
In tal modo si è superato un grande ostacolo: la distribuzione dei software su Linux. Un tempo bisognava scaricare i sorgenti e compilarli ed installarli a mano, cosa non molto semplice: date le molteplici dipendenze, cioè il richiamo ad altro codice sorgente NON contenuto all'interno del software che si vuole compilare, alla fine si era costretti a dover compilare e configurare moltissima roba. Il vantaggio di compilare il sorgente sul proprio computer è quello di avere un notevole miglioramento delle performance poichè il codice macchina generato dal compilatore veniva creato sull'impronta del nostro processore.

Finita questa piccola digressione passiamo a Debian. Debian è una famosissima distribuzione Linux che offre un sistema di pacchetti precompilati (binari) direttamente scaricabili dai repository.
Nella nostra macchina esiste, infatti, una lista di repository da contattare sia per scaricare dei pacchetti, sia per aggiornare quelli già installati. Quando, ad esempio, digitiamo
sudo apt-get update
chiediamo ad Ubuntu di sincronizzare la nostra lista dei pacchetti con quelle di tutti i repository memorizzati sul nostro computer. Quando invece digitiamo
sudo apt-get upgrade
chiediamo al sistema operativo (o meglio ad apt-get che è uno dei software per gestire i pacchetti) di aggiornare tutti i nostri pacchetti installati di cui è presente una nuova versione su uno (o più) repository. In genere viene scelta sempre la versione più recente.
La stessa cosa avviene quando digitiamo
sudo apt-get install nomeprogramma
apt-get cerca quale repository ha il pacchetto chiamato nomeprogramma, lo scarica e lo installa.
Lo stesso meccanismo viene utilizzato da Synaptic o Ubuntu Software Center, solo che cambia la modalità di visualizzazione dei pacchetti.
Infine il comando più gettonato di questo blog:
sudo add-apt-repository ppa://repository
tramite questo comando, recentemente introdotto, è possibile aggiungere un nuovo repository alla lista dei repository già presenti nel nostro sistema.
Spero di essere stato abbastanza esplicativo e conciso!!!Buona installazione!!!
P.S. Il comando sudo è necessario per ottenere i diritti di amministratore: molte aree del sistema operativo (cioè tutte, tranne la home dell'utente loggato) sono riservate ad un utente speciale chiamato root. Dato che sia la lista dei pacchetti, sia i programmi sono contenuti in aree "riservate" è necessario ottenere i privilegi di root.

Nessun commento:

Posta un commento