Vous êtes sur la page 1sur 29

1

Troubleshooting Captulo 1 Localizacin y resolucin de problemas - Gua General Nota especial Este cuaderno utiliza un formato un poco diferente a los cuadernos anteriores en el currculum de Red Hat Academy. En lugar de ejercicios en cada unidad, los ejercicios se implementan como parte del programa que ser instalado en la mquina del estudiante. Para mayor informacin consulte la ltima leccin. Conceptos clave

Para solucionar problemas de cualquier sistema complejo se debe emplear un enfoque metdico y razonado. Cuando hay problemas en el sistema de Linux, el problema suele registrarse en el error estndar o en algn archivo de registro. Varios problemas generales suelen presentarse, incluyendo un sistema de archivos lleno, una carga pesada o propiedades y permisos de archivos.

Localizacin y resolucin de problemas Es el proceso de rastrear o solucionar un problema ya sea porque est arreglando un computador, un carro o cualquier cosa. En trminos de hardware y software, un computador es un sistema. Es decir, es un grupo de componentes que interactan con otro en formas predecibles. Si algo sale mal con un componente del sistema tendr un efecto en los otros componentes. La clave para la resolucin de problemas es entender lo suficientemente bien el sistema como para volver atrs a travs de la cadena de eventos desde los primeros componentes que observe que estn funcionando mal (los sntomas) hasta el problema original. Su enfoque general debera verse usualmente as: 1. 2. 3. 4. 5. 6. 7. 8. 9. Catlogo de sntomas. Listar los componentes del sistema relacionados con estos sntomas. Desde la lista de componentes, determinar el posible alcance del problema. Idear una serie de pruebas para que cada una verifique si cada componente especfico est funcionando correctamente. Mediante estas pruebas, reducir el campo a uno o dos orgenes posibles. Suponer que uno de esos dos es el problema y desarrollar una solucin posible. Implementar la solucin. Ensayar la solucin. Si falla, tratar de suponer otra posible causa o iniciar de nuevo el proceso. Documentar quin solucion el problema, cundo se solucion, cmo se arregl, qu sintomas tena y qu lo ocasion.

Este ltimo paso es vital no slo porque ahorra tiempo valioso en caso de presentarse un problema similar, sino porque tambin da a su equipo un indicio de dnde empezar por si la "solucin" termina causando problemas a otro ms tarde.

Troubleshooting Solucin de problemas de sistemas de Linux En esta seccin, mencionamos temas que suelen aplicarse a los sistemas de Linux y Unix y algunos comandos bsicos que deben estar al alcance de cualquier administrador que est solucionando algn problema. Archivos de registro (less /var/log/algo) La complejidad de un sistema de Linux puede intimidar. Se espera que bajo el directorio
/etc haya miles de archivos que estn mal configurados. La interdependencia es

numerosa y suele ser sutil, complicando an ms las cosas. Afortunadamente, los administradores tienen al menos una herramienta a su favor: el registro. Precisamente porque el sistema de Linux es complejo, los programas de Linux tienden a emitir mensajes cada vez que algo anormal o inesperado sucede. Si el proceso est siendo utilizado de modo interactivo, dichos mensajes suelen aparecer en el flujo de error estndar. Si los programas estn siendo utilizados como demonios, los mensajes aparecen en el archivo de registro. Cada vez que un sistema de Linux parece funcionar mal, el primer instinto del administrador debera ser "revisar el registro". Como resultado, los solucionadores de problemas exitosos probablemente sabrn lo siguiente.

Dnde se registran los servicios. Cada servicio se registra en un archivo de registro determinado. Si el servicio es lo bastante complejo, tal como el demonio de impresin cupsd, puede registrarse en un archivo de registro personal. De lo contrario, /var/log/messages es siempre un buen lugar para empezar. En el sistema Red Hat Enterprise Linux, el archivo de registro siempre se localizar bajo el directorio /var/log. Revisar archivos de registro antes de que las cosas empeoren. Los administradores deben acostumbrarse a revisar ocasionalmente los archivos de registro, incluso antes de que comiencen a presentarse errores. De esta manera, los administradores se familiarizarn con la conducta "normal" del sistema, ayudando a reconocer ms rpido cuando se presente algo anormal. Producir rpidamente la salida. Muchos de los servicios ms complejos permiten a los administradores especificar la cantidad de informacin que registra un servicio. Si un registro determinado est causando problemas, determine si hay una forma de iniciar el servicio en un modo de depuracin o "debug mode". Para sistemas servidor/cliente de red, revise el servidor. Como regla, cuando algo anda mal, los servidores de red no reportan muchos detalles al cliente. La mejor manera de buscar un reporte de error detallado es en el archivo de registro del servidor.

El siguiente cuadro resume algunos de los archivos de registro ms utilizados por sistemas vistos en este curso.

Troubleshooting Table 1. Archivos de registro comunes de Red Hat Enterprise Linux Nombre de archivo
/var/log/messages /var/log/secure /var/log/boot.log /var/log/cron

Sistemas pertinentes Mensajes de kernel, scripts de servicio, demonios generales, autenticacin. sshd, autenticacin scripts de servicio El demonio crond Servicios de correo electrnico El servidor X

/var/log/cups/{access,error}_log El demonio cupsd /var/log/maillog /var/log/xorg.pantalla.log

Aunque la lista parece larga, tenga en cuenta que el cuadro puede reproducirse esencialmente con un slo comando.
[root@station root]# ls /var/log ...

Comando para mantener a la mano: less /var/log/algo Espacio de disco (df) A Linux no le gustan los sistemas de archivos llenos. Los procesos estn constantemente escribiendo archivos cortos al sistema de archivos y suprimindolos en muy corto tiempo. Sin la habilidad de escribir ese archivo corto, siempre se presentan problemas. Probablemente los directorios que inesperadamente se llenaron son precisamente aquellos con permisos de escritura para usuarios estndar: /home, /tmp, y /var/tmp. Adems, los archivos de sistema dinmicos, siempre estn bajo el directorio /var. Un trabajo de impresin inesperado para /var/spool/cups, por ejemplo, podra impedir a los usuarios almacenar temporalmente el correo recibido en /var/spool/mail (o impedir a un administrador la lectura de los archivos en /var/log). Comando para mantener a la mano: df Uso de uptime y top Los sistemas que tienen una carga pesada, en trminos de CPU o uso de memoria pueden no responder. En teora, esto no debera causar ningn error, sino algunas molestias. En la prctica, cualquier accin que tenga un tiempo asociado puede pausar antes de terminar. Vea si el problema persiste bajo una carga liviana.

Troubleshooting Comandos para mantener a la mano: uptime, top Propiedades y permisos (ls -l) Los problemas ms comunes en Linux y Unix radican en las propiedades y permisos de archivos. Recuerde que no todos los demonios se ejecutan como root. Las propiedades y permisos comunes incluyen lo siguiente.

Un demonio que no tiene permisos de lectura para su propio archivo de configuracin (o ejecuta permisos en el directorio que lo contiene). Cualquier proceso tratando de ejecutar un subcomando para el cual no tiene permisos de ejecucin. Cualquier proceso tratando de crear un archivo en un directorio para el cual no tiene permisos de escritura.

Comando para mantener a la mano: ls -l Captulo 2 Cosas para revisar: servidor X Conceptos clave

Los

