Programador PHP freelance

Corregir el LOCALE en un servidor de OVH

Tengo un servidor local de Subversion el cual he dedcido mover a unos de mis servidores en Internet para evitar problemas de conectividad y mejorar los tiempos de acceso desde el exterior.

El servidor en concreto es una distribución Ubuntu 10 contratado a OVH, la cual, al encargarla pedimos que viniera configurada en español. No es nada grave pero reconozco que me siento más cómodo con el sistema en inglés.

Como el servidor local también era una Ubuntu (le tengo amor), coger el SVN y moverlo al nuevo servidor ha sido tan sencillo como comprimirlo todo en un tgz y descomprimirlo luego en el destino. Cuatro apt-gets para instalar el servicio y a funcionar. Bueno, a medias.

El caso es que a cada llamada del cliente svn en consola, el sistema me devuelve esto.

svnadmin: warning: cannot set LC_CTYPE locale

svnadmin: warning: environment variable LANG is es_ES.UTF-8

svnadmin: warning: please check that your locale name is correct

Argh, con lo bien que iba todo.

Bueno, la verdad es que es poco grave, y lo posteo para evitar perder el tiempo que ya he perdido yo (entre otras cosas, de eso va esto de compartir, no?).

El sistema se queja de que la variable de entorno LANG está configurada de forma ‘incorrecta’ a es_ES.UTF-8. Sospecho un poco, lanzo un man ls y veo que toda la información del manual está en inglés (como a mi me gusta). Y entonces recuerdo que efectivamente pedimos el servidor en español en el momento de encargarlo.

Ok, hago locale y veo que mi perfil de usuario tiene configurado el español.

locale: Cannot set LC_CTYPE to default locale: No such file or directory

locale: Cannot set LC_MESSAGES to default locale: No such file or directory

locale: Cannot set LC_ALL to default locale: No such file or directory

LANG=es_ES.UTF-8

LANGUAGE=es_ES:

LC_CTYPE=”es_ES.UTF-8″

LC_NUMERIC=”es_ES.UTF-8″

LC_TIME=”es_ES.UTF-8″

LC_COLLATE=”es_ES.UTF-8″

LC_MONETARY=”es_ES.UTF-8″

LC_MESSAGES=”es_ES.UTF-8″

LC_PAPER=”es_ES.UTF-8″

LC_NAME=”es_ES.UTF-8″

LC_ADDRESS=”es_ES.UTF-8″

LC_TELEPHONE=”es_ES.UTF-8″

LC_MEASUREMENT=”es_ES.UTF-8″

LC_IDENTIFICATION=”es_ES.UTF-8″

LC_ALL=

Es decir, la configuración es correcta pero si hago locale -a, para ver los locales instalados, veo lo siguiente:
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory
C
POSIX
cs_CZ.utf8
de_AT.utf8
de_BE.utf8
de_CH.utf8
de_DE.utf8
de_LI.utf8
de_LU.utf8
en_AG
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_NG
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZW.utf8
fi_FI.utf8
fr_BE.utf8
fr_CA.utf8
fr_CH.utf8
fr_FR.utf8
fr_LU.utf8
it_CH.utf8
it_IT.utf8
lt_LT.utf8
lv_LV.utf8
nl_AW
nl_BE.utf8
nl_NL.utf8
pl_PL.utf8
pt_BR.utf8
pt_PT.utf8
Efectivamente. El español no está instalado.
Llegados aquí la solución es fácil. Tiramos de apt-get install language-pack-es-base y en un momento tenemos el nuevo locale configurado en el sistema, y para mi desgracia, ahora el shell ya no lo tengo en idioma anglosajón. Snifff
Aclaración: El servidor lo comparto con un colega de profesión y amigo desde la infancia, con quién ‘pacte’ instalar la máquina en spanish por defecto. Aprovechando esto os comento dos cosas:
1.- Compartir un servidor con alguien de confianza tiene muchas ventajas, a parte de las obvias, como son soportar a medias un gasto.
2.- Quién quiera modificar, a nivel de sistema, el locale por defecto solo tiene que editar /etc/default/locale