Вы находитесь на странице: 1из 29

Troubleshooting

1
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. Catlogo de sntomas.
2. Listar los componentes del sistema relacionados con estos sntomas.
3. Desde la lista de componentes, determinar el posible alcance del problema.
4. Idear una serie de pruebas para que cada una verifique si cada componente
especfico est funcionando correctamente.
5. Mediante estas pruebas, reducir el campo a uno o dos orgenes posibles.
6. Suponer que uno de esos dos es el problema y desarrollar una solucin posible.
7. Implementar la solucin.
8. Ensayar la solucin. Si falla, tratar de suponer otra posible causa o iniciar de
nuevo el proceso.
9. 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
2
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
/ et c 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 / l og/ 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 / l og.
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
3
Table 1. Archivos de registro comunes de Red Hat Enterprise Linux
Nombre de archivo Sistemas pertinentes
/ var / l og/ messages
Mensajes de kernel, scripts de servicio,
demonios generales, autenticacin.
/ var / l og/ secur e
sshd, autenticacin
/ var / l og/ boot . l og
scripts de servicio
/ var / l og/ cr on
El demonio crond
/ var / l og/ cups/ {access, er r or }_l og
El demonio cupsd
/ var / l og/ mai l l og
Servicios de correo electrnico
/ var / l og/ xor g. pantalla. l og
El servidor X
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, / t mp, y / var / t mp.
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 / mai l (o
impedir a un administrador la lectura de los archivos en / var / l og).
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
4
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 servidores X dependen de un archivo de configuracin
/ et c/ X11/ xor g. conf correctamente configurado.
El arranque X puede estar mal configurado por cualquiera de los siguientes
archivos en un directorio de inicio de usuario: ~/ . xi ni t r c, ~/ . xsessi on, o
~/ . Xcl i ent s.
Tras el arranque el servidor se registra en error estndar y luego en el archivo
/ var / l og/ xor g. 0. l og (donde 0 es el nmero de pantalla del servidor X).
El demonio xfs debe estar ejecutndose para iniciar un servidor X.
Los directorios llenos / t mp o / home pueden evitar que el servidor X inicie.
Cambiar una configuracin de red del sistema puede interferir con un servidor X
ejecutndose actualmente.
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
. xi ni t r c, . xsessi on o . Xcl i ent s 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 / l og/ xor g. 0. l og (el nmero 0 se refiere al nmero de pantallla del servidor X).
Observe a continuacin el extracto de un archivo de registro X:
Troubleshooting
5
( I I ) RADEON( 0) : Accel er at i on enabl ed
( ==) RADEON( 0) : Backi ng st or e di sabl ed
( ==) RADEON( 0) : Si l ken mouse enabl ed
( I I ) RADEON( 0) : Usi ng har dwar e cur sor ( scanl i ne 770)
( I I ) RADEON( 0) : Lar gest of f scr een ar ea avai l abl e: 1024 x 3322
( **) Opt i on " dpms"
( **) RADEON( 0) : DPMS enabl ed
( I I ) RADEON( 0) : X cont ext handl e = 0x00000001
( I I ) RADEON( 0) : [ dr m] i nst al l ed DRM si gnal handl er
( I I ) RADEON( 0) : [ DRI ] i nst al l at i on compl et e
( I I ) RADEON( 0) : [ dr m] Added 32 65536 byt e ver t ex/ i ndi r ect buf f er s
( I I ) RADEON( 0) : [ dr m] Mapped 32 ver t ex/ i ndi r ect buf f er s
( I I ) RADEON( 0) : [ dr m] dma cont r ol i ni t i al i zed, usi ng I RQ 11
( I I ) RADEON( 0) : [ dr m] I ni t i al i zed ker nel agp heap manager , 5111808
( I I ) RADEON( 0) : Di r ect r ender i ng enabl ed
( ==) RandR enabl ed
( I I ) I ni t i al i zi ng bui l t - i n ext ensi on MI T- SHM
( I I ) I ni t i al i zi ng bui l t - i n ext ensi on XI nput Ext ensi on
( I I ) I ni t i al i zi ng bui l t - i n ext ensi on XTEST
( I I ) I ni t i al i zi ng bui l t - i n ext ensi on XKEYBOARD
( I I ) I ni t i al i zi ng bui l t - i n ext ensi on LBX
( I I ) I ni t i al i zi ng bui l t - i n ext ensi on XC- APPGROUP
( I I ) I ni t i al i zi ng bui l t - i n ext ensi on SECURI TY
( I I ) I ni t i al i zi ng bui l t - i n ext ensi on XI NERAMA
( I I ) I ni t i al i zi ng bui l t - i n ext ensi on xor g- Bi gf ont
( I I ) I ni t i al i zi ng bui l t - i n ext ensi on RENDER
( I I ) I ni t i al i zi ng bui l t - i n ext ensi on RANDR
( **) Opt i on " Pr ot ocol " " PS/ 2"
( **) Mouse0: Pr ot ocol : " PS/ 2"
( **) Opt i on " Cor ePoi nt er "
( **) Mouse0: Cor e Poi nt er
( **) Opt i on " Devi ce" " / dev/ psaux"
( **) Opt i on " Emul at e3But t ons" " yes"
( **) Mouse0: Emul at e3But t ons, Emul at e3Ti meout : 50
( **) Opt i on " ZAxi sMappi ng" " 4 5"
( **) Mouse0: ZAxi sMappi ng: but t ons 4 and 5
( **) Mouse0: But t ons: 5
( I I ) Keyboar d " Keyboar d0" handl ed by l egacy dr i ver
( **) Opt i on " Pr ot ocol " " I MPS/ 2"
( **) DevI nput Mi ce: Pr ot ocol : " I MPS/ 2"
( **) Opt i on " Al waysCor e"
( **) DevI nput Mi ce: al ways r epor t s cor e event s
( **) Opt i on " Devi ce" " / dev/ i nput / mi ce"
( **) Opt i on " Emul at e3But t ons" " no"
( **) Opt i on " ZAxi sMappi ng" " 4 5"
( **) DevI nput Mi ce: ZAxi sMappi ng: but t ons 4 and 5
( **) DevI nput Mi ce: But t ons: 5
( I I ) XI NPUT: Addi ng ext ended i nput devi ce " DevI nput Mi ce" ( t ype: MOUSE)
( I I ) XI NPUT: Addi ng ext ended i nput devi ce " Mouse0" ( t ype: MOUSE)
( I I ) Mouse0: ps2Enabl eDat aRepor t i ng: succeeded
( I I ) DevI nput Mi ce: ps2Enabl eDat aRepor t i ng: 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
6
estas combinaciones de caracteres siempre aparece cerca del la parte superior de la
salida de X:
Mar cador es: ( - - ) sondeado, ( **) del ar chi vo de conf i gur aci n, ( ==)
conf i gur aci n pr edet er mi nada,
( ++) de l a l nea de comandos, ( ! ! ) anunci o, ( I I ) i nf or mat i vo,
( WW) adver t enci a, ( EE) er r or , ( NI ) no i mpl ement ado, ( ??) desconoci do.
( ==) ar chi vo de r egi st r o: " / var / l og/ xor g. 0. l og" , Hor a: Mar t es Mayo 4
18: 11: 28 2004
( ==) Usando el ar chi vo de conf i gur aci n: " / et c/ X11/ xor g. 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 / t mp 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
7
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:
Coul d not i ni t f ont pat h el ement uni x/ : 7100, r emovi ng f r oml i st !

