Página siguiente Página anterior Índice general

8. Administración bajo Linux

8.1 Teclado Español

Bueno, comencemos por las cosas útiles: El teclado Español. Normalmente, las distribuciones lo configuran solas...pero nunca se sabe!

Una vez registrado como root, escribe la orden siguiente:

/usr/bin/loadkeys /usr/lib/kdb/keytables/es.map
.

Ahora el teclado es español ˇAtención, esto es temporal!; la solución más simple es agregarlo en el archivo /etc/rc.local con la Slackware, pero puede tambien utilizar el programa /sbin/setup o directamente /usr/lib/setup/SeTkeymap. Para la RedHat, realiza la operación con el panel de configuración kbdconfig.

Con estas dos dostribuciones, normalmente el procedimiento de instalación habrá procedido a esta configuración y no tendrá probablemente que hacer nada, excepto si quiere cambiar de tipo de teclado...

8.2 LILO

LILO (LInux LOader) Permite tener un sistema de arranque múltiple: MS- Windows, MS-DOS, Linux, etc. Este programa se ubica en el sector de arranque de su disco y le permite seleccionar la partición sobre la cual desea arrancar.

Si ha instalado LILO en su disco duro y la máquina se bloquea, arranque con un disquete sistema MS-DOS y escriba FDISK /MBR para restaurar los parámetros de arranque DOS y quitar LILO. Sera suficiente relanzar LILO habiendo arrancado Linux con un disquete de arranque.

El archivo de configuración LILO se encuentra generalmente en /etc/lilo.conf. Las distribuciones permiten generar un archivo automáticamente.

He aquí un ejemplo de mi archivo /etc/lilo.conf :

  boot = /dev/hda    # disco en el cual se encuentra el archivo LILO
  delay = 300        #  tiempo de espera, antes del lanzamiento del arranque.
                     # permite  seleccionar la partición  deseada.

  vga = normal       # modo de pantalla a escoger.
  ramdisk = 0        # paranoia setting

  # Linux : Ultima versión : El Pc arranca aquí por defecto.
  image = /vmlinuz   # Núcleo de  Linux 1 (ruta completa y nombre del archivo)
    root = /dev/hda2
    append="no-hlt, aha1542=0x230"
    label = linux
    read-only

  other = /dev/hda1   # Partición 1 :
    label = dos       # texto que identifica el arranque bajo DOS
    table = /dev/hda  # disco : /dev/hda

  image = /zimage    # Núcleo Linux 2
    root = /dev/hda2  # Raiz de Linux (Partición 2 de mi disco)
    append="aha1542=0x230" # append... ver la explicación mas abajo.
    label = old       # Texto a escribir : old
    read-only         #

En este momento, debes tener muchas preguntas:

  1. read-only : cuando arranca Linux, hace una verificación de la coherencia de las informaciones sobre las particiones Linux. Es una verificación de los sistema de archivos. Para realizar esta operación, es indispensable que la partición este en modo sólo lectura. En efecto, verificar un disco mientras es utilizado es la mejor manera de destruirlo todo. Esta verificación no se hace siempre, si apaga la máquina decentemente (con Ctr-Alt-Del o con los comandos halt, reboot o shutdown). De todas maneras esta verificación sólo es ejecutada sobre las particiones Linux. Es el programa fsck el que efectúa esta operación. Le desaconsejo lanzarlo para "ver que pasa" : ˇ Una utilización errónea puede provocar la pérdida de datos de su disco !
  2. por que dos núcleos? Esto es simple : Linux cambia, se mueve. Los núcleos son modificados constantemente. Por ejemplo, puedo arrancar actualmente mi máquina ya sea con un núcleo estable (2.0.30), ya sea con un núcleo en desarrollo (2.1.42).
  3. append: esta opción es muy importante : permite darle uno o varios parámetros al núcleo Linux. Por ejemplo, aquí le indico que mi tarjeta SCSI se encuentra en la dirección 230. En caso contrario, no sería reconocida. Esta opción es utilizada igualmente si tiene varias interfaces de red, SCSI, etc (nt : el parametro mem=xxTT donde xx es la cantidad de RAM y TT su unidad (o,k,m) es necesario a veces si la RAM no es reconocida).

Para instalar el archivo, ejecute /sbin/lilo ˇy ya está!

En el caso de que tenga problemas con LILO hay que probar a suprimir la opción "compact" que se puede encontrar en su archivo de configuración.

Sobre todo no olvide relanzar LILO después de cada modificación del archivo de configuración.

8.3 Montaje automático de las particiones: /etc/fstab

El archivo /etc/fstab contiene todas las informaciones que concierne el montaje de sus particiones.

He aquí un ejemplo:

