Sábado, 24 Junio 2017
MAN. LA AYUDA DEL SISTEMA PDF Imprimir Correo
SOFTWARE - General
Miércoles, 19 de Marzo de 2008 09:59
Conoce como utilizar este manual en línea para todos los sistemas Linux.

MAN. LA AYUDA DEL SISTEMA

1.- INTRODUCCIÓN

En general, todo usuario que se inicia en Linux termina utilizando la línea de comandos (también llamada shell, prácticamente indispensable para la administración del sistema), a pesar de lo poco amigable que puede resultar.

La mayoría de los programas y aplicaciones (ejecutables desde la shell) incluyen gran número de opciones y argumentos, con la consiguiente desventaja de la dificultad de recordar todos y cada uno de ellos.

Con esto, se hace necesario algún tipo de documentación que sea fácilmente accesible y compresible.

Man (abreviatura de Man~ual) es el manual en línea para todos los sistemas Linux, también incluidos los Unix.

Man es un paginador de manuales que formatea y muestra las páginas del manual solicitadas.

Estas páginas de ayuda ofrecen la sintaxis y descripción detallada de comandos, utilidades y funciones, incluyendo todas sus opciones y argumentos.

La descripción puede incluir ejemplos de utilización y otra información como archivos utilizados y comandos relacionados.

Las páginas del manual se ubican en directorios en función del idioma y a su vez, se organizan en secciones.

Como es evidente, las páginas Man están traducidas en muchos idiomas, entre ellos el español.

Actualmente, hay soporte para alemán, finlandés, francés, italiano, japonés, coreano, etc.

Como nota interesante señalar que el proyecto para la documentación oficial de sistemas Linux llamado tlpd (The Linux Documentation Project, tldp.org) se encarga de coordinar la creación, mantenimiento y desarrollo de las páginas Man en Inglés; y su correspondiente versión española es.tldp.org (denominado comúnmente tldp-es/LUCAS, servicios editoriales para la documentación libre en español), que lleva a cargo la coordinación para la traducción de las mismas, además de saber como traducirlas al español e incluso participar en la traducción.

Antes de seguir con las siguientes secciones del artículo, comprobaremos si efectivamente tenemos el programa Man instalado en nuestro sistema.

Lo comprobamos así:

usuario@miMaquina:~$ man man

Si nos sale el siguiente mensaje de error (es decir, no lo tenemos instalado):

usuario@miMaquina:~$ man man

bash: man: command not found

ó, el idioma presentado no es el español, nos dirigiremos a la siguiente sección “POSIBLES PROBLEMAS CON EL IDIOMA”.

2.- POSIBLES PROBLEMAS CON EL IDIOMA

Como se ha mencionado, seguramente tengamos instalado el programa Man de manera correcta.

Si no es así, ya sea porque no lo tengamos instalado o, porque las páginas del manual no estén en castellano* (incluidos caracteres como la “ñ” o las vocales acentuadas), seguiremos las siguientes pautas.

*Man nos muestra las páginas de ayuda en un idioma u otro dependiendo del que tengamos configurado en la distribución.

Antes de corregir el idioma del sistema, creo necesario una breve explicación.

En sistemas GNU/Linux y UNIX, para configurar los estándares y formatos específicos del país, como son el idioma, las fechas, la moneda, la coma decimal, etc. (lo que es para Windows la “configuración regional”) se hace uso de las “locales” o códigos de idioma.

Realmente las “locales” son un mecanismo que permite a las aplicaciones mostrar una salida adecuada y una funcionalidad conforme a las convenciones locales que hemos mencionado (el conjunto de caracteres, el formato del tiempo y de la fecha, los símbolos monetarios, etc.).

Éstas utilizan variables de entorno para determinar el comportamiento apropiado. Por ejemplo, ponemos definir diferentes “locales” para distintos usuarios del sistema y otras para el súper usuario.

Las “locales” y sus datos son parte de las bibliotecas del sistema y se pueden encontrar en /usr/share/locale por lo general.

