Previous Next Table of Contents

8. Administración bajo Linux

8.1 Teclado Francés

Bueno, comencemos por las cosas útiles: El teclado Francés. Normalmente, las distribuciones lo configuran solas...pero uno nunca sabe! Una vez registrado como root, escribe el comando siguiente: /usr/bin/loadkeys /usr/lib/kdb/keytables/fr-latinl.map. Ahora tu teclado es francés ! Atención, esto es temporal; la solución mas simple es agregar en el archivo /etc/rc.local eso con la Slackware. Para la RedHat, realiza la operación con el tablero de configuración gráfica.

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 tu disco y te permite seleccionar la partición sobre la cual deseas arrancar. Si has instalado LILO en tu disco duro y tu maquina se bloquea, arranca con un disquete sistema MS-DOS y escribe FDISK /MBR (nt: este comando borra LILO). 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 la pantalla a escoger. 
  ramdisk = 0          # paranoia setting 
 
  # <bf/Linux/ : Ultima versión : El Pc arranca aquí por defecto. 
  image = /vmlinuz    # Núcleo de  <bf/Linux/ 1 (camino completo 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 <bf/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 arrancas Linux, el hace una verificación de la coherencia de las informaciones que se encuentran encima. Esta es una verificación del sistema de archivos. Par realizar esta operación, es indispensable que la partición este en lectura sola. En efecto, verificar un disco mientras es utilizado es la mejor manera de destruirlo todo. Esta verificación no es hecha siempre, si tu apagas la maquina decentemente (con Ctr-Alt-Del o con los comandos halt, reboot o shutdown). Esta verificación no es de todas maneras lanzada que sobre las particiones Linux. Es el programa fsck que efectúa esta operación. Te desaconsejo lanzarla para "ver que hace" : una utilización errada puede provocar la perdida de datos de tu disco !
  2. por que dos núcleos? Esto es simple : Linux cambia, se mueve. Los núcleos son modificados muy seguido. Por ejemplo, yo puedo arrancar actualmente mi maquina ya sea con un núcleo estable (2.0.26) ya sea con un núcleo en desarrollo (2.1.8).
  3. append : esta opción es muy importante : ella permite darle uno o varios parámetros al nodo Linux. Por ejemplo, aquí por ejemplo yo le indico que mi carta SCSI se encuentra en la dirección 230. En el caso contrario, no seria reconocida. Esta opción es utilizada igualmente si tu tienes 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 tu RAM no es reconocida).
Para instalar el archivo, tienes que ejecutar /sbin/lilo y ya esta! En el caso que tengas problemas con LILO tienes que ensayar la opción "compact" que se puede encontrar en su archivo de configuración.

No te olvides de relanzar LILO luego 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 tus particiones.

He aquí un ejemplo:

 
#/etc/fstab 
  # Device      Repertoire     type        options      frequence  passe 
  # <bf/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 
  # Partition de swap 
  /dev/hda3         none           swap        defaults        0        0 
  # Fichier 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 del montaje de la partición.
  3. tipo de la partición.
  4. opciones (lectura sola, etc)
  5. frecuencia correspondiente al numero de días entre dos tratamientos del archivo por el comando dump. Este comando existe solamente para ext2fs (es una migración de la versión 4.4BSD) pero no esta aun incluida en todas las distribuciones.
  6. orden de test de las particiones (fsck). Si tu pones 0 la verificación automática no es efectuada. Las particiones situadas sobre un mismo disco serán testadas de una manera secuencial, pero si ellas están situadas en dos discos diferentes se hará en paralelo.
Tu puedes colocar aquí las particiones que necesites.

Para NFS es aconsejable utilizar los siguientes parámetros:

rsize=8192, wsize=8192, sobre todo si tu posees una tarjeta rápida. Para autorizar un usuario a montar un volumen, tienes 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 utilizador podrá, a partir de ese momento, montar y desmontar un CD (utilizar mount /mnt/cdrom, umount /mnt/cdrom) La pagina de man de mount, sección 8 (man 8 mount) explica la significación de las opciones posibles.

8.4 Montaje manual de las particiones

