Busqueda sobre Linux y software libre

Noticias sobre linux y software libre - Google 

Cómo cambiar el idioma en sistemas GNU/Linux y UNIX

Fuente:  http://adf.ly/1emZuk


Cómo cambiar el idioma en sistemas GNU/Linux y UNIX
Indice
Entendiendo las locales 1
Verificar sus locales actuales 2
Cambiar las locales de su shell 4
Hacer permanentes los cambios de idioma 5
Comprobar el cambio de idioma 6
Agregar locales a su sistema 7
Utilizar un programa en un idioma diferente 7
Cambiar el idioma en entornos gráficos 7
Otras maneras de cambiar el idioma en una distribución específica 8
Fedora 8 / CentOS 5.x 8
Gentoo 2008.0 8
Debian Etch 8
Ubuntu 7.10 9
Mandriva 2008 9
Suse 10.X 9
Cambiar el idioma al inicio (login) 9
Gestor de Sesiones de X Windows (XDM) 9
Gestor de Sesiones de GNOME (GDM) 10
Gestor de Sesiones de KDE (KDM) 10
Establecer el idioma con otros gestores de sesiones 10
Salir de X Windows 10
Sistemas basados en texto 11
Instalar paquetes de idioma 11
Cambiar las locale al programar 12
Cambiar las variables de entorno en su sistema 12

En GNU/Linux y la mayoría de los sistemas operativos basados en UNIX, los usuarios pueden cambiar fácilmente el idioma de su interfaz. A diferencia de Windows, la mayoría de los programas de UNIX generalmente están disponibles en múltiples idiomas sin coste adicional, así que usted no tiene que comprar una versión diferente del software cada vez que requiera utilizar otro idioma.

Entendiendo las locales

Una locale es una conjunto de convenciones acerca de cómo representar el idioma, los números, nombres, el dinero, las medidas, los tamaños de página, la fecha y la hora, las direcciones y orden de caracteres. Para diferenciar las locales en Linux/UNIX, se definen por una combinación entre el idioma, el país y su juego de caracteres.
Para evitar confusiones, el idioma en Linux/UNIX se representa por dos letras en minúscula, según especifica la norma ISO 639-1. Por ejemplo el español se representa como “es” y el francés como “fr”. Desafortunadamente, dos letras no son suficientes para representar las casi 7000 lenguas humanas, así que muchos de los idiomas poco conocidos tales como el Mapudungun (“arn”) usan tres letras especificadas en la norma ISO-639-3.
De manera similar el país también es representado en Linux/UNIX usando dos letras en mayúscula, según especifica la norma ISO 3166-1 alpha-2 . Es necesario especificar el país en la locale porque muchos idiomas varían según el país. Por ejemplo, el inglés de Gran Bretaña utiliza un deletreo diferente que el inglés de los Estados Unidos. De manera similar, el alemán en Suiza es un dialecto diferente que el alemán hablado en la mayoría de Alemania.
La locale también se clasifica según el juego de caracteres que utiliza. Las computadoras almacenan los caracteres como números. Por ejemplo, en la mayoría de computadoras la letra “A” se almacena como el número 65 y la letra “z” se almacena como el número 122. Casi todas las computadoras de hoy utilizan los mismos números para almacenar los primeros 128 caracteres, que contiene el alfabeto inglés, espacios, números, algunos símbolos comunes y los caracteres de control (como fin de texto, acuse de recibo y escape). Las letras romanas con acentos diacríticos tal como “ë” y “ú” y todos los idiomas que no utilizan las letras romanas se almacenan como 128 o más alto.
El problema es que estos números más elevados pueden representar diversos caracteres dependiendo del juego de caracteres que se está utilizando. Por ejemplo, en el juego de caracteres ISO-8859-1 que utilizan la mayoría de los idiomas de Europa occidental, el número 228 representa el carácter “ä”, pero representa el carácter “ה” en el juego de caracteres ISO-8859-8 que se utiliza para el hebreo. Desafortunadamente, un problema se presentó cuando la gente necesitó utilizar los caracteres encontrados en diversos juegos de caracteres. El carácter “ä” no se podría utilizar en un mismo documento que contenga el carácter “ה” porque ambos fueron almacenados con el mismo número. Por esta razón muchas distribuciones de Linux/UNIX han cambiado al juego de caracteres de 8 bits Unicode (UTF-8) que es capaz de representar todos los caracteres conocidos de la humanidad. Para ver todos los juegos de caracteres que su computadora puede utilizar ejecute el comando:
locale -m | more
(Presione la barra espaciadora para ver una página a la vez o Q para salir)

Verificar sus locales actuales

Para ver qué idioma está siendo utilizado actualmente en su sistema, vea el contenido de la variable de entorno $LANG. En la línea de comando ejecute:
echo $LANG
En mi computadora este comando devuelve:
en_US.UTF-8
Linux/UNIX enumera las locales en el formato:
ll_CC.CHARSET
donde ll es el código del idioma en 2 o 3 letras minúsculas, cc es el código de país en dos letras mayúsculas y CHARSET es el nombre el juego de caracteres. En mi caso, estoy utilizando inglés de los Estados Unidos en el juego de caracteres Unicode de 8 bits (UTF-8). El juego de caracteres será omitido a menudo. Si no está especificado, la mayoría de los idiomas de Europa occidental utilizarán el juego de caracteres ISO-8859-1 por defecto, mientras que otros utilizarán el juego de caracteres más apropiado para su lengua y país, tal como GB18030 para el chino continental e ISO-8859-5 para el ruso.
Linux/UNIX no sólo tiene una variable de entorno para el idioma, también las tiene para el tipo de número, de dinero, de medidas, de tamaño del papel y de muchas otras cosas. Para ver todas estas variables de entorno, utilice el comando locale:
locale
En mi computadora veo:
$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
Probablemente sólo le importa la variable $LANG, pero las otras variables pueden ser útiles si usted quiere utilizar un tipo de medidas, de dinero, de direcciones, etc. que se encuentran en otro idioma y país. Abajo están los significados de las variables diversas:
LANG
Lengua.
LC_CTYPE
Tipo del carácter y conversión del minúsculas/mayúsculas.
LC_COLLATE
Orden de caracteres.
LC_TIME
Formatos de fecha y hora.
LC_NUMERIC
Formatos numéricos no monetarios.
LC_MONETARY
Formatos monetarios.
LC_MESSAGES
Formatos de mensajes informativos, de diagnóstico y de respuestas interactivas.
LC_PAPER
Tamaño del papel.
LC_NAME
Formatos de nombres.
LC_ADDRESS
Formatos de dirección e información de localización.
LC_TELEPHONE
Formatos de número telefónico.
LC_MEASUREMENT
Unidades de medida (métricas u otra).
LC_IDENTIFICATION
Metadatos sobre la información de la locale.

Cambiar las locales de su shell