Nota: podemos hacer una búsqueda para concretar el PATH de las “locales”, por ejemplo:

usuario@miMaquina:~$ find / -path '*locale/en_US' -prune -print 2>/dev/null

/usr/share/locale/en_US

Si exploramos el directorio, un “locale” (o un código de idioma) es generalmente nombrado como “aa” y “aa_BB”. Esto quiere decir que existen dos niveles.

El primer nivel representa el código del lenguaje (aa) y el segundo el código del país (BB). Por ejemplo:

  • es_AR, leguaje español, país Argentina.
  • en_GB, leguaje ingles, país Reino Unido.
  • en_US, leguaje español, país Estados Unidos.
  • fr, lenguaje francés (únicamente).

Una vez hecha la explicación, pasamos a configurar y/o verificar las “locales”.

Seguimos las siguientes pautas:

  • Primero, comprobar que tenemos instaladas las locales (es muy probable que sí).

Para sistemas con gestión de paquetes Debian:

usuario@miMaquina:~$ dpkg -l | grep locales

ii locales 2.6.1-1 GNU C Library: National Language (locale)

…….

Para sistemas con gestión de paquetes Rpm:

[usuario@miMaquina~]$ rpm –qa | grep locales

locales-2.3.2

…….

Si no es así, las instalamos ejecutando como root:

Para sistemas con gestión de paquetes Debian:

usuarioRoot@miMaquina:~# apt-get install locales

Sistemas con gestión de paquetes Rpm:

[usuarioRoot@miMaquina~]# rpm –ivh locales-version-arquitectura.rpm

  • Ahora, comprobaremos que el idioma es el correcto.

Ejecutamos el fichero /usr/bin/locale (que obtiene la configuración local):

usuario@miMaquina:~$ /usr/bin/locale

LANG=es_ES.UTF-8

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=

Vemos que LC_TIME es para la configuración de la hora, LC_MONETARY para la moneda, etc.

Para idioma español es conveniente poner como “locales” es_ES.UTF-8 (dirigirnos al apartado “ISO 10646, UTF-8 y ISO 8859-1(5)” para ver las diferencias entre formatos de codificación de caracteres).

Nota: Si tenemos el teclado con el símbolo del Euro y con la codificación de caracteres “UTF8”, probamos a teclear el símbolo del Euro (Alt Gr + E). Si no podemos, debemos cambiar a la codificación ISO-8859-15 (denominada para el español como es_ES@euro. Se explica más en detalle en el apartado “RECONFIGURAR LAS “LOCALES””).

Con el comando locale -a veremos los códigos de idioma disponibles en el sistema (el “locale” por defecto del sistema es “C”, que equivale al idioma inglés).

usuario@miMaquina:~$ locale –a

C

es_ES

es_ES.utf8

POSIX

Para ver cual de ellos es el que está activo:

usuario@miMaquina:~$ echo $LANG

es_ES.UTF-8

También podemos ver los locales activados en nuestro sistema editando el fichero /etc/locale.gen:

usuario@miMaquina:~$ cat /etc/locale.gen

# This file lists locales that you wish to have built. You can find a list

# of valid supported locales at /usr/share/i18n/SUPPORTED. Other

# combinations are possible, but may not be well tested. If you change

# this file, you need to rerun locale-gen.

#

es_ES.UTF-8 UTF-8


Nota: locale-gen es un programa el cual lee del mismo /etc/locale.gen y utiliza el ejecutable localedef para compilar y generar los locales definidos en el anterior fichero. Es conveniente utilizarlo si hemos cambiado las “locales”

Además, como curiosidad, con locale -m vemos todos los mapas de caracteres disponibles (además de los activados).

usuario@miMaquina:~$ locale –m

ANSI_X3.110-1983

ANSI_X3.4-1968

ARMSCII-8

ASMO_449

BIG5

BIG5-HKSCS

BRF

BS_4730

BS_VIEWDATA

CP10007