dependen de un archivo de configuracin /etc/X11/xorg.conf correctamente configurado. El arranque X puede estar mal configurado por cualquiera de los siguientes archivos en un directorio de inicio de usuario: ~/.xinitrc, ~/.xsession, o ~/.Xclients. Tras el arranque el servidor se registra en error estndar y luego en el archivo /var/log/xorg.0.log (donde 0 es el nmero de pantalla del servidor X). El demonio xfs debe estar ejecutndose para iniciar un servidor X. Los directorios llenos /tmp o /home pueden evitar que el servidor X inicie. Cambiar una configuracin de red del sistema puede interferir con un servidor X ejecutndose actualmente.

servidores

Localizacin y solucin de problemas X La mayora de los problemas X se deben a algn error del archivo xorg.conf. Si usted no est utilizando ninguna opcin de configuracin infrecuente del montaje X, entonces simplemente ejecutando el comando system-config-display crear un nuevo archivo xorg.conf vlido. Tambin considere que los usuarios con archivos personalizados .xinitrc, .xsession o .Xclients pueden introducir problemas que los afectan a ellos, pero no a otros usuarios. Cuando el servidor X inicia, ste imprime en pantalla una gran cantidad de salida de diagnstico. Esta salida tambin es el archivo almacenada en un archivo /var/log/xorg.0.log (el nmero 0 se refiere al nmero de pantallla del servidor X). Observe a continuacin el extracto de un archivo de registro X:

Troubleshooting
(II) (==) (==) (II) (II) (**) (**) (II) (II) (II) (II) (II) (II) (II) (II) (==) (II) (II) (II) (II) (II) (II) (II) (II) (II) (II) (II) (**) (**) (**) (**) (**) (**) (**) (**) (**) (**) (II) (**) (**) (**) (**) (**) (**) (**) (**) (**) (II) (II) (II) (II) RADEON(0): Acceleration enabled RADEON(0): Backing store disabled RADEON(0): Silken mouse enabled RADEON(0): Using hardware cursor (scanline 770) RADEON(0): Largest offscreen area available: 1024 x 3322 Option "dpms" RADEON(0): DPMS enabled RADEON(0): X context handle = 0x00000001 RADEON(0): [drm] installed DRM signal handler RADEON(0): [DRI] installation complete RADEON(0): [drm] Added 32 65536 byte vertex/indirect buffers RADEON(0): [drm] Mapped 32 vertex/indirect buffers RADEON(0): [drm] dma control initialized, using IRQ 11 RADEON(0): [drm] Initialized kernel agp heap manager, 5111808 RADEON(0): Direct rendering enabled RandR enabled Initializing built-in extension MIT-SHM Initializing built-in extension XInputExtension Initializing built-in extension XTEST Initializing built-in extension XKEYBOARD Initializing built-in extension LBX Initializing built-in extension XC-APPGROUP Initializing built-in extension SECURITY Initializing built-in extension XINERAMA Initializing built-in extension xorg-Bigfont Initializing built-in extension RENDER Initializing built-in extension RANDR Option "Protocol" "PS/2" Mouse0: Protocol: "PS/2" Option "CorePointer" Mouse0: Core Pointer Option "Device" "/dev/psaux" Option "Emulate3Buttons" "yes" Mouse0: Emulate3Buttons, Emulate3Timeout: 50 Option "ZAxisMapping" "4 5" Mouse0: ZAxisMapping: buttons 4 and 5 Mouse0: Buttons: 5 Keyboard "Keyboard0" handled by legacy driver Option "Protocol" "IMPS/2" DevInputMice: Protocol: "IMPS/2" Option "AlwaysCore" DevInputMice: always reports core events Option "Device" "/dev/input/mice" Option "Emulate3Buttons" "no" Option "ZAxisMapping" "4 5" DevInputMice: ZAxisMapping: buttons 4 and 5 DevInputMice: Buttons: 5 XINPUT: Adding extended input device "DevInputMice" (type: MOUSE) XINPUT: Adding extended input device "Mouse0" (type: MOUSE) Mouse0: ps2EnableDataReporting: succeeded DevInputMice: ps2EnableDataReporting: succeeded

No se asuste! No necesita saber todo lo que esto significa. De hecho, X facilita recoger las entradas de registro de una falla. Observe cmo cada lnea en el extracto inicia con un conjunto de dos caracteres en parntesis. Una clave con el significado de cada una de

Troubleshooting estas combinaciones de caracteres siempre aparece cerca del la parte superior de la salida de X:
Marcadores: (--) sondeado, (**) del archivo de configuracin, (==) configuracin predeterminada, (++) de la lnea de comandos, (!!) anuncio, (II) informativo, (WW) advertencia, (EE) error, (NI) no implementado, (??) desconocido. (==) archivo de registro: "/var/log/xorg.0.log", Hora: Martes Mayo 4 18:11:28 2004 (==) Usando el archivo de configuracin: "/etc/X11/xorg.conf"

Al utilizar la clave usted puede escudriar a travs de las entradas de registro y rpidamente hallar cules describen un problema real. Los extractos anteriores son de un inicio normal y por lo tanto no hay nada que cause alarma. Las entradas (**) son solamente lneas que estn siendo ledas del archivo de configuracin y todas las entradas (II) son mensajes del servidor X que son puramente informativas y no indican ningn problema. Como ver en los siguientes ejemplos, las lneas (WW) y (EE) son los mensajes que usted no debe perder de vista, ya que estos representan advertencias y errores, respectivamente. Abandone el nivel de ejecucin 5 Mientras depura los problemas del servidor X, tener a init tratando persistentemente de iniciar servidores X en el segundo plano es molesto como mucho y propenso a error en el peor de los casos. Como regla general, abandone el nivel de ejecucin 5 mientras depura problemas de X e inicie manualmente el servidor X (con el comando startx, por ejemplo). Problemas comunes del servidor X El servicio xfs no est ejecutando El servidor X depende del demonio xfs para informacin de fuente, la cual en Red Hat Enterprise Linux es administrada por el servicio xfs. Si este servicio est inhabilitado, el servidor X no podr iniciar, quejndose porque no encuentra la informacin de fuente. Sistemas de archivos llenos /tmp o /home En la leccin anterior identificamos los sistemas de archivos llenos como una fuente comn de problemas. Cuando arranque una mquina de Red Hat Enterprise Linux, la primera vctima evidente de un directorio /tmp lleno es el servidor X. (Una de las primera vctimas no evidentes es el demonio xfs, el cual causa la primera vctima evidente). Un directorio de inicio lleno tambin ocasionar problemas. Cambio de configuraciones de red Recuerde que el servidor X es una red consciente por lo tanto, el cambio de la configuracin de red (particularmente el nombre de host de una mquina) puede

Troubleshooting ocasionar problemas. El primer sntoma es un servidor X que contina ejecutndose, sin que se inicie ningn cliente. (Despus de cambiar el nombre de host de la mquina, el servidor X puede tratar solicitudes de nuevo cliente como si llegaran de un host "diferente" y as hacer cumplir los requisitos de autenticacin de una manera ms estricta. Como resultado, cualquier mensaje de error por lo general se relacionar con la autenticacin). La forma ms fcil de resolver este problema es simplemente saliendo y volviendo a entrar, de este modo, reiniciando el servidor X. Ejemplos Localizacin y solucin de problemas X cuando el servidor de fuente X no est ejecutando Con el fin de que X visualice texto, debe tener acceso a la biblioteca de fuente. Los servidores X modernos obtienen toda la informacin de fuente desde el servidor de fuente X (xfs). Si un xfs no est disponible, X fallar y algo como lo siguiente se hallar en su salida y archivo de registro:
Could not init font path element unix/:7100, removing from list! Fatal server error: could not open default font 'fixed'