$LANG y las otras variables de su locale son variables de entorno. Para cambiarlas, abra un terminal (una ventana con el símbolo de línea de comando) y utilice el comandoexport. Para cambiar el idioma:
export LANG="ll_CC.CHARSET"
Por ejemplo, si usted quisiera fijar la lengua al español de España en el juego de caracteres ISO-8859-1, usted utilizaría el comando:
export LANG="es_ES"
No necesita especificar el juego de caracteres, porque ISO-8859-1 es el juego por defecto para la locale es_ES. Sin embargo si usted quiere utilizar UTF-8, necesita especificar:
export LANG="es_ES.UTF-8"
Desde la introducción del euro, mucha gente en Europa ha descubierto que el juego de caracteres ISO-8859-1 no es adecuado porque carece del nuevo signo del euro (€). Para ello, necesitan el nuevo juego de caracteres ISO-8859-15. Puede ser fijado como un juego de caracteres normal o añadiendo “@euro”:
export LANG="es_ES.ISO-8859-15"
O:
export LANG="es_ES@euro"
Usted puede fijar cada variable de sus locales independientemente. Por ejemplo si usted quiere utilizar el tipo de dirección perteneciente a Francia:
export LC_ADDRESS="fr_FR"
Usted puede también fijar todas las variables de locales (con la excepción de $LANG) a la misma vez con $LC_ALL:
export LC_ALL="fr_FR"
Debe fijar $LANG por separado:
export LANG="fr_FR"
A diferencia de las variables locales que solamente están disponibles en el proceso actual, las variables de sus locales son variables de entorno y serán copiadas a todos los procesos-hijos de su proceso actual. Su proceso actual es el shell (la ventana con la línea de comando donde usted está tecleando para cambiar las variables de sus locales). De ahí en adelante la sesión actual de su shell utilizará las locales en francés de Francia, pero luego revertirá a las locales originales cuando salga de la shell o cambie el usuario. Cualquier programa que ejecute en su sesión actual de shell aparecerá en francés (siempre y cuando el programa tenga una traducción en francés y la traducción haya sido instalada en su sistema).

Hacer permanentes los cambios de idioma

Si usted quiere utilizar siempre francés cada vez que habra un shell, debe fijar el idioma en un archivo de inicialización. Puede cambiar la lengua en el archivo .profile que establece valores de su usuario cada vez que inicia sesión o abre un shell nuevo. .profile es un archivo oculto que se encuentra en su directorio $HOME, normalmente en/home/nombre_de_usuario/.profile. Utilice su editor preferido de texto (e.g., nano, gedit, kate, vi, emacs, etc.) para agregar la línea siguiente a .profile:
export LANG="ll_CC.CHARSET"
Si usted utiliza un shell bash (que es el shell por defecto de GNU/Linux y Mac OS X), verifique que no exista el archivo .bash_profile o .bash_login. Si existe, debe agregar la línea del ejemplo anterior en uno de estos archivos porque son leídos en lugar de .profile. El archivo .profile es leído después de cualquier tipo de inicio de sesión. Si usted quiere establecer el idioma sólo para sesiones en el entorno gráfico de X Windows, debe establecer el variable $LANG en el archivo $HOME/.xprofile (o en el archivo $HOME/.xsessionrc desde la versión xorg 1:7.3+9).
Un hispano hablante y una persona que habla chino pueden utilizar el mismo sistema en su lengua materna sin problemas. Linux/UNIX está diseñado para ser multiusuario, así que diversos usuarios pueden seleccionar diversas locales y fijarlas en sus archivos .profile.
Si usted quiere establecer el idioma por defecto de todos los usuarios que no lo han establecido aún, inserte la línea export LANG="ll_CC.CHARSET" en el archivo/etc/profile. (En algunos sistemas se necesita establecer el idioma en el archivo /etc/profile.d/lang.sh en lugar de /etc/profile.) Si usted quiere establecer un idioma por defecto para sus usuarios pero espera que muchos vayan a cambiarlo, es una buena idea establecer el idioma en el archivo /etc/skel/.profile, así que será copiado automáticamente al directorio $HOME de todos los nuevos usuarios que se creen en el futuro.
Si usted está utilizando el entorno gráfico X Windows, cambiar el idioma en la terminal no afecta el idioma de X Windows o los programas que se ejecuten desde sus menúes. Si usted quiere cambiar la lengua de su entorno gráfico, necesitará salir de X Windows y seleccionar un idioma diferente antes de ejecutar X Windows o durante el inicio de sesión de X Windows. Vea la sección Cambiar la lengua durante el inicio de sesión (login).

Comprobar el cambio de idioma

Después de cambiar sus locales, es una buena idea comprobar si fueron establecidas correctamente con el comando locale:
$ export LC_ALL="xx_XX"
$ locale
locale: Cannot set LC_ALL to default locale: No such file or directory export LC_ALL= "xx_XX"
Si ve el mensaje anterior informándole que no hay “tal archivo o directorio”, significa que usted ha intentado utilizar una locale que no coincide o los archivos para esta locale no están instalados en su sistema.
Instalar todas las locales disponibles ocupa alrededor de 50MB en el disco duro. Para ahorrar espacio, mucha gente instala solamente algunas locales, puesto que no necesitan la gran mayoría.
Para descubrir si su locale está disponible, busqúela en el archivo SUPPORTED:
more /usr/share/i18n/SUPPORTED
También puede buscar una locale en particular con el comando del grep:
grep ll_CC /usr/share/i18n/SUPPORTED
Cada locale en el archivo SUPPORTED está listada junto a su juego de caracteres, que es útil si usted no sabe qué juego de caracteres se utiliza por defecto para determinadalocale. Si no sabe qué significa el código ISO de un idioma o el país, debería buscar en internet (vea los enlaces en la sección anterior Entendiendo las locales). Si tiene gdm, el manejador de sesiones de GNOME, instalado en su sistema, puede buscar el significado de los códigos ISO en el archivo de /etc/gdm/locale.conf, donde los nombres completos de idiomas y países están listados con los códigos ISO de todas las locales soportadas:
more /etc/gdm/locale.conf
Para buscar el significado de una locale en particular, utilice el comando grep:
grep ll_CC /etc/gdm/locale.conf
Después de verificar que una locale esté soportada, utilice el comando locale para listar todas las locales que han sido instaladas en su sistema:
locale -a
También puede comprobar qué locales han sido instaladas en su sistema mirando el directorio /usr/lib/locale (o si no se encuentran en ese directorio, estarán ubicadas siguiendo la ruta de $LOCPATH).
Si tiene problemas cambiando una locale para utilizar un juego de caracteres en particular, puede comprobar si ese juego de caracteres ha sido instalado en su sistema con el comando locale:
locale -m

Agregar locales a su sistema