CP1125

CP1250

CP1251

…

…

SHIFT_JISX0213

T.101-G2

T.61-7BIT

T.61-8BIT

TCVN5712-1

TIS-620

TSCII

UTF-8

VIDEOTEX-SUPPL

VISCII

WIN-SAMI-2

WINDOWS-31J

2.1.- RECONFIGURAR LAS “LOCALES”

Finalmente, si nuestros locales no son los correctos, podemos ejecutar la siguiente instrucción.

  • Para sistemas con gestión de paquetes Debian:

Como root ejecutamos:

usuarioRoot@miMaquina:~#dpkg-reconfigure locales

Con esto, escogemos las “locales” de manera gráfica.

Personalmente, creo que los adecuados para idioma español y país España es es_ES.UTF8. En el apartado “ISO 10646, UTF-8 y ISO 8859-1(5)” veremos porqué.

Si escogemos varios, debemos establecer uno por defecto.

  • Para sistemas con gestión de paquetes Rpm:

Como root ejecutamos:

[usuarioRoot@miMaquina~]# system-config-language

Como opinión personal, creo que es importante saber que algunos programas o aplicaciones instalan sus propias “locales” aunque no los vayamos a utilizar, ocupando espacio en disco duro.

localepurge es un paquete para Debian y distribuciones basadas en ella que permite mantener sólo las “locales” necesarias.

Para instalarlo ejecutaremos como root:

usuarioRoot@miMaquina:~# apt-get install localepurge

Paquetes sugeridos:

debfoster deborphan

Se instalarán los siguientes paquetes NUEVOS:

localepurge

0 actualizados, 1 se instalarán, 0 para eliminar y 1028 no actualizados.

Se necesita descargar 0B/37,9kB de archivos.

………

Justo después de la instalación aparecerá una pantalla donde tenemos que seleccionar los idiomas a conservar.

Finalmente lo ejecutamos y vemos lo que pasa:

usuarioRoot@miMaquina:~# localepurge

localepurge: Disk space freed in /usr/share/locale: 220008K

localepurge: Disk space freed in /usr/share/man: 2928K

Total disk space freed by localepurge: 222936K

Los procedimientos anteriores sirven para cambiar o verificar las “locales” para todo el sistema, pero, también podemos establecer distintas “locales” para diferentes usuarios. Por ejemplo, editando el archivo ~/.bash_rc correspondiente del usuario y añadiendo la sentencia export LANG=”es_ES.ISO_8859- 1” por ejemplo (para el código de idioma ISO-8859-1).

2.2.- ISO 10646, UTF-8 y ISO 8859-1(5)

Existe un sistema universal de codificación de caracteres definido por la norma ISO-10646 llamado UCS (Universal Character Set ó Conjunto de caracteres Universal).

En este conjunto se encuentran todo tipo de caracteres como pueden ser letras, números, símbolos, etc. procedentes de diversos lenguajes, así como los distintos sistemas de puntuación existentes en muchos idiomas del mundo.

Su cometido es estandarizar todos los sistemas de codificación posible, de modo que para cualquier carácter del mundo haya un número que lo identifique unívocamente.

De forma paralela al desarrollo de la norma UCS, un consorcio de empresas creó el proyecto Unicote con el objetivo de trabajar con el organismo ISO y desarrollar conjuntamente la norma ISO 10646. De hay que también nos suene lo de “Unicode”.

Con esto, UTF-8 (8-bit Unicote Transformation Format) es un formato para codificar caracteres UCS (o Unicode) utilizando secuencias de bytes.

UTF-8 fue una invención de Ken_Thompson (el creador de Unix) como medio para resolver el problema de utilizar Unicode en sistemas tipo Unix.

UTF-8 usa grupos de bytes para representar el estándar de Unicode para los alfabetos de muchos de los lenguajes del mundo.

Diferencias entre UTF e ISO 8859-1