#/etc/fstab
  # Dispositivo     Directorio     type        options      frequence  passe
  # Linux
  /dev/hda2         /              ext2        defaults        5        1
  /dev/hdb2         /usr2          ext2        defaults        5        2
  /dev/sda2         /usr3          ext2        defaults        10       2
  # MS-DOS
  /dev/hda1         /dos           msdos       defaults        0        0
  /dev/hdb1         /dos2          msdos       defaults        0        0

  # Processus
  none              /proc          proc        defaults        0        0
  # Partición de swap
  /dev/hda3         none           swap        defaults        0        0
  # Fichero de swap
  /usr2/swap_file   /usr2          swap        defaults        0        0

Descripción de las 6 columnas

  1. device (dispositivo) de la partición. En el caso de un archivo de swap, es el nombre del archivo.
  2. directorio de montaje de la partición.
  3. tipo de la partición.
  4. opciones (sólo lectura, etc)
  5. frecuencia: correspondiente al número de días entre dos tratamientos del archivo por la orden dump. Esta orden existe solamente para ext2fs (es una migración de la versión 4.4BSD) pero no está aún incluida en todas las distribuciones.
  6. orden de test de las particiones (fsck). Si pone 0 la verificación automática no es efectuada al arrancar. Las particiones situadas sobre un mismo disco serán verificadas de manera secuencial, pero si están situadas en dos discos diferentes se hará en paralelo.

Puedes colocar aquí las particiones que necesite.

Para NFS es aconsejable utilizar los siguientes parámetros:

rsize=8192, wsize=8192, sobre todo si posee una tarjeta de red rápida.

Para autorizar a un usuario a montar un volumen, tiene que crear una linea que contenga la opción "user" Ejemplo (caso de un CD-ROM SCSI) :

/dev/scd0       /mnt/cd   iso9660   user,exec,dev,nosuid,ro,noauto

Cualquier usuario podrá, a partir de ese momento, montar y desmontar un CD (utilizar mount /mnt/cdrom, umount /mnt/cdrom) La página de man de mount, sección 8 (man 8 mount) explica el significado de las opciones posibles.

8.4 Montaje manual de las particiones

Como hemos visto en el apartado anterior, las particiones son montadas al momento del arranque, gracias al archivo /etc/fstab. Se pueden, sin embargo, montar manualmente, utilizando la orden mount. Por ejemplo, para montar el disquete A:, hacer: mount -t msdos /dev/fd0 /mnt/floppy.

El -t indica el tipo de soporte. Los mas corrientes son:

Evidentemente, es necesario que estos tipos de sistemas de archivos estén integrados en el núcleo...

/dev/fd0 es el nombre del archivo especial correspondiente al dispositivo que corresponde al lector de disquetes. El punto de montaje es el directorio /mnt/floppy.

Para desmontar hacer umount /mnt/(directorio).

8.5 Puesta en servicio de las cuotas

Software necesario

El soporte de cuotas disco ha sido integrado en el kernel Linux desde la versión 1.3.46. Se necesita utilizar un kernel posterior para poder beneficiarse de las cuotas.

Se necesitan igualmente las herramientas de gestión de cuotas y se pueden encontrar en: ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/subsystems/quota

o, más cerca, en :

ftp://ftp.lip6.fr/pub/linux/kernel/sources/subsystems/quota

El archivo que debe recuperar se llama quota-1.51.tar.gz y se encuentra en el subdirectorio utils. También hay un subdirectorio doc que contiene la documentación (principalmente las paginas del manual de las herramientas) en formato HTML.

Compilación de utilidades

Después de haber extraído el contenido del archivoquota-1.51.tar.gz, se necesita compilarlos. Esto se hace con la orden make. En ciertos casos (depende de la biblioteca C utilizada) puede ser necesario agregar -I a la variable CFLAGS definida en el Makefile.

Si utiliza el sistema de archivos ext2 y ha instalado las bibliotecas contenidas en e2fsprogs (utilidades de gestión del sistema de ficheros ext2), puede incluir el soporte de ext2fs en las utilidades de cuotas para acelerar su ejecución. Para esto se debe editar el archivo Makefile de manera que la variable CFLAGS contenga-DEXT2_DIRECT y que la variable EXT2LIBS contenga-lext2fs -lcom_err antes de compilar los programas.

Después de la compilación instale las utilidades con la orden make install. Cuidado, la orden quota está instalada en el directorio /usr/ucb que no existe en la mayoria de las instalaciones Linux. Necesitará entonces modificar el Makefile para instalarlo en otro directorio (/usr/bin es un buen lugar). Puede ser necesario igualmente definir la variable LN con el valor ln -sf.

Activación del soporte de cuotas en el núcleo