Locales adicionales pueden instalarse en su sistema con el comando locale-gen (con la condición de que se encuentran en la lista de locales soportadas). Por ejemplo, para instalar la locale francés de Francia con el juego de caracteres ISO-8859-15:
locale-gen fr_FR.ISO-8859-15
Si locale no funciona correctamente, el problema puede ser que algunos de sus archivos se han borrado o corrompido, en ese caso debe recompilar y reinstalar los archivos del entorno con el comando localedef :
localedef -c -v -f ISO-8859-15 -i fr_FR fr_FR.ISO-8859-15

Utilizar un programa en una lengua diferente

Si desea cambiar el idioma de un programa en particular, puede fijar el idioma al ejecutar ese programa. Por ejemplo si quiere utilizar el procesador de textos de OpenOffice en italiano:
LANG="it_IT" oowriter
Algunos programas no detectan correctamente la variable $LANG y utilizan la locale de LC_MESSAGES. En este caso es más fácil cambiar $LC_ALL:
LC_ALL="it_IT" oowriter
Por alguna razón en mi sistema la locale no puede cambiarse al ejecutar un programa con sudo. Por ejemplo:
sudo LC_ALL="it_IT" oowriter
Si encuentra el mismo problema, puede evitar el problema utilizando sudo -i para iniciar como super-usuario y salir después de ejecutar el programa:
sudo -i
LC_ALL="it_IT" oowriter &
exit
Si quiere utilizar una programa frecuentemente en un idioma diferente, es útil crear un alias en $HOME/.bashrc como:
alias oowriter='LC_ALL=it_IT oowriter'

Cambiar el idioma en entornos gráficos


Cambiar el idioma de la línea de comandos no cambiará el idioma de las X Windows o los programas que se ejecutan desde sus menúes.
Algunos gestores de escritorio proporcionan una manera fácil para cambiar el idioma de su entorno gráfico. En KDE, en el menu principal, vaya a Control Center. Hace clic enRegional & Accessibility. Allí usted puede seleccionar su idioma y teclado preferido.
Algunos entornos como GNOME y Xfce incluyen un programa útil para instalar idiomas adicionales y para seleccionar la lengua por defecto para los nuevos usuarios. En GNOME en el menú System, vaya a Administration y después a Language Support. En Xfce, vaya System, después a Language Support.
El diálogo Language Support proporciona una manera fácil para instalar idiomas adicionales, así que sus locales y paquetes necesarios serán obtenidos e instalados automáticamente (siempre y cuando su sistema esté configurado correctamente para utilizar los repositorios de su distribución.) Cuando arranque, el programa también comprobará que todos los paquetes necesarios han sido instalados para su locale actual. Desafortunadamente el programa Language Support le permite solamente seleccionar el idioma por defecto para los nuevos usuarios. No cambiará el idioma de su usuario actual.
Si usted quiere cambiar el idioma de su entorno gráfico, puede salir de su X Windows y seleccionar otro idioma antes de reiniciar X-Windows o durante el inicio de sesión de X-Windows. Vea la sección Cambiando el idioma durante el inicio de sesión (login) abajo.

Otras maneras de cambiar el idioma en una distribución especifica

Muchas distribuciones proporcionan métodos para cambiar el idioma distintos al método usado arriba, el cuál está hecho para funcionar en la mayoría de las distribuciones de Linux/UNIX. Abajo se describen métodos para cambiar el idioma de la línea de comandos en diversas distribuciones.
Fedora 8 / CentOS 5.x
Cambiar la lengua:
system-config-language
Cambiar el teclado:
system-config-keyboard
Gentoo 2008.0
http://www.gentoo.org/doc/es/guide-localization.xml#doc_chap3
Debian Etch
Cambiar la lengua:
dpkg-reconfigure locales
Cambiar el teclado:
dpkg-reconfigure console-data
Ubuntu 7.10
Cambiar la lengua:
sudo set-language-env -E
Cambiar el teclado:
sudo dpkg-reconfigure console-setup
Mandriva 2008
Cambiar la lengua:
localedrake
Cambiar el teclado:
keyboarddrake
Suse 10.X
Cambiar la lengua:
yast2
Seleccione "System" (Sistema) a la izquierda y "Language" (Lenguaje) a la derecha. Cambie el idioma y guarde los cambios con "Accept" (Aceptar).
Cambiar el teclado:
yast2
Seleccione "Hardware" a la izquierda y luego "Keyboard Layout" (Disposición del teclado) en a la derecha. Cambie la disposición del teclado y guarde los cambios con "Accept" (Aceptar).

Cambiar el idioma durante el inicio de sesión (login)

La manera más fácil para cambiar el idioma es seleccionarlo durante el inicio de sesión, especialmente si está utilizando un gestor de sesiones como GDM o KDM que permiten la selección del idioma cuando inicia la sesión en X Windows.

Gestor de Sesiones de X Windows (XDM)

El entorno gráfico en Linux/UNIX está construido sobre el X Window System, que por defecto utiliza el gestor de sesiones XDM  http://adf.ly/1ema9r  para iniciar sesión y entrar al entorno gráfico. Desafortunadamente XDM no proporciona un menú agradable para permitir que los usuarios seleccionen su idioma de interfaz, así que tendrá que editar el archivo de configuración de XDM para cambiar el idioma. El archivo de configuración se encuentra generalmente en /usr/var/X11/xdmr/xdm-config o/usr/lib/X11/xdm/xdm-config. Para establecer el idioma durante el inicio de sesión, especifique el valor DisplayManager*language. Por ejemplo, si quiere abrir una sesión usando español de Argentina usando el juego de caracteres UTF-8, debería agregar la línea siguiente a xdm-config:
DisplayManager*language: es_AR.UTF-8

Gestor de Sesiones de GNOME (GDM)

Afortunadamente, pocos sistemas utilizan el gestor de sesiones XDM para inicia sesión en X Windows hoy en día, porque los entornos de escritorio tales como GNOME ofrecen inicios de sesión mucho más agradables y más configurables. El gestor de sesiones de GNOME (GDM) permite que los usuarios seleccionen su lenguaje en un menú de idioma que se encuentra generalmente en la parte inferior de la pantalla. Si no ve su idioma en la lista, tendrá que agregarlo a su lista de locales instaladas. Vea la sección Agregar unalocale a su sistema.

Si desea cambiar el idioma por defecto del GDM, puede establecer la variable $LANG en el archivo /etc/default/gdm. Por ejemplo, para cambiar su idioma a francés de Canadá usando el juego de caracteres ISO-8859-1, debería agregar la línea:
LANG="fr_CA.ISO-8859-1"
Para descubrir qué locales están disponibles para GDM, vea el contenido del archivo /etc/gdm/locale.conf. Si especifica una locale que no ha sido instalada en su sistema, GDM se mostrará en inglés porque el sistema despliega la locale “C” por defecto.

Gestor de Sesiones de KDE (KDM)