Primero, observe que no hay lneas (EE) tiles para guiarnos en este ejemplo. Sin embargo, se debe deducir fcilmente que cualquier lnea comenzando por "Fatal server error:" (error fatal) no es nada bueno. La siguiente lnea: "could not open default font 'fixed'", se lee no se pudo abrir la fuente predeterminada establecida". "fixed" es el nombre de una fuente que X intenta recuperar del servidor de fuente. Como no pudo hacerlo, el servidor fall. Ahora observe la primera lnea: "Could not init font path element unix/:7100, removing from list!". (No se puede iniciar el elemento de fuente de ruta Unix/:7100, suprimiendo de la lista!). "Unix/:7000" se refiere al socket de unix, el cual es un componente del sistema operativo utilizado entre procesos de comunicacin. 7000 denota la ubicacin predeterminada donde xfs escucha conexiones. Evidentemente, xfs no est escuchando donde se supone que debe estar. La nica forma de arreglar esto es determinar el porqu xfs no est ejecutndose y corregirlo. Esta ubicacin se puede especificar (incluso para un puerto de escucha tcp o udp a travs de la red) al establecer la variable FontPath en /etc/X11/xorg.conf por lo que es posible que la variable se configur incorrectamente. Puesto que "unix/:7000" es el valor predeterminado esto parece poco probable, pero una consulta rpida al administrador de red debe responder con autoridad. Supongamos que el xfs sencillamente no est funcionando. El siguiente comando probara la hiptesis.
[root@station root]# service xfs status

Troubleshooting
xfs is stopped

Tratemos de corregir el problema iniciando xfs asegurndonos que ste se reinicie tras el arranque:
[root@station root]# service xfs start Starting xfs: [root@station root]# chkconfig xfs on [root@station root]# chkconfig --list xfs xfs 0:off 1:off 2:on 3:on [ OK ]

4:on

5:on

6:off

Si el sistema no es un servidor de produccin, podra reiniciarlo slo para estar seguro. Captulo 3 Cosas que se deben revisar: red Conceptos clave

Un aspecto importante de la localizacin y resolucin de problemas de configuracin de red es identificar el alcance del problema. Est el problema afectando una aplicacin?, una mquina?, la red local? o las redes IP externas? Las utilidades de diagnstico clave para recordar son ifconfig, ping, route, host, y tcpdump. Los archivos de configuracin clave para tener en cuenta son /etc/sysconfig/network, /etc/sysconfig/network-scripts/ifcfgifname, /etc/resolv.conf, y /etc/hosts.

Localizacin y solucin de problemas de red La localizacin y resolucin de problemas de red pueden ser lo que ms consume tiempo, debido a que hay muchos componentes para tratar. Por consiguiente, es muy importante determinar temprano el alcance del problema. Las siguientes preguntas pueden ayudar a limitar dicho alcance. 1. 2. 3. 4. 5. El problema est restringido a una aplicacin? El problema est restringido a una mquina? Se han afectado todas las mquinas en la subred? Se han afectado todas las mquinas en la red? Si es un problema de conectividad, se aplica a todos los destinos o slo a uno?

Incluso si el orden exacto en el que se revisan estos campos difiere, tener un procedimiento que vaya a travs de la lista anterior y contestar si o no a la pregunta ayudar a reducir los componentes del sistema que ameritan la revisin. Por ejemplo, si el problema del que se est quejando el usuario parece ser nicamente en su mquina (el usuario no puede conectarse con www.redhat.com pero el vecino s) entonces, no es necesario afectar a todo el grupo. Por el contrario, si el problema parece ser de mucha gente, entonces no hay necesidad de chequear la configuracin de red, la instalacin NIC u otros componentes que nicamente afectan a un sistema especfico. A

Troubleshooting continuacin presentamos una lista de campos del problema y algunos sitios comunes dnde buscar las causas. Problemas especficos de aplicacin Vara dependiendo de la apariencia de la aplicacin para reparar cualquier cosa del archivo(s) de registro y/o preferencias de aplicacin. Aspectos especficos de mquina

Est la interfaz configurada correctamente? Est el DNS configurado correctamente? Est la gateway por defecto configurada correctamente? Est el cable conectando bien el sistema a la pared? Est el puerto en el hub o interruptor dentro de la mquina bien conectado?

Red especfica de IP local Si todas las mquinas en una subred tienen problemas pero el resto de su red no est afectada, entonces hay slo unas pocas cosas que pueden estar en cuestin:

Est el interruptor en el cual est conectada la subred, configurado correctamente? Est su enrutador de red configurado correctamente? Podra el cortafuegos de su compaa estar bloqueando el acceso?

Red especfica de IP externa Si la red entera tiene problemas, las causas posibles incluyen todas las causas listadas bajo problemas especficos de subred como tambin:

La ISP de su compaa tiene problemas? Fall un servicio vital, tal como el servidor DNS de red?

Destino especfico Si el problema parece ser solamente con un destino especfico (todos los usuarios pueden acceder a foo.com, pero no a bar.com), probablemente se debe a un problema con la red asociada a ese servidor. Las herramientas como traceroute sirven para diagnosticar dnde se rompe la comunicacin y confirmar esta teora. Cuando el problema es con la red de alguien ms, hay muy poco que hacer, solamente tratar de notificar a los administradores pertinentes y esperar. Si un destino particular no est disponible, pero no parece que haya ningn problema con el destino (imagine que un colega utilizando otro ISP puede acceder bar.com, aunque nadie en su red puede), el cortafuegos o el direccionamiento en su red podra ser la cuestin. Diagnstico de red y utilidades de configuracin

10

Troubleshooting A continuacin presentamos una sntesis de la mayora de las herramientas de diagnostico de red incluidas en Red Hat Enterprise Linux. Estas y otras se examinan a fondo en el captulo 5 del cuaderno 6.

Para probar la conectividad entre dos mquinas, utilice ping o traceroute. Para ver la configuracin de interfaz de red de sistema, utilice ifconfig. Para ver el cuadro de direccionamiento, utilice route. Para probar resolucin dns, utilice host. Para analizar trfico de red, utilice tcpdump o ethereal.

Tambin es importante recordar las herramientas y archivos utilizados para establecer la configuracin de red del sistema de Red Hat Enterprise Linux cuando localice y resuelva problemas de red:

La

informacin

de

configuracin

de

interfaz

es

almacenada

en

/etc/sysconfig/network-scripts/ifcfg-*.

Las configuraciones de red global como la gateway predeterminada se almacenan en /etc/sysconfig/network. Las resoluciones dns estticas se listan en /etc/hosts y el servidor de nombre para su mquina a utilizar se especifica en /etc/resolv.conf. Las interfaces se pueden subir o bajar con ifup y ifdown. Todas las interfaces pueden ser recargadas simultneamente con service network restart.

Ejemplos de localizacin y solucin de problemas de red Recuerde que el captulo 5, "Utilidades de diagnstico de red", del cuaderno 6, "Configuracin de red", proporcion muchos ejemplos de resolucin de problemas de red, los cuales probablemente valen la pena repasar en este momento. Resolucin de problemas de configuracin de direccionamiento Suponga que usted es el administrador de una red que est configurada segn las siguientes especificaciones:

Todas las mquinas estn configuradas con DHCP. Todas las mquinas estn en la red 192.168.0.X (192.168.0.0/255.255.255.0). El servidor DNS est en 192.168.0.200. La gateway predeterminada est en 192.168.0.254.