Fat al ser ver er r or :
coul d not open def aul t f ont ' f i xed'
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 Font Pat h en / et c/ X11/ xor g. 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
8
xf s i s st opped
Tratemos de corregir el problema iniciando xfs asegurndonos que ste se reinicie tras
el arranque:
[root@station root]# service xfs start
St ar t i ng xf s: [ OK ]
[root@station root]# chkconfig xfs on
[root@station root]# chkconfig --list xfs
xf s 0: of f 1: of f 2: on 3: on 4: on 5: on 6: of f
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
/ et c/ sysconf i g/ net wor k, / et c/ sysconf i g/ net wor k- scr i pt s/ i f cf g-
ifname, / et c/ r esol v. conf , y / et c/ host s.
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. El problema est restringido a una aplicacin?
2. El problema est restringido a una mquina?
3. Se han afectado todas las mquinas en la subred?
4. Se han afectado todas las mquinas en la red?
5. 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
9
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
Troubleshooting
10
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
/ et c/ sysconf i g/ net wor k- scr i pt s/ i f cf g- *.
Las configuraciones de red global como la gateway predeterminada se
almacenan en / et c/ sysconf i g/ net wor k.
Las resoluciones dns estticas se listan en / et c/ host s y el servidor de nombre
para su mquina a utilizar se especifica en / et c/ r esol v. 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.
Troubleshooting
11
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
pi ng: unknown host www. googl e. 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
nameser ver 192. 168. 0. 200
El archivo r esol v. 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 : Net wor k i s unr eachabl e
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
Troubleshooting
12
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
DEVI CE=et h0
BOOTPROTO=st at i c
I PADDR=192. 168. 0. 6
NETMASK=255. 255. 255. 0
ONBOOT=yes
[user@station user]$ cat /etc/sysconfig/network
NETWORKI NG=yes
HOSTNAME=st at i on6. mynet wor k. 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 / et c/ sysconf i g/ net wor k. 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
Ker nel I P r out i ng t abl e
Dest i nat i on Gat eway Genmask Fl ags Met r i c Ref
Use I f ace
192. 168. 2. 0 0. 0. 0. 0 255. 255. 255. 0 U 0 0
0 et h0
127. 0. 0. 0 0. 0. 0. 0 255. 0. 0. 0 U 0 0
0 l o
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.
Troubleshooting
13
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 / et c/ i ni t t ab 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 / et c/ f st ab, 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 i ni t t ab y utiliza el script /etc/rc.d/rc para iniciar todos
los servicios "S" en ese directorio de nivel de ejecucin
(/ et c/ r c. d/ r c3. 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
Troubleshooting
14
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 non-
interactive 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 / et c/ 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
Troubleshooting
15
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 / et c/ r c. d/ r c1. 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
/ et c/ r c. d/ r c1. 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.
Troubleshooting
16
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.
gr ub append> r o r oot =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
Changi ng passwor d f or user r oot .
New passwor d: *******
Ret ype new passwor d: ******
passwd: al l aut hent i cat i on t okens updat ed successf ul l y.
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 / sysi mage.
Si todo sale bien, al iniciar un cambio de shell de root (con / mnt / sysi mage
como el nuevo directorio de root) se produce un entorno muy parecido a un
sistema de arranque normal.
Troubleshooting
17
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 / vml i nuz- versin) o alguno de sus archivos de soporte como por
ejemplo, una imagen de disco RAM (/ boot / i ni t r d- versin. i mg), 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
I nser t a di sk i n / dev/ f d0. Any i nf or mat i on on t he di sk wi l l be l ost .
Pr ess <Ent er > t o cont i nue or ^C t o abor t :
20+0 r ecor ds i n
20+0 r ecor ds 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 i ni t r d. i mg l dl i nux. sys sysl i nux. cf g vml i nuz
[root@station root]# cat /mnt/floppy/syslinux.cfg
def aul t l i nux
pr ompt 1
di spl ay boot . msg
t i meout 100
l abel l i nux
Troubleshooting
18
ker nel vml i nuz
append i ni t r d=i ni t r d. i mg r o r oot =/ 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 Efectivo? Comentario
missing/mangled bootloader si
El disquete proporciona su propio gestor de
arranque
missing/mangled kernel si El disquete proporciona su propio kernel
particin root inutilizable no
El kernel intenta montar la particin root
fuera del disco duro.
El archivo de configuracin
del ncleo est mal
configurado
no
Puesto que el kernel est utilizando la
particin root fuera del disco duro, se
encontrar el mismo archivo mal
configurado.
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
Troubleshooting
19
"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.)
ar r anque: 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.
Troubleshooting
20
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 / sysi mage. 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
Fi l esyst em 1K- bl ocks Used Avai l abl e Use%Mount ed on
r oot f s 6120 2464 3306 43%/
/ dev/ r oot . ol d 6120 2464 3306 43%/
/ t mp/ cdr om 143360 143360 0 100%/ mnt / sour ce

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 / sour ce.
Figure 1. El entorno de rescate de Red Hat Enterprise Linux
Troubleshooting
21

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 / sysi mage. El comando df
entregara algo parecido a lo siguiente:
sh-2.05b# df
Fi l esyst em 1K- bl ocks Used Avai l abl e Use%Mount ed on
r oot f s 6120 2615 3155 46%/
/ dev/ r oot . ol d 6120 2615 3155 46%/
/ t mp/ cdr om 143360 143360 0 100%/ mnt / sour ce
/ dev/ hda2 8254272 2961928 4873048 38%/ mnt / sysi mage
/ dev/ hda1 124427 9230 108773 8%
/ mnt / sysi mage/ boot
/ dev/ hda5 4128320 2480452 1438080 64%
/ mnt / sysi mage/ home
/ dev/ hda6 14428456 9309732 4385784 68%
/ mnt / sysi mage/ var
La particin root ha sido montada en / mnt / sysi mage 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
Troubleshooting
22

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 / et c/ passwd no le es
familiar, pruebe con / mnt / sysi mage/ et c/ 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
Fi l esyst em 1K- bl ocks Used Avai l abl e Use%Mount ed on
/ dev/ hda2 8254272 2961928 4873048 38%/
/ dev/ hda1 124427 9230 108773 8%/ boot
Troubleshooting
23
/ dev/ hda5 4128320 2480452 1438080 64%/ home
/ dev/ hda6 14428456 9309732 4385784 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
exi t
sh-2.05b# df
Fi l esyst em 1K- bl ocks Used Avai l abl e Use%Mount ed on
r oot f s 6120 2615 3155 46%/
/ dev/ r oot . ol d 6120 2615 3155 46%/
/ t mp/ cdr om 143360 143360 0 100%/ mnt / sour ce
/ dev/ hda2 8254272 2961928 4873048 38%/ mnt / sysi mage
/ dev/ hda1 124427 9230 108773 8%
/ mnt / sysi mage/ boot
Troubleshooting
24
/ dev/ hda5 4128320 2480452 1438080 64%
/ mnt / sysi mage/ home
/ dev/ hda6 14428456 9309732 4385784 68%
/ mnt / sysi mage/ var
Usted est otra vez en la shell de entorno de rescate. Qu sucede si usted vuelve a
salir?
sh-2.05b# exit
exi t
Sendi ng t er mi nat i on si gnal s. . . done.
Sendi ng ki l l si gnal s. . . done.
. . .

