Installazione di applicazioni dalla fonte


12

Mi chiedevo installazioni generiche di tutte le applicazioni in Linux. E cosa significa? Bene, quando stavo usando Windows sapevo che se volevo installare un'applicazione sto facendo doppio clic sul file .exe e poi successivo, successivo, successivo.

In Linux, ho capito che forse esiste un modo comune (non generico) per installare qualsiasi applicazione. Installazione da sorgente forse? Bene, c'è qualche metodo passo-passo che può essere utilizzato per installare applicazioni come in Windows o no?

Lo sto chiedendo perché non voglio continuare a chiedere a Google, come? Quindi, sono riuscito a installare di recente da freecad di origine da questa guida e penso che sarebbe un ottimo inizio come metodo comune, giusto?

Ma il punto è dove trovare la fonte giusta e quando un'applicazione ha un metodo di installazione davvero unico!


Possibile duplicato di come installare da .tar.gz?
Tachioni

No, penso che la mia domanda fosse chiara: solo un'informazione più profonda
gabriel,

fantastico fantastico ottimo come howtogeek.com/105413/…
Mohammad Reza Rezwani

Risposte:


14

Le istruzioni di installazione variano in base ai programmi sebbene esistano strumenti ben consolidati come autotools (include automake e autoconf) e cmake.

Poiché i programmi possono venire in diversi linguaggi di programmazione, è difficile fornire comandi generici adatti a tutti i pacchetti. Ad esempio, Python spesso ha script setup.py in cui i programmi C usano spesso autotools o almeno un Makefile.

Comincio sempre a trovare i file INSTALL, README o simili. Se è necessario compilare un programma dall'origine, probabilmente è necessario il build-essentialpacchetto che dipende dai compilatori e da altri pacchetti di sviluppo generici.

A seconda del programma che si sta tentando di compilare, potrebbe essere necessario installare altre dipendenze. Controllare README per quello o l'output dello ./configurescript (un file eseguibile situato nella radice della fonte estratta). Ad esempio, se dice che hai bisogno di "header di sviluppo x11", prova a trovare "x11-dev" o "libx11-dev" nei repository (in questo caso, è libx11-devquello che stai cercando).

Le distribuzioni di origine create con autoconf / automake possono essere estratte e configurate con:

tar xf foo-1.0.tar.gz
cd foo-1.0
./configure
make
sudo make install

Utilizzare ./configure --helpper le opzioni disponibili. Per impostazione predefinita, i file sono spesso installati su /usr/localcui va perfettamente bene. A meno che non si impacchetterà il file in un file .deb, non modificare questo prefisso in /usrpoiché potrebbe entrare in conflitto con il sistema di gestione dei pacchetti (dpkg).