Un usuario se queja que no puede entrar a http://www.redhat.com con su navegador de red. Su tarea es determinar la causa del problema y luego resolverlo. Su primer paso debe ser establecer el alcance del problema. Podra ser el problema nicamente con la red de redhat.com? Se puede ensayar algo sencillo para averiguarlo: trate de visitar otro sitio. Suponga que el intento de acceder a http://www.linux.org falla.

11

Troubleshooting Ahora podemos suponer que el problema no es slo de la red de Red Hat y que puede haber un error de configuracin local. Por lo tanto, el problema quizs est afectando toda la red. Para probar esta teora podra intentar acceder http://www.redhat.com desde otra mquina. Si su intento tiene xito, entonces el problema est en toda la red. Si no, entonces el problema est afectando un slo sistema. Si ste fuera el caso se eliminara una gran cantidad de alcance. Hasta ahora hemos hecho todas nuestras pruebas con el navegador de red. Qu tal si el problema es especfico de la aplicacin? Quizs, por ejemplo, este sistema est utilizando un proxy de web mal configurado, haciendo que nicamente el navegador de red funcione incorrectamente. Podemos determinar si ste es el caso o no utilizando otra herramienta para probar la conectividad. La herramienta ms sencilla para realizar dicha prueba es el comando ping. Las herramientas ms sencillas son la mejor eleccin para la localizacin y resolucin de problemas debido a que su simplicidad significa que menos cosas puede salir mal. Sin embargo, se advierte que muchos sitios en Internet no responden al comando ping por razones de seguridad. Siempre es bueno saber un poco acerca de los sitios que aceptan ping. Dichos sitios incluyen www.yahoo.com y www.google.com. (Sin embargo, tenga cuidado, porque algunos sitios incluyendo www.redhat.com, no retornarn un ping incluso cuando la red local est trabajando). Tratemos de hacer ping en Google.
[user@station user]$ ping www.google.com ping: unknown host www.google.com

El resultado de este comando ping no slo ha demostrado que el problema no es una aplicacin especfica, sino que nos ha dado la clave de la raz del problema. Si Linux no puede determinar la direccin IP para www.google.com ("unknown host"), debe haber algo interfiriendo con DNS. Observemos las configuraciones DNS del usuario:
[user@station user]$ cat /etc/resolv.conf nameserver 192.168.0.200

El archivo resolv.conf parece estar configurado normalmente. Por lo tanto, el problema reside entre la mquina y el servidor DNS? Probemos la conectividad:
[user@station user]$ ping 192.168.0.200 connect: Network is unreachable

Primero, observe que este error es diferente al que encontr cuando trat de comprobar la conexin con www.google.com. Esto se debe a que aqu estamos omitiendo DNS al comprobar la conexin de la IP. Esto nos acerca un paso ms a la causa de root y en este caso tambin ofrece una gran ayuda. El error de "Network unreachable" (red inalcanzable) significa que usted le ha pedido a la mquina contactar una red que no sabe cmo acceder. Esto no debe suceder nunca debido a que el sistema debe tener siempre una configuracin de "gateway predeterminada"que seale a un enrutador todo el trfico destinado a donde una red desconocida debera ir. Si usted ve un error de "Network is unreachable" entonces probablemente hay alguna falla con su

12

Troubleshooting configuracin de gateway predeterminada, la cual es provista por DCHP. Observemos las configuraciones de usuario:
[user@station user]$ cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=static IPADDR=192.168.0.6 NETMASK=255.255.255.0 ONBOOT=yes [user@station user]$ cat /etc/sysconfig/network NETWORKING=yes HOSTNAME=station6.mynetwork.com GATEWAY=192.168.10.254

Hay dos cosas extraas aqu. Primero, se supone que las estaciones en esta red estn utilizando DHCP para configuracin, pero este usuario tiene configurada su estacin de modo esttico. No solamente eso, sino que ha cometido un error. Observando de cerca la configuracin de GATEWAY en /etc/sysconfig/network. Esta gateway predeterminada de usuario se ha configurado incorrectamente a 192.168.10.254 en lugar de 192.168.0.254. Puesto que la mquina no tiene interfaces en la red 192.168.10.X rehusa crear la ruta por defecto en la gateway 192.168.10.254. Sin una gateway por defecto el sistema queda imposibilitado para comunicarse con las redes a las que no est directamente conectado. Una revisin sencilla de la tabla de direccionamiento puede confirmar esto:
[user@station user]$ route -n Kernel IP routing table Destination Gateway Use Iface 192.168.2.0 0.0.0.0 0 eth0 127.0.0.0 0.0.0.0 0 lo

Genmask 255.255.255.0 255.0.0.0

Flags Metric Ref U U 0 0 0 0

Ahora est seguro de que no hay una gateway por defecto (si estuviera all estara listada con un destino de "0.0.0.0") para esta mquina debido a que el usuario defini una gateway invlida. La solucin a este problema es sencilla: reconfigure el sistema para utilizar DHCP, ejecute y reprenda al usuario por experimentar con las configuraciones (en gran medida DHCP) que fueron puestas all por alguna buena razn! Captulo 4 Cosas para revisar: arranque Conceptos clave

Para la resolucin de problemas en un sistema de no arranque, es vital diagnosticar la etapa en la que se produce el problema. Para los sistemas que se obtienen mediante el inicio del proceso /sbin/init, GRUB puede servir para pasar parmetros de arranque de kernel los cuales hacen que /sbin/init interrumpa el proceso de arranque en las primeras etapas.

13

Troubleshooting

Pasar el parmetro de arranque de kernel emergency hace que init solicite al usuario una contrasea y si tiene xito, lleva al usuario a una shell de root, sin ejecutarrc.sysinit. Pasar el parmetro de arranque de kernel 1 hace que init, ejecute rc.sysinit, pero luego despus de entrar en el nivel de ejecucin 1, lleva al administrador al interior de una shell de root sin pedir una contrasea de root.

Localizacin y solucin de problemas del proceso de arranque Para solucionar problemas del proceso de arranque es vital recordar el proceso por el cual el sistema arranca. 1. BIOS a. El BIOS del computador carga la primera etapa del cargador de arranque desde el registro de arranque maestro (MBR) en uno de los controladores. 2. Gestor de arranque GRUB a. El gestor de arranque de primera etapa accede a su particin root y carga el gestor de arranque de segunda etapa. b. El gestor de arranque de segunda etapa presenta un men de todos los kernel disponibles. c. Cuando el usuario elige el kernel, el gestor de arranque de segunda etapa descomprime el ramdisk inicial de seleccin (initrd) en RAM y carga el kernel de seleccin con la lnea de comandos del kernel especificado. 3. Kernel a. Mediante bibliotecas y controladores desde el initrd donde sea necesario, el kernel detecta dispositivos de bajo nivel tales como pci bus, cpu y discos duros. b. El kernel monta la particin root de slo lectura y ejecuta el primer proceso (por lo general /sbin/init). 4. /sbin/init a. El proceso init lee /etc/inittab y (por defecto) ejecuta /etc/rc.d/rc.sysinit. b. El script de arranque /etc/rc.d/rc.sysinit inicializa RAID, LVM y cuotas, monta las otras particiones en /etc/fstab, vuelve a montar la particin root de lectura-escritura y hace otras tareas asociadas con alistar el sistema para servicios de host. c. Cuando rc.sysinit termina de ejecutar, init revisa el nivel de ejecucin por defecto en inittab y utiliza el script /etc/rc.d/rc para iniciar todos los servicios "S" en ese directorio de nivel de ejecucin (/etc/rc.d/rc3.d para nivel de ejecucin 3, por ejemplo). d. Por ltimo, cuando rc termina de ejecutar init, inicia 6 consolas virtuales y un gestor de pantalla X (si el sistema est en nivel de ejecucin 5) y solicita al usuario que inicie sesin. Aunque este proceso puede parecer complicado, si usted sabe lo que busca, es fcil decir dnde se inicia y se detiene cada parte. Mientras el kernel carga todo lo que usted

