Você só pode instalar a versão mais recente de um PPA, pois versões antigas são excluídas quando novas versões de um pacote são criadas e publicadas em um PPA.
Adicionar um PPA, em seguida, executar apt-get update
para buscar parece buscar apenas a versão mais recente desse PPA, mas eu gostaria de instalar uma versão específica.
Por exemplo: estou adicionando o ondrej/php5-5.6
ppa. Após uma atualização, apt-cache policy php5
mostra que as versões disponíveis são:
5.6.9+dfsg-1+deb.sury.org~trusty+2
5.5.9+dfsg-1ubuntu4.9
5.5.9+dfsg-1ubuntu4
Há alguns dias, a versão mais recente do PPA era 5.6.8+dfsg-1+deb.sury.org~trusty+4
, mas agora está atualizada. Isso significa que não posso executar um apt-get install
e instalar a versão específica desejada.
Isso é possível usando o apt?
Você só pode instalar a versão mais recente de um PPA, pois versões antigas são excluídas quando novas versões de um pacote são criadas e publicadas em um PPA.
Parece que usar apt-get install php5=5.6.*
para corresponder ao número da versão resolve o problema.
Procurando na barra de ativação, a versão 4.6.8 não existe mais, somente a versão 4.6.9 existe.
Da mesma forma, o ppa:git-core/ppa
PPA na barra de ativação contém apenas as versões 2.4.2 e 2.3.7. Parece que o último lançamento de patch de cada versão secundária é mantido.
Usando esse significado, posso vincular a instalação a uma versão secundária específica, enquanto ainda recebo atualizações de patch.
@Dobey answer parece ser a melhor solução na sua situação. Porém, se você instalou um pacote de um PPA específico, o que você pode fazer é marcar esse pacote quando estiver instalado, para manter essa versão. Por exemplo, execute:
sudo apt-mark hold packagename
Às vezes, você pode obter versões antigas, dependendo da origem. Na maioria das vezes, quando um pacote é atualizado, ele substitui a versão atualizada anterior (alguns repositórios mantêm a primeira versão desse release, até que o lançamento seja End Of Life). Isso também depende de as versões mais recentes incluírem atualizações de segurança ou de serem sem mais suporte 'upstream' (de onde veio o pacote) .
Se a versão que você deseja instalar ainda estiver no repositório, você pode usar esta sintaxe para instalar o pacote:
sudo apt-get install apache2=2.2.20-1ubuntu1
Se não estiver disponível no repositório que você está usando, você poderá obter o pacote em outro lugar.
Com o PPA você parece estar usando, você pode atualmente obter a versão 5.6.9. Mas há outro PPA pelo autor, a partir do qual você pode obter a versão 5.5.25. (Há também este com 5.4.41, mas apenas para 12.04)
Existem também sites de terceiros que muitas vezes têm versões antigas (e por vezes mais recentes). Para o Ubuntu, Atualizações do Ubuntu (há outros sites também - por exemplo, para o Fedora, etc. há rpmfind (sim, RPMs .... - você pode usar o alien (veja abaixo), ou obter o src.rpm e usar o material para construir algo utilizável em non Sistemas -RPM: D ).
Se tudo mais falhar, você pode tentar obter uma versão fonte da versão que você quer (para PHP, veja aqui ) e, em seguida, faça os pacotes a partir disso. Isso você pode construir e instalar diretamente , ou compila o pacote deb (s) dele e instale-o.
Você também pode usar alien para instalar pacotes que não estão no formato deb (isso parece incluir tar.gz ).