Como GDM, el gestor de Sesiones de KDE (KDM) tiene un menú de uso fácil de idioma que le permite seleccionar el idioma durante el inicio de sesión. Si quiere fijar el idioma en que KDM será mostrado, edite el archivo kdmrc que se encuentra generalmente en /etc/kde3/kdm/kdmrc si usa KDE 3 o /etc/kde4/kdm/kdmrc si usa KDE 4. Dentro en la sección [X-*-Greeter], fije la variable Language al formato estándar ll_CC.CHARSET. Por ejemplo, si usa italiano de Italia con el juego de caracteres ISO-8859-15:
Language it_IT.ISO-8859-15

Establecer el idioma en otros gestores de sesiones

Otros gestores de sesión tales como Entrance de Enlightenment y el gestor de Sesiones WINGs (WDM) para un entorno al estilo de Window Maker también permite que el usuario seleccione el idioma de la interfaz con un menú de uso fácil. Vea la documentación para aprender cómo establecer el idioma en sus archivos de configuración. (RTFM :)

Salir de X Windows

Si está utilizando X Windows y quiere cambiar el idioma, tiene que cerrar su sesión de X Windows. Puede hacer esto mediante el menú de la mayoría de los gestores de escritorio de Linux/UNIX. Si no visualiza tal menú o ha colgado el X Windows, puede matarlo presionando CTRL+ALT+RETROCESO. La mayoría de los sistemas Linux/UNIX ejecutarán automáticamente el gestor de sesiones para iniciar sesión nuevamente en X Windows. En algunos sistemas tendrá que reiniciar manualmente X Windows ejecutandostartx en la línea de comandos. Si quiere iniciar sesión como otro usuario o cambiar el idioma necesitará ejecutar el gestor de sesiones de su sistema. Si usa un sistema con el entorno de escritorio de GNOME, en la línea de comandos ingrese: gdm. En sistemas con KDE, ingrese: kdm. En sistemas con Enlightenment, ingrese: entrance. En otro caso, intente con: xdmslim o wdm.

Sistemas basados en texto

Hoy en día la mayoría de los sistemas Linux/UNIX tienen entornos gráficos, pero todavía los sistemas basados en texto son muy utilizados, especialmente en aparatos embebidos y sistemas dedicados como firewalls, routers y servidores de DNS, e-mail y páginas web. Además es común conectar a los servidores en red mediante la consola de texto.
Si Ud. quiere establecer el idioma por defecto, puede hacerlo en su archivo $HOME/.profile para un usuario determinado o en /etc/profile para el sistema. Vea la sección Cambiar las locales de su shell.
Puede establecer el idioma usando el comando login:
login username LANG="ll_CC.CHARSET"
Tambien puede establecer el idioma durante una sesión de OpenSSH, que es la versión libre de ssh utilizado por defecto por la mayoría de distribuciones Linux/UNIX. En el archivo $HOME/.ssh/environment, agrege la línea:
LANG=ll_CC.CHARSET
Si el archivo no existe, debe crearlo. Por defecto ssh no permite que las variables de entorno sean establecidas por el usuario. Para activar esta funcionalidad, debe cambiar la línea siguiente en el archivo /etc/sshd_config:
PermitUserEnvironment yes

Instalar paquetes de idioma

Aunque puede cambiar las locales para utilizar un nueva idioma, no está garantizado que todos los programas serán mostrados en ese idioma. Si no existe traducción alguna para ese idioma, el programa mostrará el idioma que fue utilizado en la programación original que casi siempre es inglés. Dependiendo de su distribución de Linux/UNIX, es posible que no todos los archivos de traducción han sido instalados cuando usted instaló el programa. Por ejemplo, en Ubuntu GNU/Linux, se encuentran las traducciones de GNOME, KDE, OpenOffice y los programas de Mozilla en paquetes separados de los binarios ejecutables. Estos paquetes de traducción se etiquetan a veces según el idioma, así que podría buscar los paquetes cuyos nombres terminan por ejemplo en “-es” si está buscando los paquetes españoles. A menudo, todos los archivos de traducción para un programa se colocan en el mismo paquete y se etiquetan como ”-i18n" que significa “internacionalización”.
La mayoría de los gestores de paquetes proporcionan una manera fácil de buscar los paquetes disponibles. Por ejemplo, en sistemas basados en Debian, puede utilizar el comandoapt-cache para buscar todos los paquetes que contienen “spanish” o “-i18n” o que terminan en "-es":
apt-cache search "spanish|\-i18n|\-es$"
Igualmente, en sistemas basados en Red Hat/Fedora puede buscar los paquetes que contienen la palabra “spanish” con el comando rpm:
rpm -qa spanish
En Gentoo puede activar las USE flags nls, slang para instalar los paquetes de idioma correspondientes a las locales actualmente establecidas en el sistema, y/o establecer la variable LINGUAS al idioma deseado:
LINGUAS=”es_ES” USE=”nls slang” emerge -va paquete
Las traducciones para un programa en particular se almacenan generalmente en los archivos del Objeto de Máquina (.mo) que son invocados mediante la función gettext. Los archivos de traducción para cada idioma se almacenan en el directorio /usr/share/locale (o en la ubicación especificada por la variable de entorno $TEXTDOMAINDIR). Las traducciones se encontrarán en los directorios para cada idioma. Por ejemplo si busca la traducción de AbiWord, se encontraría en/usr/share/locale/es/LC_MESSAGES/abiword.mo.

Cambiar las locales al programar

Si escribe código de C/C++, el estándar de la ISO C especifica que todos los programas en C comenzarán en el locale de “C”, que es la locale por defecto y garantiza que solamente usted puede utilizar la lengua inglesa con el juego de caracteres de ASCII de 7 bits. Para utilizar las locales de su sistema, utilice la función setlocale de locale.h. Ponga el primer argumento a LC_ALL y el segundo a NULL (o una cadena vacía). Si necesita saber qué locales está utilizando su sistema, setlocale devolverá el estado actual:
#include
...
char * str;
str = setlocale(LC_ALL, NULL);
Si usted quiere cambiar las locales en su programa de C/C++, ponga el nombre de la locale deseada en el segundo argumento:
setlocale(LC_ALL, "es_AR.ISO-8859-1");
Si setlocale devuelve un valor NULL, el nombre de la locale es inválido y la locale no fue cambiada. Para aprender cómo internacionalizar su código y cambiar el idioma de los mensajes en sus programas, vea este tutorial y la documentación de gettext.
Si escribe código del PHP, las variables de entorno se almacenan en el array de $_ENV. Para encontrar la locale actual:
str = $_ENV["LANG"];
Para fijar la locale para un programa que está actualmente en funcionamiento, utilice la función putenv:
putenv("LANG=es_AR.ISO-8859-1");

Cambiar los variables de entorno de su sistema