14

Troubleshooting ve es texto gris en negro. Cuando rc.sysinit ejecuta, usted comienza a ver estados de actualizaciones verdes "[ OK ]" (como tambin el rojo en ocasiones "[ FAILED ]") al final de cada lnea. En un cierto momento el mensaje visualiza: "Entering noninteractive startup". Esto seala la transicin desde rc.sysinit hasta rc. Notar en este momento que los servicios han cambiado de los componentes de nivel inferior como RAID, LVM y cuotas, a servicios de nivel superior como httpd, sendmail y nfs. Saber dnde se presenta el problema en la secuencia de arranque, puede ser muy til en el seguimiento de la causa de root. Por ejemplo, si el problema se presenta antes de que rc.sysinit logre ejecutar, sabemos de inmediato que no necesitamos revisar los servicios o incluso las particiones adems de la particin root porque ellos se actualizan hasta despus de que rc.sysinit termine. Diagnstico y solucin de problemas de niveles de ejecucin Cuando el problema es tan grave que no permite arrancar el sistema o iniciar sesin a los usuarios, hay dos niveles de ejecucin muy importantes que pueden ayudar. Estos son llamados "modo monousuario" y "modo de emergencia". Modo de emergencia En modo de emergencia, el proceso de arranque es bastante simplificado. Una vez el kernel es cargado, se le solicita al usuario su contrasea de root. Si la contrasea es correcta, se crea una shell root y se deja al usuario hacer el resto. Debido a que rc.sysinit no ejecuta, no monta ninguna particin aparte de la particin root y no inicia ningn servicio de nivel inferior. Como rc no ejecuta, no se inicia servicios de nivel superior. Evidentemente, este no es un nivel de ejecucin de uso diario. Sin embargo, como omite tanto del proceso de arranque, hay slo unas pocas cosas para entrar en el modo de emergencia:

Debe haber un gestor de arranque presente para cargar el kernel. Debe haber un kernel presente para cargar. La particin root debe ser montable. El archivo /etc/passwd debe estar intacto. El comando /sbin/sulogin (y sus bibliotecas asociadas) deben estar disponibles para solicitar la contrasea. El usuario debe tener la contrasea correcta. Debe haber una shell de trabajo para el usuario autenticado.

Comparado con el nmero de elementos implicados en un arranque normal, sta es una lista relativamente corta. Si usted puede entrar un modo de emergencia, entonces sabr que ninguno de estos es el culpable y puede comenzar a resolver problemas de otros elementos del sistema (probablemente iniciar con rc.sysinit y rc). Si no puede, entonces ha reducido significativamente el campo de su investigacin. El modo de emergencia es introducido al pasar argumentos al kernel a travs de su gestor de arranque. Cuando el men de GRUB aparece, elija el kernel que desea

15

Troubleshooting arrancar y presione "a" para agregar a la lnea de comando de kernel. Agregue un nuevo argumento, "emergency", y presione enter para arrancar. (Tambin recuerde que init por s mismo puede ser omitido al pasar el parmetro de arranque de kernel init=/bin/sh - no root password needed!) Modo monousuario En modo monousuario, el sistema carga el kernel, ejecuta rc.sysinit y luego enva al usuario a una shell de root, omitiendo toda la autenticacin. Dependiendo de cmo es llamado, el modo monousuario tambin puede ejecutar scripts de inicializacin en el directorio /etc/rc.d/rc1.d/ (ms adelante ampliaremos este tema). El modo monousuario puede ser muy til en el caso de que la contrasea de root se pierda, el archivo passwd se dae o suceda otra cosa que impida al usuario iniciar sesin. Puede utilizarse tambin para omitir los servicios de nivel superior como apache, sendmail y nfs. El modo monousuario se introduce de forma similar al modo de emergencia, a travs del gestor de arranque. En el men de GRUB, seleccione el kernel que desea arrancar y presione "a" para aadir argumentos de kernel. Si aade el nmero "1", entonces su sistema entrar en modo monousuario y ejecutar los scripts de inicializacin en /etc/rc.d/rc1.d. Si usted aade la letra "s" (o "S") entonces su sistema entrar en modo monousuario y no se iniciarn servicios de nivel superior. Tenga en cuenta que, como el modo monousuario permite el control del sistema sin requerir contrasea, se pueden presentar serios problemas de seguridad a menos que se tenga la precaucin adecuada. El acceso fsico a mquinas sensibles debe restringirse a slo aquellos que lo necesiten y el gestor de arranque siempre debe tener contrasea protegida. Recuerde que proteger a GRUB con una contrasea no evita que otros sistemas inicien normalmente, slo evita que usuarios no autorizados pasen argumentos de kernel adicionales. Con el fin de cargar, el modo monousuario requiere todo lo que el modo de emergencia hace (kernel, shell, etc) a excepcin del archivo leble passwd y del ejecutable sulogin. Comparacin de niveles de ejecucin especial Puede aprender mucho sobre el problema que se presenta en su sistema al ver cules de estos niveles de ejecucin especiales se pueden introducir. Por ejemplo, si puede introducir un modo monousuario pero no un modo de emergencia, es casi seguro que el problema tenga que ver con un componente de su mecanismo de autenticacin del sistema. Si usted puede especificar el modo emergencia, pero no el modo monousuario, el problema probablemente est en rc.sysinit o algo que ste llame, porque rc.sysinit ejecuta en modo monousuario, pero no en modo de emergencia. Si usted no puede arrancar en ningn nivel de ejecucin, el problema debe radicar en algo que tengan en comn: el gestor de arranque, la particin de root, el kernel o la shell.

16

Troubleshooting Ejemplos Recobrar desde una contrasea de root olvidada El administrador instal una mquina que fue configurada en un apuro y luego olvidada. Tres semanas ms tarde, al arrancar la mquina, el administrador se da cuenta que no tiene idea para qu estableci la contrasea. El administrador reinicia rpidamente con CONTROL-ALT-DELETE y en el men de GRUB presiona a (para "aadir"). GRUB responde con el siguiente aviso, en el que el administrador aade un "1" y presiona ENTER.
grub append> ro root=LABEL=/ 1

El sistema procede a cargar el kernel, inicia /sbin/init, ejecuta /etc/rc.d/rc.sysinit, y despus de entrar al nivel de ejecucin 1, lleva al administrador a una shell de root. El administrador establece la contrasea de root a un valor conocido y contina el proceso cambindose al nivel de ejecucin 5.
sh-2.05b# passwd Changing password for user root. New password: ******* Retype new password: ****** passwd: all authentication tokens updated successfully. sh-2.05b# init 5

Captulo 5 Recuperar sistemas que utilizan el entorno de rescate Conceptos clave