makedovrebbe iniziare a compilare tutto ciò che make installinstalla i file nelle posizioni designate ( sudoè necessario per scrivere in posizioni privilegiate come /usr/local). Per disinstallarlo in un secondo momento, esegui dalla directory di origine sudo make uninstall(a condizione che il pacchetto sia correttamente compilato con autoconf / automake, che è una responsabilità dello sviluppatore, non tu, l'utente!

Se sei solo interessato a compilare un pacchetto dal centro software sul tuo computer, procedi con (sostituisci packagee la versione di conseguenza):

sudo apt-get build-dep package
apt-get source package
cd package-1.0
dpkg-buildpackage -b -uc -us

Vedi le rispettive pagine di manuale per maggiori dettagli sui comandi. (es. correre man dpkg-buildpackagein un terminale). Dopo aver eseguito questi comandi, avrai un file .deb nella directory principale. Si consiglia di utilizzare i pacchetti dai repository Ubuntu ove possibile. I passaggi precedenti sono indicati per motivi educativi, ma in genere si desidera apportare una modifica ad alcuni file prima di creare il pacchetto.


Davvero molto utile, quindi l'unico metodo comune è scaricare il pacchetto (tar ??) e quindi estrarlo per vedere il suo contenuto! Più tardi devo chiedere, sto estraendo i file e quindi sto eseguendo tutti quei comandi che hai menzionato sopra. Quindi il file di installazione è quello su cui stavo lavorando tutti quei comandi? O tutte le directory dei file dell'applicazione sono specifiche o installate dal centro o installate dal sorgente? Per chiarire, voglio solo installare l'applicazione dove voglio tutto in / opt o / usr? Grazie
gabriel,

Vedi post aggiornato. La directory di estrazione e modifica è il 99% di tutti i casi. Potresti vedere diverse estensioni dopo .tar, come .gz, .bz2, .xz. Questi si riferiscono al formato di compressione. .zip è meno comune in quanto non è in grado di memorizzare le autorizzazioni dei file, ma è visibile in almeno 7-zip. Nota: le mie istruzioni sono più generiche per "compilare dal sorgente". I percorsi e la configurazione non sono gli stessi di Ubuntu Software Center.
Lekensteyn,

Quindi, non importa in quale directory sto lavorando ./configure, make and make install.Per esempio id scarico ed estraggo nella home directory quindi dovrei eseguire questi comandi e automaticamente il comando make install inserirà i file di installazione in una directory specifica giusto?
gabriel,

Non esiste, quindi, una directory specifica come "Programmi" di Windows, giusto?
gabriel,

Dopo aver estratto il tarball, cambia la tua directory nella directory estratta. La posizione esatta non ha importanza, puoi farlo nella tua home directory o ~ / Download, assicurati solo che il percorso non contenga spazi bianchi poiché interrompe la maggior parte degli strumenti. Ad esempio, ~/Downloaded Sourcesè una cattiva idea dove ~/Downloaded-sourcesva benissimo. Per la tua ultima domanda, vedi askubuntu.com/q/27213/6969
Lekensteyn,

7

FreeCAD è disponibile in Ubuntu Software Center, quindi non è stato necessario crearlo e installarlo dal codice sorgente.

Ubuntu Software Center è sempre il primo posto dove dovresti cercare. L'installazione è solo una questione di fare clic su un pulsante.

C'è un'icona per Ubuntu Software Center nella barra sul lato sinistro dello schermo.

Se vuoi davvero compilare e installare un programma dal sorgente, cerca un file README o altre istruzioni fornite con il programma.

Molti pacchetti software utilizzano gli autotools GNU come sistema di compilazione e possono essere compilati e installati con i seguenti comandi:

./configure
make
sudo make install

Prima di creare un programma, è necessario verificare quali sono le librerie richieste e le altre dipendenze (che devono essere menzionate anche nella documentazione del programma). Su Packages.ubuntu.com puoi trovare i pacchetti Ubuntu che contengono le librerie richieste.

Supponiamo che il programma abbia bisogno di una libreria chiamata blah, quindi probabilmente dovrai installare il pacchetto libblah-dev(cerca il nome esatto nella pagina Pacchetti Ubuntu che ho menzionato sopra).

sudo apt-get install libblah-dev

HAHA, sì, conosco questa icona! MA se hai mai notato che c'è una descrizione nel software center in qualsiasi applicazione che dice "canonical non fornisce aggiornamenti critici" e la versione freecad era la 0.8 e ho installato freecad v0.13.I voglio solo una conoscenza più approfondita dei sistemi Linux, non le risposte che indicano dove si trova il centro software, grazie comunque! :-)
gabriel,

ORA parli bene! E grazie mille, questa è la conoscenza più profonda che voglio solo! Continua!
gabriel,

OK, quindi se voglio installare un'applicazione dal sorgente, le persone di questa applicazione devono fornire il codice sorgente? Ad esempio, se voglio installare un'applicazione commerciale non sono in grado di installare dal sorgente giusto? QUESTO è comunque il progetto opensource giusto? le applicazioni hanno la fonte aperta a tutti ma non commerciale.
gabriel,

"se voglio installare l'applicazione dalla fonte, le persone di questa applicazione devono fornire il codice sorgente?" - Sì, certo, questo significa "dalla fonte "! E se è un programma commerciale che non è open source, allora non ottieni il codice sorgente.
Jesper,

Ecco perché la maggior parte delle app di Windows non è installabile in Linux, giusto?
gabriel,

2

Esistono solo due approcci di base:

  1. Utilizzare il Software Center o uno strumento correlato (Synaptic apt-get, ecc.). Questa è normalmente l'opzione migliore. Andare fuori da questo metodo può portare a problemi, come problemi e difficoltà con gli aggiornamenti, quindi dovresti fare solo qualcos'altro se sai cosa stai facendo.
  2. Leggi la documentazione e usala per l'installazione. Potresti trovarlo sul sito web del progetto, o nel tarball, o dal luogo in cui hai ricevuto il tuo file. Oppure, potrebbe non esserci documentazione, nel qual caso devi cercare su Google o indovinare. Esistono molti modi diversi per installare il software. Se questo diventa confuso, torna al numero 1.

    Se il pacchetto utilizza lo standard ./configure; make; sudo make install, è possibile utilizzare checkinstallper ottenere un .deb di ciò che è stato creato. In questo modo, non è necessario sacrificare la gestione dei pacchetti.


Ok, ho fatto questa domanda perché avevo dei problemi con il software center e i file .deb. Ad esempio, volevo installare draftsight, un programma cad ed è solo per 32 bit, quindi ho provato con ignora dipendenze e comandi di architettura ma non è arrivato nulla on.So è possibile, ad esempio, l'estrazione di un file .deb e quindi un'installazione manuale con make e sudo make etc? grazie
gabriel,

Se non è disponibile .deb per la tua architettura, dovrai installare il tuo programma in un altro modo. Puoi Google per come gli altri lo hanno fatto, o cercare un .dev con l'arco corretto o compilare dalla fonte. Vedi la mia prossima modifica per qualcosa di importante.
Scott Severance,

checkinstall prima di eseguire quei comandi? e che cosa, appare un .deb? ((devo chiederti come rendere i tuoi post belli e organizzati? con i comandi evidenziati e il personale? qualche guida per askubuntu?)) Quindi posso estrarre un .deb quindi checkinstall e farlo funzionare a 64 bit per esempio o mi sbaglio e stupido con questa domanda?
gabriel,

Non è possibile utilizzare checkinstallsu pacchetti .deb esistenti. Se hai già un .deb, tecnicamente puoi estrarlo e installarlo manualmente, ma non è il modo migliore. checkinstallè per quando si costruisce dalla fonte. Per informazioni sulla formattazione, vedere il collegamento della guida che appare sempre durante la pubblicazione.
Scott Severance,

Quindi, il file .deb con un'architettura diversa da 64 bit che ho, non dovrebbe essere estratto e quindi installato manualmente? E quando dici "è per quando costruisci dalla fonte". il file .deb è compilato da dove? Utilizza lo stesso codice sorgente che costruisci da sorgente? Domanda sciocca?
gabriel,

0

L'installazione dal sorgente è molto difficile da supportare.

Se possibile, installare dal centro software. Questo è l'equivalente della mentalità windows next-> next-> finish.

Puoi installare cose dall'origine anche su Windows. Questo non è univoco per Linux, è solo che più applicazioni disponibili di origine sono destinate a Linux.


1
beh, voglio solo saltare nella mia esperienza su Linux sono tre anni ormai e quello che voglio è finalmente non continuare a chiedere come e come, mi senti? Solo per rendere la mia conoscenza di Linux sempre più profonda. Perché non lo fai spiegami la fonte ecc?
gabriel,


Anche quando un'applicazione non ha .deb nel mio ubuntu come installare dal centro software? Allora sono di nuovo pronto a chiedere in askubuntu.com o google.gr '' 'come installare QUESTO in Ubuntu 11.10?' '' '
gabriel

Sì. Specifico per l'applicazione è migliore. Producono risposte riproducibili mirate per utenti specifici. Quindi sono utili.
RobotHumans,

Bene, questo è davvero molto utile. Mi senti e mi hai dato quello che volevo, ma vorrei chiederti dopo molte letture su Linux e Linux non sarò mai in grado di installare QUALSIASI applicazione in sistemi Linux? O qualcosa come questo non è possibile in alcun modo?
gabriel,

0

Ubuntu offre una varietà di metodi di installazione

  1. Tramite sistema di confezionamento centralizzato

    Questo è il metodo preferito in Ubuntu (ma personalmente non mi piace) software-center, synaptic e aptitude ne sono l'esempio

  2. Pacchetto deb standalone: ​​- Questo metodo è più semplice come nel caso di Windows, basta fare doppio clic sul file e premere il pulsante Installa Ad esempio: Gestione pacchetti Gdebi

  3. software binario: sono molto simili all'installazione di Windows .exe, offre una varietà di gui per il programma di installazione, questi sono solitamente file .bin

    puoi usare bit rock o strumenti simili per creare questi pacchetti

  4. pacchetto automatico e strumenti simili: questi sono gestori di pacchetti di terze parti creati per supportare varie distribuzioni di Linux

  5. codice sorgente: questo è il primo metodo nell'installazione del software, in questo metodo il codice sorgente viene convertito in eseguibili binari, le istruzioni di installazione per questi software sono generalmente associate al codice sorgente, e queste sono valide solo per open source s / w

Avvertenza: -Queste sono solo le mie osservazioni, sono un principiante in Linux, quindi sono libero di modificare / votare se c'è qualcosa di sbagliato


Bene, grazie alla mia esperienza di solito vedo nel software center la descrizione di un'app e se il canonico fornisce aggiornamenti, lo installo dal centro. Se non sto cercando su Google, è per questo che ho pubblicato questa domanda e tutte le risposte sono Grazie
gabriel,

L'opzione 1 è di gran lunga migliore di 3 e 4, perché è possibile ottenere aggiornamenti automaticamente. L'opzione 2 va bene quando il pacchetto o la versione che desideri non si trova nel tuo repository (opzione 1). Evita i numeri 3 e 4, se possibile, perché non sfruttano tutti i meravigliosi benefici della gestione dei pacchetti e possono causare conflitti lungo la strada. Anche se Autopackage gestisce autonomamente i pacchetti, è comunque un sistema separato e ha il potenziale per conflitti e cose obsolete. E, a meno che tu non sia un programmatore, cerca di evitare di creare fonti. La gestione dei pacchetti è una cosa meravigliosa!
Scott Severance,

Preferisco questi metodi solo perché la mia connessione Internet è sloooow: p
Tachyons,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.