Omitir V�nculos de navegaci�n | |
Salir de la Vista de impresi�n | |
![]() |
Administración de Oracle Solaris: tareas comunes Oracle Solaris 11 Information Library (Español) |
1. Localización de información acerca de comandos de Oracle Solaris
2. Gestión de grupos y cuentas de usuario (descripción general)
3. Gestión de cuentas de usuario y grupos (tareas)
4. Inicio y cierre de un sistema Oracle Solaris
5. Trabajo con Oracle Configuration Manager
6. Gestión de servicios (descripción general)
7. Gestión de servicios (tareas)
9. Gestión de información del sistema (tareas)
10. Gestión de procesos del sistema (tareas)
11. Supervisión del rendimiento del sistema (tareas)
12. Gestión de paquetes de software (tareas)
13. Gestión del uso de discos (tareas)
14. Programación de tareas del sistema (tareas)
15. Configuración y administración de impresoras mediante CUPS (tareas)
16. Gestión de la consola del sistema, dispositivos del terminal y servicios de energía (tareas)
17. Gestión de información sobre la caída del sistema (tareas)
18. Gestión de archivos del núcleo central (tareas)
19. Resolución de problemas de software y sistemas (tareas)
Resolución de problemas por bloqueos del sistema
Qué hacer si el sistema se bloquea
Recopilación de datos sobre resolución de problemas
Lista de comprobación de resolución de problemas de bloqueo del sistema
Gestión de los mensajes del sistema
Visualización de los mensajes del sistema
Cómo ver los mensajes del sistema
Rotación del registro del sistema
Personalización del registro de mensajes del sistema
Cómo personalizar el registro de mensajes del sistema
Habilitación remota de mensajería de consola
Uso de mensajes de la consola auxiliar durante las transiciones de nivel de ejecución
Uso del comando consadm durante una sesión de inicio interactiva
Cómo habilitar una consola auxiliar (remota)
Cómo mostrar una lista de consolas auxiliares
Cómo habilitar la consola auxiliar (remota) en los reinicios del sistema
Resolución de problemas de acceso a archivos
Resolución de problemas con rutas de búsqueda ( Command not found)
Cómo diagnosticar y corregir problemas de ruta de búsqueda
Cambio de propiedades de grupo y archivo
Resolución de problemas de acceso a archivos
Detección de problemas con el acceso de red
20. Resolución de diversos problemas de software y sistemas (tareas)
En las siguientes secciones, se describen las funciones de mensajes del sistema en Oracle Solaris.
Los mensajes del sistema se muestran en el dispositivo de la consola. El texto de la mayoría de los mensajes del sistema se ve así:
[ID msgid facility. priority]
Por ejemplo:
[ID 672855 kern.notice] syncing file systems...
Si el mensaje se originó en el núcleo, se muestra el nombre del módulo del núcleo. Por ejemplo:
Oct 1 14:07:24 mars ufs: [ID 845546 kern.notice] alloc: /: file system full
Cuando se produce un bloqueo en el sistema, puede que aparezca un mensaje similar al siguiente en la consola del sistema:
panic: error message
En ocasiones, puede que aparezca el siguiente mensaje en lugar del mensaje de aviso grave:
Watchdog reset !
El daemon de registro de errores, syslogd, registra automáticamente los distintos errores y advertencias del sistema en los archivos de los mensajes. De manera predeterminada, muchos de estos mensajes del sistema se muestran en la consola del sistema y se almacenan en el directorio /var/adm. Puede establecer dónde se almacenan estos mensajes mediante la configuración del registro de mensajes del sistema. Para obtener más información, consulte Personalización del registro de mensajes del sistema. Estos mensajes pueden alertar sobre problemas del sistema, como si un dispositivo está a punto de fallar.
El directorio /var/adm contiene varios archivos de mensajes. Los mensajes más recientes están en el archivo /var/adm/messages (y en messages.*) y los más viejos están en el archivo messages.3. Cuando transcurre un tiempo (en general, cada diez días), se crea un nuevo archivo messages. El nombre del archivo messages.0 se cambia a messages.1, el de messages.1 se cambia a messages.2 y el de messages.2 se cambia a messages.3. El archivo actual /var/adm/messages.3 fue suprimido.
Dado que el directorio /var/adm almacena archivos grandes que contienen mensajes, volcados por caída y otros datos, este directorio puede consumir mucho espacio del disco. Para evitar que el directorio /var/adm alcance un tamaño excesivo, y a fin de garantizar que los futuros volcados por caída puedan guardarse, debe eliminar los archivos innecesarios con periodicidad. Puede automatizar esta tarea con el archivo crontab. Para obtener más información sobre la automatización de esta tarea, consulte Cómo suprimir archivos de volcado por caída y el Capítulo 14, Programación de tareas del sistema (tareas).
$ dmesg
Asimismo, utilice el comando more para visualizar una pantalla de mensajes por vez.
$ more /var/adm/messages
Ejemplo 19-1 Visualización de los mensajes del sistema
En el siguiente ejemplo, se muestra la salida del comando dmesg en un sistema Oracle Solaris 10.
$ dmesg Mon Sep 13 14:33:04 MDT 2010 Sep 13 11:06:16 sr1-ubrm-41 svc.startd[7]: [ID 122153 daemon.warning] ... Sep 13 11:12:55 sr1-ubrm-41 last message repeated 398 times Sep 13 11:12:56 sr1-ubrm-41 svc.startd[7]: [ID 122153 daemon.warning] ... Sep 13 11:15:16 sr1-ubrm-41 last message repeated 139 times Sep 13 11:15:16 sr1-ubrm-41 xscreensaver[25520]: ,,, Sep 13 11:15:16 sr1-ubrm-41 xscreensaver[25520]: ... Sep 13 11:15:17 sr1-ubrm-41 svc.startd[7]: [ID 122153 daemon.warning]... . . .
Véase también
Para obtener más información, consulte la página del comando man dmesg(1M).
Los archivos de registro del sistema se rotan con el comando logadm a partir de una entrada en el archivo root crontab. La secuencia de comandos /usr/lib/newsyslog ya no se utiliza.
La rotación del registro del sistema se define en el archivo /etc/logadm.conf. Este archivo incluye entradas de rotación de registro para procesos como syslogd. Por ejemplo, una entrada en el archivo /etc/logadm.conf especifica que el archivo /var/log/syslog se rota semanalmente, salvo que esté vacío. El archivo syslog más reciente se convierte en syslog.0, el siguiente archivo más reciente se convierte en syslog.1 y así sucesivamente. Se guardan ocho registros previos de syslog.
El archivo /etc/logadm.conf también contiene la indicación de la hora en que se realizó la última rotación del registro.
Puede utilizar el comando logadm para personalizar el registro del sistema y para agregar registros adicionales en el archivo /etc/logadm.conf según sea necesario.
Por ejemplo, para rotar el acceso a Apache y los registros de errores, utilice los siguientes comandos:
# logadm -w /var/apache/logs/access_log -s 100m # logadm -w /var/apache/logs/error_log -s 10m
En este ejemplo, el archivo de Apache access_log se rota cuando alcanza un tamaño de 100 MB, con un sufijo de .0, .1 y así sucesivamente. Se mantienen 10 copias del archivo access_log anterior. El archivo error_log se rota cuando alcanza un tamaño de 10 MB, con los mismos sufijos y números de copias que el archivo access_log.
Las entradas de /etc/logadm.conf de los ejemplos anteriores sobre rotación de registros de Apache son similares a la siguiente:
# cat /etc/logadm.conf . . . /var/apache/logs/error_log -s 10m /var/apache/logs/access_log -s 100m
Para obtener más información, consulte logadm(1M).
Puede utilizar el comando logadm como superusuario o con un rol equivalente (que tenga derechos de gestión de registros). Con RBAC, puede conceder a los usuarios que no sean usuarios root el privilegio del mantenimiento de los archivos de registro. Para ello, debe proporcionarles acceso al comando logadm.
Por ejemplo, agregue la entrada siguiente al archivo /etc/user_attr para brindar al usuario andy la posibilidad de utilizar el comando logadm:
andy::::profiles=Log Management
Puede capturar mensajes de error adicionales que se hayan generado por diversos procesos del sistema. Para ello, debe modificar el archivo /etc/syslog.conf. De manera predeterminada, el archivo /etc/syslog.conf ubica muchos mensajes de procesos del sistema en el archivo /var/adm/messages. Los mensajes de bloqueo e inicio también se almacenan ahí. Para ver los mensajes de /var/adm, consulte Cómo ver los mensajes del sistema.
El archivo /etc/syslog.conf tiene dos columnas separadas por fichas:
facility.level ... action
La utilidad o fuente del sistema del mensaje o la condición. Puede ser una lista de utilidades separadas por comas. Los valores de las utilidades se muestran en la Tabla 19-2. El nivel indica la gravedad o prioridad de la condición que se registra. Los niveles de prioridad se muestran en la Tabla 19-3.
No incluya dos entradas para la misma utilidad en la misma línea si las entradas son para distintas prioridades. Al establecer una prioridad en el archivo syslog, se indica que todos los mensajes con esa prioridad o una prioridad superior se registran, y el último mensaje tiene precedencia. Para una utilidad o un nivel determinados, syslogd hace coincidir todos los mensajes para ese nivel y todos los niveles superiores.
El campo de acción indica a dónde se reenvían los mensajes.
El siguiente ejemplo muestra líneas de muestra de un archivo /etc/syslog.conf predeterminado.
user.err /dev/sysmsg user.err /var/adm/messages user.alert `root, operator' user.emerg *
Esto significa que los siguientes mensajes de usuario se registran automáticamente:
Los errores de usuario se imprimen en la consola y también se registran en el archivo /var/adm/messages.
Los mensajes de usuario que exigen una acción inmediata (alert) se envían a los usuarios root y a los usuarios operator.
Los mensajes de emergencia de usuario se envían a los usuarios individuales.
Nota - La colocación de entradas en líneas separadas puede hacer que los mensajes se registren como deshabilitados si el destino del registro se encuentra especificado más de una vez en el archivo /etc/syslog.conf. Tenga en cuenta que puede especificar varios selectores en una entrada de una sola línea, separados con punto y coma.
Los orígenes de condiciones de error más habituales se muestran en la siguiente tabla. Las prioridades más habituales se muestran en la Tabla 19-3 según el orden de gravedad.
Tabla 19-2 Utilidades de origen para mensajes syslog.conf
|
Nota - El número de utilidades de syslog que pueden activarse en el archivo /etc/syslog.conf es ilimitado.
Tabla 19-3 Niveles de prioridad para mensajes de syslog.conf
|
Ejemplo 19-2 Personalización del registro de mensajes del sistema
La utilidad de muestra /etc/syslog.conf user.emerg envía mensajes de emergencia de usuario al usuario root y a los usuarios individuales.
user.emerg `root, *'
Las siguientes funciones de la consola son nuevas y mejoran la capacidad de resolver problemas de sistemas remotos:
El comando consadm permite seleccionar un dispositivo serie como consola auxiliar (o remota). Con el comando consadm, un administrador del sistema puede configurar uno o más puertos de serie para mostrar los mensajes de la consola redireccionados y alojar sesiones de sulogin cuando el sistema pasa por los niveles de ejecución. Esta función le permite acceder a un puerto de serie con un módem para controlar los mensajes de la consola y participar en las transiciones de estado init. (Para obtener más información, consulte sulogin(1M) y los procedimientos paso a paso que se establecen a continuación).
Aunque se puede iniciar una sesión en un sistema con un puerto configurado como consola auxiliar, fundamentalmente, es un dispositivo de salida que muestra información que también se incluye en la consola predeterminada. Si las secuencias de comandos de inicio u otras aplicaciones leen y escriben en la consola predeterminada, la entrada de escritura se muestra en todas las consolas auxiliares, pero la entrada es de sólo lectura desde la consola predeterminada. (Para obtener más información sobre el uso del comando consadm durante una sesión de inicio interactiva, consulte Uso del comando consadm durante una sesión de inicio interactiva).
Ahora, el resultado de la consola se compone de un núcleo y de los mensajes de syslog que se escribieron en un nuevo pseudodispositivo, /dev/sysmsg. Además, los mensajes de inicio de la secuencia de comandos rc se escriben en /dev/msglog. Antes, todos estos mensajes se escribían en /dev/console.
Debe cambiar las secuencias de comandos que dirigen el resultado de la consola de /dev/console a /dev/msglog si desea ver los mensajes de la secuencia de comandos que se muestran en las consolas auxiliares. Los programas que hacen referencia a /dev/console deben modificarse específicamente para usar syslog() o strlog() si desea que los mensajes se redireccionen a un dispositivo auxiliar.
El comando consadm ejecuta un daemon para controlar los dispositivos de las consolas auxiliares. Cualquier dispositivo de visualización designado como consola auxiliar que desconecta, cuelga o pierde el portador se elimina de la lista de dispositivos de la consola auxiliar y deja de estar activo. La habilitación de una o más consolas auxiliares no deshabilita la visualización de mensajes en la consola predeterminada. Los mensajes se siguen mostrando en /dev/console.
Tenga en cuenta lo siguiente cuando use mensajes de la consola auxiliar durante las transiciones de nivel de ejecución:
La entrada no puede provenir de una consola auxiliar si se espera la entrada de usuarios para una secuencia de comandos rc que se ejecuta en el inicio del sistema. La entrada debe proceder de la consola predeterminada.
El programa sulogin, que se invoca mediante init para que se solicite la contraseña de superusuario cuando se realizan transiciones entre los niveles de ejecución, se modificó para que se solicite la contraseña de superusuario a cada dispositivo auxiliar además del dispositivo de la consola predeterminada.
Cuando el sistema se encuentra en modo de usuario único y una o varias consolas auxiliares se habilitan mediante el comando consadm, se ejecuta una sesión de inicio de consola en el primer dispositivo a fin de proporcionar la contraseña de superusuario correcta a la solicitud de sulogin. Cuando se recibe la contraseña correcta desde un dispositivo de consola, sulogin deshabilita la entrada de todos los demás dispositivos de consola.
Se muestra un mensaje en la consola predeterminada y las otras consolas auxiliares cuando una de las consolas asume privilegios de un usuario único. Este mensaje indica qué dispositivo aceptó una contraseña de superusuario correcta y se convirtió en consola. Si se pierde el portador en la consola auxiliar que ejecuta el shell de usuario único, una de las dos acciones siguientes puede ocurrir:
Si la consola auxiliar representa un sistema en el nivel de ejecución 1, el sistema continúa con el nivel de ejecución predeterminado.
Si la consola auxiliar representa un sistema en el nivel de ejecución S, el sistema muestra el mensaje ENTER RUN LEVEL (0-6, s or S): en el dispositivo en que los comandos init s o shutdown se habían introducido desde el shell. Si tampoco hay ningún portador en ese dispositivo, tendrá que restablecer el portador y escribir el nivel de ejecución correcto. Los comandos init o shutdown no vuelven a mostrar el indicador de nivel de ejecución.
Si inició sesión en un sistema que utiliza un puerto de serie, y se emiten los comandos init o shutdown para realizar la transición a otro nivel de ejecución, la sesión de inicio se pierde, sin importar si el dispositivo es la consola auxiliar o no lo es. Esta situación es idéntica a las versiones sin las capacidades de la consola auxiliar.
Después de que se selecciona un dispositivo como consola auxiliar con el comando consadm, éste seguirá siendo la consola auxiliar hasta que el sistema vuelva a iniciarse o la consola auxiliar no esté seleccionada. Igualmente, el comando consadm incluye una opción que permite definir un dispositivo como consola auxiliar en cualquier reinicio del sistema. (Consulte el procedimiento siguiente para obtener instrucciones paso a paso).
Si desea ejecutar una sesión de inicio interactiva mediante el inicio de sesión con un terminal que está conectado a un puerto serie y, a continuación, utilizar el comando consadm para ver los mensajes de la consola desde el terminal, tenga en cuenta el siguiente comportamiento:
Si utiliza el terminal para una sesión de inicio interactiva mientras la consola auxiliar está activa, los mensajes de la consola se envían a los dispositivos /dev/sysmsg o /dev/msglog.
Mientras introduce comandos en el terminal, la entrada se dirige a su sesión interactiva en lugar de a la consola predeterminada (/dev/console).
Si ejecuta el comando init para cambiar los niveles de ejecución, el software de la consola remota cierra su sesión interactiva y ejecuta el programa sulogin. En este punto, se acepta únicamente la entrada del terminal y se la trata como si proviniera de un dispositivo de consola. Esto permite introducir la contraseña al programa sulogin, como se describe en Uso de mensajes de la consola auxiliar durante las transiciones de nivel de ejecución.
A continuación, si introduce la contraseña correcta en el terminal (auxiliar), la consola auxiliar ejecuta una sesión interactiva sulogin y bloquea la consola predeterminada y cualquier consola auxiliar que genere conflicto. Esto significa que el terminal básicamente funciona como la consola del sistema.
Desde aquí puede cambiar al nivel de ejecución 3 o ir a otro nivel de ejecución. Si cambia los niveles de ejecución, sulogin se ejecuta de nuevo en todos los dispositivos de consola. Si sale o especifica que el sistema debe alcanzar el nivel de ejecución 3, todas las consolas auxiliares pierden su capacidad para proporcionar entrada. Vuelven a funcionar como dispositivos de visualización para los mensajes de la consola.
A medida que el sistema va cambiando de nivel, debe proporcionar la información a las secuencias de comandos rc en el dispositivo de consola predeterminado. Una vez que el sistema alcanza el nivel, el programa login se ejecuta en los puertos de serie, y se puede volver a iniciar una sesión interactiva. Si designó el dispositivo como consola auxiliar, seguirá teniendo mensajes de la consola en el terminal, pero todas las entradas del terminal se dirigen a su sesión interactiva.
El daemon consadm no empieza a controlar el puerto hasta que agrega la consola auxiliar con el comando consadm. Como función de seguridad, los mensajes de la consola sólo se vuelven a dirigir hasta que se descarta el portador o se anula la selección del dispositivo de consola auxiliar. Esto significa que el portador debe establecerse en el puerto antes de poder utilizar correctamente el comando consadm.
Para obtener más información sobre la habilitación de una consola auxiliar, consulte la página del comando man consadm(1m).
# consadm -a devicename
# consadm
Ejemplo 19-3 Habilitación de una consola auxiliar (remota)
# consadm -a /dev/term/a # consadm /dev/term/a
# consadm -a -p devicename
Así se agrega el dispositivo a la lista de consolas auxiliares persistentes.
# consadm
Ejemplo 19-4 Habilitación de una consola auxiliar (remota) en los reinicios del sistema
# consadm -a -p /dev/term/a # consadm /dev/term/a
# consadm
Ejemplo 19-5 Deshabilitación de una consola auxiliar (remota)
# consadm -d /dev/term/a # consadm