Cuando un sistema de no-arranque no puede hallar el gestor de arranque ni la imagen de kernel apropiada o no puede montar el sistema de archivos de root, se requiere un medio de arranque alterno. Un disquete de arranque puede ser creado con el comando mkbootdisk. El disquete de arranque contiene un gestor de arranque y una imagen de kernel, pero hace referencia a la particin root del disco duro. El entorno de rescate de Red Hat Enterprise Linux se puede iniciar desde el CD # 1 de la distribucin de Red Hat Enterprise Linux. El entorno de rescate se especifica aadiendo el parmetro de arranque rescue a la lnea de comandos del gestor de arranque del instalador. El entorno de rescate utiliza su propia imagen de sistema de archivos root, montado como un disco RAM. De esta manera, se puede iniciar una shell de rescate sin nunca haber tocado el disco duro de un sistema. Despus de arrancar, el entorno de rescate de Red Hat Enterprise intenta reconstruir el sistema del disco duro bajo el punto de montaje /mnt/sysimage. Si todo sale bien, al iniciar un cambio de shell de root (con /mnt/sysimage como el nuevo directorio de root) se produce un entorno muy parecido a un sistema de arranque normal.

17

Troubleshooting Los peores casos Como se ilustr en la leccin anterior, el gestor de arranque GRUB es una herramienta muy til para resolver problemas en un sistema de no-arranque. La mayora de problemas se pueden resolver con slo reiniciar la mquina y modificar la configuracin de GRUB sobre la marcha. Infortunadamente, hay tres situaciones en las que GRUB no es til.

El gestor de arranque est daado o falta. Naturalmente, cuando GRUB mismo est mal instalado, daado, o perdido, ste no se puede utilizar para solucionar el problema. El kernel est daado o perdido. La primera tarea del gestor de arranque es hallar y cargar el kernel. Si la nica imagen de kernel disponible (/boot/vmlinuz-versin) o alguno de sus archivos de soporte como por ejemplo, una imagen de disco RAM (/boot/initrd-versin.img), estn perdidos o daados, entonces GRUB no ser til. La particin root es inutilizable. Si la particin root est daada hasta el punto de que no puede ser montada por el kernel, GRUB no es til.

En estas situaciones, un administrador necesita recurrir a otros medios de arranque para iniciar el sistema. Afortunadamente, hay dos formas de ayuda disponibles. Disquetes de arranque Un administrador puede crear un disquete de arranque con el comando mkbootdisk. Cuando es llamado con una versin de kernel como su nico argumento (obligatorio), ste crea un disquete que puede ser utilizado para arrancar el sistema.
[root@station root]# mkbootdisk 2.4.21-4.EL Insert a disk in /dev/fd0. Any information on the disk will be lost. Press <Enter> to continue or ^C to abort: 20+0 records in 20+0 records out

Recordando el comando uname, la siguiente lnea sirve para crear un disco de arranque para el kernel que est ejecutndose actualmente.
[root@station root]# mkbootdisk $(uname -r)

Un examen del disquete resultante revela los siguientes componentes.


[root@station root]# mount /dev/fd0 /mnt/floppy/ [root@station root]# ls /mnt/floppy/ boot.msg initrd.img ldlinux.sys syslinux.cfg vmlinuz [root@station root]# cat /mnt/floppy/syslinux.cfg default linux prompt 1 display boot.msg timeout 100 label linux

18

Troubleshooting
kernel vmlinuz append initrd=initrd.img ro root=/dev/hda2

El gestor de arranque SYSLINUX. El gestor de arranque syslinux tiene la misma funcin de GRUB, pero es mucho mas sencilla y pequea. La imagen de kernel. Una referencia a la particin root adecuada. Para utilizar el disquete de arranque, reinicie la mquina con el disquete en el controlador (posiblemente modificando BIOS para incorporar el disquete en la lista de dispositivos de arranque). Las siguientes acciones deben ocurrir. 1. El gestor SYSLINUX carga y brinda al administrador la oportunidad de omitir los parmetros por defecto del tiempo de carga del kernel. 2. Despus de unos 10 segundos (suponiendo que los parmetros por defecto no fueron modificados), el gestor de carga cargar la imagen de kernel. 3. Cuando el kernel est listo para arrancar el sistema de archivos, ste montar la particin root a la que se hace referencia (/dev/hda2 en la muestra anterior) desde el disco duro. 4. El arranque del sistema contina utilizando el sistema de archivos de root montado para lanzar el primer proceso (probablemente /sbin/init). En este punto el sistema debe seguir su proceso de arranque normal. Suponiendo que todo est en orden, el sistema debe arrancar a un estado de funcionamiento total. De hecho, una vez que arranca el sistema, hay slo un aspecto del sistema que difiere de cuando el sistema inicia directamente desde el disco duro. Qu es? La respuesta se encuentra a continuacin: Rastreando los pasos listados anteriormente, cul de los siguientes escenarios problemticos superar un disquete de arranque? Table 1. Problemas de arranque superados por el disquete de arranque Problema missing/mangled bootloader missing/mangled kernel particin root inutilizable El archivo de configuracin del ncleo est mal configurado Efectivo? si si no Comentario El disquete proporciona su propio gestor de arranque El disquete proporciona su propio kernel El kernel intenta montar la particin root fuera del disco duro. Puesto que el kernel est utilizando la particin root fuera del disco duro, se encontrar el mismo archivo mal configurado.

no

Un disquete de arranque no resuelve todos los problemas, pero los que puede resolver los resuelve con facilidad. De hecho, hemos tenido el cuidado de no llamarlo de

19

Troubleshooting "emergencia", porque en algunas situaciones el procedimiento normal de arranque es iniciar el sistema de Linux desde un disquete (por lo general, cuando otro gestor de arranque debe ser preservado en el disco duro). No obstante, la mayor desventaja del disquete de arranque es que raras veces el administrador tiene la previsin de crear uno. Respuesta a la Pregunta: La imagen de kernel es la nica diferencia entre un sistema iniciado correctamente desde un disquete de arranque y otro iniciado correctamente desde el disco duro. Todos los componentes "visibles" del sistema deben ser idnticos. Entorno de rescate El entorno de rescate de Red Hat Enterprise Linux es un sistema operativo provisto por el instalador Anaconda que arranca sin siquiera haber tocado el disco duro. Para lograr esto, el entorno de rescate provee su propio gestor de arranque, su imagen de kernel y algo muy importante, su propia imagen de sistema de archivos de root. Cundo utilizar el entorno de rescate El entorno de rescate es primordialmente til para los dos tipos de problemas siguientes:

Una particin root daada. Cuando la particin root no est disponible, se debe proporcionar una particin root alterna. El entorno de rescate es su nica alternativa. Un gestor de arranque o kernel daados. En esencia, los problemas que un disquete de arranque habra resuelto trivialmente, si fue precavido de crear uno. Pero probablemente no lo hizo.

Cmo utilizar el entorno de rescate El entorno de rescate es provisto por el CD # 1 de la distribucin de Red Hat Enterprise Linux. El entorno de rescate se inicia exactamente como se iniciara la instalacin de Red Hat Enterprise Linux, excepto que la palabra clave rescue es provista como parmetro de tiempo de carga en el intrprete de arranque del instalador. (Recuerde que cada vez que un parmetro se pasa al instalador, la lnea debe iniciar con la palabra clave linux.)
arranque: rescate Linux

El instalador avanzar como si iniciara una instalacin, solicitando la asignacin apropiada del idioma y del teclado. No obstante, cuando llega el momento de cargar la segunda etapa del instalador, el entorno de rescate es cargado en su lugar. Cuando entra al entorno de rescate, se hacen dos preguntas.

20

