La gestione del software su Linux

La gestione del software sul sistema operativo Linux si basa sul metodo dei pacchetti che garantisce vantaggi in termini di facilità di utilizzo per l'utente finale e di sicurezza.

La differenza tra software statico e pacchetti

Quando si installa un software su Windows, devo sperare che il SW sia stato testato per funzionare sulla mia versione del s.o. che utilizzo, non interagisca con gli altri software che ho installato e non sia un malware.

Come funziona il software statico

Durante l'installazione ogni software scarica le librerie di programmi e driver necessari per funzionare, perché lo sviluppatore non può sapere se sono già installate o meno sul sistema dell'utente.

j

Questa tipologia di SW è detta software statico.

Esempio. Il software 1 installa la libreria A e B. Il software 2 installa la libreria A e B. Quindi, sul computer ci saranno due librerie A.

Col passare del tempo il sistema si riempie di elementi installati non utilizzati e ridondanze che causano uno spreco delle risorse del sistema.

Inoltre, per aggiornare le librerie è necessario lanciare l'aggiornamento da ciascun programma.

Nota. A volte non è nemmeno facile disinstallare completamente un programma, perché restano nel sistema delle tracce anche dopo la disinstallazione.

Gran parte di questi problemi sono superati con la gestione a pacchetto.

Come funziona la gestione dei pacchetti su Linux

Quando un programmatore sviluppa un software open-source su Linux, rilascia pubblicamente il codice sorgente e una documentazione.

Cos'è il codice sorgente? E' la lista delle istruzioni usate nel programma.

Pertanto, tutti possono vedere quali librerie ha utilizzato per scrivere il programma. Se ci fosse del codice malevolo, sarebbe immediatamente visibile agli altri sviluppatori.

il processo di sviluppo a pacchetti di Linux

Successivamente il software giunge ai manutentori dei pacchetti ( o package manager ) nelle varie distribuzioni Linux.

A loro spetta il compito di compilare il codice sorgente, creare il programma eseguibile sotto forma di pacchetto e testarlo nella distro.

il funzionamento del software a pacchetto

Ogni pacchetto include la descrizione dell'applicazione, la versione, la lista degli altri pacchetti da cui dipende ( detti "dipendenze" ).

Le librerie sono condivise

Nel pacchetto del programma eseguibile non c'è nessuna libreria statica.

Le librerie sono separate in altri pacchetti a se stanti.

Quali sono i vantaggi? In questo modo, su Linux più programmi possono condividere la stessa libreria. Inoltre, per aggiornare una libreria, basta aggiornare il suo pacchetto e la modifica è immediatamente operativa su tutti i software che la utilizzano. Infine, si evitano le ridondanze e lo spreco di risorse nel sistema. Ad esempio, il software 1 e 2 utilizzano la stessa libreria A sotto forma di pacchetto.

Dopo aver superato i test, il pacchetto del programma eseguibile viene aggiunto nel software repository.

come funziona il software repository

Cos'è il repository? Il repository è un file server dove sono presenti tutti i software di una distribuzione Linux. Gli altri sviluppatori possono scaricare il codice sorgente ( pull ) dal repository, migliorare il pacchetto e reinserirlo nel repository ( push ). E così via.

A questo punto, il nuovo software è disponibile per gli utenti finali che possono scaricarlo e installarlo sul proprio PC.

Quando l'utente deve installare il software, utilizza un gestore applicazioni.

il funzionameno del gestore applicazioni

Come funziona il gestore applicazioni? Il gestore applicazioni verifica quali paccchetti dipendenze richiede il software per l'installazione e quali sono già installati sul PC dell'utente. Poi installa soltanto i pacchetti mancanti. Ad esempio, l'utente ha già installato il software 2 e ora vuole installare il software 1. Durante l'installazione il gestore applicazioni scarta il package A perché è già presente sul PC dell'utente.

Gli utenti più esperti possono installare anche i singoli pacchetti tramite il gestore pacchetti.

In questo modo l'utente può personalizzare le librerie sul proprio PC.

il funzionamento del gestore pacchetti

Qual è la differenza tra gestore applicazioni e gestore pacchetti? Il gestore applicazioni è più semplice perché installa automaticamente tutti i pacchetti dipendenze di un software. Il gestore pacchetti invece installa soltanto il pacchetto richiesto dall'utente, uno alla volta.

Quali sono i vantaggi per l'utente finale?

Dal punto di vista dell'utente finale la gestione a pacchetti ha i seguenti vantaggi:

  1. La sicurezza. Uno dei vantaggi del repository è la sicurezza per l'utente finale, perché i pacchetti sono stati già verificati e certificati dal gestore dei pacchetti della distribuzione. Inoltre, nel download del pacchetto è anche eseguito un controllo del valore MD5 per evitare che venga modificato da terzi durante lo scaricamento.
  2. La compatibilità del software. Se il software ha funzionato sul sistema operativo del manutentore, allora funzionerà anche su quello dell'utente finale, perché l'ambiente e la procedura di installazione e configurazione sono le stesse.
  3. L'aggiornamento automatico. Il gestore dei pacchetti di Linux verifica automaticamente nel repository se sono disponibili gli aggiornamenti dei pacchetti installati sul PC e propone all'utente l'aggiornamento.
  4. La disinstallazione è completa. Il gestore dei pacchetti registra ogni azione dei pacchetti installati. E' quindi in grado di rimuovere ogni traccia durante la disinstallazione.

E se l'aggiornamento del pacchetto non funziona?

I manutentori testano il pacchetto sulle funzionalità della distro in configurazioni pulite del sistema operativo per rilasciare una versione standard.

Quindi, può comunque capitare che si presentino errori, bug, incompatibilità e conflitti con altri pacchetti in qualche sistema utente.

In caso di problemi, l'utente può sempre scaricare dal repository una delle versioni precedenti del pacchetto.

In questo modo, se un aggiornamento crea problemi, si può tornare al precedente.

il software repository

Inoltre, se un pacchetto aggiornato non funziona, la notizia si diffonde rapidamente nella comunità GNU/Linux e sarà risolto in breve tempo da qualche sviluppatore.

Nota. Essendo un pacchetto open-source, può intervenire chiunque. Non necessariamente lo sviluppatore che l'ha ideato. E' uno dei principali vantaggi del software open-source.

Una volta risolto, il codice sorgente del pacchetto viene rilasciato pubblicamente, analizzato dai manutentori e messo a disposizione degli utenti.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

Libri di approfondimento

Il software su Linux