Si programa en C/C++ y quiere cambiar las locales en su sistema y no solamente las locales del programa actualmente de la ejecución, puede utilizar la función getenv destdlib.h para descubrir la locale actual de su sistema y la función de sistema para ejecutar un comando de sistema como si estuviese utilizando la línea de comando normalmente:
#include
...
char * str;
str = getenv("LANG");
system("export LANG=\"es_AR.ISO-8859-1\"");
Si está programando en PHP puede utilizar las funciones getenv y exec para hacer lo mismo:
str = getenv("LANG");
exec('export LANG="es_AR.ISO-8859-1"');


Escrito por:
Amos B. Batto
Email: amosbatto EN yahoo PUNTO com
Proyecto: www.runasimipi.org
Editado y Adaptado parcialmente por:
Sergio D. Rodríguez Inclan
Email: srinclan EN gmail PUNTO com
GDP Spanish Team.
Versión: 0.1.1-rev1, Date: 09-09-2008, Last Mod: 12-09-2008

Este documento es de dominio público y se puede ser compartido y modificado libremente sin restricciones.

Como hacer imagen en ubuntu


fuente: http://adf.ly/1emZku

Pregunta


Quisiera saber como puedo hacer una imagen de mi ubuntu  instalado para despues clonar en otras pcs.
Un programa en especial que me pueda servir de ayuda

Respuesta

En ese caso, lo que necesitas es remastersys:


http://adf.ly/1emZnX
elegis la 1er opcion, donde deberas incluir el home del usuario "por defecto" y te generara un live-DVD , con todo instalado y configurado, listo para instalar o compartir.

Otra opcion es clonezilla








Firewall Firestarter con Linux y telefonos IP

Pregunta

Necesito que me den una mano con Firestarter.

Tengo un Servidor con Ubuntu 9.10 Karmic Koala. Actualmente solo esta como server de archivos y ftp ,El mismo tiene 2 placas de red de las cuales solo se está usando la eth0 para conexión local.

Actualmente Toda la red esta saliendo a inet por un router Linksys WRT320N con el servicio de DHCP activado para mi Lan.

Mi idea es usar las 2 placas de red del Server para poder integrar un firewall a mi red, con lo cual usaría la Eth0 para  inet  y la Eth1 para la red local, levantar el servicio DHCP y a través de la Eth1 dar direcciones de IP a mi red, bien hasta aca todo bien.
El tema es que cuento con 2 telefonos IP los cuales están conectados por VPN a casa central Miami, y mi duda es si  Firestarter admite este tipo de trafico, para poder pasar todo atraves de mi Ubuntu.
Estoy  recién empezando en el mundo Linux que por cierto es increíble, agradecería su ayuda concejos y opiniones.

Respuesta

nunca trabaje con ubuntu como firewall, pero si este soft "firestarter" lo que hace es dejarte configurar las iptables de manera 'linda' no tendrias que tener problema.
Yo utilice asterisk entre mas de 4 locacionees via VPN, siendo todos los firewalls fedora / redhat con iptables y no tuve ningun tipo de inconveniente.

Otra respuesta

Yo particularmente jamas pondria un firewall junto con el resto de los servicios en un mismo servidor. Por un tema de seguridad y porque si se te arruina el unico servidor que tenes, te quedas sin nada. La idea es no poner todos los huevos en la misma canasta.
Por otro lado yo soy de la idea de hardware dedicado, si estas hablando en serio, te compras un buen firewall por hardware y te olvidas del tema.

Como levantar un Servidor Nagios en Ubuntu

Fuente:  http://adf.ly/1emZTV

Nagios es un sistema open source de monitorización de redes ampliamente utilizado, que vigila los equipos (hardware) y servicios (software) que se especifiquen, alertando cuando el comportamiento de los mismos no sea el deseado. Entre sus características principales figuran la monitorización de servicios de red (SMTP, POP3, HTTP, SNMP, FTP, etc), la monitorización de los recursos de sistemas hardware (carga del procesador, uso de los discos, memoria, estado de los puertos, etc.), independencia de sistemas operativos, posibilidad de monitorización remota mediante túneles SSL cifrados ó SSH, y la posibilidad de programar plugins específicos para nuevos sistemas.
Se trata de un software que proporciona una gran versatilidad para consultar prácticamente cualquier parámetro de interés de un sistema, y genera alertas, que pueden ser recibidas por los responsables correspondientes mediante (entre otros medios) correo electrónico y mensajes SMS, cuando estos parámetros exceden de los márgenes definidos por el administrador de red.
Nagios fue originalmente diseñado para ser ejecutado en GNU/Linux, pero también se ejecuta bien en variantes de Unix. Está licenciado bajo la GNU General Public License Version 2.
Este manual de instalación y configuración básica para monitorizar la maquina donde instalemos el mismo Nagios (localhost) esta extraído de la guía oficial de Nagios, asi como de diversas paginas web, la guia de net-SNMP y la guia de NRPE entre otros.

Instalacion del Servidor Nagios

http://adf.ly/1emZR5

Primero instalaremos Apache2 y las librerías necesarias para utilizar Nagios.
Instalamos Apache2 y el paquete essential con librerías para compilar y desarrollar:
#apt-get install apache2
   #apt-get install build-essential
Instalamos la librería gd2:
#apt-get install libgd2-xpm-dev
Creamos una cuenta de usuario ‘nagios’ y le modificamos la contraseña:
#useradd -m nagios
   #passwd nagios
Crearemos la cuenta de usuario para comandos externos subministrados a través de la interfaz web. Añadiremos al usuairo ‘nagcmd’ al grupo ‘nagios’ y al ‘www-data’:
#groupadd nagcmd
   #usermod -a -G nagcmd nagios
   #usermod -a -G nagcmd www-data
Ahora vamos al directorio /home/mi_home/ para realizar las descargas de nagios y los plugins de la página http://www.nagios.org/download/:
#cd /home/mi_home/
   #wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nagios-3.0.6.tar.gz
   #wget http://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.11.tar.gz
Desempaquetamos el tar y accedemos a la carpeta del mismo:
#tar xzf nagios-3.0.6.tar.gz
   #cd nagios-3.0.6
Ejecutamos el script para configurar con los siguientes parámetros:
#./configure --with-command-group=nagcmd
Compilamos el código fuente de nagios e instalamos:
#make all
   #make install
   #make install-init
   #make install-config
   #make install-commandmode
Personalizamos nuestra configuración insertando nuestra dirección de correo para que nagios se pueda comunicar con nosotros y podamos recibir las alertas en el fichero /usr/local/nagios/etc/objects/contacts.cfg
#vi /usr/local/nagios/etc/objects/contacts.cfg
Configuramos la interfaz Web e instalamos el fichero de configuración de Apache2 en conf.d:
#make install-webconf
Creamos la cuenta de usuario ‘nagiosadmin’ para hacer login al interfaz web y nos pida autenticación:
#htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Recargamos Apache2 para que modifique los cambios realizados:
#/etc/init.d/apache2 reload
Desempaquetamos los plugin e ingresamos en el directorio:
#cd /home/mi_home/
   #tar xzf nagios-plugins-1.4.11.tar.gz
   #cd nagios-plugins-1.4.11