Como lo hemos visto en el parágrafo precedente, las particiones son montadas al momento del arranque, gracias al archivo /etc/fstab. Tu puedes, mas sin embargo, montarlos manualmente, debes utilizar el comando mount. Por ejemplo, para montar el disquete a:, tu debes 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... El /dev/fd0 es el nombre del archivo especial correspondiente al dispositivo especial 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. Necesitas utilizar un kernel posterior para poder beneficiar las cuotas.

Tu necesitas igualmente los útiles de gestión de cuotas y los puedes encontrar en:

ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/subsystems/quota

o, mas cerca, en :

ftp://ftp.ibp.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 los útiles) en formato HTML.

Compilación de utilitarios

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

Si tu utilizas el sistema de archivos ext2 y que tu has instalado las bibliotecas contenidas en e2fsprogs, tu puedes incluir el soporte de ext2fs en los utilitarios de cuotas para acelerar su ejecución. Para esto debes 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.

Luego de la compilación instala los utilitarios con el comando make install. Cuidado el comando quota es instalado en el directorio /usr/ucb que no existe en la mayoria de las instalaciones Linux, necesitas entonces modificar el Makefile para instalarlo en otro directorio (/usr/bin es un buen lugar). Puede ser necesario igualmente definir la variable LN a el valor ln -sf.

Activación del soporte de cuotas en el kernel

Para utilizar las cuotas el kernel debe ser compilado con el soporte de cuotas. Para esto debes tener un kernel para el cual has respondido "Y" a la pregunta "Quota support". Cuidado, el soporte de cuotas es efectivo por el momento solamente 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 nombre máximo de archivos y de bloques disco asociados a cada usuario, los segundos definen el numero máximo de archivos asociados a cada grupo de usuarios. Los dos tipos de cuotas pueden ser activadas separadamente.

Para activar las cuotas para los usuarios es necesario indicar la opción usrquota para los sistemas de archivos concernidos en /etc/fstab. Las cuotas que conciernen 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 concernido.

Es posible modificar los nombres de los archivos de gestión de cuotas utilizando la sintaxis usrquota=nombre_de_archivo y 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 el comando quotaon. Para activarlas automáticamente a la inicialización del sistema, debes agregar al archivo de inicialización (/etc/rc.d) las lineas:

 
# Enable quota 
  /usr/sbin/quotaon -avug 
Puede ser igualmente necesario verificar la coherencia de las informaciones de gestión de cuotas luego de bloqueos repentinos. Para esto utilice el comando quotacheck:
 
/usr/sbin/quotacheck -avug 
Si los utilitarios han sido compilados con-DEXT2_DIRECT, el comando quotacheck debe ejecutarse relativamente r pido, en el caso contrario puede ser muy largo, pues debe explorar todos los directorios del disco. Es aconsejable de todas maneras lanzar el quotacheck a la inicialización del sistema antes de la activación de la cuotas con quotaon :
 
# Check quota 
/usr/sbin/quotacheck -avug 

Atribución de una cuota a un utilizador

El comando edquota es utilizado para afectar una cuota a un usuario o a un grupo de usuarios. Su sintaxis es edquota -u usuario o edquota -g grupo. Este comando lanza un editor de texto que contiene la definición de cuotas atribuidas 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 numero de archivos y el numero de bloques disco (escritos en bloques de 1024 octetos). Para cada uno existe dos limites:

  1. el limite "suave": cuando este limite es alcanzado o superado un mensaje advierte al usuario cada vez que un nuevo bloque o archivo es escrito.
  2. el limite "duro": cuando este limite es alcanzado el utilizador no puede escribir nuevos archivos o nuevos bloques.
El limite "suave" se transforma en limite "duro" cuando este alcanza o supera un cierto tiempo (7 días por defecto).

estadísticas sobre las quotas

Todo usuario puede obtener el estado de la cuota que han sido atribuidas (limites así como el numero de archivos y de bloques que le han sido atribuidos) gracias al comando quota. El super usuario puede obtener las mismas informaciones sobre todo usuario o grupo con el mismo comando : quota -u usuario o quota -g grupo. Ademas es posible utilizar el comando repquota para obtener una lista de cuotas asociadas a un 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 con la implementación original 4.2BSD, ya sea a nivel de comandos o a nivel de la interfase de programación son utilizables.

