More 2 Cent Tips & Tricks LG #62

![[ Prev ]](../gx/navbar/prev.jpg)
![[ Table of Contents ]](../gx/navbar/toc.jpg)
![[ Front Page ]](../gx/navbar/frontpage.jpg)
![[ FAQ ]](./../gx/navbar/faq.jpg)
![[ Next ]](../gx/navbar/next.jpg)
Send Linux Tips and Tricks to gazette@linuxgazette.net
2c tip: finding out your home router's ip address using lynx
Sun, 7 Jan 2001 13:35:57 -0500 (EST)
matthew willis
(matt from optimus.cee.cornell.edu)
Some popular home routers like the Linksys BEFSR41 work well with
linux but finding out the external address of the router (e.g. to
update some dynamic DNS service) can require manual intervention,
like using a web browser and pen and paper. The Linksys device can be
automatically queried about its external IP address using the text
browser, lynx:
lynx -auth=\ :admin http://192.168.1.1/Status.htm -dump
You can then parse the output for the IP address you need, using PERL
or your favourite scripting tool. For example, here is how I chained
sed and awk to find the line "IP Address" that comes in the "WAN"
section:
lynx -auth=\ :admin http://192.168.1.1/Status.htm -dump | sed "1,/WAN/d" | awk -F: '/IP Address/{print $2}'
Note that there is a single space between "\" and ":admin".
- Matt Willis
2cent tip Available space available on Hd - follow up
Sat, 6 Jan 2001 06:43:49 -0800
Ted Potter
(tpotter from techmarin.com)
yes and for those of us who can not do the math include the -h command line
option!
here -
df
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/hda1 2028098 1603178 320098 83% /
/dev/hda3 9991422 607203 8865722 6% /home
/dev/hdb 60334 60334 0 100% /mnt/cdrom
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hda1 1.9G 1.5G 313M 83% /
/dev/hda3 9.5G 593M 8.5G 6% /home
/dev/hdb 59M 59M 0 100% /mnt/cdrom
--
Ted Potter
Tech tip -- removing all files except *.c
Mon, 15 Jan 2001 13:10:40 -0800
Jane Liu
(anonymous)
I have a question about rm command. Would you please tell me how to remove
all the files excepts certain files like anything ended with .c?
The easiest way (meaning it will work on any Unix systems anywhere), is
to move those files to a temporary directory, then delete "everything",
then move those files back.
mkdir /tmp/tdir
mv *.c /tmp/tdir
rm *
mv /tmp/tdir/* .
rmdir /tmp/tdir
netscape to read html files ( $0.02 )
Sun, 07 Jan 2001 02:13:27 -0500
Allan Peda
(allan from panix.com)
I usually have netscape open, and I also have several terms open, also
some files only have html documentation (e.g., htdig ). I added this
bash function to my .bash_profile to send a file to netscape at the
command line. (for a list of the options type netscape -help):
function ns () {
if [ "." = "$(dirname $1)" ]; then
argpath=$(pwd)
else
argpath=$(dirname $1)
fi
url_arg=${argpath}/$(basename $1)
netscape -remote "openURL(file://$url_arg)"
unset argpath url_arg
}
export -f ns
So for README its :
me@box] vi README
but for README.html
me@box] ns README
Need info (Need Outlook to speak to Linux) (Issue 61, 2 cent tips)
Tue, 02 Jan 2001 21:28:03 -0500
Anthony E. Greene
(agreene from pobox.com)
...no less than 5 people mentioned...
It sounded like the poster wanted to provide native MS Exchange services
using a UNIX/Linux server. If so, she should look into HP OpenMail
(http://www.hp.com/go/openmail).
Anthony
... P Kelly from pksings.com cared to add...
HP openmail, free for under 50 users. Not super easy to install but
free....
PK
2-cent tip - module resource detection
Mon, 22 Jan 2001 10:58:20 -0800
Ben Okopnik
(TAG)
We started doing something interesting in Tips - we have some good
scripts to do nice little things. But, a lot of people have reported
difficulty doing the necessary cut-and-paste. So I'm sure you'll
be glad to know that a number of these will now be completely seperate
files with a .txt extension, so that they can be downloaded safely.
Tip: As long as you have a #! line, linux doesn't care in the least
whether the filename has a reasonable extension... or any at all, for
that matter.
Here's the popularly requested resource detection script.
See attached misc/tips/shotgun.bash.txt
8 Cents Worth
Tue, 16 Jan 2001 13:56:39 -0500
Heather
(star from starshine.org)
[near the tail end of a thread where we are being really careful with rm]
[Dan]
It would be prudent to try the thing out in a directory containing
only expendable files with names similar to the intended victims/saved.
[Dan]
I've more than once had to resort to backups due to a slip of the
fingers (the brain?) with an "rm" expression.
Note that he actually has known good backups to resort to.
[Heather]
tip: echo (rest of command)
will reveal what globbing is about to inflict on you. Won't solve
everything, but at least you'll be safe from the shell's perspective.
[Ben]
Good call! It's also well worth checking out the "shopt" built-in command,
particularly the "extglob" and "nullglob" options (I sort of wonder why
"bash" doesn't default to those being on); they can make dealing with
globbing a slightly friendlier experience - as well as slightly more
intuitive, in my opinion.
Shebang problems
Sat, 20 Jan 2001 16:54:52 +0100
NLH AS
(nlhas from online.no)
You have a question & answer on Linux Gazette with title:
shell cannot see an existing file --or--
./script: No such file or directory
One possibility you don't mention, which I've just found out the hard way
(ie. by using a lot of time) is that the file should not have been written
with a dos/windows editor (eg. on a samba share). CRLF at the end of the
shebang line causes exactly the chain of frustrations your correspondent
describes -- as far as I can be bothered to test (more time) this seems to
be completely consistent for bash and python scripts with a shebang line.
Oddly enough removing the shebang line makes the thing work -- the shell
exec() which you also describe is not CRLF sensitive.
Paul Mothersdill
about Unix command ps
Fri, 26 Jan 2001 14:24:31 -0800
Jane Liu
(anonymous)
Is there a way to find out the date when a process is created?
"ps aux" shows the date and a lot of other information as well.
You can use
ps aux | grep DESIRED_COMMAND_NAME
to filter out unwanted processes, or specify the process ID as
ps aux 1234
...so, she tried that, but it wasn't what she needed...
I am using HP unix. ps -aux is the same as ps. It gives only the execution
time, but not the elapse time. Any other options?
ps has a bazillion options; see if elapsed time is listed in the manpage.
If the process hasn't started yet and you don't need the time until after
it's over, there's the "time" command.
-- Mike Orr
Linux security FAQ
Tue, 2 Jan 2001 08:43:51 -0800
Anonymous Coward
The Linux Security FAQ has been slashdotted.
http://www.linuxsecurity.com/docs/colsfaq.html
renaming directories
Wed, 03 Jan 2001 19:45:46 -0600
k.s. yeriazarian
(crzybug from hotmail.com)
how do you rename/change names on directories? thanks
Use the 'mv' command.
Please send follow-ups or future questions in text format rather than
HTML. It makes it easier to read them.
hi im a moron
Sun, 28 Jan 2001 19:51:20 -0800
luciferxe
(luciferxe from mediaone.net)
On Sat, Jan 27, 2001 at 01:22:57AM -0500, . wrote:
hi im just wondering how to make a swapfile on my linux sys
I beg to differ about that "moron" part. After all, you knew enough
to ask a question in the right place!
I'm assuming you really want a swapfile, as opposed to a swap partition.
A swapfile will be slower than a partition, but it can be a handy
thing for that sporadic task that really chews up memory.
The way I usually do it is first to make a zero-filled file of the desired
size using "dd":
dd if=/dev/zero of=/usr/tmp/newswapfile bs=1024 count=65536
for a 64M swapfile. Vary "count" as desired. Then
mkswap /usr/tmp/newswapfile
swapon /usr/tmp/newswapfile
If you wish to have the swapfile mounted at boot time, find the
appropriate place in your init scripts and add the "swapon" command.
See "man mkswap", "man dd", "man swapon" for more info on swapfiles.
--
Dan Wilder
tar on remote file system ...
Mon, 15 Jan 2001 17:27:47 -0500
Hansjoerg Graesslin
(hansjoerg.graesslin from wega-informatik.ch)
On Mon, Jan 15, 2001 at 07:16:28AM +0000, Hansjoerg Graesslin wrote:
Hi,
I read your article about making backup to remote tape devices,
but is there any way to make a backup on a remote file system with the
tar command ??
I tried :
tar czSf - test | rsh -l operator remotehost
and get something strange ...
$ tar czSf - test | rsh -l oracle skye
tar: z: unknown option
Usage: tar {txruc}[vfbFXhiBelmopwnq[0-7]] [-k size] [tapefile]
[blocksize] [exc.
tcgetattr: Invalid argument
ioctl I_PUSH ttcompat: No such device or address
$
That's not particularly strange, given that you seem to be using something
other than GNU tar. There are many different versions out there; which one
do you have? GNU's version has supported "z", the "filter through gzip"
switch, since at least early 1997, when I started using it. So, what's
happening above is that "tar" fails with fireworks - and pipes something
of that to "rsh", which also explodes and screams in agony (hmm. Too many
Schwarzenegger movies lately, I guess.) A hint for next time: when you
have a problem that involves several programs. separate them in order to
find out which one is giving you a problem (or at least, which problem.)
It's much easier to troubleshoot things that way.
any ideas ??
Yes. Go to http://www.gnu.org and download the latest version of "tar".
Compile it, run it, and if you encounter any problems at that point, write
to us again. This time, include the versions of both "tar" and "rsh", as
well as which distro and version of Linux you're using. I have a feeling,
though, that the first suggestion will fix the problem.
Your article in Linux gazette
03 Jan 2001 19:32:03 +0200
Jani Grönberg
(chardhros from oneccuva.org )
Hi,
I scanned through your article in Linux gazette today, and having used
a configuration similar to this about a year ago, I thought that you
might appreciate this information:
Lilo can write the boot sector information directly to a file so the
stuff with lilo.dummy and dd is not necessary. E.g. in my
configuration, /dev/hda1 contained a vfat partition including the NT
loader (mounted to /dos in linux). I had the line:
boot=/dos/bootsect.lin
in my /etc/lilo.conf and provided that the partition is mounted and a
file exists (first time do "touch /dos/bootsect.lin") it should work
(unfortunately I'm currently using a different configuration so I
can't verify if i forgot something).
There can be issues if you have a large hard disk and the linux kernel
is not in the beginning; these are better covered in other documents,
but to avoid these I also copied my kernel to /dos/linux/vmlinuz. I'm
not sure if these are still valid with the current versions of lilo, though.
//jani
Diald and AIM
Fri, 19 Jan 2001 19:37:26 -0600
Michael Ikemeyer
(ikemeyer from brick.net)
Answerguy,
I've notice a strange anomaly in the last couple of months when using DIALD
to connect to any local ISP. I have a simple setup, boxA (the MASQ, RedHat
5.2) and boxB (private IP, Win98). Everything works great except when I try
to use AOL's Instant Messenger. Upon starting AIM the usual happens...
Connecting.... Verifying username and password... Starting services.... then
the roadblock of "Connection lost. Check your Internet connection". Viewing
my log files I get "kernel: MASQ: failed TCP/UDP checksum from
64.12.24.172". However, if I dial up any ISP with a normal pppd script (less
the SLIP interfaces involved for diald) it works. At this point I'm not
sure what I need to do to resolve this problem. Have any ideas?
Thank you,
Michael
... but he solved it!
Answerguy,
I have resolved my problem by passing the following to pppd when starting
diald...
/usr/sbin/diald -f /etc/diald/diald.conf -- asyncmap 20A0000 escape FF
Geforce2 and X 4.0.1
Wed, 3 Jan 2001 10:30:32 -0400 (VET)
Ernesto Hernandez-Novich
(emhn from telcel.net.ve)
Lots of people sent help about the Geforce card! Thanks bunches! -- Heather
...
Regarding Ron Nicholls question in "The Mailbag" (January 2001) on using
an nVidia Geforce2 card under XFree86 4.0.1
As of today, he has two alternatives:
1. He can download the binary drivers provided by nVidia, which are
designed to work in 4.0.1 replacing XFree's drivers. These
drivers will give him improved 2D acceleration and 3D acceleration
via GLX. I've been using this setup with an nVidia RIVA TNT2 and
a Geforce2 GTS (both 32Mb) with no problems whatsoever.
...another reader noted that the driver has to be compiled to match your
kernel version. He must be using the source rpm, I think - Gustavo Alday
found a complicated URL which seems to hit paydirt:
http://www.nvidia.com/Products/OpenLinuxDwn.nsf/b99b7f622d429347882568c800771b6c?OpenView&Start=1&Count=30&Expand=2#2
2. He can grab 4.0.2 (compile it himself and/or get binaries) for
very decent 2D acceleration for any nVidia card, including GeForce2s.
I tried this the day after 4.0.2 but unfortunately had trouble getting
the GLX extensions to work so I switched back to 4.0.1
...Michael Coyne (michael from coyne.tc) noted that Mandrake 7.2 autodetected
his card, though he suspects DRI support isn't active, and that he has used
his card happily on a continuously upgraded RedHat system with the generic
nvidia server.
The instructions included with the nVidia drivers are more than enough
to get it to work, so check out the drivers at
http://www.nvidia.com/Products/Drivers.nsf/Linux.html
Hope this helps.
And to the nVidia people: ˇPLEASE OPEN UP YOUR DRIVERS!
-- Ernesto Hernández-Novich
...ah, but Ryan Phillips (ryan.phillips from csus.edu) seems to have
exactly what our querent wanted; the same system in good working order,
and a pointer to a URL describing how:
http://www.evil3d.net/articles/linux/howto/nvidia/redhat7
Thanks again, everyone!
Setting up print filters
Wed, 3 Jan 2001 16:00:51 -0700
Simeon ben Nevel
(snevel from sonic.net)
Hi Answer Folks!
In issue 61 there was an Answer Guy question on getting an Epson Stylus
670 to work under linux.
Making color printers work seems to be a very common question on the
various linux fora and newsgroups with very few answers forthcoming.
I'd like to recommend turboprint from http://www.turboprint.de
It supports a wide variety of Epson, Canon and Hewlett-Packard color
printers (including my Canon BJC-3000!).
It's currently at version 0.70 and is free (as far as I can tell from the
web-site). No source is provided however.
It installed quite easily from a tar-ball and works like a dream for me.
The install process will even "probe" your system looking for "helper"
programs (like enscript, a2ps or html2ps) that the filter uses to handle
various sorts of files and let you know what you're missing.
(Actually finding RPMs for the various pieces and getting the dependencies
resolved is another issue entirely <g>
You can set up multiple configurations for a single printer to handle
different print media (plain paper, glossy paper, transparencies),
different print media sizes, different resolutions and has a whole range
of other adjustments for color saturation and absolute page positioning.
The latest version even has a couple of graphical (gtk based I believe)
application to do the configuration in addtion to ncurses based tools.
Best of all, the fellow who created turboprint answered my dumb
configuration question very promptly and in English!
There is also http://www.linuxprinting.org with a wealth of other
information. (Hmm.. I couldn't get there just now <shrug>
You might also check out the Linux Hardware Database at:
http://lhd.datapower.com
Which has a section on printers.
I hope this information is useful.
Simeon ben Nevel
--
More e2label scripting
Sat, 30 Dec 2000 14:36:05 -0500
Allan Peda
(allan from panix.com)
I was not satisfied with the label display script that I wrote and sent
in about 1 week ago because it ignored SCSI devices. This one should be
a little more generic.
Allan
See attached misc/tips/label.sh.txt
RE: reading a number in a bash shell script. Here is my final sc
Thu, 11 Jan 2001 13:21:39 -0500
Steven Kladitis
(stevenkladitis from revsysinc.com)
My name is Steven and I was wondering if there is an easy way in a bash
shell script to tell if the variable you read is numberic?
For example
#!/bin/bash
#set -x
Just a comment here: the above line is unnecessary. The "-x" argument
can be used with "/bin/bash" directly to get the same effect.
echo -n 'Enter a number '
read x
????????????
How can I tell if $x is numeric easily?
I have read and reread the docs, but I see no number test. I was thinkg
about trap but I do not understand how it works.
'trap' has no relation to what you're trying to do; it deals with
signals. Here is what you want:
[ $(echo $value|grep -c "[^0-9]") -gt 0 ] && echo "Not a number."
We simply ask "grep" to check for the presence of non-numeric
characters, and echo a message if they're present.
Shell variables can be declared as numeric via the "declare" or
"typeset" commands; they do fairly well with strings like "abCD43" by
reading them as 0, but fail, very loudly, on strings that start with
a digit:
value too great for base (error token is "3x")
The "grep" test always returns sensible output.
-- Ben Okopnik
This script will read a tnsnames.ora file ( Oracle stuff ) and connect ou to
the appropiate instance in sqlplus. Thanks for your help!!!
Steve
See attached misc/tips/spdist.bash.txt
RE: Trident NTSC drivers
Tue, 30 Jan 2001 17:21:23 -0600
Darrick Hartman
(dhartman from quixnet.net)
Heather--
Since I wrote [asking after the trident drivers] I discovered that no additional drivers are needed. What I DID find is Trident's manual is WRONG about the jumper on the card. It says it needs to be off to auto detect whether the card is connected to a vga or composite video device. In fact, it needs to be ON...jumpered to work correctly. Exactly opposite of the manual. If this helps someone, please pass it along.
Later--
Darrick
A rather unique query -- solved!
Tue, 02 Jan 2001 11:31:44 -0800 (PST)
Karen Gartner
(Puppy_Diddlitz from go.com)
First - THANK YOU to everyone who made suggestions and
offered expertise on solving this problem. I was just mucking about in my linux directories - searching for config files when ...
The SOLUTION: Install the GL1 driver package as is. Copy the actual driver file "firegl1" to /dev. Pico XF86Config-4, add the driver name to the video card device, and change the default video depth to 24. Then run startx at the command prompt and inko presto - graphics!
Now I don't have to worry about changing the kernel - thank heavens!
Thank you all so much!
Karen Gartner
Shebang problems
Sat, 20 Jan 2001 16:54:52 +0100
NLH AS
(nlhas from online.no)
You have a question & answer on Linux Gazette with title:
shell cannot see an existing file --or--
./script: No such file or directory
One possibility you don't mention, which I've just found out the hard way
(ie. by using a lot of time) is that the file should not have been written
with a dos/windows editor (eg. on a samba share). CRLF at the end of the
shebang line causes exactly the chain of frustrations your correspondent
describes -- as far as I can be bothered to test (more time) this seems to
be completely consistent for bash and python scripts with a shebang line.
Oddly enough removing the shebang line makes the thing work -- the shell
exec() which you also describe is not CRLF sensitive.
Paul Mothersdill
How to hack a proxy (LG #53, Query number 16, I think)
Wed, 24 Jan 2001 14:04:50 +0400
Faisal Halim
(faisal_hal from hotmail.com)
Dear Iman,
I would suggest you visit http://www.anonymiser.org or
http://www.privatesurfing.com and use their free service. But be
careful, your administrator gets suspicious, and even these sites can
get blocked. [That is a risk I have to live with when using my
ISP-Emirates Internet and Multimedia.]
You can use a good search engine like http://www.google.com and enter
"anonymiser" in the search box. Or better yet, use this search engine to
search for your topic of interest, and retrieve your page of interest
from Google's cached pages. Since Google will fetch the page for you,
your proxy will 'be tricked into thinking you are receiving a page from
Google'!
Alternatively, you could use one of the online web page caching servers
(search for "free ISP" on Google's search engine) to fool your proxy
server in a similar way.
And here is a method my friend claims to have used, but I never tested
myself. I don't even know the legal implications of using this system.
do this at your own risk. Set your http proxy to one that is outside
your network. That way, (theoretically) you will use your local network
proxy to access the net, use the net to access this other proxy, which
in tern you will use to access the hackers' sites.
You might have noticed (and in fact you should have noticed by now, that
using any of the methods I gave you, you will simply fool your network
proxy, not crack it.
You Wanted To Crack, Not Hack
There are great differences between hacking and cracking. Please check
out the page, "How to become a Hacker" at http://www.tuxedo.org
Salaam, and Goodbye
Faisal Halim
bogo
Tue, 2 Jan 2001 08:44:46 -0500
Kurt V. Hindenburg
(anonymous)
Hello,
I tried your little bogo script. I installed bing-1.1.3 and traceroute
-1.4a7. However ,when I execute the bogo script I get the following:
(kvh)-(20:15)-(~)> ./bogo
real 0m24.083s
user 0m0.010s
sys 0m0.000s
Ping time to ISP: ms
Measuring speed...
If you take a look at the script itself, you'll note that the comment
immediately following the script description tells you to change the
default ISP name (www.mindspring.com) to your own ISP's URL. Also note
that in my 2-cent tip I wrote:
"... it prints the time that is required for the first 'ping' to reach your
ISP, as well as the time that it takes to execute that ping. In my
experience, if that execution time is much longer than 3 seconds, you've
got a poor connection and should try redialing."
24 seconds, as your output above shows, is quite a bit longer than 3
seconds. What it's saying is that the ping is probably not getting through
to MindSpring (unless you've modified $ISP) at all - most likely, it's
timing out. I recommend that you 1) replace "mindspring" with your ISP's
URL, and 2) ping that URL once you're connected to see the results.
Ben_Okopnik
Tue, 2 Jan 2001 11:50:01 -0500
Werner Gerstmann
(WGerstmann from nexgo.de)
Werner Gerstmann wasn't the only person who asked what 'bing' was, but
he did have a curious reason to be unsure:
Hallo Ben,
in #61 of LG I found some nice scripts of yours. One question: in the
one for measuring a modem
connection, a progamme's name is "bing" or "ping" ?? For me it's a bit
funny, because in Germany
we have a regional slang (the Saxons), they cannot distinguish "d" and
"t" or "b" and "p" (the soft and the
hard ones), but normally only if they speak ! ! If "bing" is correct
please give me a hint where to find it.
Regards Werner
It's "bing", an "empirical stochastic bandwidth tester" as its author
calls it, with the 'b' coming from the term "bandwidth". I just think of
it as a smarter "ping". In Debian, it's part of the distribution, as part
of the "net" category; their source for it was 'bing_1.0.4.orig.tar.gz',
available at their site.
<ftp.debian.org/debian/dists/potato/main/source/net/bing_1.0.4.orig.tar.gz>
Measure your modem connection - Bogospeed
Sat, 20 Jan 2001 10:50:27 -0500
Joe St.Clair - KSI Machine & Engineering
(ksimach from ksimachine.com)
On Sat, Jan 20, 2001 at 10:27:14AM -0500, Joe St.Clair - KSI Machine & Engineering wrote:
What it "bing" that is needed for the "Bogospeed" script?
A lot of folks have written in to ask this same question. I'll admit to
being a bit surprised, but here's some easily-retrieved info.
A search on Google for "bing and linux" brings up over 10,000 hits. The very
first of these says
"Debian GNU/Linux -- bing Package: bing 1.0.4-5.3.1. Empirical stochastic
bandwidth tester."
For those of you who are left as unenlightened by this as I was, it's just
a fancy way of saying "a smarter version of 'ping'".
Yep; that's the dude. In fact, due to the fact that the author of "bing"
has unaccountably changed the entire syntax and output of "bing" with
the new version, the only one that will work without modifying the script
is version 1.0.4. It's easy enough to download and install. <grin> For
anyone who has read my series on shell scripting here in the LG, modifying
it for the new version should be a trivial task.
As well, here is the "new and improved" version of the "speed" script; due
to feedback from several of our readers, I've generalized the IP/time
parsing routine, which should make it a bit more useable.
I took the liberty of promoting the warning comment to an actual message,
in case anyone finds it useful enough to leave lying around. -- Heather
See attached misc/tips/speed.bash.txt
This page edited and maintained by the Editors
of Linux Gazette
Copyright © 2001
Published in issue 62 of Linux Gazette February 2001