Error Messages
Summary:Finding Messages
Often if something doesn't work as expected you don't see an error message. In most cases it is actually there, but you'll have to know where to look for it. Kernel, modules, and daemons log messages in '/var/log/messages'. This is an ordinary text file you can have a look at as 'root'. Since you usually only want to see the last few lines and 'messages' becomes quite large, usetail /var/log/messagesAfter installation you will find three log files in 'root's' home directory: 'ddebug.log', 'install.log' and 'report.bug'. 'ddebug.log' contains kernel messages, 'install.log' package installation messages and 'report.bug' contains both, plus detailed system and installation information.
If you are reporting installation errors to Mandrake, make sure you include the 'report.bug' file.
syslog.conf
Logging is configured via the 'root-only' file '/etc/syslog.conf'. There you can also see which other log files exist and which programs or services write which messages to them. At the bottom of the file, you might find a line like this:*.* /dev/tty12
Valid facilities (mail, news, cron etc) and priorities (info, notice, warning etc) are described in
man syslog.conf
Easy. Open a virtual terminal like xterm and type the command that should run the program. Now you will be shown any error message that the program may generate. To write these messages to a file, see the next chapter. Often programs offer options to make error messages more explicit (e.g. RPM or PPP), usually by an option called 'verbose' or '-v'. Consult the program's documentation.
Generating Error Logs
Sometimes error messages scroll by too fast (e.g. when starting X or running 'make'). It would be very convenient to have them written to a file.You can generate error logs for every program by yourself:
{command} 2> error.log
Making Sense of Error Messages
Some error messages indicate a user error and some a program fault.For example
bash: {xxx}: command not found
This is most likely a user error. Possible causes are numerous: typos, binary resides in a directory which is not part of $PATH or which you don't have access to. It is also important to remember that the directory you are in does not become part of $PATH by default in all security levels but the lowest. Therefore you have to tell the shell explicitly to run a binary in it by putting
./
./configure
configure
{xxx}: permission denied
{xxx} got SIGSEGV at (etc.)
If you want to be helpful you might first run the GNU debugger gdb to do a 'backtrace' with
gdb {program name with full path}<br> (gdb) run
strace -o {output file} {program name}
Related Resources:
man 7 signal
man syslog.conf
man X
Linux-FAQ: Solutions to Common Miscellaneous Problems
Linux-FAQ: Frequently Encountered Error Messages Revision / Modified: Oct. 02, 2001
Author: Tom Berger Legal: This page is covered by the GNU Free Documentation License. Standard disclaimers of warranty apply. Copyright LSTB and Mandrakesoft.
Error Messages
Version 1.7 last modified by kilikopela on 12/08/2005 at 11:18
Version 1.7 last modified by kilikopela on 12/08/2005 at 11:18
Document data
- Lost account?
- Join the community, be part of the Club: it's free!
- Get the PWP Download Subscription!
Mandriva.com
Store
Club




