[ anterior ] [ Contenidos ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ A ] [ siguiente ]


Guía de referencia Debian
Capítulo 9 - Puesta a punto del sistema Debian


Este capítulo se basa en una más vieja versión del texto original inglés. Comprobar por favor la versión inglesa también.

Este capítulo describe solamente lo básico de la configuración del sistema mediante interfaces basada en textos. Como prerrequisito de este capítulo léase Consejos para la instalación de un sistema Debian, Capítulo 3.

Para aquellos interesados en la seguridad, es altamente recomendables leer Securing Debian Manual que se también se puede encontrar en el paquete harden-doc.


9.1 Trucos para la inicialización del sistema

Véase El programa init, Sección 2.4.1 para los fundamentos del script init de Debian.


9.1.1 Personalizando los scripts init

Debian utiliza el sistema de scripts sys-V. Aunque todos los scripts init en /etc/init.d/* están marcados como archivos de configuración y el administrador del sistema tiene la libertad de modificarlos, es preferible personalizarlos editando los archivos /etc/default/*.

Por ejemplo, /etc/init.d/rcS se puede usar para personalizar los valores predeterminados de arranque de motd, sulogin, etc.


9.1.2 Personalizando el sistema de registro

El modo de registro del sistema se puede configurar usando /etc/syslog.conf. Utilice el paquete colorize para dar distintos colores a los archivos de registro del sistema. Véase también syslogd(8) y syslog.conf(5).


9.1.3 Optimización del acceso al hardware

Existen algunas pocas configuraciones de optimización del hardware que Debian deja a cargo del administrador del sistema.

También resulta muy efectivo montar un sistema de archivos con la opción noatime para incrementar el acceso de lectura a los archivos. Véase fstab(5) y mount(8).

Algunos dispositivos se pueden poner a punto directamente mediante el kernel de Linux por medio del sistema de archivos proc. Véase Poniendo a punto al kernel mediante el sistema de archivos proc, Sección 7.3.

Existen diversas utilidades para la configuración de hardware específico en Debian. La mayoría de ellas tienen en cuenta los requerimientos específicos de las PC portátiles. Veamos algunos paquetes interesantes en Derbian:

ACPI es un estándar para la administración de la energía del sistema más nuevo que APM.

Algunos de estos paquetes necesitan módulos especiales del kernel. En muchos casos ya han sido incluido en las últimas funentes del mismo. En caso de problemas, puede aplicar el último parche para el kernel por su propia cuenta.


9.2 Control de acceso


9.2.1 Control de acceso mediante PAM y login

PAM (Módulos de Autenticación Conectables, con sus siglas en inglés) proporciona el control del acceso.

     /etc/pam.d/*             # archivos de control de PAM
     /etc/pam.d/login         # archivo de control PAM para el acceso
     /etc/security/*          # parámetros del módulo de PAM
     /etc/securetty           # controla el acceso del superusuario en consola (login)
     /etc/login.defs          # controla el comportamiento de login

Si desea acceder a consolas sin necesidad de contraseña modifique, bajo su entera responsabilidad, el contenido del archivo /etc/pam.d/login de la siguiente manera

     #auth       required   pam_unix.so nullok
     auth       required   pam_permit.so

Un truco similar se puede aplicar para xdm, gdm, ... , para conseguir una consola X sin contraseña.

Por otra parte, si desea reforzar su política de contraseñas, instale cracklib2 y añada lo siguiente a su /etc/pam.d/passwd.

     password required       pam_cracklib.so retry=3 minlen=6 difok=3

Para la activación de una cuenta puede ayudar una contraseña temporaria. Para ello, use el comando passwd con la opción -e passwd(1).

En bash se puede configurar el número máximo de procesos con ulimit -u 1000 o desde PAM con la configuración de /etc/security/limits.conf. De igual manera se pueden configurar otros parámetros como, por ejemplo, core. El valor inicial de PATH se puede fijar mediante el archivo /etc/login.defs antes de script de arranque del shell.

La documentación de PAM se encuentra en el paquete libpam-doc. La Guía del Administrador de un Sistema Linux-PAM explica la configuración de PAM, los módulos que hay disponibles, etc. La documentación también incluye la Guía para Desarrolladores de Aplicaciones Linux-PAM y la Guía de Desarrolladores de Módulos Linux-PAM.


9.2.2 "Por qué el su GNU no soporta el grupo wheel"

Esta es la famosa frase de Richard M. Stallman al final de la antigua página info de su. No se preocupe: el su actual en Debian utiliza PAM, de modo que uno puede restringir la posibilidad de usar su a cualquier grupo usando pam_wheel.so en /etc/pam.d/su. Lo siguiente configurará al grupo adm en un sistema Debian en forma equivalente al grupo BSD wheel y permitirá a sus miembros hacer su sin contraseña.

     # configuración anti-RMS en /etc/pam.d/su
     auth       required   pam_wheel.so group=adm
     
     # permitir a los miembros de wheel hacer su sin contraseña
     auth       sufficient pam_wheel.so trust group=adm

9.2.3 Significado de los distitos grupos

Algunos grupos interesantes:

Para una lista completa, véase la sección "FAQ" en el Securing Debian Manual, que también se puede encontrar en el paquete harden-doc.


9.2.4 sudo – un entorno de trabajo más seguro

Utilizo sudo principalmente como protección contra mi propia estupidez. Considero que usar sudo es una mejor alternativa que usar el sistema siendo superusuario. YMMV.

Instale sudo y actívelo configurando /etc/sudoers. También consulte las posibilidades de sudo para los grupos en /usr/share/doc/sudo/OPTIONS.

La configuración de ejemplo brinda a los miembros del grupo "staff" el acceso a todos los comandos ejecutados como superusuario bajo sudo y también proporciona a los miembros del grupo "src" a determinados comandos ejecutados como superusuario bajo sudo.

La ventaja de sudo radica en que sólo requiere de la contraseña de un usuario normal y que su actividad es monitoreada. Esta es una buena manera de dar cierta autoridad a un administrador principiante. Por ejemplo:

     $ sudo chown -R yo_mismo:mi_grupo .

Por supuesto, si conoce la contraseña de superusuario (como la mayoría de los usuarios domésticos), cualquier comando se puede ejecutar como superusuario desde una cuenta de usuario normal:

     $ su -c "shutdown -h now"
     Password:

(Soy conciente que debería limitar los privilegios de la cuenta del administrador con sudo. Pero puesto que se trata de mi servidor personal, aún no me he molestado en hacerlo)

Otro programa que permite a los usuarios normales ejecutar comandos con privilegios de superusuario, véase el paquete super.


9.2.5 Control de accesos a los demonios

El superservidor de Internet, inetd, es ejecutado durante el arranque por /etc/rc2.d/S20inetd (para el nivel de ejecución 2), que es un enlace simbólico a /etc/init.d/inetd. Básicamente, inetd permite ejecutar un único demonio para invocar otros, reduciendo la carga del sistema.

Cada vez que llega la petición a un servicio, se identifica el protocolo y el servicio mirando las bases de datos situadas en /etc/protocols y /etc/services. Para un servicio de internet normal, inetdl consulta la base de datos /etc/inetd.conf o la si el servicio se basa en Sun-RPC.

Para seguridad del sistema, asegúrese desactivar los servicios sin utilizar del archivo /etc/inetd.conf. Los servicios Sun-RPC necesitan estar activos para NFS y otros programas basados en RPC.

A veces, inetd no arranca el servidor solicitado directamente sino el programa envoltorio del demonio TCP/IP tcpd con el nombre del servidor pedido como argumento en el /etc/inetd.conf. En este caso, tcpd ejecuta el programa servidor adecuado luego de haber registrado la solicitud y haber realizado algunas comprobaciones adicionales usando /etc/hosts.deny y /etc/hosts.allow.

Si tiene problemas con el acceso remoto sobre un sistema Debian reciente, comente la línea "ALL: PARANOID" si es que existe en el archivo /etc/hosts.deny.

Para más detalles, consulte inetd(8), inetd.conf(5), protocols(5), services(5), tcpd(8), hosts_access(5) y hosts_options(5).

Para más información sobre Sun-RPC, véase rpcinfo(8) , portmap(8) y /usr/share/doc/portmap/portmapper.txt.gz.


9.2.6 Lightweight Directory Access Protocol

Referencias:


9.3 Grabadora de CDs

Las grabadoras de CDs con interfaz IDE/ATAPI se han convertido en periféricos muy populares. Es un medio conveniente para un usuario doméstico que necesite < 640 MB de capacidad para hacer copias de respaldos o archivar documentos. Para información más autorizada, consulte el CD-Writing-HOWTO del LDP.


9.3.1 Introducción

Antes que todo, cualquier interrupción de los datos enviados a la grabadora provocará un daño irreparable al CD. Consiga una grabadora con un búfer tan grande como le sea posible. Si el dinero no es importante, no se moleste con una grabadora IDE/ATAPI y adquiera una SCSI. Si tiene la posibilidad de elegir la interfaz IDE a la cual va a conectar la grabadora, prefiera el bus PCI antes que el ISA (tarjeta SB16, etc.).

Cuando una grabadora de CDs se conecta al canal IDE, debe utilizarse el controlador IDE-SCSI en vez del IDE común. Asimismo, es necesario activar el controlador genérico SCSI. Suponiendo la utilización de un kernel usado por las distribuciones modernas (posteriores a marzo del 2001), existen dos formas posibles de hacerlo.


9.3.2 Primer enfoque: módulos + lilo

Añada la siguiente línea al /etc/lilo.conf si utiliza el núcleo que distribuye Debian. Si utiliza múltiples opciones, lístelas separadas mediante espacios:

     append="hdx=ide-scsi ignore=hdx"

Aquí la ubicación de la grabadora, a la que se accede mediante el controlador ide-scsi, se indica mediante hdx con el siguiente significado:

     hda          maestro en el primer puerto IDE
     hdb          esclavo en el primer puerto IDE
     hdc          maestro en el segundo puerto IDE
     hdd          esclavo en el segundo puerto IDE
     hde ... hdh  para una unidad en un puerto IDE externo o
                  puerto IDE ATA66/100

Siendo superusuario, escriba los siguientes comandos para activar las opciones luego de haber terminado con la configuración:

     # lilo
     # shutdown -h now

9.3.3 Segundo enfoque 2: recompile el kernel

Para crear el kernel, Debian utiliza make-kpkg. Use la nueva opción --append_to_version de make-kpkg para crear múltiples imágenes del kernel. Veáse El kernel de Linux en Debian, Capítulo 7.

Utilice la siguiente configuración con make menuconfig:


9.3.4 Etapas post-configuración

El soporte para la grabadora se puede activar durante el arranque mediante lo siguiente:

     # echo ide-scsi >>/etc/modules
     # echo sg       >>/etc/modules
     # cd /dev; ln -sf scd0 cdrom

La activación manual se puede realizar haciendo:

     # modprobe ide-scsi
     # modprobe sg

Tras el arranque, puede comprobar la instalación haciendo:

     $ dmesg|less
     # apt-get install cdrecord
     # cdrecord -scanbus

[Por Warren Dodge] A veces, pueden existir conflictos entre ide-scsi y ide-cd si el sistema cuenta con una lectora de CD y una grabadora. Pruebe añadir la siguiente línea a su /etc/modutils/aliases, ejecute update-modules y vuelva a arrancar el sistema.

     pre-install      ide-scsi      modprobe ide-cd

Esto hará que el controlador IDE se cargue antes que el ide-scsi. El controlador IDE ide-cd tomará el control de la lectora de CD — de todo lo que no se le pidió ignorar. Esto deja únicamente a los dispositivos no tenidos en cuenta bajo el control del ide-scsi.


9.3.5 Imagen en CD (arrancable)

Para grabar un CD-ROM con los archivos contenidos en el directorio-objetivo/ como imagen-cd.raw (arrancable, con formato Joliet TRANS.TBL activado; para un CD no arrancable, no incluir las opciones -b y -c), inserte un disquete de arranque en la primera unidad de disquetes y haga:

     # dd if=/dev/fd0 directorio-objetivo/boot.img 
     # mkisofs -r -V volume_id -b boot.img -c \
             bootcatalog -J -T -o imagen-cd.raw\
             directorio-objetivo/

Como aplicación interesante se puede crear un CD-ROM DOS de arranque. Si boot.img contiene la imagen de un disquete de arranque DOS, el CD-ROM arrancará como si hubiese un disquete DOS en la unidad (A:). Hacer esto con freeDOS puede ser aún más interesante.

El archivo imagen se puede inspeccionar montándolo en un dispositivo loop.

     # mount -t iso9660 -o ro,loop imagen-cd.raw /cdrom
     # cd /cdrom
     # mc
     # umount /cdrom

9.3.6 Grabar un CD (R, R/W):

Primero pruebe con (suponiendo una velocidad 2x)

     # nice --10 cdrecord -dummy speed=2 dev=0,0 imagen

Si no hay problemas, grabe el CD-R haciendo

     # nice --10 cdrecord -v -eject speed=2 dev=0,0 imagen

O grabe un CD-RW mediante

     # nice --10 cdrecord -v -eject blank=fast speed=2 dev=0,0 imagen

Algunas grabadoras de CD funcionan mejor con

     # nice --10 cdrecord -v blank=all speed=2 dev=0,0

seguido de

     # nice --10 cdrecord -v -eject speed=2 dev=0,0 imagen

Se necesitan dos etapas para evitar que los tiempos de espera durante la etapa de formateo no interfieran con la etadpa de grabación. El valor del argumento de nice puede requerir de algunos ajustes.


9.3.7 Crear la imagen de un CD

Algunos CD-Rs y CDs comerciales tienen sectores parásitos al final que torna imposible su copia mediante dd (el CD de Windows 98 es uno de ellos). El paquete cdrecord viene con el comando readcd. Utilícelo para copiar el contenido de cualquier CD en un archivo imagen. Si se trata de un disco de datos, móntelo y use du para ver su tamaño verdadero. Divida por dos el número que se muestra (en bloques, = 1024 bytes) para obtener el número de sectores del CD (2048 bytes). Ejecute readcd con las opciones correspondientes y utilice la imagen para grabar el CD-R/RW.

     # readcd target lun scsibusno # elija la función 11

En la mayoría de los casos, elija aquí los 3 parámetros de la línea de comandos iguales a cero. A veces, el números de sectores proporcionado por readcd es demasiado grande. Utilice el valor dado por mount para obtener mejores resultados.

It should be noted that the use of dd has few problems if used on CD-ROM. The first run of dd command may cause error message and may yield a shorter disk image with the lost tail-end. The second run of dd command may yield a larger disk image with garbage data attached at the end on some systems if the data size is not specified. Only the second run of dd command with the correct data size specified without ejecting CD after error message seems to avoid these problems. If the image size displayed by df is 46301184 blocks , use the following command twice to get right image (this is my empirical information):

     # dd if=/dev/cdrom of=cd.img bs=2048 count=$((46301184/2))

9.3.8 Imágenes de CD Debian

Para obtener la información más actual sobre los CDs de Debian, visite el sitio de CDs Debian.

Si posee una conexión de Internet veloz, considere realizar la instalación a través de la red usando:

Si no posee una conexión de Internet veloz, considere adquirir los CDs de los distribuidores de CDs.

Por favor no desperdicie ancho de banda descargando las imágenes de los CDs estándar a menos que sea un tester de imágenes de CDs (incluso con el nuevo método jigdo).

Una imagen de CD que vale la pena mencionar es KNOPPIX - Sistema de archivos Linux en CD. Este CD arrancará un sistema Debian funcional sin instalarlo en el disco duro.


9.3.9 Hacer una copia de respaldo del sistema en un CD-R

Para copiar los archivos de configuración y datos importantes a un CD-R, use el script de ejemplo backup. También véase Respaldos diferenciales y sincronización de datos, Sección 8.4.


9.3.10 Grabar un CD de música a un CD-R

No he comprobado lo siguiente personalmente:

     # apt-get install cdrecord cdparanoia
     # cdparanoia -s -B
     # cdrecord dev=0,0,0 speed=2 -v -dao -eject defpregap=1 -audio *.wav

o

     # apt-get install cdrdao #sin multisesión
     # cdrdao read-cd --device /dev/cdrom --paranoia-mode 3 mi_cd # leer el CD
     # cdrdao write --device /dev/cdrom --speed 8 mi_cd    # grabar un CD nuevo

cdrdao realiza una copia verdadera (sin interrupciones, etc...)


9.4 El programa X

El entorno X es proporcionado por Xfree86. Existen 2 versiones del servidor X disponibles en un sistema Debian: V3.x y V4.x. Xfree86 Version 3.3 (XF3) and XFree86 Version 4.x series (XF4) both based on X11R6 specifications by X.ORG.

Para los fundamentos de a X(7), al XWindow-User-HOWTO del LDP y el Remote X Apps mini-HOWTO. Para una guía específica para el usuario Debian, lea la /usr/share/doc/xfree86-common/FAQ.gz proporcionada por el paquete xfree86-common. Ésta contiene un análisis autorizado e interesante de Branden Robinson de temas relacionados con combinaciones de teclas.

El servidor X, Sección 9.4.3

un programa en la máquina local que muestra una ventana X y/o un escritorio en el monitor del usuario (CRT, LCD) y acepta la entrada del teclado y del ratón.

El cliente X, Sección 9.4.4

un programa en una máquina (local o remota) que ejecuta una aplicación compatible con X-Window.

Esto invierte el significado de los términos "servidor" y "cliente" usado en otros contextos.

Existen distintas maneras de lograr que el "servidor X" acepte conexiones remotas de un "cliente X":

Todos los métodos para conexiones remotas, excepto ssh, requieren que esté activada la conexión TCP/IP en el servidor X. Véase Conexión TCP/IP en X, Sección 9.4.6.


9.4.1 Paquetes del sistema X

En Woody existen algunos (meta)paquetes que facilitan la instalación de X.

x-window-system-core

Este metapaquete provee los componentes esenciales para ejecutar el sistema X-Window en una estación de trabajo. Proporciona las bibliotecas X, un servidor X xserver-xfree86, un conjunto de fuentes, clientes y utilidades X básicas.

x-window-system

Este metapaquete proporciona todos los componentes del sistema X-window desarrollado por el Proyecto XFree86, así como un conjunto de programas accesorios muy populares (en particular, depende de x-window-system-core, twm y xdm, es decir, si lo instala no necesitará el paquete x-window-system-core)

xserver-common-v3

Archivos y utilidades comunes a todos los servidores X de XFree86 3.x (X3)

xserver-*

Paquetes de servidores X3 adicionales para soportar hardware que por algún motivo no es portado por el nuevo servidor X4. Algunas tarjetas ATI mach64 antiguas no son soportadas por X4, algunas tarjetas de video se cuelgan en forma abrupta en la versión Woody de X4, etc. (para ver los paquetes disponibles, haga apt-cache search xserver-|less. Todos estos servidores de X3 dependen del paquete xserver-common-v3.)

En la mayoría de los casos, x-window-system es el paquete que se deberá instalar (si desea la consola de acceso, asegúrese de desactivar xdm como se explica en "¡Permítanme desactivar X al arrancar!", Sección 8.1.4.)


9.4.2 Paquetes de detección de hardware para el servidor X

Para activar la detección de hardware durante la etapa de configuración de X, instale los siguientes paquetes antes de instalar el sistema X:


9.4.3 El servidor X

Véase XFree86(1x) para información sobre el servidor X.

Invoque el servidor X desde una consola local:

     $ startx -- :<display> vtXX
     e.g.:
     $ startx -- :1 vt8 -bpp 16
     ... ejecución en una terminal vt8 conectada a localhost:1 with 16 bpp mode

Los argumentos a continuación de -- son para el servidor X.

Observación: al usar el script ~/.xserverrc para personalizar el proceso de arranque del servidor X asegúrese de usar exec con el servidor real. Caso contrario el servidor será lento al arrancar o al salir. Por ejemplo:

     #!/bin/sh
     exec /usr/bin/X11/X -dpi 100 -nolisten tcp

9.4.3.1 Configurar el servidor X4

Para volver a configurar el servidor X4,

     # dpkg-reconfigure --priority=low xserver-common
     # dpkg-reconfigure --priority=low xserver-xfree86

generará el archivo /etc/X11/XF86Config-4 y configurará X usando el script dexconf.


9.4.3.2 Configurar el servidor X3

Para volver a configurar el servidor X3,

     # dpkg-reconfigure --priority=low xserver-common-v3
     # dpkg-reconfigure --priority=low xserver-mach64

generará el archivo /etc/X11/XF86Config y configurará X usando el script xf86config-v3.


9.4.3.3 Configurar el servidor X4 en forma manual

Para añadir personalizaciones, no edite el archivo de configuración en medio del texto (válido para X4):

     ### BEGIN DEBCONF SECTION
     [snip]
     ### END DEBCONF SECTION

En cambio, añada las personalizaciones antes del mismo. Por ejemplo, para usar un dispositivo de video personalizado, añada algo similar a lo siguiente al principio del archivo:

     Section "Device"
       Identifier        "Custom Device"
       Driver            "ati"
       Option            "NoAccel"
     EndSection
     
     Section "Screen"
       Identifier  "Custom Screen"
       Device      "Custom Device"
       Monitor     "Generic Monitor"
       DefaultDepth 24
       Subsection "Display"
         Depth       8
         Modes       "1280x960" "1152x864" "1024x768" "800x600" "640x480"
       EndSubsection
       Subsection "Display"
         Depth       16
         Modes       "1280x960" "1152x864" "1024x768" "800x600" "640x480"
       EndSubsection
       Subsection "Display"
         Depth       24
         Modes       "1280x960" "1152x864" "1024x768" "800x600" "640x480"
       EndSubsection
     EndSection
     
     Section "ServerLayout"
         Identifier        "Custom"
         Screen            "Custom Screen"
         InputDevice       "Generic Keyboard" "CoreKeyboard"
         InputDevice       "Configured Mouse" "CorePointer"
     EndSection

9.4.4 El cliente X

La mayoría de los clientes X se pueden arrancar con un comando similar a éste:

     client $ xterm -geometry 80x24+30+200 -fn 6x10 -display hostname:0 &

los argumentos opcionales de la línea de comando tienen el siguiente significado:

El displayname predeterminado para el programa X cliente puede configurarase mediante la variable de entorno DISPLAY. Por ejemplo, antes de ejecutar un programa X cliente, se puede ejecutar uno de los siguientes comandos para alcanzar este objetivo:

     $ export DISPLAY=:0 
             # el predeterminado, máquina local usando la primer pantalla X
     $ export DISPLAY=hostname.fulldomain.name:0.2
     $ export DISPLAY=localhost:0

El arranque puede ser personalizado con ~/.xinitrc. Por ejemplo:

     xrdb -load $HOME/.Xresources
     xsetroot -solid gray &
     xclock -g 50x50-0+0 -bw 0 &
     xload -g 50x50-50+0 -bw 0 &
     xterm -g 80x24+0+0 &
     xterm -g 80x24+0-0 &
     twm

Como se explicó en Personalizando la sesión en X, Sección 9.4.5.1, esto ethis overrides todo lo que una ejecución normal de Xsession hace cuando se arranca desde startx. Utilice este enfoque sólo como último recurso.


9.4.5 Sesión X

Una sesión X (servidor X + cliente X) puede arrancarse mediante:

Se puede disponer de la consola leyendo "¡Permítanme desactivar X al arrancar!", Sección 8.1.4.


9.4.5.1 Personalizando la sesión en X

El script de arranque /etc/X11/Xsession es en realidad una combinación de /etc/X11/Xsession.d/50xfree86-common_determine-startup y /etc/X11/Xsession.d/99xfree86-common_start.

La ejecución de /etc/X11/Xsession se ve afectada por /etc/X11/Xsession.options que consiste esencialmente en la ejecución de un programa mediante el comando exec teniendo en cuenta el siguiente orden:

  • ~/.xsession o ~/.Xsession, si está definida

  • /usr/bin/x-session-manager,si está definida

  • /usr/bin/x-window-manager, si está definida

  • /usr/bin/x-terminal-emulator, si está definida

  • El significado exacto de estos comandos viene determinado por el sistema de alternativos explicado en Comandos alternativos, Sección 6.5.3. Por ejemplo:

         # update-alternatives --config x-session-manager
         ... o
         # update-alternatives --config x-window-manager
    

    A fin de que cualquier administrador de ventanas sea el predeterminado, dejando instalados los administradores de sesiones GNOME y KDE reemplace /etc/X11/Xsession.d/50xfree86-common_determine-startup con el adjuntado al segundo informe de fallos dado a conocer en http://bugs.debian.org/168347 (espero que sea incluido pronto) y edite de la siguiente manera el /etc/X11/Xsession.options para desactivar el administrador de sesiones X:

         # /etc/X11/Xsession.options
         #
         # opciones de configuración para /etc/X11/Xsession
         # Véase Xsession.options(5) para una explicación de las opciones disponibles.
         # predeterminados activados
         allow-failsafe
         allow-user-resources
         allow-user-xsession
         use-ssh-agent
         # predeterminados desactivados (actívelos descomentándolos)
         do-not-use-x-session-manager
         #do-not-use-x-window-manager
    

    Sin la modificación anterior, gnome-session y kdebase son los paquetes que contienen los administradores de sesión X. Al eliminarlos el administrador de ventanas X pasa a ser el predeterminado. (Hmm, ¿alguna mejor idea?)

    En un sistema donde /etc/X11/Xsession.options incluye una línea allow-user-xsession sin ningún caracter precediéndola, cualquier usuario podrá personalizar el comportamiento del /etc/X11/Xsession. mediante ~/.xsession o ~/.Xsession

    El último comando del archivo ~/.xsession debe ser de la forma exec some-window/session-manager para arrancar su administrador de sesiones/ventanas X favorito.

    Un buen ejemplo de script ~/.xsession se encuentra en /usr/share/doc/xfree86-common/examples/xsession.gz.

    Lo utilizo para definir el administrador de ventanas y el idioma para cada cuenta de usuario. Véase Arrancar un administrador de sesiones/ventanas determinado, Sección 9.4.5.2, Adquirir privilegios de superusuario en X, Sección 9.4.11 y Ejemplo para un sistema bilingüe (EUC japonés e ISO-8859-1), Sección 9.7.8.

    Los recursos X específicos para cada usuario se pueden almacenar en ~/.Xresources, mientras que los recursos X para todo el sistema en /etc/X11/Xresources/*. Véase xrdb(1x).

    En X, los teclados personalizados y las asociaciones de los botones del ratón se pueden especificar en ~/.xmodmaprc. Véase xmodmap(1x).


    9.4.5.2 Arrancar un administrador de sesiones/ventanas determinado

    Siguiendo los pasos explicados en Personalizando la sesión en X, Sección 9.4.5.1, se puede activar un administrador de ventanas/sesiones X específico para cada usuario instalando el paquete indicado y configurando el archivo ~/.xsession de la siguiente manera (me gusta blackbox por su estilo simple y por ser veloz):

    Véase Administradores de ventanas para X.


    9.4.5.3 Configuración del entorno KDE/GNOME

    Para configurar plenamente el entorno KDE/GNOME, resultan de utilidad los siguiente metapaquetes:

    Instalar estos paquetes con herramientas que tengan en cuenta los recomendados, como dselect y aptitude, le permitirá una elección más variada de programas que hacerlo con apt-get.

    Si desea ingresar al sistema por consola, asegúrese de deshabilitar el administrador de pantallas X, como kdm, gdm y wdm, que pueden ser instalados por el sistema de dependencias, como se explica en "¡Permítanme desactivar X al arrancar!", Sección 8.1.4.

    Si desea tener a GNOME como sistema predeterminado en vez de KDE, asegúrese de configurar x-session-manager como se detalla en Comandos alternativos, Sección 6.5.3.


    9.4.6 Conexión TCP/IP en X

    Puesto que las conexiones TCP/IP remotas sin cifrado son propensas a ataques de intervención de línea telefónica, la configuración predeterminada de X en versiones recientes de Debian viene con los sockets TCP/IP desactivados. Para una conexión X remota piense en usar ssh (véase Conexión X remota: ssh, Sección 9.4.8).

    No se recomienda el método recién explicado a menos que uno esté en un entorno muy seguro, detrás de un buen firewall y con usuarios confiables. Use el siguiente comando para verificar la configuración actual de su socket TCP/IP de su servidor X:

         # find /etc/X11 -type f -print0 | xargs -0 grep nolisten
         /etc/X11/xinit/xserverrc:exec /usr/bin/X11/X -dpi 100 -nolisten tcp
    

    Eliminar -nolisten para restaurar la escucha TCP/IP en el servidor X.


    9.4.7 Conexión X remota: xhost

    xhost permite el acceso basándose en los nombres de host. Esto resulta ser muy inseguro. Los comandos siguientes desactivarán la verificación del host y permitirán conexiones desde cualquier lugar si las conexiones TCP/IP están autorizadas (véase Conexión TCP/IP en X, Sección 9.4.6):

         $ xhost +
    

    Se puede volver a habilitar la verificación del host haciendo:

         $ xhost -
    

    xhost no distingue entre diferentes usuarios en la máquina remota. Además, los nombres de las máquinas (en realidad, sus direcciones) pueden ser falseadas.

    Si se encuentra en una red que no es confiable (por ejemplo, con un acceso a Internet mediante una línea telefónica a través de PPP) debe evitar este método incluso si se consideran criterios más restrictivos sobre los hosts. Véase xhost(1x).


    9.4.8 Conexión X remota: ssh

    El uso de ssh permite una conexión segura desde un servidor X local a una aplicación servidora remota.

    Este método permite la visualización de la salida del cliente X remoto como si estuviera conectado a un socket UNIX local.


    9.4.9 xterm

    Aprenda todo sobre xterm en la dirección http://dickey.his.com/xterm/xterm.faq.html.


    9.4.10 Base de datos de recursos de X

    Algunos programas X antiguos, como xterm, usan la base de datos de recursos de X para configurar su apariencia. El archivo ~/.Xresources se utiliza para almacenar las especificaciones de los recursos del usuario. Al autenticarse, este archivo automáticamente se anexa a los recursos predeterminados de X.

    Veamos algunos parámetros interesantes para añadir a su archivo ~/.Xresources:

         ! Usar una fuente más legible 9x15
         XTerm*font: 9x15
         
         ! Mostrar barra de desplazamiento
         XTerm*scrollBar: true
         
         ! Fijar el tamño del búfer en 1000 líneas
         XTerm*saveLines: 1000
    

    Para que estas configuraciones tengan efecto inmediatamente, añádalas a la base de datos mediante el comando:

         xrdb -merge ~/.Xresources
    

    9.4.11 Adquirir privilegios de superusuario en X

    Si una aplicación gráfica mecesita ejecutarse con privilegios de superusuario, use el siguiente procedimiento para visualizar la salida del programa en el servidor X del usuario. Con objeto de evitar posibles riesgos de seguridad nunca intente iniciar un servidor X directamente desde la cuenta de superusuario.

    Inicie el servidor X como usuario normal y abra una consola xterm. Then:

         $ XAUTHORITY=$HOME/.Xauthority
         $ export XAUTHORITY
         $ su root
         Password:*****
         # printtool &
    

    Cuando utilice este truco para hacer su a un usuario normal, asegúrese que el archivo ~/.Xauthority tenga permiso de lectura para el grupo al que pertenece dicho usuario.

    Para automatizar esta secuencia de comandos, cree un archivo ~/.xsession desde la cuenta del usuario, que contenga las siguientes líneas:

         # Esto permite arrancar X cuando hago su para ser superusuario.
         if [ -z "$XAUTHORITY" ]; then
                 XAUTHORITY=$HOME/.Xauthority
                 export XAUTHORITY
         fi
         unset XSTARTUP
         # Si desea un administrador de sesiones/ventanas particular descomente
         # lo siguiente y edítelo según sus necesidades.
         # XSTARTUP=/usr/bin/blackbox
         # Esto inicia el administrador de sesiones/ventanas de X
         if [ -z "$XSTARTUP" ]; then
           if [ -x /usr/bin/x-session-manager ]; then
             XSTARTUP=x-session-manager
           elif [ -x /usr/bin/x-window-manager ]; then
             XSTARTUP=x-window-manager
           elif [ -x /usr/bin/x-terminal-emulator ]; then
             XSTARTUP=x-terminal-emulator
           fi
         fi
         # ejecuta el administrador de sesiones/ventanas seleccionado
         exec $XSTARTUP
    

    A continuación ejecute su (no su -) en una ventana xterm de usuario. A partir de ahora, es posible ejecutar aplicaciones gráficas con privilegios de superusuario en una pantalla X de superusuario. Este truco funciona siempre y cuando se ejecute la /etc/X11/Xsession predeterminada. Si un usuario personaliza ~/.xinit o ~/.xsession, la variable XAUTHORITY mencionada anteriormente necesita ser inicializada de manera similar en estos scripts.

    Otro método, consiste en usar sudo para automatizar la secuencia de comandos:

         $ sudo xterm
         ... o
         $ sudo -H -s
    

    En este casp /root/.bashrc debe contener:

         if [ $SUDO_USER ]; then
             sudo -H -u $SUDO_USER xauth extract - $DISPLAY | xauth merge -
         fi
    

    Esto funciona correctamente incluso si el directorio personal del usuario se encuentra en una partición NFS, ya que el superusuario no lee el archivo .Xauthority.

    Existen también diversos paquetes específicos para este fin: kdesu, gksu, gksudo, gnome-sudo y xsu. Se pueden usar otro métodos para alcanzar resultados similares: crear un enlace simbólico del /root/.Xauthority al correspondiente al usuario; utilizar el script sux; o incluir "xauth merge ~USER_RUNNING_X/.Xauthority" en el script de inicialización del root.

    Véase más en la lista de correos debian-devel.


    9.4.12 Fuentes trueType en X

    El xfs estándar de XFree86-4 funciona correctamente con fuentes TrueType. Si está usando XFree86-3 debe instalar algún servidor de terceros como, por ejemplo, xfs-xtt.

    Sólo necesita asegurarse que las aplicaciones que desee usar con las fuentes TrueType hayan sido enlazadas con libXft o libfreetype (es muy probable que no tenga ni siquiera que preocuparse por ello si usa .debs precompilados).

    Recuerde instalar las fuentes y generar los archivos fonts.{scale,dir} para que puedan ser indexadas y utilizadas.

    Puesto que hay pocas fuentes libres, los usuarios de Debian pueden instalar fuentes TrueType comerciales o shareware. A fin de facilitar este proceso al usuario, han sido creado algunos paquetes muy prácticos:

    De esta manera tendrá una buena colección de fuentes TT a expensas de contaminar su sistema libre con fuentes propietarias.


    9.4.13 Navegador web (gráfico)

    Existe algunos paquetes de navegadores web disponibles con el lanzamiento de Woody :

    La versión de mozilla debe coincidir con la versión correspondiente de galeon. Aunque difieren en su interfaz, ambos programas conparten el mismo motor de renderizado de HTML Gecko.

    Los añadidos (plug-ins) para los navegadores tales como mozilla y galeon se pueden activar instalando manualmente los archivos "*.so" en el directorio de añadidos y reiniciando el navegador.

    Recursos:


    9.5 SSH

    SSH (Secure SHell) es la manera segura de comunicarse a través de Internet. Una versión libre de SSH llamada OpenSSH se encuentra disponible en el paquete Debian ssh.


    9.5.1 Fundamentos

    Primero instale el cliente y el servidor OpenSSH.

         # apt-get update && apt-get install ssh
    

    /etc/ssh/sshd_not_to_be_run no debe estar presente si desea ejecutar el servidor OpenSSH.

    SSH tiene dos protocolos de autenticación:

    Tenga cuidado con estas diferencias si está migrando hacia Woody o usando un sitema que no es Debian.

    Véase /usr/share/doc/ssh/README.Debian.gz, ssh(1), sshd(8), ssh-agent(1) y ssh-keygen(1) para más detalles.

    Los siguientes son los archivos de configuración más importantes:

    Lo siguiente iniciará una conexión ssh desde un cliente.

         $ ssh nombre_usuario@nombre_máquina.dominio.ext
         $ ssh -1 nombre_usuario@nombre_máquina.dominio.ext # Fuerza la versión 1 de SSH
         $ ssh -1 -o RSAAuthentication=no -l username foo.host
             # force password on SSH1
         $ ssh -o PreferredAuthentications=password -l username foo.host
             # force password on SSH2
    

    Para el usuario, las funciones de ssh son mejores y más seguras que las de telnet (no lo bombardearán con ^]).


    9.5.2 Reenvío de puertos – túnel SMTP/POP3

    Para establecer un túnel para conectarse al puerto 25 del servidor-remoto desde el puerto 4025 de la máquina local y al puerto 110 del servidor-remoto desde el puerto 4110 de la máquina local mediante ssh, ejecute lo siguiente en la máquina local:

         # ssh -q -L 4025:servidor-remoto:25 4110:servidor-remoto:110 \
                    nombre_usuario@servidor-remoto
    

    Es una manera segura de conectarse a servidores SMTP/POP3 a través de Internet. En el /etc/ssh/sshd_config de la máquina remota, asigne a la entrada AllowTcpForwarding el valor yes.


    9.5.3 Conectarse con pocas contraseñas

    Uno puede evitar recordar la contraseña para cada sistema remoto usando RSAAuthentication (protocolo SSH1) o PubkeyAuthentication (protocolo SSH2).

    En el /etc/ssh/sshd_config del sistema remoto debe figurar "RSAAuthentication yes" o "PubkeyAuthentication yes".

    A continuación genere las claves de autenticación en forma local e instale la clave pública en el sistema remoto:

         $ ssh-keygen          # RSAAuthentication: clave RSA1 para SSH1
         $ cat .ssh/identity.pub | ssh user1@remote \
                 "cat - >>.ssh/authorized_keys"
         ...
         $ ssh-keygen -t rsa   # PubkeyAuthentication: clave RSA para SSH2
         $ cat .ssh/id_rsa.pub | ssh user1@remote \
                 "cat - >>.ssh/authorized_keys"
         ...
         $ ssh-keygen -t dsa   # PubkeyAuthentication: clave DSA para SSH2
         $ cat .ssh/id_dsa.pub | ssh user1@remote \
                 "cat - >>.ssh/authorized_keys"
    

    Uno puede cambiar la frase de contraseña posteriormente haciendo "ssh-keygen -p". Asegúrese de verificar la configuración probando la conexión. En caso de problemas, haga "ssh -v".

    Puede añadir opciones a las entradas en authorized_keys para limitar los hosts y ejecutar comandos específicos. Véase sshd(8) para más detalles.

    Observe que SSH2 realiza una autenticación del tipo HostbasedAuthentication. Para que esto funcione, debe asignar a la entrada HostbasedAuthentication el valor yes tanto en el /etc/ssh/sshd_config de la máquina servidor como en el /etc/ssh/ssh_config o el $HOME/.ssh/config de la máquina cliente.


    9.5.4 Otro clientes SSH

    Existen algunos clientes SSH libres disponibles para plataformas que no son UNIX.

    Windows

    puTTY (GPL)

    Windows (cygwin)

    SSH en cygwin (GPL)

    Macintosh Clásico

    macSSH (GPL) [Obsérvese que Mac OS X incluye OpenSSH; utilice ssh en el terminal]

    Recurra también al sitio de documentación de SourceForge.net: "6. CVS Instructions".


    9.5.5 Agente SSH

    Resulta más seguro proteger su clave de autenticación SSH con una frase de contraseña. Si no ha sido configurada, use ssh-keygen -p para hacerlo.

    Ubique su clave pública (por ejemplo, ~/.ssh/id_rsa.pub) en el ~/.ssh/authorized_keys de una máquina remota usando la conexión basada en contraseñas como se explica en Conectarse con pocas contraseñas, Sección 9.5.3.

         $ ssh-agent bash # o ejecute en cambio el programa zsh/tcsh/pdksh.
         $ ssh-add ~/.ssh/id_rsa
         Enter passphrase for /home/osamu/.ssh/id_rsa:
         Identity added: /home/osamu/.ssh/id_rsa (/home/osamu/.ssh/id_rsa)
         $ scp foo user@remote.host:foo
          ... de ahora en adelante no se necesita frase de contraseña :-)
         $^D
          ... terminating ssh-agent session
    

    Para el servidor X, los scripts de arranque normales de Debian ejecutan al ssh-agent como proceso padre. Por lo tanto, necesitará ejecutar ssh-add una sola vez.

    Para más información , consulte ssh-agent(1) y ssh-add(1).


    9.5.6 Resolución de problemas

    Si tiene problemas, controle los permisos de los archivos de configuración y ejecute ssh con la opción "-v".

    Utilice la opción "-P" si no es superusuario y tiene problemas con un firewall; esto evita el uso de los puertos 1–1023 del servidor.

    Si las conexiones ssh con un sitio remoto dejan de funcionar repentinamente, puede ser debido a modificaciones hechas por el administrador de sistema, muy probablemente debido a un cambio de host_key durante el mantenimiento del sistema. Tras asegurarse que este es el caso y que nadie está haciéndose pasar por la máquina remota mediante algún artilugio ingenioso, es posible recuperar la conexión eliminando la entrada host_key del archivo $HOME/.ssh/known_hosts de la máquina local.


    9.6 Programas de correo

    La configuración del correo comprende tres partes:


    9.6.1 Agente de transporte de correo (MTAs)

    Para un MTA con un sinnúmero de posibilidades, utilice exim. Referencias:

    Si le preocupa el tema de la seguridad, el único MTA alternativo razonable es postfix. Tanto sendmail como qmail se encuentran disponibles como paquetes Debian pero no se recomiendan.

    Si no necesita de la función de reenvío del MTA como en el caso de un sistema satélite como puede ser una PC portátil, considere usar uno de estos paquetes pequeñosl:

    Por el momento, considero a que exim es más conveniente incluso para mi estación de trabajo que es una PC portátil..

    Necesitará eliminar exim para la instalación de estos paquetes que entran en conflicto:

         # dpkg -P --force-depends exim
         # apt-get install nullmailer         # o ssmtp
    

    9.6.1.1 Configuración básica de Exim

    Para usar exim como MTA, configure lo siguiente:

         /etc/exim/exim.conf     "eximconfig" para crearlo o editarlo
         /etc/inetd.conf          descomente smtp para ejecutar exim como demonio
         /etc/email-addresses     edítelo si su nombre de usuario y máquina no es una dirección
                                  de correo válida en Internet
         verifique los filtros usando exim -brw, -bf, -bF, -bV, ... etc.
    

    9.6.1.2 Direcciones de correo electrónico inexistentes (Exim)

    En la parte DIRECTORS del archivo /etc/exim/exim.conf (Woody o posterior), añada una directiva "catchall" al final (a continuación de localuser: director) que corresponda a todas las direcciones que la directiva anterior no pudo resolver (por Miquel van Smoorenburg):

         catchall:
           driver = smartuser
             new_address = webmaster@mi_dominio.com
    

    Si desea una receta más detallada para cada dominio virtual, añada lo siguiente al final del archivo /etc/exim/exim.conf (para mí, no muy probado):

         *@su_dominio.com ${lookup{$1}lsearch*{/etc/email-addresses} \
                 {$value}fail} T
    

    y añada una entrada "*" al /etc/email-addresses.


    9.6.1.3 Reescritura selectiva de direcciones del correo saliente (Exim)

    En exim la reescritura selectiva de direcciones del correo saliente para que los encabezados "From:" se muestren correctamente se puede realizar modificando el final del archivo /etc/exim/exim.conf:

         *@host1.algo.dyndns.org \
           "${if eq {${lookup{$1}lsearch{/etc/passwd}{1}{0}}} {1}  \
            {$0}{$1@algo.dyndns.org}}"  frFs
    

    Esto reescribe todas las direcciones coincidentes con *@host1.algo.dyndns.org.

    1. busca en /etc/password para ver si la parte local ($1) es un usuario local o no.

    1. si se trata de un usuario local, reescribe la dirección con lo mismo que estaba en primer lugar ($0).

    1. si no se trata de un usuario local, reescribe la parte del dominio.


    9.6.1.4 Autenticación SMTP con Exim

    Algunos servicios SMTP tales como yahoo.com requieren de autenticación SMTP. Configure /etc/exim/exim.conf de la siguiente manera:

         remote_smtp:
           driver = smtp
           authenticate_hosts = smtp.mail.yahoo.com
         ...
         
         smarthost:
           driver = domainlist
           transport = remote_smtp
           route_list = "* smtp.mail.yahoo.com bydns_a"
         ...
         
         plain:
           driver = plaintext
           public_name = PLAIN
           client_send = "^cmatheson3^esta_es_mi_contraseña"
    

    No se olvide entrecomillar la última líneas.


    9.6.2 Utilidad de correo (Fetchmail)

    fetchmail se ejecuta en modo demonio para transferir los mensajes de correo de una cuenta POP3 de un ISP al sistema de correo local. Configure:

         /etc/init.d/fetchmail   
         /etc/rc?.d/???fetchmail ejecute update-rc.d fetchmail default priority 30
         /etc/fetchmailrc        archivo de configuración (chown 600)
    

    La información para arrancar fetchmail como demonio desde un script de init.d en Potato es confusa (Woody corrigió esta situación). Véase los archivos de ejemplo /etc/init.d/fetchmail y /etc/fetchmailrc en los scripts de ejemplo.

    Si los encabezados de sus mensajes de correo están contaminados con ^M debido al programa de correo de su ISP, añada "stripcr" a sus opciones en $HOME/.fetchmailrc:

         options fetchall no keep stripcr
    

    9.6.3 Utilidad de correo (Procmail)

    procmail es un programa de filtrado y distribución de correo local. Se necesita crear un $HOME/.procmailrc para cada cuenta que se utiliza. Ejemplo: _procmailrc


    9.6.4 Agente de usuario de correo (Mutt)

    Utilice mutt como agente de usuario de correo (MUA) en combinación con vim. Personalícelo mediante ~/.muttrc; por ejemplo:

         # use el modo visual y "gq" para reformatear citas
         set editor="vim -c 'set tw=72 et ft=mail'"
         #
         # selección de encabezados tomada del manual (Sven's Draconian header weeding)
         #
         ignore *
         unignore from: date subject to cc
         unignore user-agent x-mailer
         hdr_order from subject to cc date user-agent x-mailer
         auto_view application/msword
         ....
    

    Añada lo siguiente al /etc/mailcap o $HOME/.mailcap para visualizar correo en HTML y documentos adjuntos en MS Word:

         text/html; lynx -force_html %s; needsterminal;
         application/msword; /usr/bin/antiword '%s'; copiousoutput;
         description="Microsoft Word Text"; nametemplate=%s.doc
    

    9.7 Localización y soporte de idiomas

    Debian se encuentra internacionalizado y admite el uso de un número creciente de idiomas y convenciones de uso local. Las siguientes subseccines discuten la localización, es decir, el proceso de personalización de un entorno de trabajo para permitir la entrada y salida de el/los idioma(s) elegido(s), convenciones para las fechas, formatos numéricos y monetarios y otros aspectos de un sistema que difiere de región en región.


    9.7.1 Personalización básica

    Existen algunos aspectos de la personalización para la localización y el soporte de un idioma.


    9.7.1.1 Teclado

    Debian se distribuye con los mapas de caracteres de casi dos docenas de teclados. En Woody, el teclado se reconfigura así:


    9.7.1.2 Datos

    La gran mayoría de los paquetes Debian soporta el manejo de datos en caracteres no US-ASCII a través de la variable de entorno LC_CTYPE brindada por la tecnología locale de glibc


    9.7.1.3 Visualización

    X puede mostrar cualquier codificación -incluyendo UTF-8- y soporta todas las fuentes. La lista incluye no sólo las fuentes de 8 bits sino las de 16 bits que aparecen en el idioma chino, japonés o coreano. El método de entrada de los caracteres de múltiples bytes es soportado por el mecanismo XIM. Véase Ejemplo para un sistema bilingüe (EUC japonés e ISO-8859-1), Sección 9.7.8.

    La visualización del código japonés EUC se encuentra también disponible en la consola gráfica (S)VGA mediante el paquete kon2. Existe una terminal alternativa nueva en japonés llamada jfbterm que usa la consola FB. En estos entornos de consola, la aplicación debe proporcionar el método de entrada del japonés. Utilice el paquete egg para el paquete Emacs y el paquete jvim para el entorno Vim.


    9.7.1.4 Traducción

    Existen traducciones para diversos mensajes y documentos que se muestran en un sistema Debian, como mensajes de errores, salida estándar de programas, menús y páginas del manual. Actualmente, hay soporte para las páginas del manual en alemán, español, finlandés, francés, italiano, japonés, coreano y polaco proporcionados por los paquetes manpages-LANG (donde LANG son dos letras ISO del código del país. Utilice apt-cache search manpages-|less para obtener la lista de manuales unix disponibles)

    Para acceder a la página de un manual NLS, el usuario debe configurar la variable de entorno LC_MESSAGES apropiadamente. Por ejemplo, para las páginas del manual en el idioma italiano, LC_MESSAGES debe ser igual a it. El programa man buscará entonces las páginas del manual en italiano en /usr/share/man/it/.


    9.7.2 Locales

    Debian soporta la tecnología locale. Locale es un mecanismo que permite a los programas brindar una salida adecuada y una funcionalidad conforme a las convenciones locales tales como el conjunto de caracteres, el formato del tiempo y de la fecha, los símbolos monetarios, etc. Utiliza las variables de entorno para determinar el comportamiento apropiado. Por ejemplo, suponiendo que tiene instalado en su sistema tanto el local para el francés como para el inglés americano, los mensajes de error de varios programas se pueden mostran en uno u otro idioma:

         $ LANG="en_US" cat foo
         cat: foo: No such file or directory
         $ LANG="fr_FR" cat foo
         cat: foo: Aucun fichier ou répertoire de ce type
    

    Glibc brinda soporte a esta funcionalidad. Véase locale(7).


    9.7.3 Activar el soporte de locales

    Debian no viene con todos los locales disponibles precompilados. Vaya a /usr/lib/locale para ver qué locales (además del predeterminado "C") han sido compilados para su sistema. Si no encuentra el que necesita, tiene dos opciones:


    9.7.4 Activar un local determinado

    Las siguientes variables de entorno se evalúan en el siguiente orden para proporcionar a los programas los valores de un local determinado:

    1. LANGUAGE: esta variable de entorno consiste en una lista de locales separados por dos puntos en orden de prioridad. Es utilizado sólo si el local POSIX tiene un valor diferente de "C" [en Woody; en Potato tiene siempre prioridad sobre el local POSIX]. (extensión GNU)

    1. LC_ALL: si no es nulo, su valor se utiliza para todas las categorías del local. (POSIX.1) Generalmente "" (nulo).

    1. LC_*: si no es nulo, su valor se utiliza para la categoría correspondiente (POSIX.1). Generalmente "C".

      Las variables LC_* son las siguientes:

    1. LANG: si es no nulo y LC_ALL está indefinido, el valor se utiliza para todas las categorías LC_* si valores definidos. (POSIX.1) Generalmente "C".

    Obsérvese que algunas aplicaciones (por ejemplo, Netscape 4) ignora los valores de LC_*.

    El programa locale pude mostrar la configuración local activa y los locales disponibles; véase locale(1). (OBSERVACIÓN: locale -a lista todos los locales que su sistema reconoce; eso no significa que la totalidad de ellos hayan sido compilados. Véase Activar el soporte de locales, Sección 9.7.3.)


    9.7.5 Formato de la fecha del local ISO 8601

    El soporte de local para el estándar internacional de la fecha yyyy-mm-dd (formato de fecha ISO 8601) es proporcionado por el local denominado en_DK, — Inglés en Dinamarca lo cual es una broma :-) Parece ser que sólo funciona en la consola para ls.


    9.7.6 Ejemplo para los Estados Unidos (ISO-8859-1)

    Añada las siguientes líneas a su ~/.bash_profile:

         LC_CTYPE=en_US.ISO-8859-1
         export LC_CTYPE
    

    9.7.7 Ejemplo para Francia con el signo euro (ISO-8859-15)

    Añada las siguientes líneas a su ~/.bash_profile:

         LANG=fr_FR@euro
         export LANG
         LC_CTYPE=fr_FR@euro
         export LC_CTYPE
    

    Configure el teclado francés "AZERTY" como se explica en Teclado, Sección 9.7.1.1. y añada las páginas del manual en francés instalando manpages-fr. Alt-derecho en el teclado estadounidense se llama al Alt-Gr en Europa. Pulsándola simultáneamente junto con otras teclas se obtienen numerosos caracteres acentuados, etc. Por ejemplo, Alt-Gr+E da el signo euro.

    La mayoría de las lenguas europeas occidentales se pueden configurar de una manera similar.

    Véase Debian Euro HOWTO para añadir soporte para el nuevo signo monetario y Utilizar y configurar Debian para el idioma francés para más detalles en francés.


    9.7.8 Ejemplo para un sistema bilingüe (EUC japonés e ISO-8859-1)

    Configuremos un sistema bilingüe: ja_JP.eucJP (EUC japonés, entorno tradicional japonés para UNIX) en X con mensajes en inglés y fecha tipo ISO y en_US.ISO-8859-1 (ASCII con soporte de la mayoría de los caracteres con acento) en la consola Linux.

    Véase también las páginas de SuSE para CJK.


    9.7.9 Ejemplo de UTF-8 en X

    Lo necesitará todo el mundo en un futuro. Véase The Unicode HOWTO.


    9.7.10 Ejemplo de UTF-8 en una consola FB

    El soporte UTF-8 para la consola FB es proporcionada por bterm utilizado en debian-installer.


    9.7.11 Más allá de los locales

    Cuando vaya a configurar por primera vez un entorno de idioma, por favor considere usar tasksel o aptitude para averiguar qué paquetes han sido seleccionados al elegir la tarea correspondiente a dicho entorno. La elección del idioma es útil incluso para la configuración de un entorno multilingüe. Si encuentra problemas de dependencia durante la instalación en su sistema configurado, evite instalar los programas que causan conflicto. Puede recurrir a update-alternative para recuperar el estado original de algunos comandos ya que los nuevos instalados pueden tener una prioridad mayor sobre los ya existentes.

    La gran mayoría de los programas usan glibc 2.2 y en gran parte están internacionalizados. Por lo tanto versiones localizadas tales como jvim para VIM puede que no sean necesarias y su funcionalidad es ofrecida por la versión 6.0 para X de vim. En realidad, aún es difícil de usar. Puesto que jvim posee una versión compilada con soporte nativo de caracteres japoneses (canna) incluso en consola y soluciona diversos problemas específicos del japonés puede que aún la quiera usar :-)

    Puede que se necesite configurar los programas más allá de la configuración del local para lograr un entorno de trabajo agradable. El paquete language-env y su comando set-language-env facilita notablemente este proceso.

    Asimismo consulte el documento sobre internalización Introducción a la i18n. Está dirigido a los desarrolladores pero también resulta útil para los administradores de sistemas.


    [ anterior ] [ Contenidos ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ A ] [ siguiente ]


    Guía de referencia Debian

    CVS, jue ene 18 11:52:44 UTC 2007

    Osamu Aoki osamu#at#debian.org
    Coordinador de la traducción al español: Walter O. Echarri wecharri#at#infovia.com.ar
    Autores, Sección A.1