Antes de compilar e instalar los plugins, nagios por defecto no tiene los plugins de SNMP (los cuales son muy importante para revisar equipos por la red), entonces debemos bajarlos de su web: http://www.net-snmp.org/download.html (ojo, son paquetes binarios en rpm, no importa ya que no debemos hacerles nada a los paquetes)
Los copiamos al directorio donde desempaquetamos los plugins.
Compilamos e instalamos los plugins:
#./configure --with-nagios-user=nagios --with-nagios-group=nagios
   #make
   #make install
Configuramos Nagios para que arranque automaticaménte:
#ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios
Verificamos que la configuración que tenemos es toda correcta con el siguiente comando:
#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Finalmente, y si todo ha salido bien, procedemos a arrancar Nagios:
#/etc/init.d/nagios start
Con todo esto, ya tenemos instalado y configurado Nagios para funcionar y recibir alarmas del mismo servidor nagios (localhost). Abrimos un explorador e ingresamos la dirección ‘http://localhost/nagios/’ (o http://IP_maquina/nagios/) y cuando nos pida autenticación, ingresamos el usuario creado anteriormente ‘nagiosadmin’ con su correspondiente contraseña.
Una vez dentro, podemos realizar un click en “Service Detail” y monitorizar nuestro servidor. Recordatorio: La ubicación de todos los ficheros de configuración están ubicados en “/usr/local/nagios”.
Entonces, hasta ahora tenemos un servidor nagios, levantado, pero solo podemos ver los servicios de nuestro localhost (servidor o desktop) con el nagios instalado, debemos hacer ciertas configuraciones para poder monitorear servicios de hardware de Red asi como de otros Servidores (en Linux, Unix o Windows) y podemos monitorizar varias cosas, como ser uso de la CPU, uso de Memoria, uso de Disco Duro, etc.

Monitorizando un Servidor en Linux

http://adf.ly/1emZR5