Para utilizar las cuotas el núcleo debe ser compilado con el soporte de cuotas. Para esto debe tener un núcleo para el cual haya respondido "Y" a la pregunta "Quota support". Cuidado, el soporte de cuotas es efectivo por el momento sólamente en los sistemas de archivos ext2.

Activación de cuotas en el sistema de archivos

Existen dos tipos de cuotas: las cuotas asociadas a los usuarios y las cuotas asociadas a los grupos de usuarios. Las primeras definen el número máximo de archivos y de bloques de disco asociados a cada usuario, las segundas definen el número máximo de archivos asociados a cada grupo de usuarios. Los dos tipos de cuotas pueden ser activados separadamente.

Para activar las cuotas para los usuarios es necesario indicar la opción usrquota para los sistemas de archivos referidos en /etc/fstab. Las cuotas que conciernen a los grupos son reguladas por la opción grpquota. Los archivos de definición de cuotas se llaman respectivamente quota.user y quota.group y están situados en la raíz de cada sistema de archivos involucrado.

Es posible modificar los nombres de los archivos de gestión de cuotas utilizando la sintáxis siguiente:

usrquota=nombre_de_archivo
grpquota=nombre_de_archivo

He aquí un ejemplo del archivo /etc/fstab:

  /dev/hda2    /         ext2   defaults,rw 0 1
  /dev/hdb2    /home     ext2   defaults,rw,usrquota,grpquota 0 1
  /dev/sda1    /usr/src  ext2   dzfaults,rw,usrquota 0 1

La activación de las cuotas es lanzada por la orden quotaon. Para activarlas automáticamente a la inicialización del sistema, se debe agregar al archivo de inicialización (/etc/rc.d) las líneas:

# Enable quota
  /usr/sbin/quotaon -avug

Puede ser igualmente necesario verificar la coherencia de la información sobre gestión de cuotas después de bloqueos repentinos. Para esto utilice la orden quotacheck:

/usr/sbin/quotacheck -avug

Esta orden debe ser igualmente ejecutada la primera vez para crear los dos ficheros de gestión de cuotas: quota.user y quota.group. En efecto, no son creados automáticamente.

Si las utilidades han sido compiladas con-DEXT2_DIRECT, la orden quotacheck debe ejecutarse relativamente rápido, en caso contrario puede ser muy lento, pues debe explorar todos los directorios del disco. Es aconsejable de todas maneras ejecutarr quotacheck durante la inicialización del sistema antes de la activación de las cuotas con quotaon :

# Check quota
/usr/sbin/quotacheck -avug

Adjudicación de una cuota a un usuario

La orden edquota es utilizada para asignar una cuota a un usuario o a un grupo de usuarios. Su sintáxis es edquota -u usuario o edquota -g grupo. Esta orden lanza un editor de texto que contiene la definición de cuotas asignadas al usuario o al grupo y toma en cuenta el nuevo valor cuando el archivo es reescrito.

Para cada usuario o grupo existen dos limitaciones: el número de archivos y el número de bloques disco (expresados en bloques de 1024 octetos). Para cada uno existen dos límites:

  1. el límite "suave": cuando este límite es alcanzado o superado un mensaje advierte al usuario cada vez que un nuevo bloque o archivo es escrito.
  2. el límite "duro": cuando este límite es alcanzado el usuario no puede escribir nuevos archivos o nuevos bloques.

El límite "suave" se transforma en límite "duro" cuando ha sido alcanzado o superado transcurrido cierto tiempo (7 días por defecto).

estadísticas sobre las quotas

Todo usuario puede obtener el estado de la cuota que le ha sido asignada (limites como el número de archivos y de bloques que le han sido atribuidos) gracias a la orden quota.

El superusuario puede obtener las mismas informaciones sobre cualquier usuario o grupo con la misma orden : quota -u usuario o quota -g grupo. Además es posible utilizar la orden repquota para obtener una lista de cuotas asociadas a uno o varios sistemas de archivos.

Otros documentos sobre las cuotas

La implementación de las cuotas en Linux es compatible con la implementación original en 4.2BSD UNIX. Todos los documentos que conciernen las cuotas en la implementación original 4.2BSD, ya sea a nivel de órdenes o a nivel de la interfaz de programación son utilizables.

Las paginas del manual de las utilidades son bastante claras y muy instructivas. Por último, los documentos difundidos en formato HTML forman una buena introducción a la administración de cuotas.

8.6 mtools

En vez de montar las particiones MS-DOS, aconsejo utilizar las mtools. Se trata de los equivalentes de los comandos MS-DOS, pero con una m delante.

Por ejemplo : mcopy toto.c a: . Si deseas copiar un archivo de texto para que sea utilizado bajo MS-DOS o a la inversa, no olvide utilizar la opción-t : esto convierte el carácter de fin de linea, que es diferente en los dos sistemas.

