Stop the Presses, LJ Index and more.
Tech Tips

Debugging Tip

Handy for debugging and watching what's going on while it's going on. Use tail with the “f” option, which lets you read the end of a growing file. Examples:

$ tail -f /var/log/messages$ tail -f /var/log/syslog
$ tail -f /var/log/mail.log
$ tail -f /usr/local/httpd/logs/error_log

Need to capture some output to a terminal that can't be redirected easily to a file with “>”? Use script. At a command prompt type script, then do what ever you need to log and exit. The log of _ALL_ the stuff sent to your terminal finds its way into a file called typescript! Example:

tux@coollinuxbox:/home/tux$ scriptscript: WARNING: script session is not secure against
script: read /usr/doc/bsdutils/README.script for details.
Script started, output file is typescript
tux@coollinuxbox:/home/tux$ python
python commands
tux@coollinuxbox:/home/tux$ exit
Script done, output file is typescript
tux@coollinuxbox:/home/tux$ cat typescript
Script started on Thu Oct 12 12:03:22 2000
tux@coollinuxbox:/home/tux$ python
Python 1.5.2 (#1, Dec 15 1999, 11:15:06)  [GCC] on linux2
Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam
>>> 45+89+12.25+63.21
>>> 70/12
>>> 70%12
tux@coollinuxbox:/home/tux$ exit
Script done on Thu Oct 12 12:04:43 2000
Dolly the Hardisk

Wanna make a clone of one hardisk to another? Use tar. Hook up your soon-to-be-cloned hardisk to your system (power off during this operation). Boot your box. As root, cd to /. Mount the new hard drive on /mnt. Then run the following command:

$ tar clf - . | ( umask 0; cd /mnt; tar xvf - )

c = createl = stay on local filesystem (don't cross filesystem boundaries)f = file (the next argument is the name of the tarfile or “-”)- = write to standard out or read from standard inx = extractv = verbose

“umask 0” ensures that the new files have the same permissions as the old ones.