Para monitorizar otros servidores o maquinas con Linux que no sea nuestra Localhost, debemos usar el plugin NRPE, esre plugin, tiene dos partes:
El plugin NRPE check_nrpe que reside en el Servidor Nagios. el demonio NRPE, que reside en la maquina a monitorizar.
La forma en que funcionan es la siguiente:
  • Nagios ejecuta check_nrpe y le dice que servicio necesita revisar.
  • check_nrpe se contacta con el demonio NRPE en el host remoto (una opcion es hacerlo por SSL.
  • El demonio NRPE corre y revisa el servicio requerido
  • El resultado es pasado del demonio NRPE a check_nrpe y este enviado y procesado a Nagios.
Ahora continuaremos con la Instalacion del Host Remoto.
Entramos a la consola y tomamos privilegios de root.
$sudo -s
creamos un usuario nagios con su contraseña:
#/usr/sbin/useradd nagios
   #passwd nagios
Instalamos los plugins de nagios (los mismos que instalamos en el Servidor Nagios).
#cd /home/mi_home/
   #wget http://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.11.tar.gz
   #tar xzf nagios-plugins-1.4.11.tar.gz
   #cd nagios-plugins-1.4.11
Compilamos e Instalamos los plugins
#./configure
   #make
   #make install
Los permisos al directoria del plugin deben ser configurados de la siguiente manera
#chown nagios.nagios /usr/local/nagios
   #chown -R nagios.nagios /usr/local/nagios/libexec
Ahora instalamos en demonio NRPE, para eso lo debemos bajar, lo estraemas
#cd ~/downloads
   #wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nrpe-2.8.tar.gz
   #tar xzf nrpe-2.8.tar.gz
   #cd nrpe-2.8
Antes de compilarlo, vemos si tenemos todo lo necesario y hacemos:
#apt-get install build-essential
  #apt-get install xinetd
  #apt-get install libssl-dev
Lo compilamos
#./configure
   #make all
Instalamos el pulgin NRPE (para pruebas), el demonio y el archivo de configuracion del demonio
#make install-plugin
   #make install-daemon
   #make install-daemon-config
Instalamos el demonio NRPE como un servicio en xinetd
#make install-xinetd
editamos el archivo /etc/xinetd.d/nrpe y le añadimos la direccion IP del servidor Nagios en la linea only_from
only_from=192.168.0.205 
Añadimos la siguiente entrada del demonio NRPE a /etc/services
nrpe  5666/tcp  #nrpe
Reiniciamos el servicio xinetd
#/etc/init.d/xinetd restart
Ahora probamos de manera local el demonio NRPE
primero verificamos que el demonio NRPE este corriendo en xinetd
#netstat -at | grep nrpe
la salida deberia ser:
tcp  0  0 *:nrpe  *:*  LISTEN
Si esa es la salida, perfecto, esta funcionando el demonio. Si no, se debe revisar lo siguiente: haber añadido nrpe en el archivo /etc/services Que la directiva only_from rn /etc/xinetd.d/nrpe contenga una direccion IP valida que xinetd este instalado y corriendo
Ahora, revisamo que el demonio NRPE este funcionando correctamente
#/usr/local/nagios/libexec/check_nrpe -H ip_de_la_maquina_local
deberiamos tener el siguiente resultado
NRPE v2.8
Ahora nos aseguramos de que el firewall deje que el demonio NRPE sea accesado de forma remota abriendo el puerto tcp 5666 dentro de iptables
Cabe recalcar que se puede editar el archivo de configuracion por el cual corre el nrpe en la maquina local:
#vi /usr/local/nagios/etc/nrpe.cfg
Asi como esta la actualizacion lo que hara el NRPE es el monitoreo de usuarios, carga del Procesador, uso del Disco Duro, Listar los Todos los Procesos y ver si existen procesos “Zombies”
Ahora, pasemos a la configuracion del Servidor Nagios:
debemos instalar el plugin check_nrpe
$sudo -s
nos vamos al directorio con los archivos bajados
#cd  ~/downloads
   #wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nrpe-2.8.tar.gz
Extraemos el NRPE
#tar xzf nrpe-2.8.tar.gz
   #cd nrpe-2.8
Compilamos el NRPE
#./configure
   #make all
instalamos el plugin
#make install-plugin
Nos aseguramos que el check_nrpe se puede comunicar con el demonio NRPE en el linux remoto, (La IP de mi maquina linux remota es 192.168.0.1)
#/usr/local/nagios/libexec/check_nrpe -H 192.168.0.1
Deberia respondernos:
NRPE v2.8
Si no da esa respuesta, debemos revisar de que el firewall del host remoto no nos bloquee, verificar que el demonio este instalado en xinetd (Ver todo eso mas arriba)
Ahora debemos crear definiciones de comandos (command definitions), para eso editamos el commands.cfg Nagios ejecuta check_nrpe y le dice que servicio necesita revisar.
  • check_nrpe se contacta con el demonio NRPE en el host remoto (una opcion es hacerlo por SSL.
  • El demonio NRPE corre y revisa el servicio requerido
  • El resultado es pasado del demonio NRPE a check_nrpe y este enviado y procesado a Nagios.
#vi /user/local/nagios/etc/commands.cfg
y añadimos:
define command{
 command_name  check_nrpe
 command_line  $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
 }
ya estamos listos para añadir servicios que seran monitorizados por la configuracion de Nagios
Entonces creamos las definiciones del servicio para maquinas Linux/Unix, esto crando un archivo con TODO lo que pondra a continuacion en:
#vi /usr/local/nagios/etc/objects/linux-box.cfg
Donde ponemos:
Define host{
name linux-box ;name of this template
use     generic-host  ;Inherit default values
 check_period    24x7
 check_interval   5
 retry_interval    1
 max_check_attemps   10
 check_command   check-host-alive
 notification_period   24x7
 notification_interval   30
 notification_options   d, r
 cotact_groups    admins
 register    0   ;DONT REGISTER THIS – ITS A TEM
 }
cabe recalcar que las definiciones que usa este template (linux-box), hereda los valores por defecto del template generic-hosts, el cual esta definido en localhost.cfg
Ahora definimos el el nuevo host (podemos definir varios hosts, dependiendo el numero de servers Linux que necesitemos monitorear)
define host{
 use   linux-box   ;Inherit default values from tempate
 host_name  host_remoto_1  ;The name we're giving this server
 alias    Firewall   ;A longer name for the Server
 address   192.168.0.1   ;IP address of the Server
 }
Ahora definimos las funciones que se monitorizaran, por ejemplo empecemos con el CPU. Recuerden que check_load es enviado a check_nrpe y este le dice al demonio NRPE que corra un comando “check_load” definido en el archivo nrpe.cfg, y asi, esto se hace a todos los servicios que revisemos que esten dentro del nrpe.cfg
define service {
 use    generic-service
 host_name   host_remoto_1
 service_description  CPU Load
 check_command  check_nrpe!check_load
 }
Ahora para saber el numero de usuarios conectados:
define service{
 use    generic-service
 host_name   host_remoto_1
 service_description  Current Users
 check_command  check_nrpe!check_users
 }
Ahora para saber el espacio de disco en /dev/hda1
define service{
 use    generic-service
 host_name   host_remoto_1
 service_description  /dev/hda1 Free Space
 check_command  check_nrpe!check_hda1
 }
Ahora para saber el numero total de procesos
define service{
 use    generic-service
 host_name   host_remoto_1
 service_description  Total Processes
 check_command  check_nrpe!check_total_procs
 }
Ahora para saber el numero de procesos zombies
define service{
 use    generic-service
 host_name   host_remoto_1
 service_description  Zombie Processes
 check_command  check_nrpe!check_zombie_procs
 }
Finalmente, añadimos la siguiente linea al archivo nagios.cfg
cfg_file=/usr/local/nagios/etc/objects/linux-box.cfg
Esto para que nagios sepa que cosas hacer correr.
Revisamos que todo este bien
#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Si hay errores, los arreglamos, si todo esta bien, reiniciamos Nagios
#/etc/init.d/nagios restart
Listo, esa es la configuracion para monitorizar Servidores Linux de forma basica, tambien se pueden añadir mas comandos como el check_swap
Debemos ingresar al host remoro como usuario nagios (que se creo en la instalacion del NRPE), y digamos que queremos que nos de un Warning con el 25% de espacio disponible y que nos de un Critical con el 10% entonces:
#/usr/local/nagios/libexec/check_swap -w 25% -c 10%
entonces, añadimos ese comando al nrpe:
#vi /usr/local/nagios/etc/nrpe.cfg
y añadimos:
command[check_swap]=/usr/local/nagios/libexec/check_swap -w 25% -c 10%
Ahora, volvemos a nuestro servidor Nagios y ahi definimos el servicio en linux-box.cfg
define service{
 use    generic-service
 host_name   host_remoto_1
 service_description  Swap Usage
 check_command  check_nrpe!check_swap
 }
 
Listo, nos aseguramos que no hayan errores y reiniciamos nagios
#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
   #/etc/init.d/nagios restart

Monitorizando Servidores en Windows

http://adf.ly/1emZR5

Ahora, como se vio en algun momento, no solo podemos monitorizar maquinas en Linux/Unix, sino tambien en Windows.
Nagios recomienda usar el plugin NSClient++, asi como en Linux hay que instalar ciertas cosas en la maquina a ser monitorizada, lo mismo pasa con windows.
La forma de funcionar es la siguiente, en los paquetes de plugin de Nagios viene por defecto el check_nt, este se comunica con el host remoto (mas especificamente al NSClient++) y este ultimo, es el que revisa informacion como ser CPU, Memoria, Espacio de Disco, etc.
Primero debemos abrir para editar:
#vi /usr/local/nagios/etc/nagios.cfg
Ahi descomentamos (borramos) numeral (#) de la siguiente linea.
#cfg_file=/usr/local/nagios/etc/objects/windows.cfg
Guardamos y salimos.
Ahora debemos instalar el agente en Windows, para eso vamos y descargamos de la pagima http://sourceforge.net/projects/nscplus.
Descargamos la ultima version, la que es RC (realise candidate), ya que hice pruebas con la mayoria, y el ultimo realise candidate fue el que menos bugs tiene (NSClient 0.3.6 RC8)
Lo Instalamos (una interfac grafica), elegimos que la carpeta sea C:\NSClient++, todas las demas opciones las dejamos en blanco.
Una vez instalado, abrimos el archivo NSC.INI y lo editamos:
  • Descomentando (borrando ;) todos los modulos en la seccion [modules], menos CheckWMI.dll
  • En la seccion [setting], ponemos un password, ya que si se lo deja en blanco, el bug se activa y el agente no funciona.
  • En la misma seccion [setting], si queremos dejamos en blanco la ip de allowed_hosts (para que cualquier server se conecte) o ponemos la IP del Servidor Nagios (mejor).
  • Y en la seccion [NSClient], nos aseguramos de descomentar el puerto y que este en 12489
Guardamos los cambios y Salimos
Ahora paramos el servicio con
nsclient++ /stop
y lo iniciamos con
nsclient++ /start
Ahora todos los cambios surtieron efecto.
De vuelta a nuestro servidor Nagios ahora definimos los objetos editando el windows.cfg en
#vi /usr/local/nagios/etc/objects/windows.cfg
Donde ponemos:
define host{ 
      use         windows-server  ; Inherit default values from a Windows server template 
      host_name        winserver   ;Nombre que le damos al host
      alias       Servidor Windows SQL
      address     192.168.0.2 
      } 
Listo, ahora podemos añadir definiciones de servicio en el mismo archivo
Monitoreamos la version del NSClient
define service{ 
        use                        generic-service 
 host_name                 winserver 
 service_description            NSClient++ Version 
 check_command                 check_nt!CLIENTVERSION 
        }  
Monitoreamos el tiempo que el Servidor esta “en linea” (up time)
define service{ 
        use                            generic-service 
        host_name                      winserver 
        service_description          Uptime 
        check_command                 check_nt!UPTIME 
        } 
Monitorizamos la carga del CPU, donde nos dara un Warning al 80% y Critico al 90% si se mantienen con esa carga por mas de 5 minutos
define service{ 
         use                         generic-service 
        host_name                        winserver 
    service_description                  CPU Load 
    check_command                         check_nt!CPULOAD!-l 5,80,90 
      } 
Monitorizamos el uso de memoria, donde nos da un warning con el 80% alcanzado un Critical con el 90 %
define service{
         use                         generic-service
         host_name                          winserver
         service_description         Memory Usage
         check_command                        check_nt!MEMUSE!-w 80 -c 90
         }
Monitorizamos el uso del Disco C:\ (nota, esto se puede hacer para todos los discos que necesitemos)
define service{
          use                       generic-service
          host_name                          winserver
          service_description       C:\ Drive Space
          check_command             check_nt!USEDDISKSPACE!-l c -w 80 -c 90
 }
Finalmente revisamos si el proceso Explorer.exe esta corriendo
define service{ 
        use                 generic-service 
        host_name                       winserver 
        service_description             Explorer 
        check_command                   check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe 
        } 
Ahora, le ponemos el password al archivo commands.cfg para que el NSClient pueda ser accedido:
#vi /usr/local/nagios/etc/commands.cfg
Donde:
define command{ 
       command_name check_nt 
       command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s Contraseña_Configurada -v $ARG1$ $ARG2$ 
    } 
Listo, nos aseguramos que no hayan errores y reiniciamos nagios
#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
   #/etc/init.d/nagios restart

Monitorizando Hardware de Red

http://adf.ly/1emZR5

Ahora pasaremos al monitoreo de Hardware de Red, como ser Switches y Routers. Cabe recalcar que este hardware debe poder soportar SNMP, generalmente, el hardware al que se le asigna una IP, soporta SNMP, ya que se usa este protocolo y plugins del net-SNMP (que se instalaron al principio del tutorial).
En caso de que nuestro Hardware no Soporte SNMP, verificar si con un upgrade al firmware lo puede hacer y si no, solo nos limitaremos a saber que esta en linea mediante PING.
Primero debemos editar:
#vi /usr/local/nagios/etc/nagios.cfg
ahi, descomentamos borrando el numeral (#) de la siguiente fila
#cfg_file=/usr/local/nagios/etc/objects/switch.cfg
Guardamos y salimos.
Ahora, debemos crear la definicion del objeto para monitorear un switch o un router
abrimos para editar
#vi /usr/local/nagios/etc/objects/switch.cfg
y ahi modificamos
define host{ 
       use          generic-switch           ; Inherit default values from a template 
         host_name         Switch_1          ; The name we’re giving to this switch 
       alias   TrendNet TEG-240WS      ; A longer name associated with the switch 
         address  192.168.0.20            ; IP address of the switch 
        hostgroups  allhosts,switches         ; Host groups this switch is associated with 
       } 
(hay que añadir la cantidad de switches, routers o hubs que tengamos en esta seccion, un “define host” para cada uno)
Listo, ahora podemos añadir servicios a ser monitorizados, como ser la perdida de paquetes y el Round Trip Average:
define service{ 
       use                    generic-service      ; Inherit values from a template 
 host_name                  Switch_1             ; The name of the host the service is associated with 
 service_description        PING                 ; The service description 
 check_command              check_ping!200.0,20%!600.0,60% ; The command used to monitor the service 
 normal_check_interval      5                    ; Check the service every 5 minutes under normal conditions 
 retry_check_interval       1                    ; Re-check the service every minute until its final/hard state is determined 
        } 
Si el hardware soporta SNMP, podemos monitorear el Status de dicho protocolo:
define service{ 
       use                   generic-service ; Inherit values from a template 
 host_name                       Switch_1
 service_description          Uptime 
 check_command                check_snmp!-C public -o sysUpTime.0 
      } 
Tambien podemos monitorizar un puerto o interface en especifico del switch:
define service{ 
       use                   generic-service ; Inherit values from a template 
 host_name                       Switch_1 
 service_description      Port 12 Link Status 
 check_command            check_snmp!-C public -o ifOperStatus.1 -r 1 -m RFC1213-MIB 
      } 
(Hay que añadir la cantidad de servicios a ser monitorizados por cada host que hayamos añadido, todo eso dentro de este archivo).
Listo, nos aseguramos que no hayan errores y reiniciamos nagios
#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
   #/etc/init.d/nagios restart
Ahora, lo que tenemos es un Servidor Nagios de monitorizacion un poco basico, el cual nos da informacion medianamente basica, leyendo el Manual de Nagios (www.nagios.org) podemos hacer mas cosas o aumentarle mas cosas.
Pero, hay una partecita que no se ve bien, que es la del mapa, ya que en todos los dispositivos que pongamos, nos saldra un horrible signo de interrogacion.
Pero eso lo podemos cambiar.
Bueno, esto es facil, basicamente, entramos a www.nagiosexchange.org , buscamos los packs o el pack de imagenes que mas nos guste, por ejemplo a mi me gusta Fnagios, ya que puedo personalizar incluso la imagen de cada una de mis maquinas Linux, segun su distribucion, impresoras, wi-fi, etc.
Lo bajo, lo desempaqueto (porque es un .tar.gz) y copio todas las imagenes que quiro en:
/usr/local/nagios/share/images/logos
Cada icono suele venir en formatos .png, .jpg, .gif y .gd2, esto porque se usan diferentes formatos para diferentes lugares.
Ahora enlazamos la imagen que queremos con cada uno de nuestros hosts, esto en donde este defino el host, por ejemplo
#vi /usr/local/nagios/etc/objects/localhost.cfg
y ponemos:
define host{
       use                      linux-server            ; Name of host template to use
         host_name                localhost
   alias                    localhost
   icon_image             ubuntu.gif
   statusmap_image            ubuntu.gd2
   address                    127.0.0.1
     }
Asi, ahora podre tener el Logo de Ubuntu en mi Servidor Ubuntu.
Y asi en cada uno de los hosts que estemos monitorizando, saldra su logo, en el mapa asi como en la lista.
Creo que con eso se termino este pequeño tutorial, cualquier consulta, revisen la documentacion de Nagios que esta disponible en el sitio web oficial www.nagios.org.

Ads by CJ - Linux Foundation

Share This