En principio, ya vienen más o menos configuradas. En caso contrario, se deberá modificar el archivo /etc/mtools.conf.

  drive a: file="/dev/fd0" exclusive
  drive b: file="/dev/fd1" exclusive

  # 1er disco Duro
  drive c: file="/dev/hda1"

  # 2nd disco Duro
  drive d: file="/dev/sda1"

  mtools_lower_case=1

Cuidado : el archivo ha sido modificado desde la última versión. Este es el último formato que es más claro y simple de utilizar. Además, esta nueva versión permite utilizar los nombres largos (vfat de MS-Windows 95).

8.7 Swap : creación de la partición

Para añadir una partición de swap de 8 Mb (8192 Kb), se tiene que crear primero la partición gracias al programa fdisk, y luego, o bien se pasa por el programa setup, o bien se hace a mano (ATENCION : orden PELIGROSA, destrucción del contenido de la partición involucrada ASEGURADA) : mkswap /dev/hda3 8192

Añada la línea /dev/hda3 swap swap defaults 0 0 en el archivo /etc/fstab.

Finalmente, para que funcione, re-arranque la máquina o ejecute swapon -a.

8.8 Swap : archivo

Para el archivo, es más complicado. Debe hacer :

  dd if=/dev/zero of=/usr2/swap_file bs=1024 count=8192
  mkswap /usr2/swap_file 8192
Y agregar en el archivo /etc/fstab la línea /usr2/swap_file /usr2 swap defaults 0 0.

Cuidado, debe poner esta línea después del montaje de la partición /usr2. Sino, no funcionará nunca.

De ahora en adelante, para salir de Linux estará obligado a hacer :

  swapoff -a
  reboot           #U otro

En efecto, si no se desactiva el archivo de intercambio, Linux no podrá desmontar la partición y por consiguiente hará un fsck sobre ella cada vez que arranque la máquina. También es posible, en ciertos sistemas, agregar la orden swapoff en "/etc/rc.d/rc.K" o en /etc/rc.d/init.d/halt para automatizarlo.

8.9 Agregar un usuario, un grupo

.

Si posee la RedHat, utilice el servicio de configuración (control-panel o bien directamente usercfg, utilizables por root bajo X Window), está muy bien hecho realmente.

Agregar un usuario se hace rápidamente en dos tiempos y tres movimientos : Dos archivos son importantes: /etc/passwd y /etc/group.

Una línea del archivo passwd esta compuesta de esta manera :

  gandalf::501:100:Eric Dumas:/home/gandalf:/bin/bash
  sgandalf::0:0:Super Eric Dumas:/:/bin/sh

Una línea esta compuesta por 7 columnas :

  1. Nombre del usuario : 8 caracteres max ;
  2. Contraseña codificada;
  3. Número de identificación único del usuario (uid). Nota : 0 = root ;
  4. Numero del grupo (gid) ;
  5. Nombre "oficial" del usuario (llamado GECOS);
  6. Directorio raíz del usuario ;
  7. Intérprete de órdenes utilizado.

Si el campo contraseña contiene el carácter x, significa que se utiliza shadow. La contraseña cifrada se encuentra en el fichero /etc/shadow. Esta configuración permite además definir la duración de validez de las contraseñas.

El archivo /etc/group contiene la lista de los grupos de la máquina. Por ejemplo, el grupo 100 es :

  users::100:games,gandalf

