It:Package Management

From Sabayon Wiki
Jump to: navigation, search

Gestione del software

La gestione del software in Linux è molto diversa da quella di altri sistemi, come per esempio Windows. Questa pagina serve a chiarificare e ad introdurre alcuni concetti fondamentali per la gestione dei pacchetti, evidenziando le problematiche di gestire il software in Linux e come Sabayon cerca di fornire gli strumenti necessari per rendere la gestione dei software nel vostro sistema semplice e immediata, senza però precludere la personalizzazione e la configurabilità del vostro PC.

Come si gestisce il software in una distribuzione Linux?

Ciascuna distribuzione adotta un metodo per la gestione dei programmi e delle librerie differente, anche se ognuna delle distribuzioni maggiori adotta strategie molto simili. In generale in ciascuna distribuzione esiste un programma che centralizza la gestione dei software installati. Un software in Linux non è necessariamente un "programma", molto spesso infatti potremmo installare una libreria, una utilità del terminale e cosi via... Infatti più in generale in Linux si parla di pacchetti. Chi si occupa di gestire i pacchetti viene chiamato gestore dei pacchetti, ed è in questo che le distribuzioni si differenziano maggiormente, ciascuna adotta un suo personale gestore dei pacchetti. Ogni gestore offre almeno la possibilità di aggiungere e rimuovere pacchetti. Ecco alcuni punti fondamentali in cui i vari gestori dei pacchetti si differenziano:

Dipendenze

Un pacchetto può dipendere da altri pacchetti, è il caso, per esempio di un programma e delle librerie da lui usate per funzionare, dato che molti programmi possono aver bisogno della stessa libreria, non avrebbe senso installare più volte la libreria, per cui, semplicemente, i programmi dipendono dalla libreria, se questa non è installata nel sistema, i programmi non funzioneranno. Il processo di assicurare che se si aggiunge un pacchetto, i pacchetti da cui esso dipende siano installati, si chiama risoluzione delle dipendenze ed è un punto cruciale di qualsiasi gestore dei pacchetti. Un gestore in generale può scegliere se:

  • risolvere le dipendenze automaticamente: il gestore si occupa automaticamente di installare i pacchetti da cui il pacchetto che stiamo cercando di installare dipende.
  • non affrontare il problema: il gestore non tiene conto delle dipendenze, è a carico di chi usa il sistema rispettarle (un approccio usato da pochi gestori, tra cui quello di Slackware)

Formato dei pacchetti

Non è detto che tutti i pacchetti siano nello stesso formato, data la versatilità di Linux è possibile decidere di strutturare il proprio gestore dei pacchetti in modi estremamente diversi. In generale si hanno due tipi diversi di formati:

  • pacchetti in formato binario: i pacchetti sono programmi o librerie precompilate per il proprio sistema, è il metodo più comune di ottenere i programmi in qualsiasi Sistema Operativo, si hanno versioni diverse del pacchetto per ciascuna architettura del processore supportata e viene scelta quella giusta per il proprio PC. In generale la scelta dell'architettura è effettuata e controllata direttamente dal gestore dei pacchetti.
  • pacchetti da sorgenti: i pacchetti non sono precompilati, ma vengono installati direttamente dai sorgenti, preoccupandosi di ottimizzare il programma appositamente per il proprio processore, rimuovere le caratteristiche indesiderate del pacchetto e, in generale, offrire il massimo della configurabilità del proprio sistema. Questo approccio, sebbene abbia enormi vantaggi, richiede anche molta esperienza da parte dell'utente e, talvolta, molte risorse, dato che compilare ciascun pacchetto può essere una operazione lunga e dispendiosa per il PC. In più la mole di configurazioni e ottimizzazioni possibili, oltre a disorientare un utente meno esperto, possono essere lunghe e difficili da gestire.

Forme per ottenere i pacchetti

Ci sono molti modi per ottenere e installare i pacchetti in Linux, è possibile sia scaricare ciascun pacchetto per poi installarlo, sia avere una lista di tutti i pacchetti disponibili per la propria distribuzione e scegliere quale installare. Gli approcci più comuni sono:

  • i pacchetti vengono installati localmente: il gestore dei pacchetti si preoccupa solo di installare un pacchetto che abbiamo scaricato, un po' come avviene in Windows. Quindi il gestore si preoccupa di tenere traccia solo di cosa abbiamo installato nel sistema.
  • i pacchetti vengono installati da repository: il gestore dei pacchetti ha una lista di "posti" dove andare a cercare i pacchetti, possono essere sia CD/DVD sia "repository", ovvero dei server che contengono una varietà di pacchetti per la propria distribuzione, di cui ciascun utente può usufruire. Il gestore quindi, oltre a sapere cosa abbiamo già installato, si preoccupa di offrire e proporre all'utente un vasto assortimento di programmi non installati tra cui scegliere, senza dover per forza andare a cercarli in siti internet. Per ogni pacchetto offre, eventualmente, anche descrizione, categoria, homepage e ogni informazione che possa essere utile conoscere. Questo è l'approccio di gran lunga più comune in qualsiasi distribuzione.