Troubleshooting 1. Quiere iniciar interfaces de red? Si usted quisiera utilizar los recursos desde la red (tales como un sistema de archivos NFS, o FTP algn archivo), entonces debe especificar su configuracin de red, mediante DHCP o manualmente, proporcionando la informacin necesaria. La configuracin de red es utilizada nicamente para esta sesin de entorno de rescate. 2. Quiere reconstruir automticamente su sistema de archivos? Por defecto, el entorno de rescate intentar reconstruir su sistema de archivos bajo el punto de montaje /mnt/sysimage. Usted puede modificar para que el sistema de archivos sea montado de slo lectura, o que el entorno de rescate no intente reconstruirlo todo. Recuerde que probablemente usted est en el entorno de rescate por alguna razn. Si su particin root no se puede montar, entonces el intento de reconstruir su sistema de archivos probablemente fallar. Una vez se haya dado respuesta a estas preguntas, usted entrar en la shell de rescate. El sistema de archivos del entorno de rescate Recuerde que el entorno de rescate proporciona su propia imagen de sistema de archivos de root, lo cual puede ser confuso para las personas que no estn familiarizadas con la shell de rescate. Para ayudar a entender este sistema de archivos de root, comenzamos suponiendo que usted eligi no reconstruir automticamente su sistema de disco duro despus de entrar al entorno de rescate. En este caso, despus de entrar la shell de rescate, el comando df entregar lo siguiente:
sh-2.05b# df Filesystem rootfs /dev/root.old /tmp/cdrom 1K-blocks 6120 6120 143360 Used Available Use% 2464 3306 43% 2464 3306 43% 143360 0 100% Mounted on / / /mnt/source

La particin root est provista de un dispositivo llamado rootfs, el cual es la imagen del sistema de archivos montada desde un disco RAM en memoria (no en el disco duro!) El CD # 1 de Red Hat Enterprise Linux utilizado para arrancar el entorno de rescate es montado en /mnt/source. Figure 1. El entorno de rescate de Red Hat Enterprise Linux

21

Troubleshooting

Si elige montar automticamente el sistema de archivos de disco duro y el entorno de rescate tiene xito, se hallar bajo el punto de montaje /mnt/sysimage. El comando df entregara algo parecido a lo siguiente:
sh-2.05b# df Filesystem rootfs /dev/root.old /tmp/cdrom /dev/hda2 /dev/hda1 /mnt/sysimage/boot /dev/hda5 /mnt/sysimage/home /dev/hda6 /mnt/sysimage/var 1K-blocks 6120 6120 143360 8254272 124427 4128320 14428456 Used Available Use% Mounted on 2615 3155 46% / 2615 3155 46% / 143360 0 100% /mnt/source 2961928 4873048 38% /mnt/sysimage 9230 108773 8% 2480452 9309732 1438080 4385784 64% 68%

La particin root ha sido montada en /mnt/sysimage y las particiones restantes han sido montadas en el contexto de esa particin de root. Figure 2. Un sistema de archivos de disco montado bajo /mnt/sysimage

22

Troubleshooting

En este punto, usted es libre de indagar y resolver problemas. Mientras prosigue, tenga en cuenta que ahora hay dos versiones de los archivos ms comunes de Linux: uno perteneciente al entorno de rescate y otro al disco duro. Si /etc/passwd no le es familiar, pruebe con /mnt/sysimage/etc/passwd en su lugar. Uso de cambio de shell de root: chroot /mnt/sysimage Con el fin de recuperar un entorno ms conocido, muchos administradores prefieren ejecutar chroot a su disco duro montado. El comando chroot inicia una nueva shell, donde la nueva shell trata al directorio especificado como el nuevo directorio raiz.
sh-2.05b# chroot /mnt/sysimage sh-2.05b#

Aunque la nueva shell no parece de inmediato diferente, sta reside en el contexto de su sistema de archivos y ha dejado atrs el sistema de archivos de entorno de rescate montado. Observe cmo ha cambiado la salida del comando df.
sh-2.05b# df Filesystem /dev/hda2 /dev/hda1 1K-blocks 8254272 124427 Used Available Use% Mounted on 2961928 4873048 38% / 9230 108773 8% /boot

23

Troubleshooting
/dev/hda5 /dev/hda6 4128320 14428456 2480452 9309732 1438080 4385784 64% /home 68% /var

Figure 1. Un comando de shell chroot ejecutado en el entorno de rescate.

Usted debe poder ejecutar desde el interior de la shell de rescate de la misma forma que lo hara dentro de un sistema que ha sido arrancado normalmente. No obstante, observe que todo lo que se deja dentro del sistema de archivos del entorno de rescate no est disponible ahora. Cmo abandona usted el cambio de entorno de root? Salga de la shell sometida a chroot.
sh-2.05b# exit exit sh-2.05b# df Filesystem rootfs /dev/root.old /tmp/cdrom /dev/hda2 /dev/hda1 /mnt/sysimage/boot

1K-blocks 6120 6120 143360 8254272 124427

Used Available Use% Mounted on 2615 3155 46% / 2615 3155 46% / 143360 0 100% /mnt/source 2961928 4873048 38% /mnt/sysimage 9230 108773 8%

24

Troubleshooting
/dev/hda5 /mnt/sysimage/home /dev/hda6 /mnt/sysimage/var 4128320 14428456 2480452 9309732 1438080 4385784 64% 68%

Usted est otra vez en la shell de entorno de rescate. Qu sucede si usted vuelve a salir?
sh-2.05b# exit exit Sending termination signals... done. Sending kill signals... done. ... Rebooting the system.

El juego ha terminado. Cuando sale de su shell original de rescate, el sistema automticamente reinicia. Necesitar reiniciar el entorno de rescate para recobrarla. Funcionamiento dentro del entorno de rescate El entorno de rescate proporciona un puado de las utilidades ms requeridas para realizar un trabajo de rescate. A continuacin se listan las utilidades disponibles dentro del entorno de rescate mismo (y por lo tanto son utilizables incluso cuando su sistema de archivos del disco duro no lo est).

Editores de texto: vi, emacs, joe, pico, less, ... Mantenimiento del sistema de archivos: fdisk, fsck, mkfs, mkswap, tune2fs, badblocks, ... Mantenimiento de RAID/LVM: mkraid, pvcreate, lvdisplay, ... Configuracin de red y clientes: ifconfig, ping, ssh, ftp, wget, NFS mounts, ... Comandos de manipulacin de archivo: rpm, tar, cpio, dd, chmod, ...

Aunque puede que usted no tenga todo lo que desea, seguramente tendr un conjunto robusto de herramientas. El cliente ssh es particularmente til para obtener archivos dentro o fuera del entorno de rescate. Aunque el editor de texto nano no est disponible, su pariente cercano pico lo est. Si su disco duro que ha vuelto a montar est disponible, usted tiene an ms. Usted siempre tendr la libertad de operar ejecutables desde l directamente.
sh-2.05b# /mnt/sysimage/usr/bin/nano -w /mnt/sysimage/etc/fstab

O si se cansa de teclear /mnt/sysimage..., inicie un cambio de shell de root. Resumen de herramientas de localizacin y solucin de problemas de arranque En sntesis, listamos algunas situaciones problemticas y las herramientas ms tiles en la localizacin y resolucin del problema.

25

Troubleshooting Table 1. Herramientas apropiadas para configuraciones problemticas Situacin Particin root que no se puede montar kernel no utilizable gestor de arranque inutilizable particin root mal especificada (montaje de kernel) Herramienta apropiada entorno de rescate entorno de rescate, disquete de arranque entorno de rescate, disquete de arranque editar GRUB: (specificar particin apropiada)

archivo de configuracin mal configurado utilizado aadir GRUB: emergencia (o por rc.sysinit init=/bin/sh) particin root mal especificada (rc.sysinit remount) aadir GRUB: emergencia (o init=/bin/sh)

