CÓMO configurar Linux <author>Por Guido Gonzato, <tt><htmlurl url="mailto:guido@ibogfs.cineca.it" name="guido@ibogfs.cineca.it"></tt> Traducción: David Marín Carreño, <tt><htmlurl url="mailto:davefx@bigfoot.com" name="davefx@bigfoot.com"></tt> <date>v0.99.3, 4 de Noviembre de 1997. Traducción: 9 de Junio de 1998. <abstract> Este documento CÓMO intenta abarcar el ajuste fino de un sistema Linux recién instalado de manera fácil y rápida. Aquí encontrará un conjunto de configuraciones para las aplicaciones más comunes, de manera que pueda empezar a trabajar en un sistema en buenas condiciones de uso. </abstract> <toc> <sect> Introducción <label id="Introduction"> <p> He instalado Linux en muchos PC's, y me he dado cuenta de que las distribuciones corrientes son fantásticas, pero a menudo incorporan una configuración básica bastante pobre. La mayoría de programas funcionan en el sistema, pero algunos no lo harán. Esto es una lástima: No puedo ver la razón por la que el novato debe enfrentarse con el viejo problema del ``backspace'', o pensar que <tt/emacs/ no tiene colores, o que se listen directorios en blanco y negro. Para ayudarme a mi mismo en recordar qué es lo que necesita ser configurado primero, escribí un resumen que luego amplié hasta llegar a este documento CÓMO. Aquí podrá encontrar un buen puñado de ejemplos de configuración de las aplicaciones más comunes. Estos ejemplos están basados en mi experiencia personal instalando sistemas Linux basados en Red Hat, por lo que si usted usa otras distribuciones debe tener cuidado. Por favor: no tome los consejos que doy en este trabajo como palabras sagradas: simplemente me funcionan a mi. En cualquier caso, si quiere saber más deberá leer los documentos del paquete y uno o más documentos CÓMO acerca de esa materia. Este documento es sólo un resumen---esperanzador, útil y de bolsillo. Puede haber infinitas configuraciones para un PC, pero en mi experiencia me he encontrado con uno que es muy común: un PC con un gran disco duro dividido en tres particiones (una para DOS/Windows, otra para Linux y otra para swap), módem, unidad CD- ROM, impresora, ratón. Asumiré que éste es el hardware que desea configurar, pero es fácil adaptar los siguientes consejos a otras configuraciones. Asumiré implícitamente que usted será administrador de sistema (root) cuando edite/arregle/trastee. Y ahora, comencemos. <sect> Instalación General del Sistema. <p> <sect1> Teclado <p> Antes de nada, cómo configurar el teclado. Si saltó este paso durante la instalación, o ha cambiado el teclado, dendrá que: <itemize> <item> escoger una tabla de teclas apropiada de <tt>/usr/lib/kbd/keytables/</tt>; por ejemplo, <tt/es.map/ selecciona el teclado español <item> edite el fichero <tt>/etc/sysconfig/keyboard</tt> para que en él se pueda leer: <tt>KEYTABLE="/usr/lib/kbd/keytables/es.map"</tt> <item> para ajustar la velocidad de repetición y retardo del teclado, añada esta línea a <tt>/etc/profile</tt> o a uno de sus archivos rc : <tscreen><verb> /sbin/kbdrate -s -r 16 -d 500 # o lo que sea </verb></tscreen> <item> y finalmente, haga esto para conseguir el permiso de configurar el teclado: <tscreen><verb> ~# chmod 666 /dev/port </verb></tscreen> </itemize> Después de reiniciar el sistema, el teclado funcionará correctamente. <sect1> Núcleo <p> Yo creo que lo primero que hay que hacer es construir un núcleo que se adapte perfectamente a su sistema. Es muy simple de hacer pero, en cualquier caso, lea el fichero <tt/README/ en <tt>/usr/src/linux/</tt>. Pistas: <itemize> <item> considere cuidadosamente cuáles son sus necesidades. Es mejor escoger un núcleo adecuado y aplicar parches una sola vez, que reconfigurar y recompilar cada mes. Esto está especialmente recomendado si su sistema Linux es un servidor. No olvide incluir soporte para todo el hardware que tenga pensado adquirir en un futuro; <item> si su PC tiene procesador Cyrix, aplique los parches adecuados para mejorar el rendimiento. Para más información, <tt><htmlurl url="http://www.linuxhq.com/patch/20-p0591.html" name="http://www.linuxhq.com/patch/20-p0591.html"></tt>; <item> los usuarios de portátiles desearán mejorar la legibilidad de la pantalla aplicando el parche <tt><htmlurl url="ftp://sunsite.unc.edu/pub/Linux/kernel/patches/console/noblink-1.7.tar.gz" name="noblink"></tt> patch; <item> también para los usuarios de portátiles, si planean usar un módem/fax PCMCIA <em/no/ compilen el soporte de puerto serie como módulo; compílelo dentro del núcleo, o el módem PCMCIA no funcionará. </itemize> <sect1> Mensajes de Arranque <p> Si desea personlaizar los mensajes de arranque, compruebe si su <tt>/etc/rc.d/rc.local</tt> sobrescribe <tt>/etc/issue</tt> y <tt>/etc/motd</tt>. Si lo hace, ponga manos a la obra con su editor de texto favorito. <sect1> Nombre de la máquina <p> Ejecutar el comando <tt/hostname nuevo_nombre_máquina/ no es suficiente. Edite <tt>/etc/sysconfig/network</tt> y cambie el nombre de la máquina ahí. <sect1> Bloqueo de Sendmail <p> En algunos sistemas, sendmail bloque la máquina al arrancar. Asegúrese de que su <tt>/etc/hosts</tt> contiene una línea como: <tscreen><verb> 127.0.0.1 localhost </verb></tscreen> <sect1> Controladores de Dispositivos <p> Los dispositivos dentro de <tt>/dev</tt> (o incluso los enlaces a los verdaderos controladores de dispositivos) pueden faltar. Compruebe qué dispositivos se corresponden con su ratón, su módem y unidad CD-ROM, y entonces haga lo siguiente: <tscreen><verb> ~# cd /dev /dev# ln -s /dev/cua0 mouse /dev# ln -s /dev/cua1 modem /dev# ln -s /dev/hdb cdrom </verb></tscreen> y, si lo desea, haga <tt/chmod 666/ a estos dispositivos para hacerlos accesibles a todos los usuarios. Nota: en algunos portátiles el dispositivo del ratón es <tt>/dev/psaux</tt>: tenga esto en cuenta a la hora de configurar X11. Además, usted deseará hacer la disquetera accesible a los usuarios "no-root" con <tt>chmod 666 /dev/fd*</tt>. Esto puede causar problemas de seguridad, pero no conozco los detalles. Se agradecerían comentarios acerca de esto. <sect1> Ratón <p> Los servicios de ratón de <tt/gpm/ son útiles para efectuar "cortar y pegar" en la consola y para usar el ratón en algunas aplicaciones. Compruebe que tiene un fichero llamado <tt>/etc/sysconfig/mouse</tt> y que en él se puede leer: <tscreen><verb> MOUSETYPE="Microsoft" XEMU3=yes </verb></tscreen> Además, debe tener el fichero <tt>/etc/rc.d/init.d/gpm</tt>. Por supuesto, asegúrese de que esta configuración es buena para su tipo de ratón. Nota: en algunos portátiles, <tt/MOUSETYPE/ es <tt>``PS/2''</tt>. <sect1> Puntos de Montaje <p> Es útil tener puntos de montaje para la disquetera, el CD-ROM, la particion DOS, y otros dispositivos. Por ejemplo, usted puede hacer lo siguiente: <tscreen><verb> ~# cd /mnt /# mkdir a: ; mkdir floppy ; mkdir cdrom ; mkdir win ; mkdir zip </verb></tscreen> Esto crea puntos de montaje para un disquete MS-DOS, un disquete ext2, el CD-ROM, la partición DOS, y la unidad Zip del puerto paralelo. Ahora edite el fichero <tt>/etc/fstab</tt> añada lo siguiente: <tscreen><verb> /dev/fd0 /mnt/a: msdos user,noauto 0 1 /dev/fd0 /mnt/floppy ext2 user,noauto 0 1 /dev/cdrom /mnt/cdrom iso9660 ro,user,noauto 0 1 /dev/hda1 /mnt/dos msdos user,noauto 0 1 /dev/sda4 /mnt/zip vfat user,noauto 0 1 </verb></tscreen> Obviamente, deberá usar el dispositivo correcto en el primer campo. Para acceder a los nombres largos de Win95, use <tt/vfat/ en lugar de <tt/msdos/ en la penúltima línea. Sin embargo, esto no funciona con vfat32, a menos que tenga un núcleo 2.0.34 o superior. <sect1> LILO y Loadlin <p> Muchos usuarios desean que su PC ejecute tanto Linux como DOS/Windows, quieren escoger durante el arranque qué sistema operativo utilizar. Supongamos que <tt>/dev/hda1</tt> contiene DOS/Windows y que <tt>/dev/hda2</tt> contiene Linux. Haga lo siguiente: <tscreen><verb> ~# fdisk Using /dev/hda as default device! Command (m for help):a Partition number (1-4): 2 Command (m for help):w ~# </verb></tscreen> Esto hace que la partición de Linux sea arrancable; este paso debería ser llevado a cabo por <tt/activate/ durante la instalación rápida <tt/QuickInst/ de LILO, pero no funcionaba en mi Red Hat. Escriba este fichero <tt>/etc/lilo.conf</tt> básico: <tscreen><verb> boot = /dev/hda2 compact delay = 50 # message = /boot/bootmesg.txt # escríbalo usted mismo root = current image = /boot/vmlinuz label = linux other = /dev/hda1 table = /dev/hda label = dos </verb></tscreen> Ahora ejecute <tt>/sbin/lilo</tt> y se acabó. Al ser <tt/LILO/ una parte crucial de su instalación, es muy recomendable que lea su documentación. Para arrancar Linux desde DOS sin reiniciar el ordenador, ponga <tt/LOADLIN.EXE/ en un directorio (¡en la partición DOS!) incluido en el PATH; luego copie su núcleo, por ejemplo, a <tt/C:\DOS\VMLINUZ/. El siguiente archivo <tt/.BAT/ arrancará Linux: <tscreen><verb> rem linux.bat smartdrv /C loadlin c:\dos\vmlinuz root=/dev/hda2 r </verb></tscreen> Si usa Windows 95, ajuste las propiedades de este archivo <tt/.BAT/ para que comience en modo MS-DOS. <sect1> Configuración de la Impresora <p> Red Hat tiene una herramienta de configuración que trabaja maravillosamente con mi HP DeskJet 400; si no usa Red Hat, deberá configurar la impresora manualmente. Supongamos que posee una impresora no-PostScript que quiere utilizar para imprimir texto plano (como código fuente en C) y archivos PostScript via GhostScript, que asumiré instalado. Configurar la impresora requiere dar unos cuantos pasos: <itemize> <item> comprobar cuál es el dispositivo de impresión de puerto paralelo: Ejecute <tscreen><verb> ~# echo "hola, mundo" > /dev/lp0 ~# echo "hola, mundo" > /dev/lp1 </verb></tscreen> y tome nota de cuál funciona. <item> hacer dos directorios spool: <tscreen><verb> ~# cd /var/spool/lpd /var/spool/lpd/# mkdir raw ; mkdir postscript </verb></tscreen> <item> si su impresora produce el ``efecto escalera'' (la mayoría de inyección de tinta lo hacen), necesitará un filtro. Intente imprimir dos líneas con <tscreen><verb> ~# echo "primera línea" > /dev/lp1 ; echo "segunda línea" > /dev/lp1 </verb></tscreen> si la salida es similar a <tscreen><verb> primera línea segunda línea </verb></tscreen> entonces guarde este fichero como <tt>/var/spool/lpd/raw/filter</tt>: <tscreen><verb> #!/bin/sh # Este filtro elimina el "efecto escalera" awk '{print $0, "\r"}' </verb></tscreen> y hágalo ejecutable con <tt>chmod 755 /var/spool/lpd/raw/filter</tt>. <item> cree un filtro para la emulación PostScript. Escriba el siguiente filtro como <tt>/var/spool/lpd/postscript/filter</tt>: <tscreen><verb> #!/bin/sh DEVICE=djet500 RESOLUTION=300x300 PAPERSIZE=a4 SENDEOF= nenscript -TUS -ZB -p- | if [ "$DEVICE" = "PostScript" ]; then cat - else gs -q -sDEVICE=$DEVICE \ -r$RESOLUTION \ -sPAPERSIZE=$PAPERSIZE \ -dNOPAUSE \ -dSAFER \ -sOutputFile=- - fi if [ "$SENDEOF" != "" ]; then printf "\004" fi </verb></tscreen> (en este ejemplo se asume que usted posee una impresora HP Deskjet. Ajústelo para adecuarlo a su impresora). <item> finalmente, añada las siguientes entradas en <tt>/etc/printcap</tt>: <tscreen><verb> # /etc/printcap lp|ps|PS|PostScript|djps:\ :sd=/var/spool/lpd/postscript:\ :mx#0:\ :lp=/dev/lp1:\ :if=/var/spool/lpd/postscript/filter:\ :sh: raw:\ :sd=/var/spool/lpd/raw:\ :mx#0:\ :lp=/dev/lp1:\ :if=/var/spool/lpd/raw/filter:\ :sh: </verb></tscreen> </itemize> Para configuraciones más complejas o exóticas, el documento CÓMO-Imprimir le está esperando. Para usuarios de Red Hat: tenga en cuenta que el GSDEVICE escogido por Printtool funcionará, pero no es necesariamente el mejor para su impresora. Puede intentar trastear un poco con el fichero <tt/postscript.cfg/; por ejemplo, yo cambié GSDEVICE de <tt/cdj500/ a <tt/djet500/ y ahora mis impresiones se efectúan mucho más rápido. <sect> Configuración de Software <p> <sect1> <tt/bash/(1) <p> Para personalizar el comportamiento de <tt/bash/, estos son los archivos a editar: <itemize> <item><tt>/etc/bashrc</tt> contiene los alias y las funciones para todo el sistema <item><tt>/etc/profile</tt> contiene las configuraciones del entorno y los programas que se ejecutan al inicio para todo el sistema; <item><tt>/etc/bash_logout</tt> contiene las acciones que deben realizarse cuando cualquier usuario cierre su cuenta (haga logout); <item><tt>$HOME/.bashrc</tt> contiene los alias y las funciones de cada usuario; <item><tt>$HOME/.bash_profile</tt> contiene las configuraciones del entorno y los programas de inicio de cada usuario; <item><tt>$HOME/.bash_logout</tt> contiene las acciones que deben realizarse al cerrar la cuenta (hacer logout); <item><tt>$HOME/.inputrc</tt> contiene las combinaciones de teclas y otras informaciones. </itemize> Debajo se muestran ejemplos de estos ficheros. Primero, el más importante: <tt>/etc/profile</tt>. Se usa para configurar muchas características de su sistema Linux, como podrá ver en las secciones siguientes. <code> # /etc/profile # Entorno y programas de inicio para todo el sistema # Las funciones y los alias van en /etc/bashrc # Este archivo establece las siguientes características: # # o path # o prompts # o unas pocas variables de entorno # o ls con color # o ajustes del teclado # # Los usuarios pueden sobreescribir estos ajustes y/o añadir otros # en sus respectivos $HOME/.bash_profile # establecer un path decente echo $PATH | grep X11R6 > /dev/null if [ $? = 1 ] ; then # añade entradas al path PATH="$PATH:/usr/X11R6/bin:$HOME/bin:." fi # notificar al usuario: linea de comandos con login o sin login. # Si es con login, el prompt estará coloreado en azul, si no, en # blanco luminoso. El prompt del Root es rojo. USER=`whoami` if [ $LOGNAME = $USER ] ; then COLOUR=36 else COLOUR=35 fi if [ $USER = 'root' ] ; then COLOUR=31 fi # ponga un carácter de escape real en lugar de ^[ PS1='^[[$COLOUR;37;1m$HOSTNAME:^[[37;40;1m\w\$ ' PS2="Continue> " # sin volcados de memoria (core dumps), por favor ulimit -c 0 # establecer umask if [ `id -gn` = `id -un` -a `id -u` -gt 14 ]; then umask 002 else umask 022 fi # unas pocas variables USER=`id -un` LOGNAME=$USER MAIL="/var/spool/mail/$USER" EDITOR=jed HOSTNAME=`/bin/hostname` HISTSIZE=1000 HISTFILESIZE=1000 export PATH PS1 PS2 USER LOGNAME MAIL EDITOR HOSTNAME HISTSIZE HISTFILESIZE # configura ls con color y otras opciones muy útiles eval `dircolors /etc/DIR_COLORS -b` export LS_OPTIONS='-F -s -T 0 --color=tty' # Nota del Traductor: A mí esta opción no me funciona de esta manera, por lo # que he añadido un " alias ls='ls -F -s -T 0 --color=tty' " en mi /etc/bashrc. # personalizar teclado /sbin/kbdrate -s -r 16 -d 500 for i in /etc/profile.d/*.sh ; do if [ -x $i ]; then . $i fi done </code> Este es <tt>/etc/bashrc</tt>: <code> # /etc/bashrc # Funciones y alias para todo el sistema # La configuración del entorno va en /etc/profile alias which="type -path" alias d="ls" alias dir="d" # Nota del traductor: Como dije antes, las opciones # del ls no funcionaban por lo que, además, yo # añado alias ls="ls -F -s -T 0 --color=tty" </code> Este es <tt/.bashrc/: <code> # $HOME/.bashrc # Ejecuta las definiciones globales if [ -f /etc/bashrc ]; then . /etc/bashrc fi # esto se utiliza para notificar al usuario de que está en una línea de comandos sin login COLOUR=35 # ponga un carácter de escape real en lugar de ^[ PS1='^[[$COLOUR;37m$USER:^[[37;40m\w\$ ' # alias alias cp='cp -i' # pide confirmación antes de sobreescribir alias l=less alias lyx='lyx -width 900 -height 700' alias mv='mv -i' # pide confirmación antes de sobreescribir alias rm='rm -i' # ídem. alias x=startx # Unas pocas funciones útiles inst() # Instala un archivo .tar.gz en el directorio actual. { gzip -dc $1 | tar xvf - } cz() # Lista los contenidos de un archivo .zip. { unzip -l $* } ctgz() # Lista los contenidos de un archivo .tar.gz. { for file in $* ; do gzip -dc ${file} | tar tf - done } tgz() # Crea un archivo .tgz a la manera de Zip. { name=$1 ; tar -cvf $1 ; shift tar -rf ${name} $* gzip -S .tgz ${name} } </code> Este es <tt/.bash_profile/: <code> # $HOME/.bash_profile # Configuración de entorno y programas de inicio específicos # de cada usuario. # Este archivo contiene ajustes que sobreescriben los de # /etc/profile # Coge los alias y las funciones if [ -f ~/.bashrc ]; then . ~/.bashrc fi # cambia de nuevo los ajustes de PS1, el prompt if [ $USER = 'root' ] ; then COLOUR=35 else COLOUR=34 fi # ponga un carácter de escape real en lugar de ^[ PS1='^[[$COLOUR;37;1m$HOSTNAME:^[[37;40;1m\w\$ ' export PS1 </code> Este es <tt/.bash_logout/: <code> # $HOME/.bash_logout clear </code> Este es <tt/.inputrc/: <code> # $HOME/.inputrc # Combinaciones de teclas "\e[1~": beginning-of-line "\e[3~": delete-char "\e[4~": end-of-line # (F1 .. F5) are "\e[[A" ... "\e[[E" "\e[[A": "info \C-m" set meta-flag On # permite la entrada de 8-bits # (Ej: letras acentuadas) set convert-meta Off # No parte los caracteres de 8-bits set output-meta On # Muestra los caracteres de 8-bits # correctamente set horizontal-scroll-mode On </code> Para hacer que las teclas borrar y suprimir funcionen correctamente <tt/xterm/ y otras aplicaciones X11, se requiere también lo siguiente: <itemize> <item> añada esto a su <tt/.xinitrc/: <tscreen><verb> usermodmap=$HOME/.Xmodmap xmodmap $usermodmap </verb></tscreen> Si no existía el archivo <tt/.xinitrc/, después de estas líneas debe poner otra que invoque el gestor de ventanas que usted utilice, como fvwm, afterstep, enlightenment, startkde... <item> ponga esto en su <tt/.Xmodmap/: <tscreen><verb> keycode 22 = BackSpace keycode 107 = Delete </verb></tscreen> esto arregla la consola. Para arreglar <tt/xterm/: <item> Para conseguir que xterm funcione correctamente, edite estas líneas en su <tt/.Xdefaults/ o añádalas si no estaban ya: <tscreen><verb> xterm*VT100.Translations: #override\n\ <Key>BackSpace: string(0x7F)\n\ <Key>Delete: string(0x1b) string("[3~")\n\ <Key>Home: string(0x1b) string("[1~")\n\ <Key>End: string(0x1b) string("[4~")\n\ Ctrl<Key>Prior: string(0x1b) string("[40~")\n\ Ctrl<Key>Next: string(0x1b) string("[41~") nxterm*VT100.Translations: #override \n\ <Key>BackSpace: string(0x7F)\n\ <Key>Delete: string(0x1b) string("[3~")\n\ <Key>Home: string(0x1b) string("[1~")\n\ <Key>End: string(0x1b) string("[4~")\n\ Ctrl<Key>Prior: string(0x1b) string("[40~")\n\ Ctrl<Key>Next: string(0x1b) string("[41~") nxterm*VT100.Translations: #override \n\ <Key>BackSpace: string(0x7F)\n\ <Key>Delete: string(0x1b) string("[3~")\n\ <Key>Home: string(0x1b) string("[1~")\n\ <Key>End: string(0x1b) string("[4~")\n\ Ctrl<Key>Prior: string(0x1b) string("[40~")\n\ Ctrl<Key>Next: string(0x1b) string("[41~") </verb></tscreen> </itemize> Más información en las páginas man de <tt/bash/(1) y <tt/readline/(3). ¡No espere que todas las aplicaciones funcionen correctamente ya! Si ejecuta <tt/joe/ en <tt/xterm/, por ejemplo, algunas teclas no funcionarán; lo mismo sucede con <tt/rxvt/. Se rumorea que es un problema de termcap. <sect1> <tt/ls/(1) <p> <tt/ls/ puede mostrar los listados de los directorios utilizando colores para diferenciar los tipos de archivos. Para habilitar esta característica, añada estas líneas a <tt>/etc/profile</tt>: <tscreen><verb> eval `dircolors /etc/DIR_COLORS -b` export LS_OPTIONS='-F -T 0 --color=tty' </verb></tscreen> Esto establece la variable de entorno <tt/LS_COLORS/ para que contenga la lista de colores establecida en <tt>/etc/DIR_COLORS</tt>. Nota: no me pregunte por qué, pero esto no funciona con algunas versiones de <tt/rxvt/; en su lugar, use <tt/xterm/. Es como si <tt/rxvt/ tuviera un fallo por el cual no heredara el entorno correctamente en algunas circunstancias. <em/N. del T./ En mi ordenador, con Red Hat 5.0, ls ignora la variable de entorno LS_OPTIONS, por lo que si a usted le ocurre igual, ignore la segunda línea del consejo anterior y en su lugar, añada esta línea a <tt>/etc/bashrc</tt>: <tscreen><verb> alias ls="ls -F -T 0 --color=tty" </verb></tscreen> <sect1> <tt/less/(1) <p> Con este excelente paginador puede navegar no solo por ficheros de texto plano, sino también ficheros comprimidos con gzip, archivos tar y zip, páginas man, etcétera. Su configuración involucra unos pocos pasos: <itemize> <item> para usarlo con los cursores, ponga este fichero de texto ASCII plano como <tt/.lesskey/ en su directorio de usuario: <tscreen><verb> ^[[A back-line ^[[B forw-line ^[[C right-scroll ^[[D left-scroll ^[OA back-line ^[OB forw-line ^[OC right-scroll ^[OD left-scroll ^[[6~ forw-scroll ^[[5~ back-scroll ^[[1~ goto-line ^[[4~ goto-end ^[[7~ goto-line ^[[8~ goto-end </verb></tscreen> entonces ejecute el comando <tt/lesskey/. Esto crea un archivo binario <tt/.less/ que contiene los significados de las teclas. <item> escriba el siguiente fichero <tt>/usr/bin/lesspipe.sh</tt>: <code> #!/bin/sh # Este es un preprocesador para 'less'. Se usa cuando la variable de # entorno LESSOPEN="|lesspipe.sh %s" tiene ese valor lesspipe() { case "$1" in *.tar) tar tf $1 2>/dev/null ;; # mira contenidos de ficheros .tar y .tgz *.tgz|*.tar.gz|*.tar.Z|*.tar.z) tar ztf $1 2>/dev/null ;; *.Z|*.z|*.gz) gzip -dc $1 2>/dev/null ;; # mira ficheros comprimidos # correctamente *.zip) unzip -l $1 2>/dev/null ;; # mira archivos *.arj) unarj -l $1 2>/dev/null ;; *.rpm) rpm -q -p -i -l $1 2>/dev/null ;; *.1|*.2|*.3|*.4|*.5|*.6|*.7|*.8|*.9|*.n|*.man) FILE=`file -L $1` FILE=`echo $FILE | cut -d ' ' -f 2` if [ "$FILE" = "troff" ]; then groff -s -p -t -e -Tascii -mandoc $1 fi ;; *) FILE=`file -L $1` ; # Comprueba si es binario FILE1=`echo $FILE | cut -d ' ' -f 2` FILE2=`echo $FILE | cut -d ' ' -f 3` if [ "$FILE1" = "Linux/i386" -o "$FILE2" = "Linux/i386" \ -o "$FILE1" = "ELF" -o "$FILE2" = "ELF" ]; then strings $1 fi ;; esac } lesspipe $1 </code> y recuerde hacerlo ejecutable con <tt/chmod 755 /usr/bin/lesspipe.sh/. <item> ponga estas líneas en <tt>/etc/profile</tt>: <tscreen><verb> LESS="-M-Q" # explicaciones largas, sin pitidos LESSEDIT="%E ?lt+%lt. %f" # editar línea superior LESSOPEN="| lesspipe.sh %s" # filtro VISUAL=jed # editor por defecto---ponga el que use LESSCHARSET=latin1 # habilita caracteres acentuados export LESS LESSEDIT LESSOPEN VISUAL LESSCHARSET </verb></tscreen> La variable <tt/LESSCHARSET/ depende del hecho de que vivo en Italia y quiero utilizar el juego de caracteres ISO 8859/1. Los japoneses, rusos, coreanos, etc. harían mejor en no establecerlo así. </itemize> <sect1> <tt/emacs/(1) <p> Algunas distribuciones de <tt/emacs/ no vienen preconfiguradas para colores y marcado de sintaxis y soporte de caracteres acentuados. Escriba esto en su <tt/.emacs/: <tscreen><verb> (global-font-lock-mode t) (setq font-lock-maximum-decoration t) (standard-display-european t) </verb></tscreen> Esto sólo funciona en X11. Le dejaré investigar toda la documentación de <tt/emacs/' para descubrir como adecuarlo a sus necesidades---esto podría llevarle meses de investigación... <sect1> <tt/joe/(1) <p> Compruebe en <tt>/usr/bin/</tt> si <tt/jmacs/, <tt/jstar/, y <tt/jpico/ son enlaces simbólicos a <tt/joe/ o son binarios separados; en este último caso, usted puede transformarlos en enlaces simbólicos para ahorrar espacio: <tscreen><verb> ~# cd /usr/bin /usr/bin# ln -sf joe jmacs ; ln -sf joe jstar ; ln -sf joe jpico </verb></tscreen> Luego, todo lo que tiene que hacer es copiar <tt>/usr/lib/joe/joerc</tt> a su directorio de usuario como <tt/.joerc/ y modificarlo. <em/N. del T./: La opción más util que debe modificarse de joerc es habilitar la opción -asis, que permite el uso de acentos. <sect1> <tt/jed/ <p> Este es mi editor favorito: hace lo que necesito, es más ligero y fácil de configurar que <tt/emacs/, y emula a otros editores bastante bien. Muchos usuarios de mi universidad usan <tt/jed/ para emular <tt/EDT/, el editor del sistema VMS. Los ficheros de configuración son <tt/.jedrc/ y <tt>/usr/lib/jed/lib/*</tt>; el primero puede adaptarse a partir del archivo <tt>/usr/lib/jed/lib/jed.rc</tt>. <itemize> <item> para hacer que <tt/jed/ use algunas teclas correctamente, cree <tt>/usr/lib/jed/lib/defaults.sl</tt> cuya única línea ponga: <tscreen><verb> () = evalfile("linux"); </verb></tscreen> <item> edite <tt>/usr/lib/jed/lib/linux.sl</tt>; quite el comentario de la línea que pone <tt>Info_Directory = "/usr/info";</tt> y añada <tt>/bin/mail</tt> tras <tt/UCB_Mailer =/; <item> configurar <tt/jed/ para hacer que emule <tt/EDT/ (u otros editores) es sencillo: sólo debe editar un par de líneas en <tt/.jedrc/. Si quiere utilizar la tecla `+' del teclado numérico para borrar palabras en lugar de un sólo carácter, añada esto en <tt/.jedrc/; <tscreen><verb> unsetkey("\eOl"); unsetkey("\eOP\eOl"); setkey("edt_wdel", "\eOl"); setkey("edt_uwdel", "\eOP\eOl"); </verb></tscreen> tras la línea que pone <tt/() = evalfile("edt");/. <item> hacer que <tt/xjed/ use el teclado numérico para emular <tt/EDT/ requiere insertar lo siguiente en <tt/.Xmodmap/: <tscreen><verb> keycode 77 = KP_F1 keycode 112 = KP_F2 keycode 63 = KP_F3 keycode 82 = KP_F4 keycode 86 = KP_Separator </verb></tscreen> Además, asegúrese de que su <tt>/etc/X11/XF86Config</tt> contiene las líneas siguientes: <tscreen><verb> # ServerNumLock # debe estar comentado XkbDisable </verb></tscreen> Esto se refiere a XFree 3.2. Aunque, a menos de que use un teclado Americano, se encontrará con que ``XkbDisable'' trae algunos problemas. Los averiguará usted mismo. <item> la personalización para añadir color a <tt/xjed/ se hace añadiendo unas líneas como éstas en <tt/.Xdefaults/: <tscreen><verb> xjed*Geometry: 80x32+150+50 xjed*font: 10x20 xjed*background: midnight blue </verb></tscreen> Más información en xjed.doc, incluído en el paquete. </itemize> <sect1> TeX y familia <p> Asumiré que tiene la distribución TeTeX. Sólo un par de puntos aquí: <itemize> <item> Para configurar el patrón de guionado para su idioma, edite el fichero <tt>/usr/lib/texmf/texmf/tex/generic/config/language.dat</tt>, y luego: <tscreen><verb> ~# texconfig init ; texconfig hyphen </verb></tscreen> <item> Si usted añade un paquete LaTeX, tras añadir los ficheros bajo <tt>/usr/lib/texmf/texmf/tex/latex/</tt> ejecute el comando <tt/texhash/ para hacer que TeTeX reconozca el nuevo paquet. <item> Para personalizar <tt/dvips/, el archivo a editar es <tt>/usr/lib/texmf/texmf/dvips/config/config.ps</tt>. Fíjese de que los campos que definen la resolución por defecto también afectan al comportamiento de <tt/xdvi/; si experimenta molestos intentos de crear fuentes cada vez que lo ejecuta, ponga en <tt/.Xdefault/ la línea <tscreen><verb> XDvi*mfmode: </verb></tscreen> Esto debería ayudar. </itemize> <sect1> PPP <p> Supondré que su núcleo tiene soporte interno (no como módulo) de PPP + TCP/IP, que el loopback está habilitado, y que ya tiene el paquete <tt/pppd/ correctamente instalado. (Estos requerimientos deberían estar ahí por defecto.) Ahora hay dos maneras de hacer que PPP funcione: a) configuración manual, y b) utilizando un programa que lo haga automágicamente. Primero, la opción manual. Supongamos que sus especificaciones ISP's son las siguientes: <itemize> <item> Número de teléfono: 1234567 <item> Nombre del servidor: 123.231.112.111 <item> Servidor de correo: mbox.supernet.edu <item> Dominio: supernet.edu <item> Nombre de máquina remota: www.supernet.edu <item> Su nombre de usuario: John <item> Su clave: _Loo%ny </itemize> Para configurar manualmente sus conexiones PPP, deberá: <itemize> <item> escribir el fichero <tt>/usr/local/bin/ppp-on</tt>, que se utilizará para conectar con su ISP: <tscreen><verb> #!/bin/sh # ppp-on: script para conectar a un ISP INIT=ATX3 # o lo que su módem requiera PHONE=1234567 /usr/sbin/pppd connect "/usr/sbin/chat '' $INIT OK ATDP$PHONE \ CONNECT '' " user John </verb></tscreen> entonces hágalo ejecutable con <tt>chmod 755 /usr/local/bin/ppp-on</tt>. Si su ISP no usa el protocolo PAP, utilice el siguiente script: <tscreen><verb> #!/bin/sh # ppp-on: script para conectar a un ISP INIT=atx3 # o lo que su módem requiera PHONE=1234567 /usr/sbin/pppd connect "/usr/sbin/chat '' $INIT OK ATDT$PHONE \ CONNECT '' 'ogin' John 'word' _Loo%ny ''" /dev/modem 38400 \ modem defaultroute </verb></tscreen> <item> Escriba este archivo <tt>/usr/local/bin/ppp-off</tt>, usado para finalizar una sesión ppp: <tscreen><verb> #!/bin/sh # ppp-off DEVICE=ppp0 if [ -r /var/run/$DEVICE.pid ]; then kill -INT `cat /var/run/$DEVICE.pid` if [ ! "$?" = "0" ]; then echo "eliminando fichero pid antiguo de $DEVICE" rm -f /var/run/$DEVICE.pid ; exit 1 fi echo "Enlace $DEVICE finalizado" ; exit 0 fi # enlace no activo echo "Enlace $DEVICE no activo" ; exit 1 </verb></tscreen> y hágalo ejecutable con <tt>chmod 755 /usr/local/bin/ppp-off</tt>. <item> escriba el fichero <tt>/etc/ppp/options</tt>: <tscreen><verb> # /etc/ppp/options /dev/modem 38400 lock crtscts modem asyncmap 0 remotename www.supernet.edu defaultroute </verb></tscreen> <item> si su ISP usa el protocolo PAP (la mayoría de los ISP lo hacen), escriba el fichero <tt>/etc/ppp/pap-secrets</tt>: <tscreen><verb> # /etc/ppp/pap-secrets # username remotehost secret John www.supernet.edu _Loo%ny </verb></tscreen> <item> edite <tt>/etc/resolv.conf</tt>: <tscreen><verb> # /etc/resolv.conf search supernet.edu nameserver 123.231.112.111 </verb></tscreen> <item> edite <tt>/etc/sendmail.cf</tt>. Busque la línea que empieza con <tt/DS/, y póngala como la siguiente: <tscreen><verb> DSmbox.supernet.edu </verb></tscreen> </itemize> ¡Uf! Si tiene suerte, esto funcionará. De otro modo, prepárese para estudiar el PPP-HOWTO. Demasiada configuración manual. Existe un paquete que hace que todo este trabajo pesado sea algo del pasado: se denomina <tt/ezppp/ y puede localizarse en <tt> <htmlurl url="http://www.serv.net/˜cameron/ezppp/index.html" name="http://www.serv.net/˜cameron/ezppp/index.html"> </tt>. Descárguelo de inmediato. <sect1> Cliente POP <p> Para recibir el correo de un servidor POP, utilice un cliente POP como <tt/fetchpop/ o <tt/fetchmail/. El segundo es, posiblemente, la única opción si el servidor PPP de su provedor tiene problemas con el comando LAST. Para configurar estos clientes: <itemize> <item><tt/fetchpop/: la primera vez que lo ejecute, se le preguntará alguna información. Responda a las preguntas, y asunto resuelto. <item><tt/fetchmail/: adapte este archivo <tt/.fetchmailrc/ de ejemplo: <tscreen><verb> # $HOME/.fetchmailrc poll mbox.supernet.edu with protocol pop3; user john there with password _Loo%ny is john here mda "/usr/bin/procmail -f fetchmail" </verb></tscreen> La última línea puede no ser necesaria. Debe establecer los permisos a este archivo con el comando <tt/chmod 600 .fetchmailrc/, de otro modo, <tt/fetchmail/ se negará a arrancar. </itemize> <sect1> Sistema X Window <p> Una vez que se las ha arreglado para que X funcione (tarjeta de video correcta, etc.) hay infinitas posibilidades de configuración; depende del gestor de ventanas que usted use. En cualquier caso, todo se limita a editar uno o mas ficheros ASCII de su directorio de usuario. Así, para los gestores de ventanas: <itemize> <item><bf/fvwm/: copie <tt>/etc/X11/fvwm/system.fvwmrc</tt> a su directorio de usuario como <tt/.fvwmrc/, navegue por él y empiece a experimentar. El archivo <tt/system.fvwmrc/ incluido es un poco --demasiado-- simple y no hace justicia a <tt/fvwm/. <item><bf/fvwm95-2/: copie <tt>/etc/X11/fvwm95-2/fvwm2rc95</tt> a su directorio de usuario como <tt/.fvwm2rc95/, y edítelo. El ejemplo incluido es bastante bueno. <item><bf/TheNextLevel/: este es bastante más difícil de configurar. Copie los ficheros <tt>/etc/X11/TheNextLevel/.*</tt> a su directorio de usuario, navegue por ellos cuidadosamente y entonces pruebe a personalizarlos. El primero al que debería mirar es <tt/.fvwm2rc.defines/. </itemize> Además, asegúrese de que tiene un fichero <tt/.xinitrc/ apropiado. Un ejemplo: <tscreen><verb> #!/bin/sh # $HOME/.xinitrc # configurar el teclado correctamente usermodmap=$HOME/.Xmodmap xmodmap $usermodmap xset s noblank# apagar el salvapantallas xset s 300 2 # el salvapantallas comienza tras 5 min xsetroot -solid "medium blue" & # rxvt ahorra memoria, pero tiene unos cuantos errores: # - las teclas inicio y fin no se reconocen; # - borrar y suprimir no funcionan como en la consola; # - los colores no son adecuadamente heredados por el entorno; # - problemas con el entorno en general; # xterm es, por lo tanto, mejor en la mayoría de los casos. # Sin embargo, rxvt es mejor para ejecutar aplicaciones en color # como mc. xterm -ls -bg black -fg white -sb -sl 500 -j -ls -fn 10x20 -fb 10x20bold \ -title "Color xterm" -geometry 80x25+150+0 & fvwm95-2 </verb></tscreen> <sect1> Fortran <p> En mi opinión, si necesita Fortran, una buena alternativa a <tt/g77/ es el traductor Fortran-to-C <tt/f2c/ y su front-end <tt/yaf77/. Consiga <tt/yaf77/ de <htmlurl url="ftp://sunsite.unc.edu/pub/Linux/devel/languages/fortran/yaf77-1.4.tgz" name="ftp://sunsite.unc.edu/pub/Linux/devel/languages/fortran/yaf77-1.4.tgz"> y sus lugares réplica. <sect1> Configuraciones de usuarios <p> Es una buena idea dejar que los nuevos usuarios tengan unos cuantos ficheros de configuración listos cuando abran su cuenta por primera vez. Ponga los siguientes ficheros en <tt>/etc/skel</tt>: <tt/bashrc, bash_profile, bash_logout, inputrc, less, xinitrc, fvwmrc, fvwm2rc95, Xmodmap, Xdefaults, jedrc, joerc, emacs/. (Nota: debido a problemas de formato, he tenido que eliminar el punto inicial (`.') de cada uno de estos ficheros.) Tenga en cuenta que <tt/.pinerc/ no puede estar completamente personalizado; asegúrese de que al menos los campos <tt/user-domain/, <tt/smtp-server/, and <tt/nntp-server/ están establecidos. <sect> Fin <label id="The End"> <p> <sect1> Copyright <p> A menos que se establezca lo contrario, los documentos COMO de Linux tienen copyright de sus respectivos autores. Los documentos COMO de Linux pueden ser reproducidos y distribuidos de manera completa o en parte, en cualquier medio físico o electrónico, siempre y cuando este aviso de copyright se mantenga en todas las copias. Se permite y se anima a la redistribución comercial; sin embargo, al autor le gustaría ser notificado de cualquier distribución. Todas las traducciones, trabajos derivados o agregados que incorporen cualquier documento COMO de Linux debe ser mantenido bajo este aviso de Copyright. Esto es, no puede producir un trabajo derivado de un documento COMO e imponer restricciones adicionales a su distribución. Pueden concederse excepciones a estas reglas bajo ciertas condiciones; por favor, contacte con el coordinador de los COMO de Linux en la dirección dada más abajo. En resumen, deseamos promocionar la dispersión de esta información a través de cuantos canales sea posible. Sin embargo, deseamos retener el copyright de los documentos COMO, y nos gustaría tener noticias de cualquier plan de redistribuir los COMOs. Si tiene dudas, contacte con Tim Bynum, el coordinador de Linux HOWTO, en <tt><htmlurl url="mailto:linux-howto@sunsite.unc.edu" name="linux-howto@sunsite.unc.edu"></tt> vía e-mail. <sect1> Colaboraciones <p> Quizá incluso más que en otros documentos CÓMO, éste necesita de sus sugerencias, críticas y contribuciones. No sólo se agradecen colaboraciones: son necesarias. Si usted cree que falta algo, por favor, escríbame. Si tiene una distribución que no sea Red Hat y sus ficheros de configuración son otros o se encuentran en otros directorios, por favor, dígamelo y incluiré sus sugerencias. Mi meta es hacer que el trabajo con Linux sea tan fácil como sea posible. Linux tiene un enorme número de paquetes, por lo que es imposible incluir las direcciones de todos ellos. Por favor, mantenga sus peticiones/sugerencias dentro de los programas ``más razonables''---lo dejo bajo la responsabilidad de su sentido común. <sect1> Agradecimientos, y demás <p> ``CÓMO configurar Linux'' fue escrito por Guido Gonzato, <tt><htmlurl url="mailto:guido@ibogfs.cineca.it" name="guido@ibogfs.cineca.it"></tt>. Muchas gracias a todos los autores de los otros documentos CÓMO y a los escritores y responsables de mantenimiento de las páginas man cuyo trabajo he rateado descaradamente. Este documento se distribuye "tal cual". He puesto un gran esfuerzo en escribirlo tan correctamente como he podido. Pese a ello, la información contenida en el mismo debe ser utilizada bajo su propia responsabilidad. En ningún caso el autor será responsable de cualquier daño resultante del uso de este documento. Espero que encuentre este trabajo útil. Yo lo hago siempre que instalo un sistema Linux... Disfrute de Linux y de la vida, Guido <tt/=8-)/ <sect1>Traducción <p> "<it/CÓMO configurar Linux/" fue traducido por David Marín Carreño, <tt><htmlurl url="mailto:davefx@bigfoot.com" name="davefx@bigfoot.com"></tt>, como un pequeño grano de arena más dentro del Proyecto INSFLUG. Para más información, vea la sección <ref id="Grupos">. He intentado una traducción fidedigna del documento original de Guido, aunque en algunos lugares haya actualizado información o cambiado algunas expresiones por otras más adecuadas a la jerga en nuestro idioma. Si desea plantear alguna duda, sugerencia o crítica, no dude en contactar conmigo. <tscreen><verb> | | | _| David Marín Carreño \ | / / |/____\| ///// /_|_/\_|_\ __///// <davefx@bigfoot.com> \| (__) |/ |_ _/ <davefx@yahoo.com> / \____/ \ / / (____ ____) / / WEb SITe: _____||________/ / http://www.bigfoot.com/~davefx / _ _____/ </verb></tscreen> <sect>Anexo: Grupos LiNUXeros en España.<label id="Grupos"> <p> Francisco José Montilla, <tt><htmlurl url="mailto:pacopepe@iname.com" name="pacopepe@iname.com"></tt>, <tt>FidoNet 2:345/402.22</tt> es coordinador del <em/INSFLUG/: (<em/Impatient & Novatous Spanish Fidonet LiNUX Users Group/) uno de los varios grupos de usuarios existentes en España, y más concretamente en la mejor ;-) área de FidoNet: <tt/R34.LINUX/ junto con <em/LuCas/ (<em/LinUx en CAStellano/). El <bf/INSFLUG/ se orienta preferentemente a la traducción de documentos breves, como los <em/COMOs/ y <em/PUFs/<footnote><bf/P/reguntas de <bf/U/so <bf/F/recuente, las <it/FAQs/. :)</footnote>, etc. <bf/LuCas/ Coordina y realiza las traducciones de las <em/guides/, es decir, documentos más extensos. Por supuesto, la <it/orientación/ de cada grupo no tiene carácter excluyente; si quiere colaborar en las dos, ¡mejor! ;-). Otra fuente de información obligada para el recién incorporado son las <bf/PUF/ elaboradas a partir del correo circulante por <tt/R34.LINUX/ por Pablo Gómez, <tt><htmlurl url="mailto:pgomez@arrakis.es" name="pgomez@arrakis.es"></tt>, <tt>2:341/43.40</tt>, disponibles próximamente en los formatos habituales de documentación (<tt/.ps/, <tt/.dvi/, <tt/.html/, <tt/.sgml/, etc) en los servidores de Internet especificados más adelante, así como en el mismo área. ¡Necesitamos su colaboración para futuras traducciones! si quiere unirse a nosotros póngase en contacto con: <em/INSFLUG/: (Traducción y autoría de COMOs) Francisco José Montilla, <tt><htmlurl url="mailto:pacopepe@iname.com" name="pacopepe@iname.com"></tt>, <tt>FidoNet 2:345/402.22</tt> <em/LuCas/: (Traducción y autoría de guías) <enum> <item>Juan José Amor, <tt><htmlurl url="mailto:jjamor@ls.fi.upm.es" name="jjamor@ls.fi.upm.es"></tt>, <tt>FidoNet 2:341/12.19</tt> <item>Alfonso Belloso, <tt><htmlurl url="mailto:alfon@bipv02.bi.ehu.es" name="alfon@bipv02.bi.ehu.es"></tt>, <tt>FidoNet 2:344/17.2</tt> </enum> Por último, recordar que un inmejorable lugar para estar informado, así como consultar y discutir todo lo relacionado con LiNUX lo tiene en FidoNet, en <tt/R34.LINUX/. Actualmente, ambos grupos poseen las siguientes listas de correo: <itemize> <item>LuCas: <tt>lucas@bipv02.bi.ehu.es</tt> <item>INSFLUG: <tt>insflug@nova.es</tt> </itemize> Ambas son listas tipo majordomo; para suscribirse: envíe un email a <tt><htmlurl url="mailto:majordomo@nova.es" name="majordomo@nova.es"></tt>, con "<tt/subscribe insflug/" en el cuerpo del mensaje. En el caso de LuCAS sería a <tt><htmlurl url="mailto:majordomo@infor.es" name="majordomo@infor.es"></tt>, con "<tt/subscribe lucas/" en el cuerpo del mensaje. Dispone de todos los ``COMOs'' traducidos hasta ahora, así como información puntual sobre el INSFLUG y temas relacionados en: <tt><htmlurl url="http://www.insflug.nova.es" name="http://www.insflug.nova.es"></tt> en sus versiones <tt>html</tt><footnote>Actualización lenta</footnote>, y listas para bajar, en <tt><htmlurl url="ftp://ftp.insflug.nova.es/es" name="ftp://ftp.insflug.nova.es/es"></tt><footnote>Este es el lugar actualizado con más frecuencia; en Sunsite y sus <it/mirrors/ está replicado en el directorio <tt><htmlurl url="ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/translations/es" name="ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/translations/es"></tt> De todos modos, probablemente con su distribución de Linux vengan incluidos. </footnote> Otro buen punto de búsqueda, consulta, y obtención de la documentación traducida, en formato HTML, con links a los demás formatos, así como las traducciones de las guías traducidas por LuCAS es: <tt><htmlurl url="http://www.infor.es/LuCAS/" name="http://www.infor.es/LuCAS/"></tt> junto con su <tt/ftp/: <tt><htmlurl url="ftp://ftp.infor.es/pub/LuCAS" name="ftp://ftp.infor.es/pub/LuCAS/"></tt> Tanto el INSFLUG, como LuCAS, y todos los traductores implicados, esperamos que esta traducción le haya sido de utilidad. </article>