Gestori di pacchetti e dipendenze
La maggior parte delle distribuzioni Linux utilizza i gestori pacchetti per l'installazione e la rimozione del software. I gestori di pacchetti offrono alcuni vantaggi come la possibilità di utilizzare un repository centrale da cui è possibile scaricare (quasi) qualsiasi parte di software, l'organizzazione di parti di software in bundle che possono essere installati come un unico gruppo coeso e i principali vantaggi: automatico gestione delle dipendenze e tracciamento delle modifiche apportate ai pacchetti in modo che possano essere disinstallati.
Alcuni software potrebbero richiedere determinate librerie o altri programmi per eseguire compiti che sarebbero ridondanti se fosse implementato nuovamente in quel software. I pacchetti consentono l'espressione di queste dipendenze.
Differenze: formati e strategie del pacchetto
Esistono diversi gestori di pacchetti. Ognuno è stato creato perché quelli esistenti non soddisfacevano le esigenze di alcune persone. Ogni gestore pacchetti richiede pacchetti nel proprio formato.
Inoltre, diverse distribuzioni hanno requisiti diversi del software incluso. Esistono diversi software che possono avere capacità diverse a seconda delle opzioni fornite quando viene compilato dal codice sorgente in un eseguibile della macchina. Alcune distribuzioni vogliono fornire set di funzionalità complete e un'esperienza ricca, mentre altri vogliono offrire un'esperienza il più snella e semplice possibile, e c'è tutto nel mezzo. Inoltre, la distribuzione può decidere di formattare la propria struttura di directory in modo diverso o utilizzare un sistema init diverso. Potrebbero decidere di raggruppare il software in modo diverso: potrebbe esserci un pacchetto chiamato "dev-utils" in due diverse distribuzioni, ma una versione includeyacc
mentre l'altro no. A causa di queste diverse esigenze, le distribuzioni scelgono di compilare il software in diversi modi.
Questo è il motivo per cui anche se si dispone di un pacchetto nel formato corretto per il proprio gestore pacchetti, potrebbe non funzionare se il pacchetto era destinato a una distribuzione diversa. Ad esempio, quel pacchetto potrebbe fare affidamento sull'installazione yacc
e ha espresso tale dipendenza richiedendo il pacchetto "dev-utils", ma il tuo "dev-utils" non include yacc
. Ora c'è un pacchetto installato con una dipendenza non soddisfatta.
Non è davvero un problema.
Una parte importante dell'essere una distribuzione Linux consiste nel mantenere un repository software centrale. La distribuzione si occupa di mantenere tutto questo per te. Questo in realtà semplifica l'installazione del software. In genere si utilizza il gestore pacchetti per cercare e selezionare alcuni pacchetti, quindi dirgli di installarli; si prende cura del resto per te. Il processo di installazione del software Windows include la ricerca di software su siti Web di terze parti, il tentativo di individuare il collegamento di download appropriato, il download, il controllo dei virus e l'esecuzione di un programma di installazione che ti pone una serie di domande irrilevanti. L'intero pasticcio non è lo standard su Linux.
Il repository non può possibilmente includere tutto
Ora, ci possono essere casi in cui un software richiesto non si trova nel repository della tua distribuzione. I pacchetti forniti da un repository software sono una delle caratteristiche di differenziazione delle distribuzioni. Quando non riesci a trovare il software di cui hai bisogno nei repository della tua distribuzione, ci sono tre possibili strade (in realtà, due più un modo per rovinare davvero le cose).
Archivi della comunità
Molte distribuzioni hanno repository non ufficiali gestiti da persone non associate alla distribuzione. Ubuntu li chiama PPA, Fedora li chiama Fedora People Repositories. Arch Linux non ha un nome specifico per i repository di terze parti , ma ha il suo AUR, che è una raccolta di "ricette" per i pacchetti (nota: esiste solo un AUR). Potresti prima provare a installare un pacchetto da una di queste fonti poiché è facile disinstallarli se non funzionano.
Compila dalla fonte
Se non riesci a trovare un repository non ufficiale con ciò di cui hai bisogno, compilare dal sorgente non è difficile. Devi avere installato il pacchetto di sviluppo della tua distribuzione; questo include elementi di base come un compilatore, un linker, un parser e altri strumenti che sono normalmente necessari per la compilazione del software. Quindi trovi il codice sorgente del progetto (che è quasi sempre impacchettato in un .tgz
o .tbz
(chiamato "tarball"). Scaricalo da qualche parte nella sua directory, estrailo (usando tar -xf filename.tgz
e di solito vai nella directory che ha creato. quella directory può essere un file chiamato README
o INSTALL
. Se esiste, vai avanti e leggilo; la maggior parte di loro ti dice di fare la stessa cosa. I prossimi passi sono fatti da una riga di comando. Esegui ls
e cerca un file eseguibile chiamatoconfigure
. Se esiste, eseguilo facendo ./configure
; a volte possono volerci un paio di minuti. Questo di solito esegue alcuni test per capire come la tua distribuzione ha le cose impostate e assicura che tu abbia gli strumenti necessari per compilare questo pezzo di software. Il prossimo passo è correre make
. Questo effettivamente compila il software e probabilmente richiederà del tempo, da qualche minuto a qualche ora a seconda delle dimensioni del software che stai compilando. Fatto ciò, corri make install
. Questo installa il software, che comporta la copia dei prodotti della compilation nelle posizioni appropriate nel tuo filesystem. Successivamente, il software è disponibile per l'uso.
Questa è stata una lunga sezione, ma è sintetizzata come "README, ./configure, make, make install" . Questa è la routine da ricordare.
Installa un pacchetto da un'altra distribuzione (non farlo)
Lo elenco solo perché è e alternativa, ma quasi sicuramente non finirà bene. È possibile installare pacchetti per altre distribuzioni e potresti ritrovarti a voler farlo. Bene, non farlo. Non farlo finché non capisci molto bene il tuo sistema. In effetti, non ho intenzione di inserire qui alcun comando che mostri come farlo anche se è possibile. Se arrivi a quel punto in cui sembra che questa sia l'unica opzione, non installare il pacchetto usando il gestore pacchetti; invece, estraete le cose dal pacchetto e inseritele nel vostro sistema manualmente, insieme alle note su ciò che avete fatto in modo da poterlo annullare, se necessario.
Il bit della riga di comando
Alcune persone preferiscono la riga di comando per i vantaggi che offre loro. Questi possono essere riassunti in tre cose:
- Facilità di automazione
- Velocità (rispetto al clic su tutto il luogo in una GUI)
- espressività
Il più grande di questi è espressività; ci sono cose che possono essere fatte da una riga di comando che non sono possibili in un'interfaccia grafica.
Infine, le istruzioni da riga di comando vengono spesso fornite in forum utili come questo perché è molto più semplice comunicare le informazioni corrette piuttosto che impartire istruzioni di tipo "clicca qui-poi-là-là-là".