Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "AmministrazioneSistema/InstallareProgrammi/DaSorgenti"
Differenze tra le versioni 12 e 64 (in 52 versioni)
Versione 12 del 22/07/2006 15.24.36
Dimensione: 2439
Commento:
Versione 64 del 19/03/2018 19.37.01
Dimensione: 12634
Autore: jeremie2
Commento: Importata versione aggiornata da wilecoyote/provawcdasorgenti
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
[[BR]]
||<tablestyle="float:right; font-size: 0.9em; width:50%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;">'''Indice'''[[BR]][[TableOfContents]]||
#format wiki
#LANGUAGE it
<<BR>>
<<Indice(depth=2)>>
<<Informazioni(forum=''http://forum.ubuntu-it.org/viewtopic.php?f=46&t=614576''; rilasci="17.10 16.04 14.04")>>
Linea 6: Linea 9:
I file .tar.gz e .tar.bz2 sono archivi contenenti il "codice sorgente" del programma. Per installare e usare il programma, è necessaria un'operazione detta "compilazione" che trasforma il codice sorgente in un file binario eseguibile. Una peculiarità dei programmi ''open source'' è che ne viene sempre reso disponibile il [[https://it.wikipedia.org/wiki/Codice_sorgente|codice sorgente]], scaricabile sotto forma di [[AmministrazioneSistema/FormatiDiCompressione|archivio compresso]] con estensione `.tar.gz`, `.tar.bz2` o `.zip`. Tale archivio contiene file di testo scritti in un [[https://it.wikipedia.org/wiki/Linguaggio_di_programmazione|linguaggio di programmazione]], detti ''file sorgente'', e altri eventuali file necessari al programma, come immagini e suoni.
Linea 8: Linea 11:
= Procedura classica = Per poter utilizzare un programma ottenuto in questa forma è necessario tradurre i ''file sorgente'' in ''file binari'', cioè file comprensibili ed eseguibili da un computer. Questa operazione è detta '''compilazione''' e si basa sulle istruzioni contenute nel '''makefile'''. Completata la compilazione è possibile eseguire l'effettiva '''installazione''' del programma, ovvero la copia dei file nella corretta posizione all'interno del [[AmministrazioneSistema/Filesystem|file system]].
Linea 10: Linea 13:
Scompattare il programma lanciando il seguente comando da terminale: <<Anchor(preparativi)>>
= Preparativi =
  
 0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://build-essential | build-essential]].
  * Per programmi basati su '''[[https://it.wikipedia.org/wiki/KDE|KDE]]''' o '''[[https://it.wikipedia.org/wiki/Qt_(toolkit)|Qt]]''', [[AmministrazioneSistema/InstallareProgrammi|installare]] il pacchetto [[apt://cmake |cmake]].
 0. [[AmministrazioneSistema/FormatiDiCompressione#decomprimere|Estrarre]] il pacchetto dei sorgenti nella propria '''Home'''.
 0. Se si desidera utilizzare il metodo che scarica e installa in automatico le dipendenze di configurazione, occorre installare il pacchetto [[apt://auto-apt|auto-apt]] (opzionale).
   * Dopo l'installazione è necessario eseguire la configurazione, per farla aprire il [[AmministrazioneSistema/RigaDiComando|terminale]] e digitare i seguenti comandi:{{{
sudo auto-apt update
sudo auto-apt updatedb
sudo auto-apt update-local
}}}
  Essa richiederà un pò di tempo per completarsi.
Linea 12: Linea 27:
per tar.gz
{{{
tar zxvf /percorso/nomeprogramma.tar.gz
||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Grandi/info.png,,center)>> ||<style="padding:0.5em; border:none;">Per mantenere ordinata la propria '''Home''' è consigliabile creare una sottocartella specifica per le compilazioni. ||

= Generazione del makefile =

Il '''makefile''' è un file il cui contenuto dipende dalla configurazione del sistema in cui si intende installare il programma. Proprio per questo motivo, tale file non può essere distribuito insieme ai sorgenti ma va generato direttamente sul sistema di destinazione.

Le istruzioni che seguono descrivono i due metodi più comuni per generare il '''makefile''', ovvero mediante lo '''scritp di configurazione''' o del programma '''Cmake'''. Tuttavia le istruzioni specifiche per ogni programma sono contenute in un file di testo, solitamente chiamato `INSTALL` o `README`, distribuito insieme ai sorgenti.

== Script di configurazione ==

 0. Aprire il [[AmministrazioneSistema/RigaDiComando|terminale]] e spostarsi nella cartella in cui sono stati estratti i sorgenti digitando il seguente comando:{{{
cd ~/nomecartella
}}}Sostituire '''nomecartella''' con il nome della cartella in cui sono stati estratti i sorgenti. Eventuali sottocartelle devono essere separate dal carattere '''/'''.
 0. Avviare lo [[Programmazione/LinguaggioBash|script]] di configurazione digitando nel [[AmministrazioneSistema/RigaDiComando|terminale]] il seguente comando:{{{
./configure
Linea 17: Linea 44:
per tar.bz2
{{{
tar xjvf /percorso/nomeprogramma.tar.bz2
||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Grandi/info.png,,center)>> ||<style="padding:0.5em; border:none;">Spesso per migliorare la compressione [[AmministrazioneSistema/FormatiDiCompressione|dell'archivio compresso]] contenente il [[https://it.wikipedia.org/wiki/Codice_sorgente|codice sorgente]], lo [[Programmazione/LinguaggioBash|script]] di configurazione `configure` ed il file `Makefile` vanno creati eseguendo prima lo script `autogen.sh` col comando:{{{./autogen.sh}}} ||

||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Grandi/info.png,,center)>> ||<style="padding:0.5em; border:none;">Quasi sempre lo script di configurazione mette a disposizione l'opzione ''--prefix=path'' che permette di scegliere in quale directory allocare il programma che si va compilando. Nell'uso più frequente di questa opzione il comando diventa: {{{./configure --prefix=/usr}}}||

||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Grandi/info.png,,center)>> ||<style="padding:0.5em; border:none;">Per ottenere un elenco delle ulteriori opzioni messe a disposizione dallo script digitare l'opzione ''-h'' oppure consultare i file `INSTALL` o `README` forniti col sorgente. ||

||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''Se la generazione del '''makefile''' dovesse interrompersi a causa di una [[AmministrazioneSistema/Pacchetti#Dipendenze|dipendenza]] non presente nel sistema, consultare il paragrafo [[#Installazione_dipendenze|Installazione dipendenze]]. ''||

== Script di configurazione con auto installazione dipendenze ==
 
 0. Assicurarsi di aver installato il pacchetto opzionale ''auto-apt'' come indicato nel capitolo [[#preparativi|Preparativi]].
 0. Aprire il [[AmministrazioneSistema/RigaDiComando|terminale]] e spostarsi nella cartella in cui sono stati estratti i sorgenti digitando il seguente comando:{{{
cd ~/nomecartella
}}}Sostituire '''nomecartella''' con il nome della cartella in cui sono stati estratti i sorgenti. Eventuali sottocartelle devono essere separate dal carattere '''/'''.
 0. Avviare lo [[Programmazione/LinguaggioBash|script]] di configurazione digitando nel [[AmministrazioneSistema/RigaDiComando|terminale]] il seguente comando:{{{
sudo auto-apt run ./configure
}}}
||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Grandi/info.png,,center)>> ||<style="padding:0.5em; border:none;">Quasi sempre lo script di configurazione mette a disposizione l'opzione ''--prefix=path'' che permette di scegliere in quale directory allocare il programma che si va compilando. Nell'uso più frequente di questa opzione il comando diventa: {{{sudo auto-apt run ./configure --prefix=/usr}}}||
||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Grandi/info.png,,center)>> ||<style="padding:0.5em; border:none;">Per ottenere un elenco delle ulteriori opzioni messe a disposizione dallo script digitare l'opzione ''-h'' oppure consultare i file `INSTALL` o `README` forniti col sorgente. ||

<<Anchor(cmake)>>
== Cmake ==

Per programmi basati su '''[[https://it.wikipedia.org/wiki/KDE|KDE]]''' o '''[[https://it.wikipedia.org/wiki/Qt_(toolkit)|Qt]]''' la generazione del '''makefile''' è generalmente affidata al programma '''Cmake'''.
 0. Aprire il [[AmministrazioneSistema/RigaDiComando|terminale]] e spostarsi nella cartella in cui sono stati estratti i sorgenti digitando il seguente comando:{{{
cd ~/nomecartella
}}}Sostituire '''nomecartella''' con il nome della cartella in cui sono stati estratti i sorgenti. Eventuali sottocartelle devono essere separate dal carattere '''/'''.
 0. Creare la cartella `build` digitando nel [[AmministrazioneSistema/RigaDiComando|terminale]] il seguente comando:{{{
mkdir build
}}}
 0. Spostarsi nella cartella appena creata digitando nel [[AmministrazioneSistema/RigaDiComando|terminale]] il seguente comando:{{{
cd build
}}}
 0. Compilare i sorgenti digitando nel [[AmministrazioneSistema/RigaDiComando|terminale]] il seguente comando:{{{
cmake ..
}}}
||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''Se la generazione del '''makefile''' dovesse interrompersi a causa di una [[AmministrazioneSistema/Pacchetti#Dipendenze|dipendenza]] non presente nel sistema, consultare il paragrafo [[#Installazione_dipendenze|Installazione dipendenze]].''||
##||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Grandi/info.png,,center)>> ||<style="padding:0.5em; border:none;">Il programma '''Cmake''' è utilizzabile anche tramite interfaccia grafica. Per maggiori informazioni consultare la pagina [[wilecoyote/provawccmakegui|CMake-Gui]]||

== Installazione dipendenze ==

Se la creazione del '''makefile''' si interrompe a causa di una dipendenza mancante, verrà generato un messaggio d'errore che riporta cosa manca. Sarà dunque necessario installarla manualmente, differenziando tra il caso in cui il nome del pacchetto non è individuabile e si dispone solo del nome del file e il caso in cui il nome del pacchetto è individuabile.

=== Con il nome del file ===

 0. Installare il pacchetto [[#Preparativi|apt-file]].
 0. Aprire il [[AmministrazioneSistema/RigaDiComando|terminale]].
 0. Creare il database col comando:{{{
apt-file update
Linea 22: Linea 95:
A questo punto si potrà entrare nella cartella appena scompattata e cercare/leggere un file REEDME o INSTALL che contengono le istruzioni necessarie all'installazione e configurazione, in genere:  Il comando può richiedere del tempo per terminare.
Linea 24: Linea 97:
Da terminale, spostarsi nella directory in cui si trova il programma appena scompattato:
{{{
cd /percorso
 0. Cercare adesso il pacchetto ignoto col comando:{{{
apt-file search <nomefile>
Linea 29: Linea 101:
dove "percorso" è la cartella in cui è stato scompattato il file, se la cartella è sulla scrivania sarà:
{{{
/home/nomeutente/Desktop/nomecartella
 Il pacchetto richiesto è quello che fornisce il file coll'esatto nome. Per installare il suddetto seguire la procedura successiva.

=== Con nome del pacchetto ===

 0. Avviare il [[AmministrazioneSistema/InstallareProgrammi/GestorePacchetti|gestore pacchetti]].
 0. [[AmministrazioneSistema/InstallareProgrammi/GestorePacchetti#Cercare_un_pacchetto|Cercare]] il nome del pacchetto, solitamente una libreria con suffisso `-dev`.
 0. [[AmministrazioneSistema/InstallareProgrammi/GestorePacchetti#Installare_un_pacchetto|Installare]] il pacchetto.

 ||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''Se sono presenti più versioni dello stesso pacchetto, installare quella del [[Repository |repository]] main.'' ||

 ||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''Nel caso il file richiesto sia fornito da 2 o più pacchetti selezionare quello con '-dev' nel nome.'' ||

 0. Riavviare la generazione del '''makefile''' mediante lo [[#Script_di_configurazione|script di configurazione]] o il programma [[#cmake|Cmake]].
Sarà necessario ripetere questa procedura ogni volta che la generazione del '''makefile''' viene interrotta da una dipendenza mancante.

= Compilazione =

Dgitare nel [[AmministrazioneSistema/RigaDiComando|terminale]] il seguente comando:{{{
make
Linea 34: Linea 122:
Lanciare da terminale i seguenti comandi in sequenza:
{{{
./configure
make
= Installazione =

 0. Digitare nel [[AmministrazioneSistema/RigaDiComando|terminale]] il seguente comando:{{{
Linea 41: Linea 128:
= Usare "checkinstall" e "auto-apt" =

Esiste una procedura più efficace di quella descritta nelle ultime righe, questa prevede l'utilizzo del comando checkinstall.

Da terminale:
{{{
sudo apt-get install checkinstall
sudo apt-get install auto-apt
 0. Una volta installato il programma, è possibile rimuovere i file compilati dalla cartella dei sorgenti digitando nel [[AmministrazioneSistema/RigaDiComando|terminale]] il seguente comando:{{{
make clean
Linea 51: Linea 132:
Verranno installati il comando checkinstall e auto-apt ||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''Non eliminare la cartella dei sorgenti né il suo contenuto, in quanto necessari per poter disinstallare il programma come spiegato nel paragrafo [[#Disinstallazione|Disinstallazione]]. In alternativa è possibile eseguire l'installazione servendosi di [[Programmazione/Checkinstall|CheckInstall]], il quale permette una differente e più semplice disinstallazione.''||
Linea 53: Linea 134:
Invece di utilizzare il comando:
{{{
./configure
= Disinstallazione =

Digitare nel [[AmministrazioneSistema/RigaDiComando|terminale]] il seguente comando:{{{
sudo make uninstall
Linea 58: Linea 140:
si utilizzerà:
{{{
auto-apt run ./configure
}}}
||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''Questo metodo di disinstallazione è utilizzabile solo se il '''Makefile''' mette a disposizione la relativa opzione '''uninstall'''.'' ||
Linea 63: Linea 142:
Se ci sono dipendenze disponibili, una finestra di dialogo si aprirà e ti chiederà di installarle (qualora lo si voglia). = Ulteriori risorse =
Linea 65: Linea 144:
Il resto rimane quasi immutato:
{{{
make
sudo checkinstall
}}}

Riassumendo:
{{{
auto-apt run ./configure
make
sudo checkinstall
}}}

Ciò permetterà di rimuovere agevolmente il pacchetto appena installato usando Synaptic o con:
{{{
sudo dpkg -r nomepacchetto
}}}

N.B.[[BR]]
Alcuni di questi passaggi possono essere gestiti sfruttando l'interfaccia grafica: scoprite voi quali e come :-)

= Links utili =

Altre informazioni qui:[[BR]]

http://wiki.ubuntu-it.org/CheckInstall [[BR]]
http://wiki.ubuntu-it.org/ComandiBase [[BR]]
http://www.linuxfan.it/icoli/TarGz [[BR]]
 * [[AmministrazioneSistema/ComandiBase|Comandi di base per il terminale]]
 * [[Programmazione/Checkinstall|Guida all'uso di CheckInstall per creare un pacchetto .deb a partire dai sorgenti]]
Linea 95: Linea 147:
CategoryDaRevisionare CategoryAmministrazione CategoryProgrammazione


Problemi in questa pagina? Segnalali in questa discussione

Introduzione

Una peculiarità dei programmi open source è che ne viene sempre reso disponibile il codice sorgente, scaricabile sotto forma di archivio compresso con estensione .tar.gz, .tar.bz2 o .zip. Tale archivio contiene file di testo scritti in un linguaggio di programmazione, detti file sorgente, e altri eventuali file necessari al programma, come immagini e suoni.

Per poter utilizzare un programma ottenuto in questa forma è necessario tradurre i file sorgente in file binari, cioè file comprensibili ed eseguibili da un computer. Questa operazione è detta compilazione e si basa sulle istruzioni contenute nel makefile. Completata la compilazione è possibile eseguire l'effettiva installazione del programma, ovvero la copia dei file nella corretta posizione all'interno del file system.

Preparativi

  1. Installare il pacchetto build-essential.

  2. Estrarre il pacchetto dei sorgenti nella propria Home.

  3. Se si desidera utilizzare il metodo che scarica e installa in automatico le dipendenze di configurazione, occorre installare il pacchetto auto-apt (opzionale).

    • Dopo l'installazione è necessario eseguire la configurazione, per farla aprire il terminale e digitare i seguenti comandi:

      sudo auto-apt update
      sudo auto-apt updatedb
      sudo auto-apt update-local
    • Essa richiederà un pò di tempo per completarsi.

Per mantenere ordinata la propria Home è consigliabile creare una sottocartella specifica per le compilazioni.

Generazione del makefile

Il makefile è un file il cui contenuto dipende dalla configurazione del sistema in cui si intende installare il programma. Proprio per questo motivo, tale file non può essere distribuito insieme ai sorgenti ma va generato direttamente sul sistema di destinazione.

Le istruzioni che seguono descrivono i due metodi più comuni per generare il makefile, ovvero mediante lo scritp di configurazione o del programma Cmake. Tuttavia le istruzioni specifiche per ogni programma sono contenute in un file di testo, solitamente chiamato INSTALL o README, distribuito insieme ai sorgenti.

Script di configurazione

  1. Aprire il terminale e spostarsi nella cartella in cui sono stati estratti i sorgenti digitando il seguente comando:

    cd ~/nomecartella

    Sostituire nomecartella con il nome della cartella in cui sono stati estratti i sorgenti. Eventuali sottocartelle devono essere separate dal carattere /.

  2. Avviare lo script di configurazione digitando nel terminale il seguente comando:

    ./configure

Spesso per migliorare la compressione dell'archivio compresso contenente il codice sorgente, lo script di configurazione configure ed il file Makefile vanno creati eseguendo prima lo script autogen.sh col comando:./autogen.sh

Quasi sempre lo script di configurazione mette a disposizione l'opzione --prefix=path che permette di scegliere in quale directory allocare il programma che si va compilando. Nell'uso più frequente di questa opzione il comando diventa: ./configure --prefix=/usr

Per ottenere un elenco delle ulteriori opzioni messe a disposizione dallo script digitare l'opzione -h oppure consultare i file INSTALL o README forniti col sorgente.

Se la generazione del makefile dovesse interrompersi a causa di una dipendenza non presente nel sistema, consultare il paragrafo Installazione dipendenze.

Script di configurazione con auto installazione dipendenze

  1. Assicurarsi di aver installato il pacchetto opzionale auto-apt come indicato nel capitolo Preparativi.

  2. Aprire il terminale e spostarsi nella cartella in cui sono stati estratti i sorgenti digitando il seguente comando:

    cd ~/nomecartella

    Sostituire nomecartella con il nome della cartella in cui sono stati estratti i sorgenti. Eventuali sottocartelle devono essere separate dal carattere /.

  3. Avviare lo script di configurazione digitando nel terminale il seguente comando:

    sudo auto-apt run ./configure

Quasi sempre lo script di configurazione mette a disposizione l'opzione --prefix=path che permette di scegliere in quale directory allocare il programma che si va compilando. Nell'uso più frequente di questa opzione il comando diventa: sudo auto-apt run ./configure --prefix=/usr

Per ottenere un elenco delle ulteriori opzioni messe a disposizione dallo script digitare l'opzione -h oppure consultare i file INSTALL o README forniti col sorgente.

Cmake

Per programmi basati su KDE o Qt la generazione del makefile è generalmente affidata al programma Cmake.

  1. Aprire il terminale e spostarsi nella cartella in cui sono stati estratti i sorgenti digitando il seguente comando:

    cd ~/nomecartella

    Sostituire nomecartella con il nome della cartella in cui sono stati estratti i sorgenti. Eventuali sottocartelle devono essere separate dal carattere /.

  2. Creare la cartella build digitando nel terminale il seguente comando:

    mkdir build
  3. Spostarsi nella cartella appena creata digitando nel terminale il seguente comando:

    cd build
  4. Compilare i sorgenti digitando nel terminale il seguente comando:

    cmake ..

Se la generazione del makefile dovesse interrompersi a causa di una dipendenza non presente nel sistema, consultare il paragrafo Installazione dipendenze.

Installazione dipendenze

Se la creazione del makefile si interrompe a causa di una dipendenza mancante, verrà generato un messaggio d'errore che riporta cosa manca. Sarà dunque necessario installarla manualmente, differenziando tra il caso in cui il nome del pacchetto non è individuabile e si dispone solo del nome del file e il caso in cui il nome del pacchetto è individuabile.

Con il nome del file

  1. Installare il pacchetto apt-file.

  2. Aprire il terminale.

  3. Creare il database col comando:

    apt-file update
    Il comando può richiedere del tempo per terminare.
  4. Cercare adesso il pacchetto ignoto col comando:

    apt-file search <nomefile>
    Il pacchetto richiesto è quello che fornisce il file coll'esatto nome. Per installare il suddetto seguire la procedura successiva.

Con nome del pacchetto

  1. Avviare il gestore pacchetti.

  2. Cercare il nome del pacchetto, solitamente una libreria con suffisso -dev.

  3. Installare il pacchetto.

    Se sono presenti più versioni dello stesso pacchetto, installare quella del repository main.

    Nel caso il file richiesto sia fornito da 2 o più pacchetti selezionare quello con '-dev' nel nome.

  4. Riavviare la generazione del makefile mediante lo script di configurazione o il programma Cmake.

Sarà necessario ripetere questa procedura ogni volta che la generazione del makefile viene interrotta da una dipendenza mancante.

Compilazione

Dgitare nel terminale il seguente comando:

make

Installazione

  1. Digitare nel terminale il seguente comando:

    sudo make install
  2. Una volta installato il programma, è possibile rimuovere i file compilati dalla cartella dei sorgenti digitando nel terminale il seguente comando:

    make clean

Non eliminare la cartella dei sorgenti né il suo contenuto, in quanto necessari per poter disinstallare il programma come spiegato nel paragrafo Disinstallazione. In alternativa è possibile eseguire l'installazione servendosi di CheckInstall, il quale permette una differente e più semplice disinstallazione.

Disinstallazione

Digitare nel terminale il seguente comando:

sudo make uninstall

Questo metodo di disinstallazione è utilizzabile solo se il Makefile mette a disposizione la relativa opzione uninstall.

Ulteriori risorse


CategoryAmministrazione CategoryProgrammazione