Strumenti diagnostici per il sistema

Dato che il gestore dei pacchetti assume un ruolo cosi critico nell'amministrazione del computer, alcuni gestori offrono anche strumenti per controllare la consistenza del proprio sistema e, eventualmente, riparare o effettuare backup dello stato attuale, in modo da evitare spiacevoli incidenti. Le strategie sono molto differenti e si suddividono, generalmente in:

  • nessuno strumento: il gestore dei pacchetti si occupa strettamente della gestione del software, non offre alcuna utilità.
  • strumenti strettamente correlati al software: il gestore offre solo la possibilità di controllare che tutte le dipendenze siano soddisfatte e che tutti i pacchetti siano installati correttamente, senza offrire soluzioni di backup o altri strumenti al di fuori di questo.
  • strumenti diagnostici avanzati: oltre a fornire strumenti per verificare l'installazione del software e la consistenza delle dipendenze, vengono offerte utilità per backup e altri strumenti utili per garantire la sicurezza del proprio sistema, come avvisi di sicurezza sui pacchetti, effettuare immagini del proprio PC su DVD o hard disk esterni, le possibilità variano molto a seconda del gestore.

Gestione dei file di configurazione

Ogni pacchetto potrebbe avere necessità di una configurazione particolare, per esempio un lettore multimediale potrebbe avere necessità di conoscere le cartelle da cui reperire la musica, una applicazione d'ufficio potrebbe voler conoscere da dove reperire i modelli dei documenti, o un server potrebbe voler sapere quale porta usare per comunicare. Le necessità di configurazione di un pacchetto sono estremamente varie a seconda del suo tipo e possono arrivare a condizionare in modo enorme il comportamento del nostro PC. Talvolta però, per esempio quando aggiorniamo un pacchetto o lo rimuoviamo, i file di configurazione devono essere modificati. Ciascun gestore affronta il problema in modo diverso, in generale:

  • la gestione è interattiva: ogni modifica a tali file richiede l'intervento e il consenso dell'utente.
  • la gestione è completamente trasparente: il gestore non chiede l'intervento dell'utente o lo minimizza il più possibile. Questo da un lato è più "amichevole" nei confronti dell'utente, dall'altro rischia di modificare le preferenze in un modo che l'utente non desidera.


Approccio di Sabayon

Come la maggior parte delle distribuzioni Linux, Sabayon sfrutta un suo gestore dei pacchetti per installare e manutenere i programmi. In realtà i gestori sono due, uno binario (Entropy), più semplice e immediato per un utente che non abbia l'esigenza di configurare ogni singolo aspetto del suo computer, ed uno sorgente (Portage), particolarmente adatto quando si intende modificare e ottimizzare il proprio sistema, o anche solo una sua piccola parte. Si raccomanda caldamente di leggersi le pagine legate ad Entropy per imparare come gestire il software nella propria installazione.

Uso raccomandato dei gestori dei pacchetti

Il team di Sabayon raccomanda l'uso di Entropy come gestore dei pacchetti primario. Le ragioni sono molteplici:

  • La fase di compilazione dei pacchetti Entropy è svolta dal team: installare software è più veloce di quanto non lo sia con Portage
  • Entropy è in grado di consentire l'aggiornamento del sistema in maniera semplice e sicura
  • Entropy ha una pratica interfaccia grafica che consente di manutenere il software senza l'uso della CLI
  • I pacchetti che vengono inclusi in Entropy vengono testati prima di essere inseriti

L'uso di Portage è indicato

  • Laddove vi sia la necessità di un pacchetto non ancora incluso, nel qual caso è possibile procedere alla richiesta di aggiunta tramite il modulo apposito del nostro bugzilla
  • Quando la configurazione del pacchetto presente non è soddisfacente le esigenze dell'utente, e dunque si voglia compilare utilizzando differenti USE flags

È presente una guida sull'uso incrociato dei due package manager.

Trovare il giusto programma Linux conoscendo il programma Windows che ti serve

Stiamo compilando una tabella che consente di trovare le applicazioni che ti servono equivalenti a quelle che usavi su Windows. Puoi trovarla qui.


Installazione di applicazioni native di Windows

Se avete un applicativo Windows che non ha una controproposta nel mondo Linux, potete comunque provare a farlo funzionare utilizzando il software Wine. In questo caso, sarà sufficiente lanciare la classica installazione (od il software stesso) tramite il comando:

wine nomeeseguibile.exe

In alternativa, è possibile configurare il sistema in modo che usi Wine come applicazione predefinita per l'apertura di file eseguibili di Windows.

Maggiori informazioni circa Wine e le applicazioni compatibili sono disponibili sul sito ufficiale del progetto.