PHP 5.2 en Debian Squeeze! (Actualizado)

Acabo de encontrar la salvación!!! (y que alguien le preste atención a la hora de publicación) … y no solo me salva hoy… sino que encuentro la solución de un problema que me tiene un poco cansado…

Antes que nada debemos agregar una nuevo repositorio, el repositorio de la versión anterior de Debian.

[bash]nano /etc/apt/sources.list[/bash]

Se debe agregar una entrada para la version anterior, «oldstable», o el nombre clave actual de la versión anterior (que juego de palabras no?) , en este caso «lenny».

Ej: deb http://archive.debian.org/debian-archive/debian/ lenny main contrib non-free

No se olviden de actualizar! con un:

[bash]apt-get update[/bash]

Configuramos en el archivo /etc/apt/preferences para setearle que nuestra «prioridad» es la versión vieja. Según entendí, lo que vamos a lograr, es que cuando actualicemos con apt-get upgrade no se rompa.

[bash]nano /etc/apt/preferences[/bash]

En el caso de que el archivo exista, lo modificamos y le agregamos las siguientes lineas, sino lo creamos …

Package: php5*
Pin: release a=oldstable
Pin-Priority: 700

Package: *
Pin: release a=stable
Pin-Priority: 600

Después debemos chequear que paquetes son los instalados actualmente, ya que probablemente ya hallamos instalado la versión 5.3 de PHP (mi caso).

[bash]dpkg -l | grep php5[/bash]

Si no hay ninguno, simplemente tenemos que instalar el paquete php con el siguiente comando.

[bash]apt-get install php5 -t oldstable[/bash]

El mágico «-t» es el modificador que le dice que versión debe utilizar. Hay que seguir la misma nomenclatura que fue utilizada en /etc/apt/preferences, si pusimos oldstable … ponemos oldstable… si pusimos lenny…. adivinen!

En el caso de que ya teníamos instalado paquetes de PHP en la versión php5.3 los siguientes mágicos comandos, nos van a borrar los archivos y agregar exactamente los mismos paquetes (osea, por ejemplo si instalamos php5-gd) en la versión php5.2.

[bash]
aptitude remove dpkg -l | grep php| awk '{print $2}' |tr "\n" " "
apt-get -t oldstable install dpkg -l | grep php5| awk '{print $2}' |tr "\n" " "
[/bash]

– Woooooowwwwwwwwwww… magia….

Ahora, chequeamos de que los paquetes que instalamos digan que son php5.2!

[bash]dpkg -l | grep php5[/bash]

Muy probablemente les debe haber funcionado… solo queda ser felices… dejo abierto el post para hacer comentarios de si les funciono, les sirvió… mejoras… etc…

PD: Esto también lo probé para el paquete de postgresql, y funciono a la perfección, solo tuve que editar el archivo /etc/apt/preferences con la información correspondiente al paquete.

Si no encuentran los repositorios de la versión que buscan (los repos lenny casi desaparecieron), pueden probar en el archivo de debian, prueben el siguiente repo:

deb http://archive.debian.org/debian-archive/debian/ lenny main contrib non-free

[[Fuente]]

11 pensamientos en “PHP 5.2 en Debian Squeeze! (Actualizado)

  1. SergioMC

    Gracias!! Voy a probarlo y te aviso que tal me fue. Tengo un servidor de produccion en 5.3, pero que tiene aplicaciones antiguas php, y es un desastre ahorita. Espero volver a la 5.2 y ver que tal va.

    Responder
    1. Gustavo Pilla Autor

      Me alegro mucho que te halla servido, supuse de que no era algo común y que estaría bueno tenerlo en castellano (además de ayuda memoria para mi!).

      Funciono?

      PD: No esperaba que alguien respondiera! … pero cool!

      Responder
  2. darkpixel

    Buenas, a mi no me ha funcionado. He buscado en muchos tutoriales por internet pero nada. El maldito squeeze insiste en instalar la versión 5.3 🙁

    Responder
    1. Juan Carlos

      Err http://mirrors.digg.com lenny Release.gpg
      No se pudo resolver «mirrors.digg.com»
      Err http://mirrors.digg.com/debian/ lenny/contrib Translation-en
      No se pudo resolver «mirrors.digg.com»
      Err http://mirrors.digg.com/debian/ lenny/contrib Translation-es
      No se pudo resolver «mirrors.digg.com»
      Err http://mirrors.digg.com/debian/ lenny/main Translation-en
      No se pudo resolver «mirrors.digg.com»
      Err http://mirrors.digg.com/debian/ lenny/main Translation-es
      No se pudo resolver «mirrors.digg.com»
      Err http://mirrors.digg.com/debian/ lenny/non-free Translation-en
      No se pudo resolver «mirrors.digg.com»
      Err http://mirrors.digg.com/debian/ lenny/non-free Translation-es
      No se pudo resolver «mirrors.digg.com»

      Responder

Deja un comentario