Zimbra no provee todavía paquetes para Debian 6. Por lo que si queremos instalar Zimbra en este sistema, tenemos que, o compilar, o resolver los inconvenientes que se presentan.
Por suerte, resolverlos es muy sencillo. El primer gran problema, es la versión de Perl. Para que Zimbra funcione correctamente hay que realizar un downgrade a la version de lenny. Para ello:
Agregamos el repo de lenny:
Código: Seleccionar todo
root@zimbra:~/# echo "deb http://ftp.debian.org/ lenny main contrib non-free" >> /etc/apt/sources.list
Código: Seleccionar todo
root@zimbra:~# aptitude install perl=5.10.0-19lenny3
Código: Seleccionar todo
Downgrade the following packages:
1) liblocale-gettext-perl [1.05-6 (now, stable) -> 1.05-4 (oldstable)]
2) libperl-dev [5.10.1-17 (now, stable) -> 5.10.0-19lenny3 (oldstable)]
3) libperl5.10 [5.10.1-17 (now, stable) -> 5.10.0-19lenny3 (oldstable)]
4) libuuid-perl [0.02-4 (now, stable) -> 0.02-3+b1 (oldstable)]
5) perl-base [5.10.1-17 (now, stable) -> 5.10.0-19lenny3 (oldstable)]
6) perl-modules [5.10.1-17 (now, stable) -> 5.10.0-19lenny3 (oldstable)]
Accept this solution? [Y/n/q/?] y
Código: Seleccionar todo
root@zimbra:~/# echo "libdb4.6 hold" | dpkg --set-selections
root@zimbra:~/# echo "liblocale-gettext-perl hold" | dpkg --set-selections
root@zimbra:~/# echo "libperl-dev hold" | dpkg --set-selections
root@zimbra:~/# echo "libperl5.10 hold" | dpkg --set-selections
root@zimbra:~/# echo "libuuid-perl hold" | dpkg --set-selections
root@zimbra:~/# echo "perl hold" | dpkg --set-selections
root@zimbra:~/# echo "perl-base hold" | dpkg --set-selections
root@zimbra:~/# echo "perl-modules hold" | dpkg --set-selections
Después, otro gran problema es que por alguna razón, el dpkg no parsea la versión si esta contiene el carácter "_", por lo que hay que modificar en cada paquete, el valor de la versión en el fichero de control. Para no hacerlo a monopla, recorde que tenia por ahi un script que encontré para modificar este archivo. Lo único que le modifique al script es que en lugar de llamar a vi, cambie directamente el valor de la versión reemplazando los "_" por "-"
Los paquetes están en el directorio "packages" del instalador de zimbra.
Este es el script:
Código: Seleccionar todo
root@zimbra:~/# cat /usr/local/bin/modcontrol
#!/bin/bash
if [[ -z "$1" ]]; then
echo "Syntax: $0 debfile"
exit 1
fi
DEBFILE="$1"
TMPDIR=`mktemp -d /tmp/deb.XXXXXXXXXX` || exit 1
OUTPUT=`basename "$DEBFILE" .deb`.modfied.deb
if [[ -e "$OUTPUT" ]]; then
echo "$OUTPUT exists."
rm -r "$TMPDIR"
exit 1
fi
dpkg-deb -x "$DEBFILE" "$TMPDIR"
dpkg-deb --control "$DEBFILE" "$TMPDIR"/DEBIAN
if [[ ! -e "$TMPDIR"/DEBIAN/control ]]; then
echo DEBIAN/control not found.
rm -r "$TMPDIR"
exit 1
fi
CONTROL="$TMPDIR"/DEBIAN/control
MOD=`stat -c "%y" "$CONTROL"`
#vi "$CONTROL"
mv "$CONTROL" "$CONTROL".bk
sed 's/_/-/g' "$CONTROL".bk > "$CONTROL"
rm "$CONTROL".bk
if [[ "$MOD" == `stat -c "%y" "$CONTROL"` ]]; then
echo Not modfied.
else
echo Building new deb...
dpkg -b "$TMPDIR" "$OUTPUT"
fi
mv "$OUTPUT" "$1"
rm -r "$TMPDIR"
Código: Seleccionar todo
root@zimbra:~/zcs-6.0.12_GA_2883.DEBIAN5_64.20110305232032/packages# for line in $(ls); do modcontrol $line; done