Das Problem ist, dass das alte etch php4-mysql modul mit der neuen libaprutil1 inkompatibel ist.
Da wir unseren Kunden, welche es nach 4 Jahren PHP5 natürlich immernoch nicht alle geschafft haben Ihre PHP4 Anwendungen zu entsorgen, es nicht zumuten können auf einmal alles umzustellen, werden wir vorerst das php4-mysql modul und die libarputil1 einfach auf dem Stand von Etch holden.
Damit können wir problemlos auf Lenny Upgraden und behalten die PHP4 Version aus Etch bei.
Im einfachsten Fall einfach:
perl -pi -e 's/etch/lenny/g' /etc/apt/sources.list
oder c&p-ready sieht das dann so aus:
scp -r ***server-01.de:/etc/apt/ /etc/
scp ***server-01.de:/etc/default/saslauthd /etc/default/
Dann gehts mit dem eigentlichen Update los:
echo libaprutil1 hold | dpkg --set-selections
perl -pi -e 's/--sql-config/--sql-config -u nobody/g' /etc/default/spamassassin
noch mehr Altlasten loswerden aus alten Standardinstallationen
aptitude remove tk8.4 ppp pppoeconf pppconfig pppoe \
ding x11proto-xext-dev libxv-dev libxmu-dev libxi-dev libt1-dev libxaw7-dev \
libxext-dev x11proto-video-dev x11proto-kb-dev x11proto-input-dev \
x11proto-fonts-dev x11proto-core-dev libx11-dev xlibs-static-dev x-dev \
libxt-dev libxpm-dev libxmu-headers libxfont-dev libxdmcp-dev libxcb1-dev \
libxcb-xlib0-dev libxau-dev libsm-dev libice-dev automake1.4 \
automake1.7 automake1.8 automake1.9 autoconf-archive \
autoconf dhcp3-client dhcp-client xtrans-dev xcursor-themes \
xbitmaps wngerman wamerican usbutils stunnel4 slang1a-utf8 \
reportbug nvi ocaml-nox libgmp-ocaml libgmp-ocaml-dev bison \
flex m4 lpr linux-modules-2.6.18-6-xen-686 \
linux-image-2.6.18-6-xen-686 linux-2.6.23.1hosting-2 \
linux-2.6.24.2hosting-2 linux-2.6.25.1hosting-2 libxv1 libxtst6 \
libxtrap6 libxp6 libxaw7 libxmu6 libxmuu1 libxaw7 laptop-detect \
ispell iamerican ibritish ingerman ipchains gnu-efi eject \
dictionaries-common aspell aspell-de aspell-en myspell-de-at \
myspell-de-ch myspell-de-de php5-dev libgd2-xpm-dev \
libapache2-mod-php4 libapache2-mod-php5
aptitude update && apt-get dist-upgrade
apache meckert noch etwas, da suexec nicht standardmäßig mitinstalliert wird, dafür:
aptitude install apache2-suexec
Und da php5 wieder als Modul enabled wird, deinstallieren wir es nochmal!
aptitude remove libapache2-mod-php5
Da Confixx eine extra Listen Direktive in seiner mhost.conf hat, kommentieren wir dies in der port.conf einfach aus und sollten problemlos wieder apache starten können:
perl -pi -e 's/Listen 443/#Listen 443/g' /etc/apache2/ports.conf
/etc/init.d/apache2 restart
Wie hier beschrieben, müssen noch einige Änderungen an magic.mime vorgenommen werden:
ln=$(grep -o -n "TeX documents, from Daniel Quinlan" /usr/share/misc/magic.mime|cut -f 1 -d:); \
sed "$ln,$(($ln+11))s/^/#/" /usr/share/misc/magic.mime |cat > /usr/share/file/magic.mime.new && \
mv /usr/share/file/magic.mime{.new,}
Dann die SSL Protokoll Version von 3 auf 2 & 3 umstellen, damit auch nagios und alte Clients problemlos connecten können.
perl -pi -e 's/=SSL3/=SSL23/' /etc/courier/imapd-ssl /etc/courier/pop3d-ssl
/etc/init.d/courier-imap-ssl restart && /etc/init.d/courier-pop-ssl restart
Zuletzt noch phpmyadmin ins Confixx Verzeichnis kopieren und entsprechende Rechte und Ownerships setzen:
[ ! -x /root/confixx/ ] && exit || cd /var/www/confixx/html && \
rm -r phpmyadmin && cp -a /usr/share/phpmyadmin/ . && \
chown confixx.confixx phpmyadmin && chown -R confixx.confixx phpmyadmin/*
und da wir gerade aktualisieren, machen wir das ganze mit confixx auch gleich noch 
Sollte confixx in Version 3.3.6 schon draufsein reicht es auch, das Update Script laufen zu lassen und die Perl Module neu zu installieren:
echo 0 | /root/confixx/admin/updates/update_3.x.pl
alternativ, holen wir es uns von unserem internen Server und aktualisieren das Ganze:
rm confixx_*.tgz; scp ***:confixx_*.tgz .
mv /root/confixx/admin /root/confixx/admin_336/
tar -C /root/confixx -xzvf confixx_*.tgz
echo "0" | /root/confixx/admin/updates/update_3.x.pl