PHP 5.3.3

Auf Dotdeb.org gibt es PHP in Version 5.3.3 im .deb-Format. Das nachfolgende kleine HowTo zeigt wie du dies auf Debian installieren kannst. Es gibt Pakete für Debian (Lenny), sowohl für amd64 als auch i386 Architekturen.

Install:

1.) als erstes benötigen wir eine Root-Shell

sudo bash

2.) nun können wir die zusätzlichen Quellen einfügen

echo "deb http://php53.dotdeb.org stable all" >> /etc/apt/sources.list
echo "deb-src http://php53.dotdeb.org stable all" >> /etc/apt/sources.list

3.) diese einmal aktualisieren

apt-get update

4.) und schon können wir PHP 5.3 installieren

aptitude safe-upgrade

Migration von PHP 5.2.x zu PHP 5.3.x:
de.php.net/migration53

Falls man bereits mit Debian (Squeeze) arbeitet oder die Lenny-Backports in den Quellen eingefügt hat und daher das Paket libtool > 2.2 installiert hat, muss man eine ältere Version per dpkg installieren, da man ansonsten php5-dev (5.3.1) nicht installieren kann, damit man selber Erweiterungen für PHP kompilieren kann (z.B. eaccelerator). Es folgt ein kleines HowTo:

wget http://ftp.de.debian.org/debian/pool/main/libt/libtool/libtool_1.5.26-4_i386.deb
dpkg --force-all -i libtool_1.5.26-4_i386.deb
aptitude install build-essential php5-dev

Migration von Debian 32-Bit zu 64-Bit

Wenn wir nun von einen 32-Bit System auf ein 64-Bit System umsteigen wollen, installieren wir als erstes ein “64-Bit System” von der selber Distribution z.B. Debian Lenny, damit wir nicht alle Standard-Pakete selber neu installieren müssen, als nächstes wird mithilfe von aptitude und dpkg die alten Pakete auf das neue System gebracht:

Auf dem 32-Bit System:

sudo aptitude search '~i !~M' -F '%p install' > packages-list

Dies generiert eine Liste von allen manually installierent packages in packages-list.
Auf dem 64-Bit System:

sudo dpkg --set-selections < packages-list

… und …

sudo apt-get update && sudo apt-get dselect-upgrade

Diese Befehle installieren nun alle packages von der packages-list. (und apt-get wird die packages Abhängigkeiten auflösen) Das war es schon. :) Wenn man nun nur dpkg –get-selections auf dem 32-Bit System auführt, würde man alle Informationen zu den “automatically installed packages” verlieren, daher könnte man noch folgendes ausführen, so dass du eine weitere Liste mit automatisch installieren packages bekommst:
Auf dem 32-Bit System:

sudo aptitude search ~M -F %p > autoremove-packages-list

Auf dem 64-Bit System:

sudo aptitude markauto `cat autoremove-packages-list`