Para agregar el usuario toto :

  1. Agregarlo en /etc/passwd;
  2. si es necesario, crea el grupo al cual pertenecerá, modificando /etc/group;
  3. crea su directorio raíz :
                 mkdir /home/toto
                 cp /etc/skel/* /home/toto
                 chown -R toto.el_grupo_de_toto /home/toto
    
  4. Por último dele una contraseña mediante passwd toto.

No queda más por hacer que probarlo.

Le aconsejo encarecidamente trabajar bajo un nombre de usuario común. Es muy peligroso trabajar siendo root. Una mala manipulación y le tocará reinstalar todo además de perder sus datos personales más los de sus usuarios.

8.10 Lanzamiento de programas personales durante el arranque. /etc/rc.d/rc.local

Es en este archivo que vas a poner todas tus cositas personales(nt : si, soy de suramerica :-)) que quieres lanzar a cada arranque. He aquí una versión.

  #! /bin/sh
  # una limpiadita, dale
  echo "Cleaning /tmp... "
  find /tmp -type f -mtime +1 | xargs -r rm
  find /tmp -type d -mtime +1 | xargs -r rmdir

<!--
  /bin/rm -fr /tmp
  mkdir /tmp
  chmod 1777 /tmp
  # NOTA : esto puede ser nefasto puesto que ciertos programas lanzados
  # por los archivos rc ejecutados antes del rc.local pueden utilizar archivos en /tmp
-->

  # Viva el azertyuiop :-)

  echo "Loading french keyboard... "
  /usr/bin/loadkeys /usr/lib/kbd/keytables/fr-latin1.map

(NR: para el teclado español, cambiar fr-latin1.map por es.map)

Lo que es importante es el teclado en francés Si agrega esta línea, su teclado será francés desde el arranque.

En caso de problema hay que modificar así el fr-latin1.map :

  keycode   3 = eacute           two              asciitilde
  keycode   8 = egrave           seven            grave
  keycode  10 = ccedilla         nine             asciicircum
  keycode  14 = Delete           BackSpace

8.11 Planificación de trabajos : crontab

crontab es una tabla que contiene los comandos que deben ser lanzados a intervalos regulares. Puede poner la copia de seguridad diaria, el cliente pop, etc.

El formato es bastante simple :

# hacer una copia de seguridad todos los lunes a las 2 de la mañana
0  2  *    * 1 /home/gandalf/backup
# Reiniciar la máquina todos los 1 y 15 de cada mes a la 4:15
  15 4  1,15 * * /sbin/shutdown -r +3

Las 5 primeras columnas son :

  1. Minutos (0 a 59) ;
  2. Hora (0 a 23) ;
  3. Día del mes (1 a 31) ;
  4. Mes (1 a 12) ;
  5. Día de la semana (0 a 6 : 0 = Domingo, 1 = Lunes).
Después viene la orden. Este crontab es muy útil si utiliza UUCP (para enviar el correo, recuperar las noticias, etc).

Todo usuario puede crearse una tabla crontab gracias a la orden crontab.

8.12 Imprimir !

Ahora que su máquina funciona, veamos como imprimir. Las impresoras son administradas por el programa lpc y el demonio lpd.

El demonio lpd debe ser lanzado al arrancar. Puede ser lanzado ya sea por rc.M o por rc.inetd2. (Debe verse cuando son lanzados todos los demonios de la máquina. Si no es el caso, necesita quitar los comentarios de algunas líneas en uno de los archivos citados)

Supongamos que su impresora se llama betty. En primer lugar, en el archivo /etc/rc.d/rc.local, agrega :

echo "Setting up printer betty"
  /usr/sbin/lpc up betty

Pasemos a las cosas serias. El archivo en el cual va a ser descrita la impresora es el archivo : /etc/printcap. Ejemplo :

  betty|lp:lp=/dev/lp1:sd=/var/spool/lp1:sh:lf=/var/adm/lpd-errs:of=/etc/start-dj500:
La primera columna representa el nombre de la impresora. Yo puse betty y lp. De esta manera es mi impresora por defecto. Después, la configuración se hace vía palabras clave. Para mas información haz un man printcap. He aquí sin embargo una descripción de las utilizadas.

Como funciona? Bueno, supongamos que yo tengo un archivo toto.ps. Entonces hago lpr toto.ps (o lpr -Pbetty toto.ps). El archivo va ser depositado en el directorio /var/spool/lp1.

El demonio envia entonces el archivo al programa filtro. Este sistema permite imprimir archivos con formatos varios.

He aquí el archivo filtro (Para HP-500,510,520,etc).

  #!/bin/sh
  # Script de impresión para impresora HP-500 Blanco y negro
  #
  # Eric.Dumas@freenix.org
  #
  # Versión 2.0
  #
  # 5/01/95   (ED) : Agrega el formato dvi;
  # 27/10/95  (ED) : Conversión de archivos texto en archivos PostScript ;
  # 01/11/95  (ED) : Un poco de limpieza;
  # 12/08/96  (ED) : modificación para gs
  # 04/12/96  (ED) : algunas correcciones y complementos.

  TmpDir=/tmp
  TmpFile=$TmpDir/deskjet.$$

  # Usuario a prevenir en caso de error
  NOTIFY=lp-owner

  # Programas
  CAT=/bin/cat
  DVIPS=/usr/TeX/bin/dvips
  PGS=/usr/bin/gs
  AIIPS=/usr/local/bin/a2ps

  # Camino de acceso para GS
  GS_LIB=/usr/lib/ghostscript:/usr/lib/ghostscript/psfonts\
  :/usr/lib/ghostscript/Type1:/usr/lib/ghostscript/fonts

  # ˇ Se acabó !
  $CAT- > $TmpFile

  echo -ne '\033E'

  set -- `file $TmpFile`

  shift

  FileType=$*

  # Transformación del PostScript al formato Deskjet500
  # resolución a 300x300 - formato a4
GS="$PGS -I$GS_LIB -q -sDEVICE=djet500 -r300x300 -sPAPERSIZE=a4 -dNOPAUSE\
-sOutputFile=- - /usr/lib/ghostscript/quit.ps  || echo -ne '\033&10H'"


  case $FileType in

         *DVI*) # Fichero DVI
           $DVIPS -t a4 $TmpFile \
            -f | $GS
          ;;

         *PostScript*)    # Impresión de archivos Postscript
           $CAT $TmpFile | $GS
          ;;

          *text*|*script*)
           $CAT $TmpFile | $AIIPS -nP -r -8 | $GS
          ;;

          *data*)
            echo -ne '\033&;k0G'  # Es un y comercial sin ; !
            /bin/cat $TmpFile
           ;;

          *)
            echo "Deskjet: Unknow filetype $FileType" >> /dev/console
            echo "Deskjet: $TmpFile Unknow filetype $FileType " | mail $NOTIFY
          ;;
  esac

  /bin/rm -f  $ TmpFile
  echo -ne '\033E'

Este script permite imprimir archivos de texto así como archivos Postscript, dvi. Si quiere imprimir otro tipo de archivos, basta con agregarlos aquí. Gracias por enviarme las modificaciones : esto permitirá que todo el mundo pueda aprovecharlo.

Utilice lprm para anular una petición de impresión activa.

8.13 Timezone

Timezone es un sistema muy útil que permite la administración del cambio de hora de invierno y de verano. Francia (NR: y España) se encuentra en una zona horaria : MET (Medium European Time, o sea GMT +1).

La zona "MET DST" corresponde a la hora de verano activa (GMT+2) Lo mejor es no dejar todo eso a cargo de la única variable TZ.

Vaya al directorio /usr/lib/zoneinfo y leea el archivo time.doc.

Los archivos binarios que se encuentran en /usr/lib/zoneinfo indican las reglas de cálculo de la hora en las diferentes zonas del globo.

Copie el archivo "MET" bajo el nombre /usr/lib/zoneinfo/localtime, y haga un enlace simbólico de este archivo sobre /usr/lib/zoneinfo/posixrules.

Comandos :

  # cd /usr/lib/zoneinfo
  # cp MET localtime
  # ln -sf localtime posixrules
Utilizar seguidamente la orden clock para poner el sistema en hora. Dos posibilidades : La primera solución es preferible, pero MS-DOS no utiliza correctamente esta idea (:-)). La hora no funcionará en este sistema.

En cambio todos los cambios de hora, dos veces por año, serán tomados en cuenta por Linux.

En este caso, debe agregar en /etc/rc.d/rc.local la siguiente orden : clock -u -s Linux se ajustará a la hora guardada.

Si la CMOS está a la hora local, la orden en /etc/rc.d/rc.local es : clock -s y los cambios de hora sólo serán automáticos si la máquina esta encendida en el momento del cambio de hora. Habrá que escribir manualmente la nueva hora en la CMOS, haciendo clock -w o poniendo la hora con el setup de la máquina.

la orden date permite verificar la validez de la hora : da la hora y timezone date -u da siempre la hora en GMT :

  plux:/home/rene $ date
  Tue Sep 28 20:16:46 MET 1993
  plux:/home/rene $ date -u
  Tue Sep 28 19:16:49 GMT 1993
(En verano, indicaría "MET DST" (Daylight Savings Time)).

8.14 Nuevos cambios de hora

Desde 1996, la fecha del cambio de hora a sido desplazada . Para que Linux no se enrede, es necesario hacer ciertas modificaciones. La manipulación se basa en la utilización del programa zic, el time zone compiler.

En un fichero llamado europa, pon :

  Zone    MET     1:00      M-Eur     MET%s
  Link    localtime MET
  Rule    M-Eur   1986    max     -       Mar     lastSun 2:00s   1:00    " DST"
  Rule    M-Eur   1986    1995    -       Sep     lastSun 2:00s   0     -
  Rule    M-Eur   1996    max     -       Oct     lastSun 2:00s   0

Para poner todo en su lugar, lanza la instrucción :

gandalf# zic europe

Para verificar que todo esta bien, debes obtener el resultado siguiente :

  gandalf# zdump -v MET | grep 1996
  MET  Mon Nov 11 12:29:02 1996 MET
  MET  Sun Mar 31 00:59:59 1996 GMT = Sun Mar 31 01:59:59 1996 MET isdst=0
  MET  Sun Mar 31 01:00:00 1996 GMT = Sun Mar 31 03:00:00 1996 MET DST isdst=1
  MET  Sun Oct 27 00:59:59 1996 GMT = Sun Oct 27 02:59:59 1996 MET DST isdst=1
  MET  Sun Oct 27 01:00:00 1996 GMT = Sun Oct 27 02:00:00 1996 MET isdst=0

8.15 locate

Cuando se instala el paquete GNU "find", además del programa de búsqueda se encuentra un programa de localización locate. Este programa permite encontrar el nombre completo de un archivo. El programa se encuentra en ciertas distribuciones en /usr/lib/locate.

Lanzar, siendo root,/usr/lib/locate/updatedb. Esto llama a un find / sobre los discos montados y coloca los nombres de todos los archivos (bajo la forma hash) en /usr/lib/locate/find.codes. El programa locate permite localizar luego uno de estos archivos.

Nota: cuando lances este programa, piensa en desmontar las particiones de MS-DOS y tu CD/ROM !

Otra solución bastante agradable consiste en insertar en crontab la línea

updatedb --prunepaths='/tmp /usr/tmp  /var/tmp  /proc  /users
/root  /dos  /mnt  /var/adm /var/spool  /var/catman  /home '

Este orden realiza la actualización del árbol sin los archivos temporales, el árbol del usuario, la partición dos, etc.

Es aconsejable excluir las particiones "HOMES" usuarios. En efecto, estas particiones contienen normalmente numerosos archivos. Pero el problema mayor es seguramente un problema de seguridad, porque todos los usuarios pueden conocer los nombres de los archivos de sus vecinos.

8.16 CDROM ATAPI

Bueno, los cdrom en general no presentan muchos problemas, salvo los ATAPI antiguos. En efecto, el CD es manejado por un segundo controlador de disco.Procedamos por orden:

  1. Recompilar el núcleo con la opción CD ATAPI IDE y el soporte del sistema de archivos iso9660.
  2. Reiniciar. A nivel de LILO, teclear: Linux hdd=cdrom. Atención : aquí estamos en qwerty.
  3. Crear un enlace simbólico entre /dev/hdd (o hdc) y /dev/cdrom. Por ej : ln -s /dev/hdd /dev/cdrom.
  4. Crear el directorio /cdrom y teclear : mount -t iso9660 -o ro /dev/cdrom /cdrom. Normalemente, tu CD ya está montado! ( nt : /mnt/cdrom puede ser un buen remplazo de /cdrom)

Si hay problemas probar con:

  1. configurar el lector en modo EIDE "master";
  2. dejar un CD cargado durante el arranque;
  3. arrancar, esperar un momento y luego re-arrancar "en caliente" (o sea sin accionar ni reset ni apagar la máquina : únicamente con Ctr-Alt-Del) para que el lector tenga tiempo de sacudirse.

Con los nuevos lectores, es suficiente activar el soporte ATAPI para lectores CD-ROM y, al iniciar, el lector debe ser detectado:

hdc: UJDCD6700, ATAPI CDROM drive

8.17 Poner una consola externa como consola

Algunos usuarios pueden querer poner como consola un minitel o un viejo vt100 que no utiliza la tarjeta de video sino el puerto serie. Solo hace falta agregar en el fichero lilo.conf la siguiente línea:

 append ="scon=0x03f8  serial=0,9600n8"

8.18 Dos tarjetas de red

Ciertas máquinas poseen dos (o más) tarjetas Ethernet. Para que las dos sean reconocidas, es necesario agregar en la configuración de Lilo :

append="ether=0,0,eth1"

8.19 Los archivos de inicialización de los intérpretes de órdenes

Aquí esta la descripción de los archivos que se cargan después de la conexión de un usuario. El nombre del o de los archivos es específico del intérprete de órdenes utilizado.

En el caso de bash, es un poco complicado. Según la página del manual de bash, y luego de una conexión interactiva, se ejecuta:

En el caso en que bash sea llamado como sh, solo ejecuta los archivos /etc/profile y ~/.profile si existen.

En el caso de ksh, la página del manual es menos precisa pero un estudio rápido del código fuente muestra que:

Finalmente, para completar lo de los intérpretes de órdenes compatibles con el Bourne Shell, citemos el caso de zsh que ejecuta:

En el caso de csh (o mas bien tcsh) :

8.20 Las copias de seguridad (salvaguardas) bajo Linux

Como todo sistema UNIX, Linux provee herramientas estándar para realizar las copias de seguridad de los discos.

Dos tipos de herramientas principales son actualmente utilizadas.

dump y restore

Las herramientas dump y restore fueron puestas bajo Linux por Remy Card. Aparecen en las distribuciones.

Una vez que las fuentes han sido compiladas e instaladas, la utilización de dump y restore es relativamente simple. Para realizar la salvaguarda de una partición /dev/sda1 sobre /dev/rmt0, es suficiente hacer:

  gandalf# dump 0sfu  3600  /dev/rmt0  /dev/sda1
  gandalf# dump 0sfu ondee: /dev/rmt0  /dev/sda1

La segunda orden permite salvaguardar un disco sobre un dispositivo distante (por ejemplo situado aquí sobre la máquina "ondee"). Las opciones de dump pueden parecer complejas. A continuación damos una corta descripción:

Existen otras opciones. Para mayor información, consultar las páginas del manual.

Existen dos maneras de efectuar una restauración : en línea de ordenes o en modo llamado "interactivo". El segundo modo es más simple para las restauraciones parciales. El primero es sobre todo utilizado para las restauraciones completas.

Para restaurar la cinta en modo interactivo es suficiente hacer:

  gandalf# restore -if /dev/rmt0
  gandalf# restore -if ondee:/dev/rmt0

En este caso, un mini-intérprete de órdenes es ejecutado. Utilice la orden help para más detalles.

Para restaurar completamente una cinta:

  gandalf# restore rf /dev/rmt0

Nota importante: para la utilización de dump y restore a través de una red (salvaguarda sobre dispositivos remotos), debe utilizar los archivos .rhosts. En el siguiente ejemplo de salvaguarda, la máquina "ondee" debe tener:

  #cat ~root/.rhosts
  gandalf
  #

Attention toutefois aux failles de sécurité engendrées par les fichiers .rhosts.

Cuidado de todas formas con los fallos de seguridad engendrados por los ficheros .rhosts.

El uso de dispositivos remotos necesita igualmente de la presencia del programa rmt en la máquina que maneja los dispositivos de salvaguarda. Este programa está incluido en la distribución fuente de dump para Linux.

tar

A diferencia de dump o restore, tar permite salvaguardar los archivos deseados, excluir ciertos repertorios, etc. Es necesario notar que el tar utilizado bajo Linux es el tar GNU. Este posee ciertas opciones particulares.

Para conocer todas las opciones posibles, te aconsejo hacer tar --help. Una utilización simple de tar puede ilustrarse con la salvaguarda de una partición de usuarios:

  # tar cvf /dev/rmt0 /users | mail backup-user
La lista de archivos será así enviada al usuario backup-user.

Ciertos sitios utilizan exclusivamente tar para efectuar sus salvaguardas, cada cual escoge. .

8.21 Num Lock al arrancar

Para configurar la tecla Num Lock al arrancar (por ejemplo para que se encienda) sólo hay que poner en /etc/rc.d/rc.local

for tty in /dev/tty[1-9]*;
do
        setleds -D +num < $tty > /dev/null
done

8.22 Los archivos core

Ciertos programadores adoran explotar el contenido de los archivos core. Pero en Linux, están desactivados por defecto. Para poder generarlos introducir : ulimit -c unlimited en bash o limit coredumpsize unlimited

8.23 Accounting - lastcomm

El sistema de accounting está implementado en Linux (pero ... yo nunca lo he probado porque es un poco Big Brother is Watching You). Normalmente se debe compilar el paquete acct-1.3.73.tar.gz y seguir las instrucciones que son dadas ahí. Se puede encontrar en : ftp.ibp.fr:/pub/linux/sunsite/system/Admin/accounts y en ftp://iguana.hut.fi/pub/linux/Kernel/process_accounting

Hay que tener cuidado pues se debe tener un núcleo 1.3.* o uno 2.0.* He aquí el resultado :

# lastcomm | more
  Command          Flags User     Tty    PagFlt Time        Endtime
  clear           -     merlin   ttyp2      85   0.00 secs Tue Aug  6 13:26:07
  in.identd       -     root     __        100   0.00 secs Tue Aug  6 13:23:23
  color-ls        -     merlin   ttyp2     121   0.01 secs Tue Aug  6 13:23:02
  telnet          -     merlin   ttyp2     142   2.77 secs Tue Aug  6 13:23:01
  Pnews           F     merlin   ttyp3      33   0.01 secs Tue Aug  6 13:22:15
  sed             -     merlin   ttyp3     132   0.02 secs Tue Aug  6 13:22:15
  Pnews           F     merlin   ttyp3      34   0.01 secs Tue Aug  6 13:22:15
  sed             -     merlin   ttyp3     145   0.02 secs Tue Aug  6 13:22:15
  cat             -     merlin   ttyp3      80   0.01 secs Tue Aug  6 13:22:13
  Pnews           F     merlin   ttyp3      29   0.00 secs Tue Aug  6 13:22:13

Hay que tener cuidado puesto que este sistema tiene tendencia a tomar mucho espacio. La solución para resolver este problema es lanzar el sistema de accounting de esta manera :

#!/bin/sh
# Lanzamiento del accounting
accton /var/log/acct
accttrim -n 2000 /var/log/acct 2> /dev/null


Página siguiente Página anterior Índice general