Reboot i ng t he syst em.
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 / sysi mage. . . , 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.
Troubleshooting
25
Table 1. Herramientas apropiadas para configuraciones problemticas
Situacin Herramienta apropiada
Particin root que no se puede montar entorno de rescate
kernel no utilizable
entorno de rescate, disquete de
arranque
gestor de arranque inutilizable
entorno de rescate, disquete de
arranque
particin root mal especificada (montaje de kernel)
editar GRUB: (specificar particin
apropiada)
archivo de configuracin mal configurado utilizado
por rc.sysinit
aadir GRUB: emergencia (o
init=/bin/sh)
particin root mal especificada (rc.sysinit remount)
aadir GRUB: emergencia (o
init=/bin/sh)
archivo de configuracin mal configurado utilizado
por scripts de servicio
Aadir GRUB: 1 (o "s")
autenticacin mal configurada (o contrasea de root
perdida)
Aadir GRUB: 1 (o "s")
Observe que la particin root debe especificar consistentemente dos sitios diferentes.
Una vez que est en / boot / gr ub/ gr ub. conf (el kernel puede montarlo de slo
lectura), y cuando est en / et c/ f st ab (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 / et c/ f st ab y / et c/ r ai dt ab, mientras
que los archivos menos editados incluyen al mismo / et c/ r c. d/ r c. sysi ni t y el
archivo / et c/ i ni t t ab 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 / vml i nuz- 2. 4. 21-
4. EL y agrav el problema al reiniciar la mquina. Tras el arranque, GRUB, expidi el
siguiente mensaje problemtico:
. . .

ker nel / vml i nuz- 2. 4. 21- 4. EL r o r oot =LABEL=/

Er r or 15: Fi l e not f ound
Troubleshooting
26

Pr ess any key t o cont i nue. . .
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.
ar r anque: 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
Connect ed t o ser ver 1 ( 172. 16. 63. 242) .
220 ( vsFTPd 1. 2. 0)
Name ( ser ver 1: r oot ) : anonymous
331 Pl ease speci f y t he passwor d.
Passwor d: ********
230 Logi n successf ul .
Remot e syst emt ype i s UNI X.
Usi ng bi nar y mode t o t r ansf er f i l es.
f t p> cd /pub/es4/RedHat/RPMS
250 Di r ect or y successf ul l y changed.
f t p> mget kernel-2*.i686.rpm
mget ker nel - 2. 4. 21- 4. EL. i 686. r pm? y
227 Ent er i ng Passi ve Mode ( 172, 16, 63, 242, 242, 147)
150 Openi ng BI NARY mode dat a connect i on f or ker nel - 2. 4. 21-
4. EL. i 686. r pm( 7159467 byt es) .
226 Fi l e send OK.
7159467 byt es r ecei ved i n 0. 624 secs ( 1. 1e+04 Kbyt es/ sec)
f t p> quit
221 Goodbye.
sh-2.05b# rpm -ihv --force kernel-2.4.21-4.EL.i686.rpm
Pr epar i ng. . .
########################################### [ 100%]
1: ker nel
########################################### [ 100%]
Observando rpidamente en / boot , confirma que el nuevo kernel est presente.
sh-2.05b# ls /boot
conf i g- 2. 4. 21- 4. EL l ost +f ound Syst em. map- 2. 4. 21- 4. EL
Troubleshooting
27
gr ub message vml i nux- 2. 4. 21- 4. EL
i ni t r d- 2. 4. 21- 4. EL. i mg message. j a vml i nuz- 2. 4. 21- 4. EL
ker nel . h Syst em. map
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 4
network 1
boot 3
El paquete rha-ts proporciona los siguientes comandos:
Table 2. Comandos de Red Hat Academy para localizacin y solucin de
problemas
Troubleshooting
28
Comando Uso
tslocal problemnum
Implementa el nmero del problema problemnum desde la
categora local.
tsnetwork problemnum
Implementa el nmero del problema problemnum desde la
categora de red.
tsboot problemnum
Implementa el nmero de problema problemnum desde la
categora de arranque.
tshint categora
problemnum hintnum
Muestra el nmero de ayuda hintnum para el problema de
categora nmero problemnum.
tslesson categora
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

Set t i ng up pr obl em1 of 4 . . .

I nst r uct i ons f or pr obl em1:

Begi n at r unl evel 3 wi t h t he X ser ver down.

X f ai l s t o st ar t on t hi s syst em. Di scover why
and f i x i t .

done.

Fi x t he l ocal pr obl em.
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
/ et c/ t s.
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

Tr oubl eshoot i ng Hi nt s
Hi nt 2 f or l ocal pr obl em1

The X ser ver mar ks er r or messages i n i t s out put wi t h t he
char act er s " ( EE) " . Any l i nes so mar ked shoul d be not ed.
Troubleshooting
29
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
Tr oubl eshoot i ng Lessons
Lesson f or l ocal pr obl em1

The X ser ver spews out many l i nes of er r or messages
( whi ch ar e al so pl aced i n / var / l og/ xor g. 0. l og) .
Thi s has sever al i mpl i cat i ons, summar i zed i n t he
l essons bel ow.

Lessons:

- The mor e f ami l i ar you ar e wi t h X ser ver
. . .
Usted debe ahora iniciar con el primer problema local, mediante tslocal 1 y seguir
con el resto.
Divirtase!

Вам также может понравиться