Come Utilizzare i Pacchetti DEB Sorgente per Personalizzare l'Installazione del Software

Se stai utilizzando una distribuzione Linux importante come Ubuntu o Fedora, avrà un gestore di pacchetti che ti consente di installare facilmente pacchetti binari (DEB o RPM) nel tuo sistema. Tuttavia, se stai pianificando di personalizzare il software che stai installando, come aggiungere funzionalità aggiuntive, potresti voler utilizzare i pacchetti sorgente e compilarli tu stesso.

Ci sono un paio di motivi per cui potresti essere tentato di provare a farlo da solo:

  • Quando compili qualcosa localmente, ottieni una versione del software molto più personalizzata per il tuo hardware, il che può portare a guadagni di prestazioni (al contrario, i binari precompilati spesso mirano al “minimo comune denominatore” e potrebbero non sfruttare macchine più avanzate).
  • Compilare dal sorgente ti dà anche la possibilità di abilitare o disabilitare determinate funzionalità del software. Anche se in alcuni casi comporta la modifica del codice, in alcuni casi è facile come aggiungere o rimuovere un flag dai comandi di build.
  • Infine, non fa mai male, come membri della comunità del software libero, esplorare come vengono realizzate tutte queste fantastiche applicazioni. Anche se compilare da un archivio del codice sorgente originale può essere al di là di ciò che fa un utente normale, utilizzare pacchetti sorgente offre uno sguardo nel processo di sviluppo e compilazione per noi comuni mortali.

Struttura dei Pacchetti Sorgente DEB

Quando vai a scaricare un pacchetto sorgente DEB da un repository, il gestore di pacchetti si occuperà di tre file principali (mostrati nel repository di Ubuntu qui sotto):

  • [nome pacchetto]_[numero versione].orig.tar.gz: Questo file contiene il codice sorgente upstream, o degli sviluppatori originali del programma.
  • [nome pacchetto]_[numero versione]build1.debian.tar.gz: Questo archivio contiene il codice sopra, con eventuali modifiche necessarie per renderlo compatibile con i sistemi basati su DEB.
  • [nome pacchetto]_[numero versione]build1.dsc: Una descrizione dei file nel pacchetto, che può anche includere una firma.

deb-src-repo-pandoc

Installazione dei Pacchetti Sorgente DEB

Il sistema DEB e i suoi strumenti associati rendono molto facile scaricare e compilare versioni di software dai repository APT. I seguenti passaggi descrivono il processo:

Prima di tutto, dovrai installare del software che ti consenta di compilare altro software. Esegui il seguente comando dal terminale:

sudoapt-get install build-essential

Vorrà anche assicurarti di avere abilitati i repository sorgente.

Controlla le “Fonti Software” nel tuo gestore di pacchetti per confermare che l’opzione “Codice Sorgente” sia selezionata.

muon-sources-sourcecode

In alternativa, ispeziona il file “/etc/apt/sources.list” e conferma che le seguenti righe appaiano senza un segno “#” davanti (se ci sono, rimuovilo e salva il file):

deb-src http://us.archive.ubuntu.com/ubuntu/ precise universe  
deb-src http://us.archive.ubuntu.com/ubuntu/ precise multiverse

Lo strumento apt-src è una versione di “apt-get” che funziona con i pacchetti sorgente. Installalo con il seguente:

sudoapt-get installapt-src

Nota: se installi prima questo pacchetto, installerà anche il pacchetto build-essentials per te

Successivamente, potresti dover ottenere alcune librerie o altro software richiesto per costruire il pacchetto che desideri (questo è una dipendenza, ma diversa dalla dipendenza che potresti incontrare quando installi pacchetti binari).

sudoapt-get build-dep[nome pacchetto]

Ora puoi scaricare il pacchetto. Il seguente comando recupererà il pacchetto per te, lo compilerà e lo installerà automaticamente:

sudoapt-src--buildinstall[package]

Se preferisci scaricare il pacchetto sorgente, sia per dare un’occhiata dentro, sia per apportare alcune modifiche, puoi scaricarlo e poi installarlo una volta che è sul tuo sistema locale con il seguente:

sudoapt-src install[package name]

(Questo scaricherà i file sorgente sopra)

sudoapt-src build[package name]

(Questo compilerà il pacchetto dai file scaricati)

sudodpkg-i[package file name(s)].deb

I pacchetti sorgente Debian e i loro strumenti correlati sono un ottimo modo per iniziare a imparare come viene realizzato il software libero. Come membro della comunità, te lo devi per provare e imparare ad apprezzare tutto il duro lavoro che gli sviluppatori mettono.