Minhas versões eram um pouco diferentes, mas eu pesquisei alto e baixo por um método que não iria desinstalar metade do meu sistema (com configurações customizadas) apenas porque o PHP atualizava automaticamente de 5.4.28 para 5.4.29, que quebrou projetos Symfony para todos os nossos desenvolvedores e controle de qualidade.
Essencialmente, isso aconteceu da noite para o dia:
+ apt-get -y --force-yes -o Dpkg::Options::=--force-confdef upgrade
Reading package lists...
Building dependency tree...
Reading state information...
The following packages have been kept back:
libspice-server1
The following packages will be upgraded:
libapache2-mod-php5 php-pear php5 php5-cli php5-common php5-curl php5-gd
php5-intl php5-ldap php5-mcrypt php5-mysql php5-readline
12 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Need to get 6,221 kB of archives.
After this operation, 9,216 B of additional disk space will be used.
Get:1 http://ppa.launchpad.net/ondrej/php5-oldstable/ubuntu/ precise/main libapache2-mod-php5 amd64 5.4.29-2+deb.sury.org~precise+1 [2,678
kB]
etc.
Observe que nenhum outro pacote foi atualizado / alterado. (Então, por que, ao fazer o backstep, eles precisariam ser removidos depois? Errado.)
Depois de desistir de todos os métodos convencionais "adequados" para manter dependências estáveis,
Finalmente, corri
aptitude versions php5
para ver o que estava disponível.
Muitos pacotes apareceram, mas o que pareceu mais central foi o php5-common:
Package php5-common:i386:
p 5.3.10-1ubuntu3 precise 500
p 5.3.10-1ubuntu3.11 precise-security,precise-updates 500
p 5.4.28-1~ppa1~precise precise 500
p 5.4.29-2+deb.sury.org~precise+1 precise 500
5.4.29-2 + deb.sury.org ~ precise + 1 foi a nova atualização esta manhã causando problemas:
5.4.28-1 ~ ppa1 ~ precisa é aparentemente o que precisamos para fazer o downgrade. No entanto, apt-get e synaptic insistem em REMOVER muitos pacotes inocentes e aparentemente não relacionados que PRECISAMOS manter inalterados, que não foram atualizados hoje, e dependem de ALGUMAS versões do PHP, mas não especificamente 5.4.29-2 + deb. sury.org ~ preciso + 1 de repente.
Não, obrigado!
aptitude install php5-common=5.4.28-1~ppa1~precise
executar interativamente no começo me deu as mesmas opções. Como eu continuava recusando, continuava oferecendo mais sugestões. Finalmente, em torno da 5ª sugestão foi isto:
Aceite esta solução? [Y / n / q /?] N As ações a seguir resolverão essas dependências:
Keep the following packages at their current version:
1) php5-common [5.4.29-2 + deb.sury.org ~ preciso + 1 (agora, preciso)]
Aceite esta solução? [Y / n / q /?] N As ações a seguir resolverão essas dependências:
Remove the following packages:
1) php5-readline
Downgrade the following packages:
2) libapache2-mod-php5 [5.4.29-2 + deb.sury.org ~ preciso + 1 (agora, preciso) - > 5.4.28-1 ~ ppa1 ~ preciso (preciso)] 3) php-pear [5.4.29-2 + deb.sury.org ~ preciso + 1 (agora, preciso) - > 5.4.12-1 ~ ppa1 ~ preciso (preciso)] 4) php5-cli [5.4.29-2 + deb.sury.org ~ preciso + 1 (agora, preciso) - > 5.4.28-1 ~ ppa1 ~ preciso (preciso)] 5) php5-curl [5.4.29-2 + deb.sury.org ~ preciso + 1 (agora, preciso) - > 5.4.28-1 ~ ppa1 ~ preciso (preciso)] 6) php5-gd [5.4.29-2 + deb.sury.org ~ preciso + 1 (agora, preciso) - > 5.4.28-1 ~ ppa1 ~ preciso (preciso)] 7) php5-intl [5.4.29-2 + deb.sury.org ~ preciso + 1 (agora, preciso) - > 5.4.28-1 ~ ppa1 ~ preciso (preciso)] 8) php5-ldap [5.4.29-2 + deb.sury.org ~ preciso + 1 (agora, preciso) - > 5.4.28-1 ~ ppa1 ~ preciso (preciso)] 9) php5-mcrypt [5.4.29-2 + deb.sury.org ~ preciso + 1 (agora, preciso) - > 5.4.28-1 ~ ppa1 ~ preciso (preciso)] 10) php5-mysql [5.4.29-2 + deb.sury.org ~ preciso + 1 (agora, preciso) - > 5.4.28-1 ~ ppa1 ~ preciso (preciso)]
Leave the following dependencies unresolved:
11) php5-cli recomenda php5-readline
Isso pareceu bom o suficiente! Eu pude ver manualmente sobre o php5-readline mais tarde.
Accept this solution? [Y/n/q/?] y
The following packages will be DOWNGRADED:
libapache2-mod-php5 php-pear php5-cli php5-common php5-curl php5-gd php5-intl php5-ldap php5-mcrypt php5-mysql
The following packages will be REMOVED:
libonig2{u} libqdbm14{u} php5-readline{a}
0 packages upgraded, 0 newly installed, 10 downgraded, 3 to remove and 2 not upgraded.
Need to get 8,277 kB of archives. After unpacking 1,818 kB will be used.
Do you want to continue? [Y/n/?] Y
[100%] Writing extended state information
Agora verifique a versão do php: (php5-cli é invocado)
php -i |less
phpinfo () Versão do PHP = > 5.4.28-1 ~ ppa1 ~ precise
apt-cache policy php5-cli
php5-cli:
Installed: 5.4.28-1~ppa1~precise
Candidate: 5.4.29-2+deb.sury.org~precise+1
Version table:
5.4.29-2+deb.sury.org~precise+1 0
500 http://ppa.launchpad.net/ondrej/php5-oldstable/ubuntu/ precise/main amd64 Packages
*** 5.4.28-1~ppa1~precise 0
500 http://ppa.launchpad.net/nathan-renniewaldock/ppa/ubuntu/ precise/main amd64 Packages
100 /var/lib/dpkg/status
5.3.10-1ubuntu3.11 0
500 http://archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
500 http://archive.ubuntu.com/ubuntu/ precise-security/main amd64 Packages
5.3.10-1ubuntu3 0
500 http://archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
Ótimo!