Sua versão mais antiga deve satisfazer dois critérios.
1) A versão antiga deve estar em um repositório que o apt pode ver.
2) A versão antiga não deve quebrar outro software no seu sistema.
Suas mensagens de erro, especialmente erros sobre "pacote interrompido", indicam um conflito de versões . Um conflito de versões significa que o pacote antigo viola # 2 e está prestes a quebrar outras partes do seu sistema.
Dependências como foo 1.1 depends upon libfoo(>0.98)
são definidas pelo empacotador do software quando elas criam o pacote. Os empacotadores são voluntários - você também pode aprender a fazer isso.
Empacotadores preguiçosos simplesmente usam as dependências atuais que têm à mão. Exemplo: foo 1.1 depends upon libfoo(=1.1)
. Essa falta de flexibilidade nas versões de dependência causa muitos problemas para os usuários. Pacotes preguiçosos são encontrados em muitos PPAs e outros softwares não originados do Ubuntu, e são uma das razões pelas quais esses são fontes não suportadas .
Mais empacotadores experientes testarão seus pacotes para obter funcionalidade com a maior variedade de versões de dependência. Exemplo: foo 1.1 depends upon libfoo(>=0.75)
. Esses pacotes geralmente são encontrados no Debian e importados para o Ubuntu a cada ciclo de lançamento.
Distros como Debian e Ubuntu são distros 'instantâneos'. Cada lançamento é baseado em um único instantâneo estável. Os instantâneos mais antigos estão em versões mais antigas. Como as versões mudam constantemente, isso geralmente significa que muitos pacotes são compatíveis APENAS com o lançamento para o qual foram feitos.
Se você deseja executar pacotes mais antigos, deve fazê-lo em uma versão mais antiga do Ubuntu (usando uma VM, por exemplo). Você PODE instalar software mais antigo em qualquer sistema que desejar ... mas não usando pacotes.