Saturday, August 21, 2010

Logging boot output

Ever seen an unnerving [ !! ] scroll by during boot, hidden among 50 lines, way too fast to be able to actually read the problem? Then X then starts, it clears the buffer in the TTY, not allowing you to scroll up to read it when you do a VT-switch back to TTY1.

While 'dmesg' (or reading /var/log/dmesg or /var/log/messages) shows you the boot output from the kernel and other parts of the system, it usually doesn't show the issues from specific boot processes that show up in the list with [ ok ] or [ !! ]. Well, we can actually enable the logging of the console output from the boot process by a few simple steps.

This applies to a Gentoo system, and I'm not sure which other distributions it works for.

#1. First enable RC logging by editing '/etc/rc.conf'. Uncomment the following line (marked by '>'):
# rc_logger launches a logging daemon to log the entire rc process to
# /var/log/rc.log
# NOTE: Linux systems require the devfs service to be started before
# logging can take place and as such cannot log the sysinit runlevel.> rc_logger="YES"

Then we also need to install the showconsole daemon which does the actual logging.

> eix-sync showconsole
[I] app-admin/showconsole
     Available versions:  1.07 1.08
     Installed versions:  1.08(22.23.03 2010-08-21)
     Homepage:            http://www.novell.com/linux/suse/
     Description:         small daemon for logging console output during boot
Just run 'emerge showconsole' and reboot, after that all the messages scrolling past the screen as you boot will be stored in /var/log/rc.log.

Tuesday, May 11, 2010

Using the command line to find out your router's external IP address

Ever been in the position where you need to find out your IP address without having a GUI to fall back on and surf to www.whatsmyip.org or the likes?

At tips4Linux I just found a great command for it! Just fire up wget and get the address printed right there in your terminal.

wget -O - -q icanhazip.com

That's it!