Non esiste una risposta semplice a questa domanda, ma posso darti un quadro generale di come funziona:
La maggior parte del software Linux è fornita dagli autori ("upstream") in forma di codice sorgente. Ciò consente a chiunque disponga di un compilatore per la propria particolare piattaforma e configurazione di sistema di scaricare il codice sorgente e compilarlo da soli. Sfortunatamente per te, molti programmi si basano su funzioni fornite da altri programmi e librerie software (dipendenze).
Il software Windows di solito viene fornito in forma precompilata. Ciò significa che esiste un file eseguibile generico per tutti i computer Windows e le dipendenze spesso ne derivano nel pacchetto di installazione.
Le distribuzioni Linux prendono il codice sorgente, lo precompilano per te e lo offrono anche come pacchetto. Il pacchetto non include le dipendenze, ma fa riferimento a esse e forza anche il sistema del pacchetto a installarle (il che a volte può portare a disordini che probabilmente hai già sperimentato).
Se non esiste un pacchetto precompilato, è sempre possibile scaricare il codice sorgente e compilarlo da soli. Il più delle volte funzionerà:
./configure
make
(sudo) make install (or sudo checkinstall)
La riga ./configure imposta il palcoscenico per il processo di compilazione (e sputa errori se le dipendenze non sono soddisfatte). La linea di make eseguirà il Makefile, uno script che compila tutte le parti del programma.
Tradizionalmente, si utilizza make install per installare il software. Questo di solito mette gli eseguibili in / usr / local / bin.
Dato che stai usando apt, consiglio vivamente di ottenere checkinstall. Puoi usarlo al posto di make install e genererà un pacchetto .deb per te. Ciò rende molto più semplice rimuovere il software in un secondo momento.
Si noti che esistono altri sistemi di compilazione, ad esempio cmake; e alcuni software vengono precompilati ma decompressi (nel qual caso è possibile avviarlo direttamente dalla cartella decompressa); e alcuni software arrivano come una raccolta di script che devi eseguire tu stesso. Il codice fresco da SVN a volte arriva senza script di configurazione, quindi devi prima eseguire la toolchain autoconf ... ecc, ecc ... vedi che ci sono molte eccezioni alla regola, ma con un po 'di esperienza sarai in grado di dì cosa fare con la maggior parte di quei download misteriosi. Configure-Make-Checkinstall è un buon primo avvio.
PS. Trascorri un weekend o due per imparare a programmare te stesso e le cose diventeranno molto ovvie :-)
PPS. Potresti chiederti perché gli autori di software Linux non forniscono solo pacchetti precompilati anziché il codice sorgente. Beh, a volte lo fanno. Ma diverse piattaforme e distribuzioni Linux hanno tutte i propri formati di pacchetto e regole del file system, quindi come sviluppatore dovresti fornire pacchetti per ogni possibile configurazione, il che è una seccatura. I pacchetti Ubuntu sono spesso i più facili da trovare: dovresti scoprire cos'è un PPA e come funziona!