archivo de configuracin mal configurado utilizado Aadir GRUB: 1 (o "s") por scripts de servicio autenticacin mal configurada (o contrasea de root Aadir GRUB: 1 (o "s") perdida) Observe que la particin root debe especificar consistentemente dos sitios diferentes. Una vez que est en /boot/grub/grub.conf (el kernel puede montarlo de slo lectura), y cuando est en /etc/fstab (rc.sysinit puede volverlo a montar delectura y escritura). Cules son los archivos de configuracin utilizados por rc.sysinit? Los archivos ms editados incluyen los archivos /etc/fstab y /etc/raidtab, mientras que los archivos menos editados incluyen al mismo /etc/rc.d/rc.sysinit y el archivo /etc/inittab responsable de iniciarlo. Aunque esta leccin ocupa bastante tiempo discutiendo el entorno de rescate, hacemos hincapi en que hay slo algunas situaciones en que ste realmente se necesita. No olvide la flexibilidad de GRUB para localizar y solucionar problemas de un sistema de no-arranque. Ejemplos Reinstalacin de un kernel perdido Un administrador novato accidentalmente borr el archivo /boot/vmlinuz-2.4.214.EL y agrav el problema al reiniciar la mquina. Tras el arranque, GRUB, expidi el siguiente mensaje problemtico:
... kernel /vmlinuz-2.4.21-4.EL ro root=LABEL=/ Error 15: File not found

26

Troubleshooting
Press any key to continue...

Al darse cuenta del error, dese haber tenido un disquete desde el cual simplemente habra podido reiniciar la mquina e instalar el nuevo kernel. Sin embargo, al no haber previsto la creacin de un disquete de arranque, decide utilizar el entorno de rescate de Red Hat Linux Enterprise. El administrador reinicia la mquina con el CD #1 como el dispositivo de arranque. En el intrprete de arranque del instalador, especifica el modo de rescate.
arranque: rescate Linux

Despus de iniciar el entorno de rescate, el administrador pide que su interfaz de red sea configurada por DCHP y que su sistema se vuelva a montar. Cuando llega a la shell de rescate, primero ejecuta chroot en el disco duro.
sh-2.05b# chroot /mnt/sysimage

El administrador sabe que hay una distribucin de Red Hat Enterprise disponible por ftp annimo en el servidor server1, en el directorio /pub/es4. l tiliza el cliente FTP sencillo para descargar un archivo de paquete RPM de kernel y despes forzar la instalacin del paquete.
sh-2.05b# ftp server1 Connected to server1 (172.16.63.242). 220 (vsFTPd 1.2.0) Name (server1:root): anonymous 331 Please specify the password. Password: ******** 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> cd /pub/es4/RedHat/RPMS 250 Directory successfully changed. ftp> mget kernel-2*.i686.rpm mget kernel-2.4.21-4.EL.i686.rpm? y 227 Entering Passive Mode (172,16,63,242,242,147) 150 Opening BINARY mode data connection for kernel-2.4.214.EL.i686.rpm (7159467 bytes). 226 File send OK. 7159467 bytes received in 0.624 secs (1.1e+04 Kbytes/sec) ftp> quit 221 Goodbye. sh-2.05b# rpm -ihv --force kernel-2.4.21-4.EL.i686.rpm Preparing... ########################################### [100%] 1:kernel ########################################### [100%]

Observando rpidamente en /boot, confirma que el nuevo kernel est presente.


sh-2.05b# ls /boot config-2.4.21-4.EL lost+found System.map-2.4.21-4.EL

27

Troubleshooting
grub initrd-2.4.21-4.EL.img kernel.h message message.ja System.map vmlinux-2.4.21-4.EL vmlinuz-2.4.21-4.EL

Satisfecho, sale del cambio de shell de root y luego del entorno de rescate. Tras reiniciar, GRUB encuentra el nuevo kernel. Captulo 6 Scripts de Red Hat Academy para localizacin y solucin de problemas Los ejercicios para este cuaderno no se implementan a travs de la aplicacin de red de Red Hat Academy, sino en su lugar, como scripts instalados en su mquina local. Los scripts no se "califican", sino se ofrecen como una experiencia de aprendizaje. Instalacin de scripts para localizacin y solucin de problemas Los scripts de localizacin y solucin de problemas estn incorporados en los archivos de paquete RPM rha-ts en el directorio http://rha-server/pub/rha/rha130/ts/. Como root, descargue e instale este paquete RPM, luego cierre y vuelva a iniciar sesin. Si por alguna razn su mquina est vinculada a un dominio NIS para autenticacin de usuario, debe desvincularla del dominio. Querr tener un CD #1 de la instalacin de Red Hat Enterprise disponible. Uso de los scripts de localizacin y solucin de problemas Cada uno de los scripts de localizacin y solucin de problemas daan o configuran mal su mquina y luego lo dejan con una instruccin simple tal como "la mquina se debe arrancar sin errores". Su tarea es diagnosticar el problema e implementar la solucin, de tal modo que las condiciones especificadas se cumplan. La localizacin y solucin de problemas entra en una de las tres categoras siguientes. El cuadro a continuacin muestra las categoras y el nmero de problemas en cada categora. Table 1. Categoras de scripts de localizacin y solucin de problemas Categora Nmero de problemas local network boot 4 1 3

El paquete rha-ts proporciona los siguientes comandos: Table 2. Comandos de Red Hat Academy para localizacin y solucin de problemas

28

Troubleshooting Comando
tslocal problemnum tsnetwork problemnum tsboot problemnum tshint categora problemnum hintnum tslesson categora problemnum

Uso Implementa el nmero del problema problemnum desde la categora local. Implementa el nmero del problema problemnum desde la categora de red. Implementa el nmero de problema problemnum desde la categora de arranque. Muestra el nmero de ayuda hintnum para el problema de categora nmero problemnum. Muestra un resumen final de las lecciones reforzadas para el problema de categora nmero problemnum.

Una muestra de sesin de localizacin y solucin de problemas Primero, el problema es implementado mediante el comando apropiado (tsboot, tslocal, o tsnetwork).
[root@station root]# tslocal 1 Setting up problem 1 of 4 . . . Instructions for problem 1: Begin at runlevel 3 with the X server down. X fails to start on this system. Discover why and fix it. done. Fix the local problem.

Ahora que el problema se ha implementado, su tarea es depurar y solucionar el problema. Si olvid el rea del problema, tambin est almacenada en el archivo /etc/ts. Por el camino, se puede utilizar el comando tshint para ver progresivamente ms informacin de ayuda. El siguiente comando muestra la ayuda nmero 2 para el problema de categora local nmero 1.
[root@station root]# tshint local 1 2 Troubleshooting Hints Hint 2 for local problem 1 The X server marks error messages in its output with the characters "(EE)". Any lines so marked should be noted.

29

Troubleshooting Evidentemente, su mquina debe mostrar ayudas. Para la categora de arranque, ste puede no ser el caso. Por ltimo, un resumen de la leccin a aprender de este caso puede visualizarse con el comando tslesson.
[root@station root]# tslesson local 1 Troubleshooting Lessons Lesson for local problem 1 The X server spews out many lines of error messages (which are also placed in /var/log/xorg.0.log). This has several implications, summarized in the lessons below. Lessons: ... The more familiar you are with X server

Usted debe ahora iniciar con el primer problema local, mediante tslocal 1 y seguir con el resto. Divirtase!

Vous aimerez peut-être aussi