Não há uma resposta simples para esta pergunta, mas posso fornecer um esboço geral de como ela funciona:
A maioria dos softwares Linux é fornecida pelos autores (o "upstream") no formato de código-fonte. Isso permite que todos os que possuem um compilador para sua plataforma específica e configuração do sistema baixem o código-fonte e os compilem. Infelizmente para você, muitos programas dependem de funções fornecidas por outros programas e bibliotecas de software (dependências).
O software Windows geralmente vem na 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 oferecem-no como um pacote também. O pacote não inclui as dependências, mas se refere a elas e força o sistema de pacotes a instalá-las também (o que às vezes pode levar a confusões que você provavelmente já experimentou).
Se não houver um pacote pré-compilado, você sempre poderá fazer o download do código-fonte e compilá-lo. 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 cospe 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 o make install para instalar o software. Isso geralmente coloca os executáveis em / usr / local / bin.
Como você está usando o apt, recomendo a instalação do checkinstall. Você pode usá-lo no lugar do make install, e ele irá gerar um pacote .deb para você. Isso facilita muito a remoção limpa do software posteriormente.
Observe que existem vários outros sistemas de compilação, por exemplo cmake; e algum software vem pré-compilado, mas não empacotado (nesse caso, você pode iniciá-lo diretamente da pasta descompactada); e alguns softwares vêm como uma coleção de scripts que você precisa executar sozinho. Às vezes, um código novo do SVN vem sem scripts de configuração, então você precisa primeiro executar o conjunto de ferramentas autoconf ... etc, etc ... você vê que há muitas exceções à regra, mas com um pouco de experiência, você poderá diga o que fazer com a maioria desses downloads misteriosos. Configure-Make-Checkinstall é um bom primeiro começo.
PS. Passe um fim de semana ou dois para aprender como se programar, e as coisas se tornarã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, às vezes eles fazem. Porém, diferentes plataformas e distribuições Linux têm seus próprios formatos de pacote e regras de sistema de arquivos; portanto, como desenvolvedor, você deve fornecer pacotes para todas as configurações possíveis - o que é um problema. Porém, os pacotes Ubuntu geralmente são os mais fáceis de encontrar - você deve descobrir o que é um PPA e como ele funciona!