Não há uma resposta simples para essa pergunta, mas posso fornecer uma descrição geral de como isso funciona:
A maioria dos softwares Linux é fornecida pelos autores (o "upstream") na forma de código-fonte. Isso permite que todos que possuam um compilador para sua configuração particular de plataforma e sistema baixem o código fonte e compilem-no por conta própria. Infelizmente para você, muitos programas dependem de funções fornecidas por outros programas e bibliotecas de software (dependências).
O software do Windows geralmente vem em forma pré-compilada. Isso significa que há um arquivo executável genérico para todos os computadores Windows, e as dependências costumam acompanhá-lo no pacote de instalação.
As distribuições Linux pegam o código fonte, pré-compilam para você e também o oferecem como um pacote. O pacote não inclui as dependências, mas refere-se a elas e força o sistema de pacotes a instalá-las também (o que às vezes pode levar a problemas que você provavelmente já experimentou).
Se não houver um pacote pré-compilado, você sempre pode fazer o download do código-fonte e compilar você mesmo. Na maioria das vezes, o seguinte funcionará:
./configure
make
(sudo) make install (or sudo checkinstall)
A linha ./configure define o cenário para o processo de compilação (e gera erros se as dependências não forem atendidas). A linha make executará o Makefile, um script que compila todas as partes do programa.
Tradicionalmente, você usaria make install para instalar o software. Isso geralmente coloca os executáveis em / usr / local / bin.
Como você está usando o apt, recomendo muito que você faça o checkinstall. Você pode usá-lo no lugar de make install, e ele irá gerar um pacote .deb para você. Isso torna muito mais fácil remover o software mais tarde.
Note que há um punhado de outros sistemas de compilação, por exemplo cmake; e alguns softwares vêm pré-compilados, mas descompactados (caso em que você pode iniciá-lo diretamente da pasta descompactada); e alguns softwares vêm como uma coleção de scripts que você precisa executar. Código fresco do SVN às vezes vem sem scripts de configuração, então você tem que primeiro executar a toolchain do autoconf ... etc, etc ... você vê que existem muitas exceções à regra, mas com um pouco de experiência você será capaz de diga o que fazer com a maioria desses downloads misteriosos. Configure-Make-Checkinstall é um bom começo.
PS. Passe um fim de semana ou dois para aprender como se programar, e as coisas ficarão muito óbvias: -)
PPS. Você pode se perguntar por que os autores de software Linux não fornecem apenas pacotes pré-compilados em vez do código fonte. Bem, eles às vezes fazem. Mas diferentes plataformas e distribuições Linux têm seus próprios formatos de pacotes e regras de sistema de arquivos, então, como desenvolvedor, você precisa fornecer pacotes para cada configuração possível - o que é uma dor. No entanto, os pacotes do Ubuntu são os mais fáceis de encontrar - você deve descobrir o que é um PPA e como funciona!