Há uma grande diferença entre o Windows e o GNU / Linux. No Windows, é comum que cada programa, juntamente com todas as bibliotecas das quais depende, esteja instalado em uma pasta separada. Isso geralmente leva a muito espaço em disco desperdiçado devido à instalação de bibliotecas várias vezes, para cada programa que as utiliza.
No Linux, os programas são instalados seguindo o FHS ( Filesystem Hierarchy Standard ). Isso significa que as bibliotecas das quais os programas dependem estão todas instaladas em um local dedicado comum, de modo que geralmente são instaladas apenas uma vez, independentemente de quantos programas os utilizam. Além disso, os programas são criados de tal maneira que todos eles usam a mesma versão de uma determinada biblioteca. Isso economiza espaço em disco (e RAM no tempo de execução), mas tem a desvantagem: não é possível instalar livremente programas em diferentes partições ou discos rígidos, pelo menos não sem editar os arquivos de configuração do sistema (por exemplo, /etc/ld.so.conf.d para incluir as diferentes pastas da biblioteca).
Desde que o sistema de pacotes Debian foi implementado com o FHS em mente, não há, até onde eu saiba, maneira fácil de instalar pacotes Debian em uma pasta diferente daquela em que eles deveriam ser colocados e fazê-los funcionar sem mover manualmente e editando arquivos depois. Isso ocorre porque os caminhos geralmente são codificados em tempo de compilação. Portanto, mesmo se você instalar um pacote em uma pasta diferente, por exemplo, usando dpkg --instdir=folder/ package.deb
na linha de comando, o programa ainda procurará sua configuração em '/ etc', não em 'folder / etc', mas nos arquivos de configuração fornecidos com é claro que o pacote foi instalado na 'pasta / etc' ... O programa também não será adicionado ao menu, pois os arquivos de menu devem estar em '/ usr / share applications', não na pasta / usr / share / formulários.
É claro que você pode configurar e compilar manualmente um programa a partir de seu código-fonte para instalar as partes binárias e de dados onde quiser, enquanto ainda instala arquivos de configuração nos locais compatíveis com a FHS, mas isso é algo que eu recomendaria apenas para usuários avançados. Se você for compilar a partir do código-fonte, dê uma olhada no checkinstall , uma ferramenta que cria automaticamente pacotes debian.
Outra opção, sugerida no linuxfromscratch , é descompactar o pacote em um local adequado e criar links simbólicos para todos os arquivos instalados nos locais correspondentes do FHS.
Como nos comentários que você estava se referindo aos jogos: muitos jogos que não são comprados no Ubuntu Software Center são executáveis como instaladores e, é claro, podem ser instalados em qualquer pasta, geralmente uma subpasta do seu diretório pessoal. Os jogos do Windows que estão sendo executados usando o WINE também podem ser instalados em qualquer diretório que você desejar. Para o vinho, existe uma variável de ambiente chamada WINEPREFIX, com a qual você pode configurar várias pastas independentes do WINE, cada uma incluindo sua própria unidade C: virtual. Leia a página do manual WINE para obter mais informações.
Mesmo que jogos / programas venham como pacotes Debian, você pode ver o conteúdo do pacote no seu gerenciador de arquivos favorito. Se o jogo for instalado em / opt, geralmente você pode instalá-lo com segurança em uma pasta diferente, pois / opt é frequentemente usado como local de instalação para programas que não aderem ao FHS.