Duas estradas para olhar aqui, nem sem costura, mas ambas funcionais.
Para várias configurações, o que você pode fazer para binários tradicionais é criar um novo usuário. Quando você quiser executar uma segunda configuração de um determinado programa, execute-a a partir do terminal como aquele usuário. Faça um su <user>
em um terminal e, em seguida, inicie o programa a partir dele. Todos os arquivos de configuração para esse programa serão retirados do diretório inicial do usuário.
Para versões diferentes ou binários paralelos modificados, as coisas ficam um pouco confusas.
Se você quiser uma versão específica para fins de legado, isso não é muito difícil. Basta instalar a versão que você quer especificamente como discutido aqui e copie a pasta em /lib
ou /usr/lib
para uma nova no mesmo diretório pai com um nome diferente. Agora, você pode atualizar com segurança o aplicativo original e ainda lançar a versão legada ao executá-la no diretório que você clonou.
Não faz muito sentido ter duas versões diferentes, ambas atualizadas com um atrasado por alguma quantia, mas infelizmente esse comportamento não é oficialmente suportado até o momento no Ubuntu (embora quem sabe quais novos recursos virão com snaps / flatpaks e similares.)