Las paginas del manual de los utilitarios son bastante claras y muy instructivas. En fin, los documentos difundidos en formato HTML forman una buena introducción a la administración de cuotas.

8.6 mtools

En vez de montar tus particiones MS-DOS, te consejo que utilices los mtools. Se trata de los equivalentes de los comandos MS-DOS, pero con un m adelante. Por ejemplo : mcopy toto.c a: . Si tu quieres copiar un archivo texto para que sea utilizado bajo MS-DOS o lo inverso, no olvides de 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 mas o menos configurados. Pero en el caso tal, tu debes modificar el archivo /etc/mtools.

 
  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 a sido modificado desde la ultima versión. Este es el ultimo formato por lo que es mas claro y simple de utilizar. Ademas, 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 Mo, tienes que crear primero la partición gracias al programa fdisk, luego, ya sea pasas por el programa setup, ya sea lo haces a la mano : mkswap /dev/hda3 8192 Añade la linea /dev/hda3 swap swap defaults 0 0 en el archivo /etc/fstab.

Finalmente, para que funcione, ya sea re-arrancas tu maquina o sino puedes hacer un swapon -a.

8.8 Swap : archivo

Para el archivo, es mas complicado. Debes hacer un :

 
  dd if=/dev/zero of=/usr2/swap_file bs=1024 count=8192 
  mkswap /usr2/swap_file 8192 
Y agregas en el archivo /etc/fstab la linea /usr2/swap_file /usr2 swap defaults 0 0. Cuidado, debes poner esta linea después del montaje de la partición /usr2. Sino, no funcionara nunca. De ahora en adelante, para salir de Linux estas obligado de hacer :
 
  swapoff -a 
  reboot           #O otro 
En efecto, si no desactivas el archivo de cambios, Linux no podrá desmontar la partición y por consiguiente hará un fsck sobre ella cada vez que arranques tu maquina. También es posible, con ciertos sistemas, agregar el comando swapoff en "/etc/rc.d/rc.K" Para automatizarlo.

8.9 Agregar un usuario, un grupo

.

Si posees la RedHat, utiliza el servicio de configuración, esta muy bien hecho realmente.

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

Una linea 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 linea esta compuesta por 7 columnas :
  1. Nombre del usuario : 8 caracteres max ;
  2. Palabra de código codificada;
  3. Numero de identificador único del usuario (uid). Nota : 0 = root ;
  4. Numero del grupo (gid) ;
  5. Nombre "oficial" del usuario ;
  6. Home directory ;
  7. Shell utilizado.
El archivo /etc/group contiene la lista de los grupos de la maquina.

Por ejemplo, el grupo 100 es :

 
  users::100:games,gandalf 

