Durante mucho tiempo y cada vez que actualizaba el sistema Debian de mi maquina me saco el error; locale: cannot set LC_CTYPE to default locale: No such file or directory. Hasta un dia que me canse porque la instalacion de los paquetes empezo a tardarse demasiado tiempo.
Si tienen el mismo error, o uno similar significa que la variable de ambiente (en este caso LC_TYPE) no contiene un valor que el sistema pueda reconocer. Esto se puede dar debido a las siguientes razones;
- El locale seteado en el sistema esta mal escrito.
- El locale especificado no esta instalado en el sistema
Para estar seguros que este bien tecleado el nombre del locale o que este instalado, tecleamos;
[email protected]:~$ locale -a C en_AU.utf8 en_BW.utf8 en_CA.utf8 en_DK.utf8 en_GB.utf8 en_HK.utf8 en_IE.utf8 en_IN en_NZ.utf8 en_PH.utf8 en_SG.utf8 en_US.utf8 en_ZA.utf8 en_ZW.utf8 POSIX
En donde vemos si el locale que especificamos esta dentro de la lista desplegada anteriormente. Si no esta en el listado, debemos de instalarlo.
Reconfigurando locale
http://people.debian.org/~schultmc/locales.html
sudo dpkg-reconfigure locales
http://people.debian.org/~schultmc/locales.html
La forma facil, la forma Debian
Primero instalamos debconf, luego corremos el comando para configurarlos, como root;
deathbian:~# aptitude update deathbian:~# aptitude install debconf deathbian:~# dpkg-reconfigure locales
La forma dificil, para Redhat, Centos
Como super usuario editamos el archivo /etc/locale.gen. Si no existe el archivo, lo necesitamos crear. Abajo hay un archivo de ejemplo. Luego corremos el comando para generarlo;
deathbian:~# /usr/sbin/locale-gen
archivo:/etc/locale.gen |
# This file lists locales that you wish to have built. You can find a list en_US.UTF-8 UTF-8 |
bueno no siguiendo exactamente estos pasos pero pude restablecer mi configuracion en Debian Squeeze, pues en ~/.bashrc le añadi:
LANG=”es_AR.UTF-8″
LANGUAGE=”es_AR”
export LANG
export LANGUAGE
Tube la mala idea de probar un script “set-language-env ” que no se los recomiendo jeje . Saludos