Como nota informativa, hay que saber que el juego de caracteres básico es el famoso código ASCII ( http://es.wikipedia.org/wiki/American_Standard_Code_for_Information_Interchange) de 7 bits, que no incluye la “eñe” ni las vocales acentuadas.

ISO 8859-1 es una norma que define la codificación del alfabeto latino, incluyendo la eñe y las letras acentuadas (entre otras letras especiales).

Esta norma posee la codificación ASCII en su rango inicial (128 caracteres) y otros 128, dando lugar a un código de 8 bits.

Lo mismo ocurre con la codificación de caracteres UTF-8, que alberga mayor número de caracteres con lo que la compatibilidad es mayor.

Quizás esta última es más estándar y la que “llevan” por defecto la mayoría de distribuciones Linux.

( http://es.wikipedia.org/wiki/UTF-8).

Las aplicaciones hacen uso de estas codificaciones de caracteres para mostrar adecuadamente el idioma establecido. Es aconsejable decantarse por una u otra y no “mezclarlas”, s decir, utilizar una codificación común para todas aplicaciones.

2.3.- PROBLEMAS CON LOS ACENTOS

Nos puede ocurrir que, aunque tengamos las páginas del manual en castellano, veamos símbolos raros en palabras acentuadas.

Hay que decir que existen ciertos problemas con la codificación de caracteres y las páginas del manual.

La solución es la siguiente:

  • Ejecutamos locale -m, para ver todos los mapas de caracteres que tenemos nuestro sistema.
  • Al menos, debemos tener el UTF-8 y ISO-8859-1.

Para teclados nuevos (con el símbolo del euro), puede ser recomendable tener disponible el mapa de caracteres establecido en la norma ISO-8859-15 (euro).

Para instalar alguno de estos mapas que no tengamos, ejecutamos como root (en sistemas con gestión de paquetes Debian).

usuarioRoot@miMaquina:~# apt-get install locales-all

  • Comprobamos de nuevo con el comando locale –a:

usuario@miMaquina:~$ locale –a

C

es_ES

es_ES.utf8

es_ES.iso88591

POSIX

  • A partir de aquí, podemos ir probando con que codificación de caracteres vemos correctamente las palabras acentuadas.

Lo vemos:

Ejecutamos una a una hasta ver con cual funciona bien.

usuario@miMaquina:~$ LC_ALL=es_ES.@euro man man

usuario@miMaquina:~$ LC_ALL=es_ES.iso88591 man man

usuario@miMaquina:~$ LC_ALL=es_ES.iso885915 man man

usuario@miMaquina:~$ LC_ALL=es_ES.utf8 man man


Nota: recordemos que debemos tenerla instalada la codificación de caracteres (ya sea UTF8, ISO-8859-1, etc.), sino, nos podría dar un error parecido a este:

usuario@miMaquina:~$ LC_ALL=es_ES.IS0-8859-1 man man

man: can't set the locale; make sure $LC_* and $LANG are correct

Reformatting cp(1), please wait...

Y, seguidamente veremos la página Man en la codificación de caracteres predeterminada (es decir, en Inglés)

  • Una vez esto, ejecutamos dpkg-reconfigure locales (system-config-language en sistemas con gestión de paquetes Rpm) para establecer la codificación por defecto que “funciona”.

Nota : No todas las páginas del manual están traducidas, es decir, es posible que aún teniendo instalado el paquete para las “manpages” en castellano, alguna de ellas la visualicemos en inglés.

Además, como se ha mencionado, a veces algunas páginas no “entienden bien” ciertos formatos de codificación de caracteres aunque tengamos configuradas correctamente las “locales”.

Anexo. Posibles problemas con el teclado

Al ir muy ligados los problemas del juego de caracteres con la configuración del teclado, aprovechamos para hacer una breve explicación.

Si no tenemos configurado correctamente el mapa del teclado, seguimos los siguientes pasos:

Tenemos que tener instalados los paquetes console-common y console-data.

Mediante el comando loadkeys -d, cargamos el mapa por defecto. Lo vemos:

usuario@miMaquina:~$ loadkeys –d

Loading /usr/share/keymaps/i386/qwerty/defkeymap.kmap.gz

Normalmente la ruta será: path/{arquitectura}/{tipo_teclado}.

En este caso la arquitectura será “i386”, tipo de teclado “qwerty”

Ahora sabemos donde están todos los mapas de teclado. Nos falta cargar el adecuado, lo vemos:

usuario@miMaquina:~$ ls -laF path

total 428

drwxr-xr-x 2 root root 8192 2006-09-28 16:35 ./

drwxr-xr-x 8 root root 4096 2006-09-28 15:17 ../

-rw-r--r-- 1 root root 1647 2006-09-18 20:28 ar.kmap.gz

-rw-r--r-- 1 root root 2611 2006-09-18 20:28 bg-cp1251.kmap.gz

-rw-r--r-- 1 root root 2318 2006-09-18 20:28 bg.kmap.gz

-rw-r--r-- 1 root root 893 2006-09-18 20:28 br-abnt2.kmap.gz

-rw-r--r-- 1 root root 3256 2006-09-18 20:28 br-latin1.kmap.gz

…….

-rw-r--r-- 1 root root 3201 2006-09-18 20:28 us-intl.iso01.kmap.gz

-rw-r--r-- 1 root root 3468 2006-09-18 20:28 us-intl.iso15.kmap.gz

-rw-r--r-- 1 root root 628 2006-09-18 20:28 us.kmap.gz

-rw-r--r-- 1 root root 2465 2006-09-18 20:28 us-latin1.kmap.gz

Ejecutamos como root:

usuarioRoot@miMaquina:~# loadkeys es

Loading /usr/share/keymaps/i386/qwerty/es.kmap.gz

ó

usuarioRoot@miMaquina:~# loadkeys es-cp850

Loading /usr/share/keymaps/i386/qwerty/es-cp850.kmap.gz


Nota: es conveniente seleccionar mejor el mapa “es-cp850” que es una versión más actual

También, podemos configurar el teclado de manera gráfica.

  • Para sistemas con gestión de paquetes Debian:

Como root ejecutamos:

usuarioRoot@miMaquina:~# dpkg-reconfigure console-data

  • Para sistemas con gestión de paquetes Rpm.

Como root ejecutamos:

[usuarioRoot@miMaquina~]# system-config-keyboard

Teclados con el símbolo del Euro

El código de idioma es_ES@euro es para usar el símbolo del Euro, que corresponde a la norma ISO-8859-15.

3.- INSTALACIÓN

Una vez comprobado el idioma del sistema, pasamos a instalar Man y sus páginas.

Para ello, instalamos los siguientes paquetes:

  • man-db : que contiene el propio programa Man, así como otros programas para manipular las páginas de manual.

En sistemas con gestión de paquetes Rpm este paquete es llamado man-version-arquitectura.rpm

  • manpages : contiene todas las páginas del manual en inglés*

En sistemas con gestión de paquetes Rpm este paquete es man-pages-version-arquitectura.rpm

  • manpages-es : que contiene la traducción al castellano de muchas de las páginas de manual.

En sistemas con gestión de paquetes Rpm este paquete es man-pages-es-version-arquitectura.rpm

* Para sistemas con gestión de paquetes Debian, ejecutamos como root:

usuarioRoot@miMaquina:~# apt-get install man-db manpages manpages-es

* Para sistemas con gestión de paquetes rpm, ejecutamos como root:

[usuarioRoot@miMaquina~]# rpm -ivh man-version-arquitectura.rpm man-pages-version-arquitectura.rpm man-pages-version-arquitectura.rpm

*Dirigirse al apartado “PAGINAS DEL MANUAL Y EL INGLÉS” para ver porque tenemos que instalar este paquete.

SEGUIR LEYENDO EL ARTÍCULO

 

 

Revista INTEFP

Marcadores Sociales

Facebook MySpace Twitter Delicious Google Bookmarks