Para agregar un usuario toto, debes hacer :

  1. Agregarlo en /etc/passwd;
  2. si es necesario, crea el grupo al cual pertenecerá, modificando /etc/group;
  3. crea su home directory :
     
                 mkdir /home/toto 
                 cp /etc/skel/* /home/toto 
                 chown toto /home/toto 
                 chgrp le_groupe_de_toto /home/toto 
    
  4. Ahora dale una palabra código haciendo passwd toto.
No te queda más por hacer que ensayar.

Te aconsejo mucho mucho trabajar bajo un nombre de usuario común. Es muy peligroso trabajar siendo root. Una mala manipulación y te tocara reinstalar todo ademas de perder tus datos personales mas los de tus 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... " 
  /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 
Lo que es importante es el teclado en francés Si tu agregas esta linea, tu teclado será francés desde el arranque. En caso de problema tienes 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 
Ademas del teclado, yo limpio el directorio /tmp. Esto puede ser útil.

8.11 Ordenamiento de trabajos : la crontab

La crontab es una tabla que contiene los comandos que deben ser lanzados a intervalos regulares. Tu puedes poner la salvaguarda diaria, el cliente pop, etc.

El formato es bastante simple :

 
# hacer una salvaguarda todos los lunes a las 2 de la mañana 
0  2  *    * 1 /home/gandalf/backup 
# Arrancar la maquina todos 1 y 15 de cada mes a la 4:15 
  15 4  1,15 * * /sbin/shutdown<item>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).
En seguida viene el comando. Este crontab es muy útil si tu utilizas UUCP (para enviar el correo, recuperar las news, etc).

Todo usuario puede crearse una crontab gracias al comando crontab.

8.12 Imprimir !

Ahora que tu maquina funciona, veamos como imprimir. Las impresoras son administradas por el programa lpc y el demon lpd

El demon debe ser lanzado al arranque. Y puede ser lanzado ya sea por rc.M o por rc.inetd2. Normalmente, lpd es lanzado al arranque. (Tu debes verlo cuando son lanzados todos los demons de tu maquina. Si no es el caso, necesitas quitar los comentarios a algunas lineas en uno de los archivos citados)

Supongamos que tu impresora se llame betty. En un primer tiempo, 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 tu impresora es el archivo : /etc/printcap Ej :
 
  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. En seguida, la configuración se hace vía palabras clave. Para mas información has un man printcap. He aquí mas sin embargo una descripción de aquellas utilizadas.

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

El demon va en seguida enviar 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.fr 
  # 
  # 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 fue esto ! 
  $CAT- > $TmpFile 
 
  echo -ne '\033E' 
 
  set -- `file $TmpFile` 
 
  shift 
 
  FileType=$* 
 
  # Transformación del PostScript al formato Deskjet500 
  # resolución a 300x300<item> 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*) # Fichier 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 los archivos texto así como los archivos Postscript, dvi. Si tu quieres imprimir otro tipo de archivo, solo agrégalo aquí. Gracias por enviarme las modificaciones : esto permitirá que todo el mundo pueda aprovecharlo.

8.13 Timezone

Timezone es un sistema muy útil que permite la administración del cambio de hora de invierno y de verano. Francia 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.

Ve al directorio /usr/lib/zoneinfo y te aconsejo leerte el archivo time.doc. Los archivos binarios que se encuentran en /usr/lib/zoneinfo indican las reglas de calculo de la hora en las diferentes zonas del globo.

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

Comandos :

 
  # cd /usr/lib/zoneinfo 
  # cp MET localtime 
  # ln -sf localtime posixrules 
Utiliza en seguida el comando clock para poner el sistema a la buena hora. Dos posibilidades : La primera solución es preferible, pero MS-DOS no utiliza correctamente esta idea (:-)). La hora no funcionara en este sistema. En cambio todos los cambios de hora, dos veces por ano, serán tomados en cuenta por Linux. En este caso, tu debes agregar en /etc/rc.d/rc.local el siguiente comando : clock -u -s Linux se ajustara sobre la hora salvaguardada.

Si la CMOS esta a la hora local, el comando en /etc/rc.d/rc.local es : clock -s y los cambios de hora solo serán automáticos si la maquina esta prendida al momento del cambio de hora. Te toca a ti escribir la nueva hora en la CMOS manualmente, haciendo clock -w o poniendo la hora con el setup.

El comando 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, "MET DST" (Daylight Savings Time) seria indicado).

8.14 Nuevos cambios de hora

Parece que este año, 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 instalas el paquete GNU "find", ademas 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 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 la crontab la linea updatedb --prunepaths='/tmp /usr/tmp /var/tmp /proc /users /root /dos /mnt /var/adm /var/spool /var/catman /home ' Este comando 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 Un segundo controlador IDE

En este caso, es necesario que crees los dispositivos en /dev . Lanza MAKEDEV.ide1 en el repertorio /usr/src/linux/drivers/block. Luego, es suficiente hacer un fdisk /dev/hdc por ejemplo.

8.17 CDROM ATAPI

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

  1. Recompilas el núcleo con la opción CD ATAPI IDE y el soporte del sistema de archivos iso9660.
  2. Vas al repertorio /usr/src/linux/drivers/block. Hay un script que se llama MAKEDEV.ide1. Lo lanzas. Este script va a crear los dispositivos necesarios para tu segundo controlador de disco.
  3. Haces un reboot. A nivel de LILO, tecleas: Linux hdd=cdrom. Atencion : aquí estas en qwerty.
  4. Creas un enlace simbólico entre /dev/hdd (o hdc) y /dev/cdrom. Por ej : ln -s /dev/hdd /dev/cdrom.
  5. Creas el repertorio /cdrom y tecleas : mount -t iso9660 -o ro /dev/cdrom /cdrom. Normalemente, tu CD esta montado! ( nt : /mnt/cdrom puede ser un buen remplazo de /cdrom)

Si tienes problemas debes ensayar :

  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 "caliente" (o sea sin accionar ni reset ni apagar la maquina : unicamente con Ctr-Alt-Del) para que el lector tenga tiempo de sacudirse.

8.18 Poner una consola externa como consola

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

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

8.19 Dos tarjetas de red

Ciertas maquinas 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.20 Los archivos de inicialización de los interpretadores de comandos

Aquí esta la descripción de los archivos que se cargan después de la conexión de un usuario. El nombre de o de los archivos es especifico del interpretador de comandos utilizado.

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

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

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

Finalmente, para completar lo de los interpretadores de comandos compatibles con el Bourne Shell, citemos el caso de zsh que ejecuta: En el caso de csh (o mas bien tcsh) :

8.21 Los archivos de seguridad (salvaguardas) bajo Linux

Como todo sistema UNIX, Linux provee las herramientas standard para realizar los archivos 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. Actualmente, no se proveen en la Slackware. Las fuentes se deben recuperar entonces en

 
ftp.ibp.fr:/pub/linux/tsx-11/packages/ext2 
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 sur /dev/rmt0, por ejemplo es suficiente hacer:
 
  gandalf# dump 0sfu  3600  /dev/rmt0  /dev/sda1 
  gandalf# dump 0sfu ondee: /dev/rmt0  /dev/sda1 

El segundo comando permite salvaguardar un disco sobre un dispositivo distante (por ejemplo situado aquí sobre la maquina "ondee"). Las opciones de dump pueden parecer complejas. A continuación damos una corta descripción:

Existen otras opciones. Para mayor información, consulta las paginas del manual.

Existen dos maneras de efectuar una restauración : en linea de comando o en modo llamado " interactivo ". El segundo modo es mas simple para las restauraciones parciales. El primero es sobre todo utilizado para las restauraciones completas.

Para restaurar la banda en modo interactivo es suficiente hacer:

 
  gandalf# restore -if /dev/rmt0 
  gandalf# restore -if ondee:/dev/rmt0 
En este caso, un mimi-interpretador de comandos es lanzado. Utiliza el comando help para mas detalles.

Para restaurar completamente una banda, lanza:

 
  gandalf# restore rf /dev/rmt0 
Nota importante: para la utilización de dump y restore a través de una red (salvaguarda sobre dispositivos distantes), debes utilizar los archivos .rhosts. En el siguiente ejemplo de salvaguarda, la maquina "ondee" debe tener:
 
  #cat ~root/.rhosts 
  gandalf 
  # 
El uso de dispositivos distantes necesita igualmente la presencia de un programa rmt sobre la maquina que maneja los dispositivos de salvaguarda. Este programa esta 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 tar exclusivamente para efectuar sus salvaguardas, cada cual escoge. .

8.22 Num Lock al arranque

Para configurar la tecla Num Lock al arranque (por ejemplo para que ella se encienda) solo tienes que poner en tu /etc/rc.d/rc.local

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

8.23 Los archivos core

Ciertos programadores adoran explotar el contenido de los archivos core. Pero en Linux, estan desactivados por defecto. Para poder generarlos debes introducir : ulimit -c unlimited

8.24 Accounting - lastcomm

El sistema de accounting esta implementado en Linux (pero ... yo nunca lo he ensayado porque es un poco Big Brother is Watching You). Normalmente debes compilar el paquete acct-1.3.73.tar.gz y seguir las instrucciones que son dadas ahí. Lo puedes encontrar en : ftp.ibp.fr:/pub/linux/sunsite/system/Admin/accounts y en ftp://iguana.hut.fi/pub/linux/Kernel/process_accounting/ Ten cuidado pues debes 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 lugar. La solución para resolver este proclame es lanzar el sistema de accounting de esta manera :
 
# Lanzamiento del accounting 
accton /var/log/acct 
accttrim -n 2000 /var/log/acct 2> /dev/null 


Previous Next Table of Contents