old-www/LDP/LG/issue20/lg_answer20.html

2528 lines
92 KiB
HTML

<!--startcut ======================================================= -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>The Answer Guy Issue 20</title>
</head>
<BODY BGCOLOR="#EEE1CC" TEXT="#000000" LINK="#0000FF" VLINK="#0020F0"
ALINK="#FF0000">
<!--endcut ========================================================= -->
<H4>&quot;Linux Gazette...<I>making Linux just a little more fun!</I>&quot;
</H4>
<P> <hr> <P>
<!-- =============================================================== -->
<center>
<H1><A NAME="answer">
<img src="../gx/ans.gif" alt="" border=0 align=middle>
The Answer Guy
<img src="../gx/ans.gif" alt="" border=0 align=middle>
</A></H1> <BR>
<H4>By James T. Dennis,
<a href="mailto:jimd@starshine.org">jimd@starshine.org</a><BR>
Starshine Technical Services, <A HREF="http://www.starshine.org/">
http://www.starshine.org/</A> </H4>
</center>
<p><hr><p>
<H3>Contents:</H3>
<ul>
<li><a HREF="./lg_answer20.html#securityiss">Security Issues</a>
<li><a HREF="./lg_answer20.html#thingies">All Those Little % Thingies</a>
<li><a HREF="./lg_answer20.html#nt">Follow-Up to NT and Linux Article</a>
<li><a HREF="./lg_answer20.html#active">Active X for Linux/Unix</a>
<li><a HREF="./lg_answer20.html#mounting">Mounting Disks Under Red Hat 4.0</a>
<li><a HREF="./lg_answer20.html#ppp">PPP Problems</a>
<li><a HREF="./lg_answer20.html#protocol">Z Protocol</a>
<li><a HREF="./lg_answer20.html#video">Video Cards</a>
<li><a HREF="./lg_answer20.html#zip">Linux and Zip Drives</a>
<li><a HREF="./lg_answer20.html#redhat">Red Hat CD Problem</a>
<li><a HREF="./lg_answer20.html#cookies">Cookies</a>
<li><a HREF="./lg_answer20.html#disc">New Hard Disc</a>
<li><a HREF="./lg_answer20.html#crashes">Random Crashes</a>
<li><a HREF="./lg_answer20.html#slackware">gcc and Slackware Question</a>
<li><a HREF="./lg_answer20.html#lilo">LILO</a>
<li><a HREF="./lg_answer20.html#print">Printing Problems</a>
<li><a HREF="./lg_answer20.html#support">Linux Disk Support</a>
<li><a HREF="./lg_answer20.html#renaming">Renaming Problems</a>
<li><a HREF="./lg_answer20.html#monitor">X Locks Monitor</a>
<li><a HREF="./lg_answer20.html#security">Using JDK 1.1 for Solaris x86 on Linux</a>
<li><a HREF="./lg_answer20.html#colormap">Colormap Question</a>
<li><a HREF="./lg_answer20.html#lilo2">More on LILO</a>
<li><a HREF="./lg_answer20.html#gui">95 GUI</a>
<li><a HREF="./lg_answer20.html#thanks">A Letter of Thanks</a>
<li><a HREF="./lg_answer20.html#card">STO/1/O2 SCSI Card</a>
<li><a HREF="./lg_answer20.html#booting">Booting Linux</a>
<li><a HREF="./lg_answer20.html#panics">Kernel Panics on root fs</a>
</ul>
<p><hr><p>
<!--================================================================-->
<a name="securityiss"></a>
<h3><img align=bottom alt=" " src="../gx/ques.gif">
Security Issues
</h3>
<P> <B>
From: Marcus Hufvudsson <a href="mailto:talos@algonet.se">talos@algonet.se</a>
<p>Greetings Linux guru!
<p>I recently read the Linux Journal May edition and some people had some
serious security problems. I got some of them to, and in your answer to
one you recommended the "Tripwire" program for more security. I hope you
don't mind me mailing you (got the address from the article). Anyway you
recommend ftp.cs.perdue.edu for downloading. But when I tried to connect it
didn't respond. Do you know any mirrors or any other ftp that contains
Linux security tools?
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
- talos (root today, gone tomorrow)
<p> There was a typo in that article. It WAS supposed to be
ftp.cs.purdue.edu -- but is now supposed to be at
<a href="ftp://coast.cs.purdue.edu/pub/COAST">ftp://coast.cs.purdue.edu/pub/COAST</a> (they've been moved).
<p> Here's the full URL to Tripwire:
<a href="ftp://coast.cs.purdue.edu/pub/COAST/Tripwire/">ftp://coast.cs.purdue.edu/pub/COAST/Tripwire</a>
<p> You should definitely browse around and read some of the
other papers -- and try some of the other tools out there
at the COAST (computer operations and security tools?) archive.
<p> Sadly it seems to be neglected -- the whole "tools_new" tree
is dated "October, 1995" and is empty.
<p> All of the good stuff there is under:
<a href="ftp://coast.cs.purdue.edu/pub/tools/unix/">ftp://coast.cs.purdue.edu/pub/tools/unix</a>
(including symlinks that lead back to the Tripwire package).
<p> Apparently they don't do anything with the FTP site because
the real work as gone into their web pages at:
<a href="http://www.cs.purdue.edu/coast/archive/Archive_Indexing.html">http://www.cs.purdue.edu/coast/archive/Archive_Indexing.html</a>
<p> Another more recent effort which will be of more direct
interest to Linux admins is:
<a href="http://skynet.ul.ie/~flynng/security/">http://skynet.ul.ie/!flynng/security/</a>The
Irish Computer Security Archives</a>
... with the following being of particular interest:
<a href="http://skynet.ul.ie/~flynng/security/bugs/linux/">http://skynet.ul.ie/~flynng/security/bugs/linux/</a>
... and:
<a href="http://skynet.ul.ie/~flynng/security/tools/">http://skynet.ul.ie/~flynng/security/tools</a>
<p>Another good site (recently moved) is at:
<a href="http://www.aoy.com/Linux/Security">http://www.aoy.com/Linux/Security</a>The
Linux Security WWW</a>
... where I particularly like:
<a href="http://www.aoy.com/Linux/Security/OtherSecurityLinks.html">http://www.aoy.com/Linux/Security/OtherSecurityLinks.html</a>
<p> One of these days I'm going to annotate the 600 or so links
in my main lynx_bookmarks file and post it to my own web pages.
But -- not this morning (3 am).
<p> I spend so much time doing TAG (The Answer Guy) and other
mailing list and newsgroup stuff that I never get to my own
web pages. However the patch that I created to allow Tripwire
to compile cleanly under Linux is on
<a href="ftp://ftp.starshine.org/pub/tripwire-linux.patch">my ftp site</a> and a link
can be found somewhere under <a href="http://www.starshine.org/linux/">http://www.starshine.org/linux/</a>
(I really have to organize those pages one of these days).
<p>
--
Jim
<p><hr><p>
<!--================================================================-->
<a name="thingies"></a>
<h3><img align=bottom alt=" " src="../gx/ques.gif">
All Those Little % Thingies
</h3>
<P> <B>
To: Jonathan Albrecht <a href="mailto:albrecht@algorithmics.com">albrecht@algorithmics.com</a>
<p>When setting your prompt or dates or app-defaults you sometimes need
those little %N, or %d, or %m substitution thingies. What are they and
where can I get a list of what they mean?
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
They are "replaceable parameters" and are used by a variety
of shells and applications.
<p> They differ for each shell or application. For example
I use bash -- and my prompt is:
<pre> PS1=[\u@\h \W]\$
</pre>
<p> Which looks like:
<pre> [jimd@antares jimd]$</pre>
<p> When I'm in my home directory and logged in as jimd
and would look like:
<pre> [root@main local]#</pre>
<p> If I was 'root' on the host "main" and in the /usr/local
directory.
<p> <B>zsh</B>, and <B>tcsh</B> also have similar "meta sequences" for their
shell prompts. Just read the man pages for your shell and
search for "prompt."
<p> X app-default and other xrdb (X Windows resource database)
entries are pretty mysterious to me. But I imagine that
the info about these sequences is mostly in their man pages
somewhere. I'm sure it's all in the sources.
<p> The %d syntax is most often seen in the C programming language's
printf() and scanf() functions. There are various "format
specifiers" that dictate how a particular argument will be
formatted. This includes information about whether a value
will be displayed as a decimal number, a string, a hexadecimal
value -- and how wide the field will be, whether it will be
left or right justified -- etc. The \c syntax is also used
in C for inserting "non-printing" characters -- like newlines,
tabs, and for specifying ASCII characters by octal or hexadecimal
value.
<p> Since programmers are used to this syntax in their code they
often use a similar syntax when they write scripting languages
(shells) and when they design the configuration file syntax
for their applications.
<p> I'm sorry there's no "single source" or reference of all of
these. However there isn't. You'll just have to hunt through
the docs and man pages for easy of the apps and utilities that
you're interested in.
<p><hr><p>
<!--================================================================-->
<a name="nt"></a>
<h3><img align=bottom alt=" " src="../gx/ques.gif">
Follow-up To NT and Linux Article
</h3>
<P> <B>
From: Cyrille Chepelov <a href="mailto:chepelov@rip.ens-cachan.fr">chepelov@rip.ens-cachan.fr</a>
<p>So far I've had the good sense to stay away from striping
under NT and Linux. I've heard that the ccd code for
FreeBSD is pretty stable, though.
<p>Well, my linux partition is used &lt;5% of the overall time, but sometime I
need it to figure things -- once the "small" problem with disks ID was
solved, there are no cohabitation problems between NT and Linux.
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
This sounds like a typically ignorant design decision.
It seems to say to the world:
<p> "Standards are for weaklings -- we don't
need to follow them -- even when we created them!"
<p><b><img align=bottom alt=" " src="../gx/ques.gif">
Sure, even if they did it unilaterally, it was up to them to at
least loudly publicize what they did.
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
I disagree. "Unilateral" is completely anathema to
"Industry Standards." It is totally arrogant to speak
for an industry.
<p> (We won't cover the issue of government regulatory bodies
making determinations in a "unilateral" way -- since those
aren't "industry standards" they are "government regulations").
<p> Publicizing that you are violating industry standards
doesn't improve interoperability. What other reason is
there to create and publish a "standard" (even an
ad hoc one).
<p> If they think there's a real need to put proprietary
information in the very first sector of the disk (the
spot reserved for the MBR -- then perhaps they should
announce that these disks won't have PC partitions at
all. It then becomes a "all NT or nothing" decision for
each disk.
<p> I don't think there is such a need -- and I think their
approach displays either a gross lack of consideration,
creativity and foresight -- OR -- a deliberate act of
hostility to those unruly customers who would dare use
any "other" operating systems on "their" NT boxes (or
maybe a little of each -- some from the programmers and
some of the QA teams).
<p> Microsoft can cop out with a line like: "We don't intend
that NT Servers should be installed systems with other
operating systems -- it is intended for dedicated systems."
<p> It would irritate me. But I'm not one of their "important"
customers anyway. Since most platforms outside of the PC
market have an OS that's supplied by the vendor -- there isn't
an expectation that those system will allow multiple operating
systems to co-exist on the system (much less on the same drive).
<p> However, in the PC market there is that expectation -- and
has been for over fifteen years. IBM and Microsoft created
that expectation (to co-exist with CP/M-86 and the UCSD p-system
if my memory and reading of the history is correct).
<p> Naturally the obvious place to put this sort of information
would be in the logical boot record (what Unix/Linux refers
to as a "Superblock"). This would only cost NT's code
a few extra disk seeks at boot time -- seeks that it
has to do anyway.
<p>The reason (IMHO) why they put it in the MBR is that even an unpartitioned
disk gets its ID. The ID is here for the disk, not the partition -- so it
makes less sense to put it in the S-block (even if that sounds safer,
cohabitation-wise. Those IDs are what they are -- disk IDs, not partition
IDs.)
<p> Classically an OS should ignore an unpartitioned disk.
Why should the disk have an ID if it has no partition?
If the purpose is to provide unique identification of
filesystems so that the striping and mounting mechanisms
won't fail as new drives are added to the system -- then
you need a partition ID -- and you don't care about
disk ID's at all. Additionally you want enough information
stored in that ID to minimize the chance of inadvertent
duplication and collision (for cases when we move a drive
from one system to another).
<p> Finally your mounting/mapping utilities should be robust
enough to allow you to mount any of these stripe segments
and get what you can off of them.
<p> This sounds robust. NOT!
Just what I want -- double the failure points for every volume.
<P><B><img align=bottom alt=" " src="../gx/ques.gif">
<p>Regardless of the OS, whenever you stripe, you double the possibility of
not being able to mount. Not mounting at all (or mounting read-only) when
something goes wrong can not be a blamable decision ! (and in the case of
striped sets, mounting r-o makes little sense, since all structures are
dispatched on both disks)
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
I can certainly "blame" a company for any deficiency
that I perceive in their software. I select software to
meet *my* requirements. Therefore I am the ultimate judge
of what is a "deficiency."
<p> My requirements for striping say that the loss of one
segment or element in a striped set should not entail
the loss of the data on the remaining segments. If no
currently available striping system meets that requirement
I'll avoid the use of the technology.
<p> This means that a striping system should distribute
"superblocks" and inode and directory entries in such
a way as to keep them localized to the same segment
as the data to which they apply (or duplicated on all
segments).
<p> (I realize that duplicating directory information
on all segments may be costly -- and I understand
that data files may cross multiple segments. Those
are implementation details for the author(s) of the
file system).
<p> Out of curiosity: How many different striping systems
have you used? The phrase "Regardless of the OS" seems
awfully broad.
<p> I will plead complete inexperience with them. My
take on the term is that it refers to any technique of
making multiple drives appear as a single file system
(or volume) that doesn't involve redundancy (RAID) or
duplication (mirroring/duplexing).
<p> Is there a standard that specifies more implementation
details? (i.e. does my set of requirement some how
NOT qualify as a "striping" system).
<p> Well, now that Microsoft has "spoken" we're probably all
stuck with this [expletive omitted] forever. Please
consider mailing a copy of your message and your
patches to the LILO and fdisk maintainers.
<p>The problem is : where are they (I tried to send it once, a few month ago,
to an address which was given me as W. Almesberger's, but to no avail).
<p> In my fdisk man page I see the following (under Authors):
<P><a href="mailto:LeBlanc@mcc.ac.uk">A.V. Le Blanc</a>.
v1.0r: SCSI and extfs support added by
<a href="mailto:faith@cs.unc.edu">Rik Faith</a>.
v1.1r: Bug fixes and enhancements by Rik Faith,
with special thanks to
<a href="mailto:i1041905@ws.rz.tu-bs.de">Michael Bischoff</a>.
v1.3: Latest enhancements and bug fixes by A. V. Le Blanc,
including the addition of the -s option. v2.0: Disks
larger than 2GB are now fully supported, thanks to Remy
Card's llseek support.
<p> So it would seem that Rik Faith, Mr. Le Blanc, Michael
Bischoff would be good choices.
<p> The address I see for Werner Almesberger is:
<a href="mailto:almesber@bernina.ethz.ch">almesber@bernina.ethz.ch</a>
(from the lilo (8) man page).
<p> If that gets no response than I'd post notes to
comp.os.linux.development to see who is maintaining
the code.
<p>--Jim
<p><hr><p>
<!--================================================================-->
<a name="active"></a>
<h3><img align=bottom alt=" " src="../gx/ques.gif">
ActiveX for Linux/Unix
</h3>
<P> <B>
From: Anders Karlsson <a href="mailto:andersk@lysator.liu.se">andersk@lysator.liu.se</a>
<p> Hi, I read an article in the Linux Gazette where the author hadn't found
any evidence for the rumors about ActiveX for Unix. By mistake I found
a press release from M$ about this.
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
I believe what I said was that I had heard the same rumor
-- but that the search engine at www.microsoft.com couldn't
find any reference to Linux at all.
<P><B><img align=bottom alt=" " src="../gx/ques.gif">
I don't know who (if any) is interested in this, but you can find it on:
<a href="http://www.microsoft.com/corpinfo/press/1997/mar97/unixpr.htm">http://www.microsoft.com/corpinfo/press/1997/mar97/unixpr.htm</a>
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
Yes. I see. This basically says that the job was
farmed out to Software AG (http://www.sagus.com)
which has a release schedule at:
<p> DCOM Availability Schedule
<a href="http://www.sagus.com/Prod-i~1/Net-comp/dcom/dcom-avail.htm">http://www.sagus.com/Prod-i~1/Net-comp/dcom/dcom-avail.htm</a>
<P><B><img align=bottom alt=" " src="../gx/ques.gif">
Let's hope that this isn't the beginning of a new M$-invasion,
against a new platform or market, our Linux.
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
Luckily there's not much MS can do about Linux. They can't
"buy it out." -- They can pull various stupid stunts
(like tossing new values into partition tables, trashing
ext2 filesystems, even exerting pressure on hardware
manufacturers to develop and maintain proprietary adapters
that require Microsoft written drivers). These will just
make them less interoperable. IBM tried stunts like this
in the early days of the PC cloning.
<p> However I think the cat is out of the bag. All we as a
community have to do is clearly continue our own work.
When you buy a new computer -- as for Linux pre-installed
(even if you plan on re-installing it yourself). If you
don't plan to use Windows '95 or NT on it -- demand that
it not be included in the price of your system and --
failing that -- VOTE WITH YOUR FEET!
<p> Recently I saw an ad on CNN for Gateway. The ad went on
about all the options that were available and encouraged me
to call for a custom configured system. Since I'm actually
looking at getting a small system for my mother (no joke!)
I called and asked if they could pre-install Linux.
<p> Now I will hand it to the sales dude -- he didn't laugh and
he didn't stutter. He either knew what I was talking about
or covered up for it.
<p> Naturally the answer was: "No. We can't do that."
<p> There are places that can. Two that come to mind are:
<ul>
<li><a href="http://www.varesearch.com">VA Research</a>
<li><a href="http://www.promox.com">PromoX</a>
</ul>
<p> (Warning for Lynx users -- both of these sites use frames
and neither bothers to put real content in the
"noframes" section -- Yech!)
<p> There are several others -- just pick up any copy of
Linux Journal to find them.
<p> Granted this is a small niche now. However, it's so much
more than any of us back in alt.os.linux (before the
comp.os.linux.* hierarchy was established) thought was
possible just four years ago.
<p> Even two years ago the thought of buying a system and
putting Linux on it -- to send to my MOTHER (literally,
NO computer experience) would have been totally absurd.
Now it's just a little bit of a challenge.
<p> What's exciting to me is the prospect that Linux may
make it mostly irrelevant what hardware platform you
choose. Linux for the Alpha, for SPARC, and mkLinux for
PowerMacs gives us back choices -- at prices we can
dream of.
<p> It's easy to forget about the hardware half of the
"Wintel" cartel. However, the hardware platform
has had severe design flaws from the beginning.
Hopefully we'll see some real innovation in these
new hardware platforms. [The introduction of the
IBM PC back in '81 caused the "great CP/M shakeout."
It also caused me to take a 5 year hiatus from the
whole industry -- out of disgust with the poor design
of the platform. Even as a high school student I
saw these flaws]
<p>
--
Jim
<p><hr><p>
<!--================================================================-->
<a name="mounting"></a>
<h3><img align=bottom alt=" " src="../gx/ques.gif">
Mounting Disks Under RedHat 4.0
</h3>
<P> <B>
From: Bruce W. Bigby <a href="mailto:bbigby@frontiernet.net">bbigby@frontiernet.net</a>
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
Jim Dennis wrote:
<p>The really important question here is why you aren't asking
the support team at RedHat (or at least posting to their
"bugs@" address). This 'control-panel' is certainly
specific to Red Hat's package.
<P><B><img align=bottom alt=" " src="../gx/ques.gif">
Well, I've tried communicating with RedHat and had problems. I
registered and everything and tried to get support via e-mail.
Something went wrong, although I followed their instructions, for
reporting problems, exactly. At the time, I was at work when I read
your web page and decided to give you a try. Thanks for all of the
information!
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
I hope it helped. I too have been unsatisfied with Red
Hat's level of support. Not that I expect alot of
complex personal attention for a package that only costs
$50 -- but I was calling representing the US Postal Service's
Data Processing Center -- and I was willing to put up about
$50/hr for the support call(s).
<P><B><img align=bottom alt=" " src="../gx/ques.gif">
Alas they just didn't have the infrastructure in place.
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
Yggdrasil has a 900 line for support -- and Adam Richter has
been doing Commercial Linux longer than just about anyone
else (SLS might have been there earlier -- but I haven't
heard anything about Soft Landing Systems in years).
<p> Yggdrasil also publishes _The_Linux_Bible_ and has a
video cassette tutorial on Linux. Unfortunately I haven't
installed a copy of their distribution, Plug and Play Linux,
for a couple of years. Slackware and later Red Hat seem to
have won the popularity contest in recent years -- and
<p> Unfortunately I've never used Yggdrasil's tech support
services. So I can't give a personal recommendation.
They do have two pricing plans ($2.95/min. US or $100 (US)
for one "guaranteed" issue resolved) and they do mention that
the support is available to Linux users regardless of what
distribution you're using.
<p> Usually I've managed to bang my head on problems hard
enough and long enough that they crack before I do. So I
haven't needed to call yet. One would hope that -- with
my "reputation" as "The Answer Guy" -- I'd be able to stump
them. However Adam Richter has been at this a lot longer than
I have -- and was selling Linux distributions before I'd even
heard of Linux -- when I was barely starting to play with a
used copy of Coherent. So, maybe the next time I have a
headache I'll give them a call. I think I'm still entitled
to one freebie for that subscription to Plug & Play from a
couple of years ago.
<p> Meanwhile, if anyone else has used this service -- or
has been using any other dial-in voice support service for
Linux -- please let me know. I'll try to collate the
opinions and post them in an upcoming issue of LG.
<p> For details look at:
<a href="http://www.yggdrasil.com/Support/tspolicy.html">http://www.yggdrasil.com/Support/tspolicy.html</a>
<p> [Note: I don't have any affiliation with Yggdrasil or any
other Linux vendor -- though several of them are located
within a few miles of my home and I do bump into principals
for a couple of them at local users groups and "geek" parties]
<p> Another company that offers Linux (and general Unix) support
and consulting is <a href="http://www.craftwork.com">Craftworks</a>
I've worked with a couple of their consultants before (when
I was a full time sys admin and they were providing some
on site expertise to handle some overflow). They don't mention
their prices up front (which forces me to suspect that they are
at least as expensive as I am). I'm also not sure if they are
available for short term (1 and 2 hour) "quickshots."
<p> I suppose I should also mention that I'm the proprietor of
Starshine Technical Services. My niche is providing support
and training for Linux and Unix system's administrators.
I also offer off site support contracts (voice, and dial-up
or via the Internet using ssh or STEL). Normally I don't
"push" my services in my contributions to Linux Gazette --
I just do this to keep me on my toes.
<p>
--
Jim
<p><hr><p>
<!--================================================================-->
<a name="ppp"></a>
<h3><img align=bottom alt=" " src="../gx/ques.gif">
PPP Problems
</h3>
<P> <B>
From: Chris Bradford <a href="mailto:reynard@gte.net">reynard@gte.net</a>
<p>I have tried and failed to get a fully working ppp link up with
GTE Internet Services. When I start pppd manually after dialing in
using MiniCom, it'll start the link, and ifconfig shows that it's up
and running.
However, when I try to ping any site other than the peer, I get a
'Network Unreachable' error on every single packet that ping tries to send
out.
I'm using Slackware 3.2 w/ pppd v2.2f on a 486SX w/ 8MB
of RAM and a 14.4K bps modem on /dev/cua3.
<p>What's your advice to me?
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
What does your routing table look like?
(Use the command <tt>netstat -nr</tt> to see that).
<p> Your ppp options file (usually /etc/ppp/options) should have
a default route directive in it. That will set the
ppp0 link as your default route.
<p> That's usually what "network unreachable" means.
<p> You'll also need to have a proper value in your /etc/resolv.conf.
This is the file that your "resolver libraries" use to
figure out what DNS server they should ask to translate
host/domain names into IP addresses. Basically all applications
that do any networking under Unix are linked with the resolver
libraries.
<p>
--
Jim
<p><hr><p>
<!--================================================================-->
<a name="protocol"></a>
<h3><img align=bottom alt=" " src="../gx/ques.gif">
Z Protocol
</h3>
<P> <B>
From: Gregor Gerstmann <a href="mailto:gerstman@tfh-berlin.de">gerstman@tfh-berlin.de</a>
<p>Hi Mr. Jim Dennis,<br>
Thanks for your e-mail remarks in reply to my remarks regarding file
transfer with the z protocol in Linux Gazette issue17, April 1997. In
the meantime I received an e-mail that may be interesting to you too:
<p>Hello!
<p>I noticed your article in the Linux Gazette about the sz command, and really
don't think you need to split up your downloads into smaller chunks.
<p>The sz command uses the ZMODEM protocol, which is built to handle
transmission errors. If sz reports a CRC error or a bad packet,
it does not mean that the file produced by the download will be
tainted. sz automatically retransmits bad packets.
<p>If you have an old serial UART chip ( 8250 ), then you might be getting
intermittent serial errors. If the link is unreliable, then sz may
spend most of its time tied up in retransmission loops.
<p>In this case, you should use a ZMODEM window to force the sending
end to expect an `OK' acknowledgement every few packets.
<p>sz -w1024
Will specify a window of 1024 bytes.
<p> I'm familiar with some of the tweaking that can be
done -- and the fact that it is a "sliding window" protocol.
However I still maintain that Kermit is more reliable and
gets better overall throughput over an unreliable connection.
<p> Also ZModem is designed for use on 8-bit serial lines. Kermit
can be used easily over TCP connections and on 7-bit serial
connections. You could definitely use the C-Kermit package from
Columbia University however. The Kermit implementations from
other sources are usually reliable enough -- but slower
than molasses compared to the "real" thing.
<p>
</b>
<p><hr><p>
<!--================================================================-->
<a name="video"></a>
<h3><img align=bottom alt=" " src="../gx/ques.gif">
Video Cards
</h3>
<P> <B>
From: Pedro Miguel Reis <a href="mailto:reis@aaubi.ubi.pt">reis@aaubi.ubi.pt</a>
<p>Hi Jim. I have a simple question to you :) ! How can i put my video
card to work under Linux ? Its an Intel Pro-share. I would like to
save a jpg pic every 1 or two secs.
<p> Thx for your time.
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
The Intel ProShare is a video conferencing system. These
are normally not called "video cards" in the context of
PC's because the phrase "video cards" is taken to refer to
one of the cards that drives your video display for normal
applications and OS operations (i.e. a VGA card).
<p> There are several framegrabbers that are supported under
Linux. However it doesn't appear that the Intel ProShare
is supported under any for of Unix. Of course that's just
based on a few searches of their web site -- so it's not from
a very reliable source on the subject. (I swear, the bigger
the company the worse the support information on their web
site. You'd think they'd like to trim some of the costs of
tech support that their always griping about).
<p> Naturally you should contact their support department to
verify this (or be pleasantly surprised by its refutation).
<p> Here's a couple of links I found that are related to
video capture using CU-SeeMe (a competing technology
to Intel's ProShare):
<ul>
<li><a href="http://www.santafe.edu/~nelson/cuseeme-linux/">How to do
CU-SeeMe under Linux</a>
<li><a href="http://www.pangea.org/~mavilar/qseeme/qseeme.html">QSeeMe 0.7a --
CU-SeeMe for Linux</a>
</ul>
<p> Basically CU-SeeMe uses "off the shelf" video cams --
like the Connectix QCam (which goes for about $100 in
most places). It also uses any of several sound boards.
<p> Unfortunately the simple answer to your question may bd
desktop camera.
<p>
--
Jim
<p><hr><p>
<!--================================================================-->
<a name="zip"></a>
<h3><img align=bottom alt=" " src="../gx/ques.gif">
Linux and Zip Drives
</h3>
<P> <B>
From: <a href="mailto:midian@home.ifx.net">midian@home.ifx.net</a>
<p>Can you tell me if it is possible to set up a Linux system on a Zip
disk and where I could find info on doing this? I found a file that
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
It should be possible. I don't know where you'd
find the info, though. I'd start by looking at the
Linux HOWTO's collection. There is a HOWTO on Zip
Drives with Linux (even the parallel port version
is supported).
<p> I'd look at putting DOSLinux on an MS-DOS formatted
(FAT) Zip disk. DOSLinux is a very small distribution
(about 20Mb installed) which is designed to be installed
on a DOS filesystem. It uses LOADLIN.EXE (which I've
described in other "Answer Guy" articles) which basically
loads a Linux kernel from a DOS prompt -- and kicks DOS
out from under itself.
<p> You can find that collection of HOWTO's at:
<a href="http://sunsite.unc.edu/LDP/HOWTO/">http://sunsite.unc.edu/LDP/HOWTO/</a>
(and various mirrors).
<p> You can also find a copy of DOSLinux at 'sunsite' and
most mirrors.
<p> I use DOSLinux on my laptop (an OmniBook 600CT) and
my only complaint has been that it wasn't configured
to support the power management features of my laptop.
<p> Frankly I'm not even sure if Linux' APM support will
work with the Omnibook at all. I've heard that the
PCMCIA adapter is basically too weird for them (which
is a real bummer to me).
<p> You have to watch out if you get a copy of DOSLinux.
The maintainer, Kent Robotti, has been making frequent
sometimes daily changes to it (or was a couple of months
ago).
<p>describes this process IF you have a pre-existing Linux system to
install from. I am running a Win95 system with absolutely no hard drive
space available. Thanks for any info.
<p> Are you sure you can't even squeeze twenty or thirty
meg? With that you can get DOSLinux installed on your
normal hard drive -- which is likely to offer much more
satisfactory performance. The ZIP drive is likely to be
a bit too slow at loading programs, share libraries and
DREADFUL if you do any swapping.
<p> Of course if you boot Linux from a Zip disk (or
using the "live filesystem" offered by some CD's)
you can mount your DOS (Windows '95) partition(s)
and create a swap file there.
<p> Although most people use swap partitions -- Linux will
allow you to create swap *files* (see the 'mkswap' and
'swapon(8)' man pages for details).
<p> Note: since you don't have a copy already installed
I realize that you don't have the man pages handy --
however you can read those man pages by looking at:
<a href="http://www.linuxresources.com/man.html">http://www.linuxresources.com/man.html</a>
<p> The 'swapon(8)' refers to the man page that's in
section 8 (system administration tools) of the system.
That's necessary because there's also a man page in
section 2 (system calls) which the man command will normally
display in precedence to the one you want. So you use a
command of the form 'man 8 swapon' to tell the manual system
which one you mean. This is unnecessary with most
commands since most of the ones you'd be looking for --
most of the time -- would be the "user commands" in
section one. Also most of the administrative commands,
like mkswap, don't have functions with a conflicting
name. This is just one of those quirks of Unix that
old hands never think of while it gets novices climbing
the walls.
<p> When you use the online man pages at ssc.com (the publisher
of the Linux Journal and the Linux Gazette) the form is
a little confusing. Just check the "radio button" for
"( ) Search for a command" and put "8 swapon" (a digit
eight, a space, and the word "swapon") in the text field
(blank). Ignore the "Section Index" and the section
selector list below that.
<p> Lastly, I'd like to make a comment about running Linux
with "absolutely no disk space"
<p> DON'T!
<p> With hard disks as cheap as they are now it doesn't make
any sense to try to learn an advanced operating system
like Linux without plenty of disk space. Buy a whole
hard disk and add it to your system. If you already have
two IDE drives -- see if your controller will support four.
Most EIDE controllers have two IDE channels -- which allow
two IDE drives each on them. If you have a SCSI controller
than it seems *very* unlikely that you'd have the whole
chain full.
<p> (My old 386 has an old Adaptec 1542C controller on it --
with three hard disks, a magneto optical, a DAT autochanger
tape drive, a CD drive and a CD writer. That's full! But,
while other people have been buying 486's, then DX2's, then
Pentiums, and upgrading their copies of Windows and Office --
I've been filling out my SCSI chain -- so that's a five year
accumulation of toys!)
<p> If you really can't afford $200 on a new hard drive -- ask
around. You might find a friend with a couple of "small"
(200 Mb) drives around that they can't use. I have a couple
myself (spare parts drawer).
<p> If you try to run Linux with no disk space you probably
won't be satisfied. You can install a base system (no
X Windows, no emacs, no kernel sources, no dev. tools,
no TeX) in a very limited disk space. That's fine if
you know exactly what the system is going to be used for.
It's perfect for routers, gateways, and terminal servers
-- and I see people putting together a variety of custom
"distributions" for these sorts of dedicated tasks. I've
even heard that some X Terminals (diskless workstations)
use Linux with etherboot patches. In ;login (the magazine
for members of USENIX/SAGE -- professional associations of
Unix users and Sys Admin's) someone described their use of
Linux as a method for distributing software updates to
their Win '95 boxes across their networks. Apparently they
could squeeze just enough onto a Linux boot floppy to do
the trick.
<p> However, I'm guessing that your intent is to learn a
new OS. For that you want a more complete installation
-- so you can play with things.
<p>
--
Jim
<p><hr><p>
<!--================================================================-->
<a name="redhat"></a>
<h3><img align=bottom alt=" " src="../gx/ques.gif">
Red Hat CD Problem
</h3>
<P> <B>
From: Vivek Mukherji <a href="mailto:vivekmu@del2.vsnl.net.in">vivekmu@del2.vsnl.net.in</a>
<p>I bought a book on linux titled "Using Linux,Third Edition by Que Inc." It
had Redhat CDROM with it, but when i tried to install it, it did not
recognize the REDHAT CD though it previously made the boot disk and supp
disk from the CD. It gave the following error after asking me for source of
media i.e. from which drive or local CDROM or FTP or NFS I am going to
install it.The error message was:
"That CDROM device does not seem to contain Redhat CD in it "
<p>There seems to be no damage on the CD i.e. no physical damage.I think there
must be some other way to install it after all i have paid US$ 60 Dollars
for that book.
please reply me soon.
<p>yours truly <br>
Vivek Mukherji
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
When you select "CD-ROM" as your installation medium --
what interface are you having the setup program attempt
to use?
<p> When you use the CD to create your boot and supplemental
diskettes you are presumably using DOS -- which has its
own drivers to access the CD.
<p> There are many sorts of CD-ROM drives:
<ul>
<li><B>SCSI</B>: the most widely interchangeable;
almost any SCSI CD-ROM drive will work
with most SCSI host adapters; I've never
heard of a SCSI CD-ROM drive that failed
to work with Linux *supported* SCSI host
adapter but would work under any other OS)
<li><B>ATAPI</B>:the IDE hard drives were originally called "AT"
drives. They put all the drive "intelligence" on
the drive itself (rather than in the controller
which was the rule for ST-506 -- MFM and RLL
drives). IDE is BIOS (firmware/register level)
compatible with the ST-506 interface (although the
cabling and electronics are completely different.
So no software drivers were necessary to support
IDE hard drives. Since the AT (286) BIOS supported
the ST-506 interface (WD8003 controller) the IDE
controllers didn't even need a ROM extension (such
as the ones found on most SCSI controllers).
</ul>
<p>CD-ROM and tape drive support came a few years after
the IDE interface became popular for hard drives.
ATAPI is an ad hoc standard between those interfaces
and these other types of drives. It is an
"applications programming interface" to which the
drivers must be written. Typically all support for
ATAPI CD-ROM and tape drives must be done in
software.
<p>EIDE is a set of enhancements to the IDE spec.
The most notable enhancement is the ability to
support drives larger than 528Mb (which was the
old BIOS limit of 1024 cylinders by 63 sectors
by 16 heads). This is usually done via
extended ROM's on the controller, or enhanced
BIOS ROM's on the motherboard -- or possibly
via software drivers (which are OS specific,
naturally).
<p>In addition to those to types of CD-ROM drive there
are a variety of proprietary interfaces such as the
Mitsumi (very popular for a while -- as it was the
cheapest for a while), Sony, Wearnes/Aztech, and others.
<p>Linux supports a very wide variety of these interfaces. However
-- it's vital to know what you have. You also might need to know
"where" it is. That is to say you might need to know I/O port
addresses, IRQ's, DMA settings or parameters. You might also
need to pass these parameters along to the kernel as it boots.
<p> Another issue is the version of your distribution. Most
books are printed in large batches -- so they have a
long "shelf life." Most Linux distributions change a couple
of times a year. Red Hat, in particular, seems to be putting
out a new version every 2 or 3 months. Most of these include
significant improvements.
<p> So your money is probably much better spent on the distribution
itself rather than trying to get a "bargain" in a book and
CD combination. Specifically I recommend buying any book
solely on it's merits. I don't approve of CD's full of software
included with a book unless the software has been stable for
some time.
<p> CD's with sample code, HTML and searchable text copies of the
books contents, clip art or fonts related to the book, even
large bookmark files of related web sites, custom software by
the authors -- those are all excellent ideas; otherwise it's
shovelware that adds a buck to the production costs (fifty cents
for the CD and another fifty cents for the little glue-on vinyl
holder and the additional handling) -- and twenty bucks to the
price.
<p> So, another thing to try is a copy of the latest Red Hat (4.2)
or Debian or whatever. In any event you really need to know
the precise hardware and settings for your machine.
<p>
--
Jim
<p><hr><p>
<!--================================================================-->
<a name="cookies"></a>
<h3><img align=bottom alt=" " src="../gx/ques.gif">
Cookies
</h3>
<P> <B>
From: Michael Sokolow <a href="mailto:mxs46@po.cwru.edu">mxs46@po.cwru.edu</a>
<p>Dear Ladies and Gentlemen,<br>
Given the previous discussion about cookies, could someone explain to me
(or point out a topic in help, URL, etc.) just what ARE cookies?
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
Search the Netscape web site.
<p> Here's an independent answer courtesy of "The Answer Guy" (Linux
Gazette's nickname for me):
<p> In programming terminology -- specifically in
discussions of networking protocols (such as
HTTP and X Windows) a "cookie" is an arbitrary
data token issued by a server to a client for
purposes of maintaining state or providing
identification.
<p> Specifically "Netscape HTTP Cookies" are an
extension to the HTTP protocol (implemented
by Netscape and proposed to the IETF and the W3
Consortium for incorporation into the related
standards specifications).
<p> HTTP is a "stateless" and protocol. When your browser
initiates a connection and requests a document, binary
or header the server has no way of distinguishing your
request from any other request from your host (it doesn't
know if you're coming from a single-user workstation, or
a multi-user Unix (or VMS, MVS, MPE, or whatever) host --
or the IP address that it sees as the source for this
request is some sort of proxy host or gateway (such as
those run by CompuServe and AOL).
<p> Netscape cookies are an attempt to add and maintain state
between your browser and one or more servers. Basically
on your initial connection to a "cookie generating" site
your browser is asked for a relevant cookie -- since this
is your initial connection there isn't one -- so the server
prefers one to your browser (which will accept it unless
it's not capable of them, or some option has been enabled
to prevent it or prompt you or something like that). From
then on all other parts of that site (and possibly other
hosts in that domain) can request your cookie and the site's
administrators can sort of track your access and progress
through the site.
<p> The main advantage to the site is for gathering marketing
statistics. They can track which versions of a web page
lead to increased traffic to linked pages and they can
get some idea how many new and repeat visits they're getting.
(Like most marketing efforts at statistics there are major
flaws with the model -- but the results are valid enough
for marketdroids).
<p> There are several disadvantages -- including significant
privacy concerns. There are several tools available
to limit the retention and use of cookies by your browser
(even if you're using Netscape Navigator). PGP Inc
(the cryptography company) has a link on their site to
one called "cookie cutter" (or something like that).
<p> About the only advantage to some users is that some
sites *might* use cookies to help you skip parts of the
site that you've already seen or *might* allow you to
avoid filling in forms that you've already filled out.
<p> Personally I think cookies are a poorly chosen way to
do this -- client-side certificates (a feature of
SSL v. 3.x) is a much cleaner method (it allows the user
to get an maintain cryptographically strong "certificates"
which can be presented to specific servers on demand --
this exchange of certificates involves cryptographic
authentication in both directions -- so your browser
knows it isn't authenticating to some bogus imposter
of a server -- and the server knows that your certificate
isn't forged.
<p> SSL client certificates allow you to establish accounts
at a web site and securely interact with that site.
Cookies can't do that. In addition many people have a
vague notion that "cookies" where "snuck in" under them
-- so they have a well-deserved "bad press."
<p>
--
Jim
<p><hr><p>
<!--================================================================-->
<a name="disc"></a>
<h3><img align=bottom alt=" " src="../gx/ques.gif">
New Hard Disc
</h3>
<P> <B>
From: A Stephen Morse <a href="mailto:morse@sysc.eng.yale.edu">morse@sysc.eng.yale.edu</a>
<p>Dear Mr Dennis:<br>
I currently own an IBM 560 with a one gig hard disc which
has both a win95 partition and a 200m Linux partition
running version 2.0. We plan to upgrade today to a 2gig
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
Is this one of their "ThinkPad" laptops?
<P><B><img align=bottom alt=" " src="../gx/ques.gif">
hard disk which accepts its data from the old disc through
the PCMICA ports using a special piece of hardware. I believe the
drive is called Extreme Drive. We also have available versions 4.1 and 4.2
of Linux on floppies (by the way 2.0 = 4.0 above). So far we've not been
able to get any advice on how to proceed.
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
"...using a special piece of hardware."
<p> I love that term "special." Sometimes you have to
say it with the right inflection <sarcasm>SPEC-I-AL!</sarcasm>
to really appreciate it.
<P><B><img align=bottom alt=" " src="../gx/ques.gif">
Any suggestions. We are not super strong with Linux etc.
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
I think the question is:
<p> How do I backup my current drive and restore it
to the new drive?
<p> (with the implication that you'd like to use this "special"
device and just "copy" everything across).
<p> There are several ways of backing up and restoring a Linux
system. If you have an Ethernet connection to a system
with lots of disk space -- or to a system with a tape drive
you can do interesting things of the form:
<pre>dump -0f - | rsh $othersystem "dd of=$path_or_device ..."</pre>
<p> If you can borrow or purchase a PCMCIA SCSI controller that
Linux supports on this system you can hook up an external
hard drive or tape unit and use that.
<p> Those are the most straightforward methods for getting
*everything* across.
<p> Another approach is to identify just your data (maybe you
keep it all under your /home/ and /usr/local/ directory
trees -- or maybe you *should*). Now you get your new
disk, install it, get some upgrade of your favorite
Linux distribution (I hear the new Debian 1.3 is pretty good),
install and configure that and -- finally -- just restore the
selected portions of your data that you want.
<p> If you're concerned about the potential loss of data or
down time from any of these methods you might also consider
renting a system (desktop or laptop) for a week to use while
you're straightening things out on your main system. This is
advice to consider any time you're doing a major hardware
upgrade to an "important" system.
<p> Interesting question!
<p> Do any of the computer rental services offer
Linux systems?
<p> (PCR, Bit-by-Bit -- who else is in that business?)
<p>
--
Jim
<p><hr><p>
<!--================================================================-->
<a name="crashes"></a>
<h3><img align=bottom alt=" " src="../gx/ques.gif">
Random Crashes
</h3>
<P> <B>
From: sloth <a href="mailto:sloth7@hotmail.com">lsoth7@hotmail.com</a>
<p> hi. whenever i try to install linux (so far i have tried redhat,
Slackware and Debian) the install program crashes at random times. I have
tried removing all unnecessary hardware, ie sound cards etc, but it
doesn't seem to make a difference. I have a Intel p150mhz, triton VX
main board, s3virge graphics card, 16mb ram and a 2.0gb quantum harddisk.
Any help would be MUCH appreciated!
cheers, sloth...
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
Have you had your memory thoroughly tested?
<p> I would take out your memory (presumably they're
SIMM's) and bring them into to a good repair shop
for testing. I DON'T recommend software diagnostics
for this (like AMIDIAGS, Norton's NDIAGS, "System Sleuth"
etc).
<p> Do you run any other 32-bit software on this system?
(Win '95 and Windows 3.x don't count)
<p> Can you install and run NT, Netware, or FreeBSD?
<p> I've seen motherboards that just wouldn't handle any
true 32-bit OS for sustained use (presumably buggy chipsets)
-- that's why Novell and Microsoft have these "compatibility"
lists of motherboards.
<p> Have you tried taking out the fancy video card and
putting in a simple VGA (no frills -- Paradise chipset)?
<p> Most of the Linux install scripts and programs (different
for each distribution) just use text mode. Therefore it's
very unlikely that the video card *type* is a problem.
However if your particular card has a defect it could be
something that only affects your system under Linux or some
other OS'. It's a long shot, and some EE (electronics engineer)
might tell me it's impossible -- but I'd try it anyway.
<p> (I keep a couple of spare old VGA cards and even an old
Hercules -- monochrome graphics -- card around for just
these sorts of testing).
<p> What sort of hard disk controller are you using? (IDE?
SCSI?)
<p> Some IDE controllers have buggy chipsets (some of them are
even supported by compile time options in the Linux kernel).
However, IDE controllers are cheap -- so keeping an extra
around for testing is a very small investment.
<p> SCSI host adapters are somewhat touchier and more expensive.
Some of them are nominally supported by Linux (and other
OS') but aren't worth keeping in your system. For example the
Adaptec 1542B was a piece of junk. At the same time I use
Adaptec 1542C and 1542CF and the various 2940's without
hesitation.
<p> RAM is the most likely culprit. The motherboard chipset
is another possibility. A defective video card or a buggy
HD controller are next in line.
<p> It's possible that you're system has some sort of bizarre
"top memory" which requires an address range exclusion or
that you need to "reserve" some I/O ports so Linux won't
use them or probe into them for hardware. You could spend
a career trying different "stripped down" kernels on boot
floppies and learning all the idiosyncrasies of your hardware.
However -- it's probably more profitable in the long run
to replace any hardware that's causing trouble.
<p> The advantage of PC hardware is that it's cheap and widely
available. It's curse is that it's often *cheap* and the
specs are *widely* interpreted. Now that Linux is becoming
available on some other hardware platforms -- and especially
now that we're seeing "clones" of SPARC, Alpha, and PowerPC
systems for rates that some of us can afford -- we might
see some advantages from stepping away from the hardware
half of the WIntel cartel.
<p>
--
Jim
<p><hr><p>
<!--================================================================-->
<a name="slackware"></a>
<h3><img align=bottom alt=" " src="../gx/ques.gif">
gcc and Slackware Question
</h3>
<P> <B>
From: Steven Smith <a href="mailto:ischis@evergreen.com">ischis@evergreen.com</a>
<p>GNU's gcc is part of the slackware package that I have loaded on my
system. I can and have compiled and linked C code.
<p>I can compile the standard C++ code below (if I haven't miss entered
the code but for some reason the C++ libraries will not link correctly
(ie. i get and error):
<pre>
#includ &lt;iostream.h&gt;</pre>
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
I think you mean <pre>#include ...</pre>
<pre>
main()
{
cout &lt;&lt; &quot;hello world\n&quot;;
}
Poor form. Unix programs should be
int main ( int argc, char * argv[] )
... or at least:
void main () ...
----------------
gcc -c program_name.C &lt;- no errors
gcc program_name.C &lt;- errors</pre>
<P><B><img align=bottom alt=" " src="../gx/ques.gif">
Do you know what might be missing?
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
Your error messages.
<p>Here's a way to capture sessions when you're trying to
write messages to the <a href="mailto:lust@li.org">Linux User's Support Team</a> ,
to me or to the <a href-"mailto:linuxprog@geeky1.ebtech.net">Linux Programmer's Mailing List</a>
,or any of the appropriate news
groups:
<p> Get to a shell prompt.
Issue the command: <tt>script ~/problem.log</tt>
Run your test (demonstration of the problem).
Back at the shell prompt, type Ctrl-D or issue the
<tt>exit</tt> command.
Edit the ~/problem.log file (take all the weird
escape sequences out).
<p> An easier way is to use emacs' &quot;shell-mode&quot; -- just start
emacs and use the M-x shell-mode command. This creates a
shell buffer (a sub task in emacs) which allows you to run
tty style programs (no full screen &quot;curses&quot; stuff). The
output from these shell commands will appear in this buffer
and you can use normal emacs cursor, scrolling, cut, and paste
operations to work with that output. For example I pasted your
program into a new buffer, saved it, &quot;fixed&quot; a couple of minor
things, switched to my shell mode buffer (I usually keep one
handy) and ran the following sequence:
<pre>
[jimd@antares lgaz]$ ls
hello.C
[jimd@antares lgaz]$ cat hello.C
#include &lt;iostream.h&gt;
int main( int argc, char * argv[] ) {
cout &lt;&lt; &quot;hello world\n&quot;;
return(0);
}
[jimd@antares lgaz]$ make hello
g++ hello.C -o hello
[jimd@antares lgaz]$ ./hello
hello world
[jimd@antares lgaz]$
</pre>
... which I then simply pasted into this buffer.
<p> Note that I use the <tt>make</tt> command here. A nice feature
of 'make' (at least the GNU <tt>make</tt>) is that it can make
some guess about what you mean even if you don't supply it
with a Makefile. So my command <tt>make hello</tt> forces make to
look for a .c, .C or .cpp file to compile and link. If it
sees a .o file it will try to link it with <tt>cc</tt> -- but
for a C++ file you need to link it with g++.
<p> A nice side effect of using make this way is that I don't
have to specify the -o (output name) and I don't end up
with a file named a.out. It &quot;makes&quot; a program named hello.
<p> So the source of your problem is probably that you are
compiling your program with gcc in a way that confuses
it -- and tries to link it as a C program rather than a
C++ program. If you call gcc under the link 'g++' (just
another name for it) you'll see the whole think work.
The compiler pays attention to how you called it (the value
of its argv[0]) and makes assumptions based on that.
<p> Of course I can't verify that the errors I got were the same
as the ones that you see -- since you didn't capture them into
your message. In any event using <tt>make hello</tt> works --
using <tt>g++ hello.C</tt> works -- using <tt>gcc hello.C</tt> doesn't
link properly and complains about unreferenced stuff and
using gcc or g++ with the -c gives me an object file
(hello.o) which is, for our purposes, useless.
<p> A better venue to ask questions about compiling under Linux
might be the Linux programmers list (as I mentioned earlier)
or in any of several comp.lang.c and comp.lang.c++ newsgroups
(since there is nothing Linux specific about this).
<p> If you consider it a bug that gcc recognizes the capital
C for C++ when generating .o files and doesn't automagically
link with the appropriate libraries in the next pass --
take it up with the participants of the gnu.gcc.* or the
gnu.g++.* newsgroups. (There's probably a very good reason
for this behaviour -- though I confess that I don't see it).
<p>
--
Jim
<p><hr><p>
<!--================================================================-->
<a name="lilo"></a>
<h3><img align=bottom alt=" " src="../gx/ques.gif">
LILO
</h3>
<P> <B>
To: Toby Riley <a href="mailto:toby@handc.btinternet">toby@handc.btinternet</a>
<p>James,<br>
I have been reading your page with great interest but I can't find
anything about removing LILO and restoring My MBR. Unfortunately I have
to de-install Linux for a while. I have tried running lilo -u and lilo
-U and when the PC reboots I just get LI and the system hangs.
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
Personally I've never heard of a -u switch to lilo.
<p> Normally you have to replace your lilo MBR with some other
valid MBR. Most people who are disabling Linux on a system
are restoring access to an existing set of DOS partitions --
so using the DOS MBR is in order.
<p> To do that -- boot from a DOS floppy -- and run FDISK /MBR
This should exit silently (no error and no report of
success). The /MBR switch was added, undocumented, to version
5.0 of MS-DOS. It won't work with previous versions.
<P><B><img align=bottom alt=" " src="../gx/ques.gif">
I can boot Linux off a floppy and the re-run LILO which adds my boot
options and restore my system to a usable state. But I can't get rid of
it and restore the Win95 boot up.
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
Under the hood Win '95 is MS-DOS 7.0 -- just run FDISK /MBR.
<p> We eagerly await your return to the land of Linux.
<p>
--
Jim
<p><hr><p>
<!--================================================================-->
<a name="print"></a>
<h3><img align=bottom alt=" " src="../gx/ques.gif">
Printing Problems
</h3>
<P> <B>
From: RHS Linux User <a href="mailto:6ng1@qlink.queensu.ca">6ng1@qlink.queensu.ca</a>
<p>hello answer guy!<br>
Problem: Printing text / postscript documents.
<p>Printing graphics (using xv) works fine, after having my printcap file
set up for me, using apsfilter. I own a kyocera f-3010 and this printer
can emulate an HP LaserJet Ser II. However, printing documents is a
completely different story. Trying to print from, say, Netscape or LyX
gets a printout of two or three "step ladder" lines, the output usually
being something like "/invalid font in findfont . cannot find font Roman
... etc". Looks like it is not finding the appropriate ghostscript
fonts. Is there any way to ensure that ghostscript can recognize my
fonts (using xfontsel shows all my installed fonts)? Would you know how
to rectify this problem?
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
Like X Windows, printing is a great mystery to me.
I managed to get mine working -- including TeX with
dvips (on my DeskJet 500C) -- but I still don't know
quite how.
<p> xv works and Netscape and LyX don't. Can you print a
.dvi file using dvips? Can you print a Postscript file
using lpr? How about mpage? Does that work?
<p> The stairstep effect is common when raw Unix text is going
to a printer that's expecting MS-DOS CRLF's (carriage return,
linefeed pairs). That makes it sound as though the other
applications are bypassing the filter in your /etc/printcap
file (or that xv is somehow invoking the write filter before
passing the directly to the printer).
<P><B><img align=bottom alt=" " src="../gx/ques.gif">
Thanks a million for your help, this is something that has been
bothering me for a while now.
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
Yeah. I let printing bother me for about a year before
I finally forced it to print something other than raw
(MS-DOS style) text.
<p> You have gone through the Printing-HOWTO's haven't
you?
<p>
--
Jim
<p><hr><p>
<!--================================================================-->
<a name="support"></a>
<h3><img align=bottom alt=" " src="../gx/ques.gif">
Linux Disk Support
</h3>
<P> <B>
From: Andrew Ng <a href="mailto:lulu@asiaonline.net">lulu@asiaonline.net</a>
<p>Dear Sir,<br>
I have a question to ask: Does Linux support disks with density
2048bytes/sector?
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
Linux currently doesn't support normal disk with large
block sizes. (CD-ROM's have large block sizes -- but this
is a special case in the code).
<p> It is likely that support for larger block sizes will eventually
be added to the kernel -- but I don't think it will be in
before 2.2 (not that I actually have an inside track on if or
when anything is going to happen in kernel development land
-- that's just my guess).
<p><B><img align=bottom alt=" " src="../gx/ques.gif">
I have bought a Fujitsu MO drive which support up to 640MB MO disks with
density 2048bytes/sector. The Slackware Linux system does not support
access to disks with this density. Windows 95 and NT support this density
and work very well. Is there any version of Linux which support
2048bytes/sector? If not, is there any project working on that?
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
Someone from Fujitsu's support team called me back on this
(as I'd copied an earlier message to their webmaster).
<p> The report was that the smaller 540Mb MO media are supported
with no problem -- but that the high density media with the
large block sizes weren't supported. If I recall correctly
he said that this doesn't work for any of the other versions
of Unix that Fujitsu knows of (with their drive).
<p>--
Jim
<p><hr><p>
<!--================================================================-->
<a name="renaming"></a>
<h3><img align=bottom alt=" " src="../gx/ques.gif">
Renaming Problems
</h3>
<P> <B>
From: Sean McCleary <a href="mailto:sean@cdsnet.net">sean@cdsnet.net</a>
<p>Anyhow, here's my problem:<br>
I recently renamed my system in my /etc/HOSTNAME file. Ever since I
made that change, my system's telnet daemon has stopped allowing incoming
connects from ANYWHERE. I was told this has to do with my recent
system-renaming, but the man who I was talking to about it never told me
WHY or how to fix it.
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
I've checked my /etc/hosts.allow and /etc/hosts.deny.
<p> These two files control the behavior of tcpd (the
TCP Wrappers program by Wietse Venema).
<p> You might also want to look at your /etc/hosts file.
This file is used by most system resolver libraries
in preference to DNS.
<p> The resolver libraries are the code that allows client
programs on your system to translate domain/host names
into IP addresses. There are several schemes for doing
this -- which can be set in different priorities for each
host.
<p> The oldest method for performing this resolution was
a simple lookup in the local /etc/hosts file (there was
also an /etc/networks file back then -- you don't see them
very often now). This is still common for small networks
(less than about 25 systems).
<p> The most widely used method is DNS (also know as BIND --
Berkeley Internet Naming Daemon -- a.k.a. 'named'). Actually
DNS is the protocol and BIND is the commonly available server
software.
<p> Another fairly widespread naming service is NIS and its
causing NIS+. These were both created by Sun Microsystems
and published as open specifications. This system was
originally known as "Yellow Pages" -- and many of the commands
for managing the service still have the prefix "yp" (i.e.
'ypcat'). However a company (British Telecom if I recall
correctly) objected to the trademark infringement and Sun was
forced to change the designation.
<p> NIS and NIS+ are designed to distribute more than host and
network name resolutions -- they are primarily used to
manage accounts across whole domains (networks) of hosts.
This is especially important among systems that are using
NFS since that usually requires that you maintain synchronized
UID across the enterprise. (The normal NFS behavior is to
grant file access based on the effective UID of the user on the
client system -- this can be overwritten in a cumbersome fashion
-- but most sites simply synchronize the UID's -- usually via
NIS or by using rdist and distributing whole /etc/passwd
files).
<p> Under Linux there is a file named /etc/host.conf (note: SINGULAR
"host"). This sets the priorities of the resolver libraries --
which is typically something like:
<pre> order files bind nisplus nis
multi on
</pre>
(look in the /etc/hosts and /etc/networks first -- then try
DNS -- then NIS+ and finally NIS -- try multiple
resolutions).
<P><B><img align=bottom alt=" " src="../gx/ques.gif">
Why is this happening, Answer Man?
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
I don't know. Did you look at a tail /var/log/messages
for clues? Are you sure that this is a problem with
your host's name? Did you change to shadow passwords
around the same time?
<p> One way to get more clues about any failure you get from
any service in the inetd.conf file is to replace the
service's entry temporarily with a command like:
<pre>
## telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/strace \
-o /root/tmp/telnet.strace /usr/sbin/in.telnetd
</pre>
Here I've commented out the old telnetd line and put in
one that keeps a system call trace file. Looking at this
file can give some clues about what the program was trying
to do up until it disconnected you.
<p> I'll grant that you need to know something about programming
to make any use of this file. However you probably don't
need to know as much as you'd think. That start to make a
little sense after you run a few dozen of them -- particularly
if you have a "working" and a "broken" configuration to run
your tests with.
<p>--
Jim
<p><hr><p>
<!--================================================================-->
<a name="monitor"></a>
<h3><img align=bottom alt=" " src="../gx/ques.gif">
X Locks Monitor
</h3>
<P> <B>
From: Jon Jacob <a href="mailto:xaviermoon@earthlink.net">xaviermoon@earthlink.net</a>
<p>I am trying to configure X. I have a Config file set to the SVGA generic
using the XF86Config.eg file that comes with the Slackware96 distribution.
<p>I have a Sony Multiscan15sf with a ATI mach64 PCI video care with 1 meg of
VRAM. When I run startx, the monitor locks so that it turns to black but it
still is getting a signal from the PC because the PowerSaving light stays
green.
<p>I tried fiddling with the Config file with no change. I ran the startx to
redirect to an out file to see the error message, but I just get the same
file I got when I ran x -probeonly.
<p>I could not find a drive for an ATI Mach64 PCI card that matches mine. Do
I need one? If so, where would I get it? Can I use some generic driver?
<p>Also, Ramdoc was shown by the probe to be "unknown" so I left it commented
out in the Config file. Could this be the problem?
<p>I am very frustrate after hours and hours of attempts. Please help!
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
I keep trying to tell people: I barely use X. X Windows
configuration is still a mysterious "black art" to me that
requires that I have the system in front of me to do my
hand waving in person.
<p> I think you should search the X Windows HOWTO file for the
strings "ATI" an "Mach." I'm pretty sure you need a special
server for the Mach 64's and I wouldn't be at all surprised
if it was one of those deviants that doesn't work with a
generic SVGA driver.
<p> The first time I ever got X running I resorted to IRC
(Internet Relay Chat) -- where I joined the #Linux channel
and hung out for awhile. After watching the usual banter
for about 20 minutes and adding a few (hopefully intelligent)
comments to the discussions at hand I timidly asked for
some help. Some kind soul (I don't remember the nickname)
asked for some info -- show me how to do a /dcc (direction
communications connection?) to send the file to him -- edited
my XConfig file and sent it back.
<p> One of the beauties of Linux is that I was able to test
a couple of revisions of this file while maintaining my
connection. Naturally, I glanced over the file before using
it. If you decide to take this approach I recommend that
you avoid any binaries or source code that you don't understand
that someone offers to xfer to you. You will be running this
as 'root' on your system.
<p> A config file with which you are moderately familiar
is a bit safer -- though you could always end up with some
weird trojan in that, too.
<p> This is not to suggest that IRC has a higher percentage of
crackers and "black hats" than anywhere else on the net --
just trying to emphasize that you have no way of identifying
who you were working with -- and all it takes is one.
<p> Another approach you might try is to call ATI and let
them know what you want. As more of us use Linux and
demand support for it the various hardware companies will
have their choices -- meet market demands or lose marketshare.
<p> If you decide to take this to the news groups be sure to
go for comp.os.linux.x -- rather than one of the more
general newsgroups. It is a little frustrating that so
many X questions end up in the various other Linux news
groups -- X Windows for Linux is no different than X Windows
for any other x86 Unix. However I've never seen an XFree86
newsgroup so...
<p>
--
Jim
<p><hr><p>
<!--================================================================-->
<a name="security"></a>
<h3><img align=bottom alt=" " src="../gx/ques.gif">
Using JDK 1.1 for Solarix x86 on Linux
</h3>
<P> <B>
From: Romeo Chua <a href="mailto:rchua@st.nepean.uws.edu.au">rchau@st.nepean.uws.edu.au</a>
<p>Hi! I would like to know if I can use the JDK 1.1.2 for Solaris x86 on
Linux. Does the iBCS2 module support Solaris x86 applications?
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
Last I heard a native JDK was already available for Linux
(although that might be 1.1.1).
<p> I have no idea whether SunSoft has maintained any
compliance to iBCS in the Java stuff for Solaris.
<p>--
Jim
<p><hr><p>
<!--================================================================-->
<a name="colormap"></a>
<h3><img align=bottom alt=" " src="../gx/ques.gif">
Colormap Question
</h3>
<P> <B>
From: Kevin T. Nemec <a href="mailto:knemec@mines.edu">knemec@mines.edu</a>
<p>Dear Answer Guy,<br>
I was wondering if it is possible to force a program to use its own
colormap externally. That is, can you force a program without a built in
option to use its own colormap to do so in some other way. I don't mind
the "flashing" in some applications as long as I can see all the colors.
<p>Kevin Nemec
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
I've heard that xnest can be used to run one X session inside
of another. I don't know if this would help. I've used
XFree86's support for multiple virtual consoles to run two
X Windows sessions concurrently (using {Ctrl}+{Alt}+{Fx} to
switch between them, of course). These can be run with different
settings (such as 8bpp on one session and 16pbb on the other.
<p> Other than that I have no idea. I keep trying to tell people
I'm a *Linux* guy -- NOT an XFree86 guy. I run X Windows to
do the occasional XPaint or XFig drawing, to run Netscape on
sites that are just too ugly to tolerate in Lynx, and (recently)
to play with xdvi and ghostview (to preview my TeX and PostScript
pages).
<p> So, anyone out there that would like an XFree86 Answers
Column in Linux Gazette (or anywhere else preferably under
LDP GPL) has my utmost support. (Although our esteemed editor,
Marjorie Richardson will certainly make the decisions).
<p>
--
Jim
<p><hr><p>
<!--================================================================-->
<a name="lilo2"></a>
<h3><img align=bottom alt=" " src="../gx/ques.gif">
More on LILO
</h3>
<P> <B>
From: Paul L Daniels <a href="mailto:jdaniels@stocks.co.za">jdaniels@stocks.co.za</a>
<p>With respect to a question that was in "The Answers Guy" re LILO only
presenting "LI" on the screen then _hanging_.
<p>I found that problem too... the problem (at least for me) was that I was
including a DOS partition in the LILO.conf file. After removing the
partition manually, running liloconfig and reinstalling from current
lilo image, everything worked.
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
If you were including a DOS partition in your lilo.conf
file with some syntactic errors (making it look like a
Linux partition perhaps) or if your previous edit of the
file had not be followed by run /sbin/lilo (the "compiler"
for the /etc/lilo.conf file) -- I would expect you to have
problems.
<p> However it is quite common to include one or several
DOS partitions in a lilo.conf file. That is the major
purpose of the LILO package -- to provide multiple boot
capabilities.
<P><B><img align=bottom alt=" " src="../gx/ques.gif">
If this is all babble and drivel, then ignore it, I wasn't sure who to
post to.
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
I suspect that there was something else involved in the
"stanza" (clause, group of lines) that you removed from
your conf file. Since you've solved the problem it
sounds like little would be gained from attempts to
recreate it -- or to guess at what that had been.
<p>
--
Jim
<p><hr><p>
<!--================================================================-->
<a name="gui"></a>
<h3><img align=bottom alt=" " src="../gx/ques.gif">
95 GUI
</h3>
<P> <B>
From: Sean <a href="mailto:sdonovan@hq.si.net">sdonovan@hq.si.net</a>
<p>Sorry if I am one of hundreds w/ this kinda question./....but try to
answer if you have time..
<p>So I had linux loaded up and working fine was even able to make my
dos/95 partition work ok too. So then I actually loaded the 95 gui {it
had just been a sys c: to get a bootable dos/95 since I didn't have the
95 files for the gui at the time}
<p>So now all I can get is 95...I tried the primitive fdisk thing thats
part of the do you want to install linux again deal w/ the two disks
also tried making different partitions active w/ fdisk as well...but no
workie workie. I can boot w/ the two disks that are part of the linux
install use the rescue option and then mount the hd linux partition to a
directory of my choice and if I try to run lilo from their {since its
not in /sbin/lilo on the floppies} it moans about lilo.conf not around
and /boot/boot.b not present and such sooo I try to recreate that
structure on the root {ramdisk:?} or floppy or whatever I am running
everything from...run out of diskspace trying to copy hda files from now
mounted hd to /dev of ram/floppy. So I'm stuck...Any ideas? I have read
all relevant faq's/scanned every apparently related how-to's etc... to
no avail...maybe its like you said on your page; maybe I'm not really
running a "boot" floppy... help if ya can,
My lilo.conf was reliably letting me into command line dos/95 and
linux/xwindows etc.. system is an IBM thinkpad 760el if that's relevant.
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
The short story is that you don't know how to run
/sbin/lilo.conf from a boot floppy (rescue situation).
<p> There are two methods. One is to use the chroot command:
<p> Basically after you boot you mount your root file system
(and your usr if you have that separate) -- something like
so:
<pre> mount /dev/sda5 /mnt/
mount /dev/sdb1 /mnt/usr
</pre>
<p> (Here I'm using the example of an extended partition on
the first SCSI drive for my normal root partition and the
first partition on my second SCSI drive as my usual
usr partition -- change those as necessary).
<p> You can (naturally) create a different directory other than
/mnt/ or under /mnt and mount your filesystem under that.
<p> Now you cd to that:
<pre> cd /mnt/
</pre>
And run the chroot command -- which takes two parameters:
where to make the new root of your session's filesystem and
what program to run in that "jail"
<pre> chroot /mnt/ /mnt/bin/bash
</pre>
<p> Here we're running the copy of bash that's under our
chroot environment. Thus this session, and all processes
started by it now see /mnt as /.
<p> This was the original use of the chroot call -- to allow
one to work with a subset of your filesystem *as though*
it were the whole thing (handy for developers and doing
certain types of testing and debugging -- without risking
changes to the whole system).
<p> Now should be able to vi /etc/lilo.conf and run /sbin/lilo
to "compile" that into a proper boot block and set of mappings.
(note the "/etc/" and "/sbin/" will be really /mnt/etc and
/mnt/sbin -- to the system and to any other processes -- but
they will *look like* /etc/ and /sbin/ to you).
<p> The other approach is to create a proper (though temporary)
lilo.conf (any path to it is fine) and edit in the paths that
apply to your boot context. Then you run /sbin/lilo with the
-C file to point it at a non-default lilo.conf (which can
be named anything you like at that point.
<p> The trick here is to edit the paths in properly. Here's
the lilo.conf for my system (antares.starshine.org):
<pre>
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
other=/dev/hda1
label=dos
table=/dev/hda
image=/vmlinuz
label=linux
root=/dev/sda5
read-only
</pre>
<p> Here's how I have to edit it to run lilo -C when I'm booted
from floppy and have mounted my root and usr as I described
above (on /mnt and /mnt/usr respectively):
<pre>
boot=/dev/hda
map=/mnt/boot/map # current (emerg) path to map
install=/mnt/boot/boot.b # current (emerg) path to /boot
prompt
timeout=50
other=/dev/hda1
label=dos
table=/dev/hda
image=/mnt/vmlinuz # path to my kernel
label=linux
root=/dev/sda5
read-only
</pre>
<p> Note that I've added comments to the end of each line
that I changed. (I think I got them all write -- I don't
feel like rebooting to test this for you). The specifics
aren't as important as the idea:
<p> The lilo program (/sbin/lilo) "compiles" a boot
block from information in a configuration file --
which defaults to /etc/lilo.conf.
<p> References to directories and file in the .conf file
must be relative to the situation *when the /sbin/lilo
is run*. References to devices and partitions
typically don't change in this situation.
<p> I hope that helps. It is admittedly one of the most
confusing aspect of Linux to Unix newbies and professionals
alike. In some ways I prefer FreeBSD's boot loader (the
interactive and visual debug modes are neat -- you can
disable various drivers and view/tweak various kernel settings
during the boot). In other ways I prefer LOADLIN (which
can load Linux or FreeBSD kernels from a DOS command prompt
or from a DOS CONFIG.SYS file). In yet other ways I like
the OpenBoot (forth interpreter and system debugger) used
by SPARC's.
<p> I would like to see PC's move to the OpenBoot standard --
it's SUPPOSED to be part of the PCI spec. Basically this
works by replace the processor specific machine code instructions
in device ROM's (for video cards and other adapters) with
FCode (byte compiled forth). The system (mother) board then
only has to implement a forth interpreter (between 8 and 32K
of footprint -- much smaller than existing BIOS chips).
<p> The advantage is that it allows your adapters to be used
on systems regardless of the processor. Forth is a very
efficient language -- as close to machine language as an
interpreter can get -- and closer than many assemblers
(some of which generate stray code).
<p> Too bad there are no PC manufacturers who understand this
YET!
<p><hr><p>
<!--================================================================-->
<a name="thanks"></a>
<h3><img align=bottom alt=" " src="../gx/ques.gif">
Letter of Thanks
</h3>
<P> <B>
From: Sean <a href="mailto:sdonovan@hq.si.net">sdonovan@hq.si.net</a>
<p>Thank you from the bottom of my heart for your informative and very
useful email. It took about 50 seconds using the chroot command {see
I learned something new today :-) }
I am back up...worked like a charm...
I'll try not to bother you in the future but if I ever need to blow the
horn at time of utmost need... It's pretty cool when stuff works, what is
frustrating as heck is when you can't find the answers, I really did try
reading the faq's/how to's and so on...
You are right about the email coherency, need to work on that, guess I
figured to a hack like yourself it would make sense {all the stuff that I
had tried} and I wasn't sure you would actually write back.}
<p>I'm doing this from minicom so everything workie workie :-)
<p>When you have time; why did another friend {not in your league
apparently} suggest:
linux root=/dev/hda2 ro <cr> from the boot command?
Supposedly it would boot from partition hda2 {linux native} at that point
no such luck still went from floppy.
<P>
thanks again,<br>
Sean
</B>
<p><hr><p>
<!--================================================================-->
<a name="card"></a>
<h3><img align=bottom alt=" " src="../gx/ques.gif">
ST01/02 SCSI Card
</h3>
<P> <B>
From: John Messina <a href="mailto:John.Messina@astramerck.com">John.Messina@astramerck.com</a>
<p>My dad just gave me his old 386 machine. It's not much, but I wanted
to start experimenting with it and to try to use it as a firewall.
I upgraded it to 8MB of RAM and dropped in an ISA Ethernet card -
just the bare minimum. I'm attempting to install RedHat 4.1 onto this
machine. My main machine is already up and running with COL Standard
and since the 386 has no CD-ROM, I attempted to do an NFS install.
he NFS part of the install works perfectly (nameserver, exports,
etc. on my main machine is configured correctly and autoprobe can find
the 386's ethernet card). The problem occurs when the install starts
to look for the 386's SCSI card. The 386 has a Seagate ST01/02 SCSI
card with one hard drive attached. The ST01/02 is supported by the
install, but autoprobe cannot find the card and I've tried all of the
combinations for the parameters that are listed - checked the RedHat,
CND, and COL manuals. No IRQ/Base address combination that I've tried
works. I've looked at the board itself, but can't tell how it's set up.
I guess my question comes down to the following:
<p>Is there a way during the install to find out what the IRQ/Base
address for this board is? Or, since the machine will successfully
boot to DOS/Win3.1, is there a way to determine these settings from
the DOS/Windows environment?
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
There are a variety of "diagnostics" utilities for DOS
-- MSD (Microsoft) comes with some recent versions of DOS
and Windows, NDIAGS comes with recent versions of the
Norton Utilities, American Megratrends used to sell the
AMIDIAGS, and there used to be some others called
Checkit! and System Sleuth. There are also a large
number of DOS shareware and freeware programs which perform
different subsets of the job.
<p> Another program that might list the information you're looking
for is Quarterdeck's "Manifest" which used to be included
with QEMM since about version 7 or 6 and with DESQview/386
(one of my all-time favorite DOS programs -- with features I
still miss in Linux!).
<p> The system I'm typing this on is an old home built 386.
It is the main server for the house (the clients are Pentia
and 486's -- mostly laptops). So you don't have to "apologize"
about the age of your equipment. One of the real virtues of
Linux is that it breathes new life into old 386's that have been
abandoned by the major software vendors.
<p> One approach to consider it to find a good SCSI card. I
realize that you'll spend more on that than you did on the
computer -- but it may be worth it nonetheless. Over the
years I've upgraded this system (antares) from 4Mb of RAM
to 32Mb and added:
Adaptec 1452C controller,
one internal 2Gb SCSI,
and a 538Mb internal,
a 300Mb magneto optical drive,
a 4mm DAT autochanger,
an 8x CDROM,
a Ricoh CD burner/recorder,
and an external 2Gb drive
(that fills out the SCSI chain --
with additional drives including a Zip
on the shelf)
upgraded the old 200Mb IDE hard drive to a pair of
400 Mb IDE's,
upgraded the I/O and IDE controller to one with
four serial ports (one modem, one mouse, two terminals --
one in the living room the other in the office),
and a 2Mb STB Nitro video card.
<p> My point is that you can take some of the money you save
and invest in additional hardware. You just want to ensure
that the peripherals and expansions will be useful in your
future systems. (At this point memory is changing enough
that you don't want to invest much in RAM for your 386 --
you probably won't be able to use it in any future systems) --
bumping it up to 16Mb is probably a good idea -- more only if
it's offered to you for REAL cheap.
<p> Other than than I'd do an Alta-Vista search (at Yahoo!)
for Seagate ST01/02 (ST01, ST02, ST0). My one experience
with the ST01 is that it was a very low quality SCSI card
and not suitable for serious use. I'd also search the
"forsale" newsgroups and ads for a used BusLogic (you might
find one for $10 to $25 bucks -- don't pay more than $50
for a used one -- low end new cards can be had for $60).
<p>
--
Jim
<p><hr><p>
<!--================================================================-->
<a name="booting"></a>
<h3><img align=bottom alt=" " src="../gx/ques.gif">
Booting Linux
</h3>
<P> <B>
From: Vaughn (Manta Ray) Jardine <a href="mailto:vaughn@fm1.wow.net">vaughn@fm1.wow.net</a>
<p>I Use a multiconfig to boot either to Dos, Win95, or Linux (Redhat 4.1).
I use loadlin from the autoexec.bat to load the linux kernel, however I
recently accidently deleted the dir with loadlin and the vmlinuz.
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
Ooops! I hate it when that happens!
<P><B><img align=bottom alt=" " src="../gx/ques.gif">
I made a boot disk on installation so I use that to get to Linux. I
copied the vmlinuz from the /boot dir and put it on my Dos partition.
Now I don't have the original loadlin so I took one from a redhat 4.2
site on the net. It still won't boot. It starts and halfway through
bootup it stops.
<p>Do I have to get the loadlin that came with redhat 4.1? What am I doing
wrong. It boots fine off the boot disk.
<p>Vaughn
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
I'd want to find out why the LOADLIN is failing.
The old version of LOADLIN that I'm used to did require
that you create a map of the "real BIOS vectors" -- which
is done by allowing REALBIOS.EXE to create a boot disk,
booting off of that, and then re-running REALBIOS.EXE.
<p> This file would be a "hidden + system" file in C:\REALBIOS.INT
<p> The idea of this file is to allow LOADLIN to "unhook" all
of the software that's redirected BIOS interrupts (trap vectors
-- sort of like a table of pointers hardware event signal handlers)
to their own code. To do this you must have a map of where
each interrupt was pointed before any software hooked into it
(thus the boot disk). This boot disk doesn't boot any OS --
it just runs a very short block of code to capture the table
and save it to floppy -- and displays some instructions.
<p> You may have to re-run REALBIOS.EXE (generate a new BIOS
map) any time you change your hardware. This is particularly
true when changing video cards or adding removing or changing
a SCSI adapter.
<p> Obviously the version of LOADLIN that's used by Red Hat's
"turbo Linux" and by the CD based installed program of other
Linux distributions doesn't require this -- though I don't know
quite how they get around it.
<p> So, try installing the rest of the LOADLIN package and running
REALBIOS.EXE. Then make sure you are booting into "safe"
DOS mode under Win '95. I'd also consider putting a block
(like a lilo.conf stanza) in your CONFIG.SYS which invokes
LOADLIN.EXE via your SHELL= directive. That block should have
any DEVICE= or INSTALL= directives except those that are needed
to see the device where your LOADLIN.EXE and kernel image file
are located. This should ensure that you aren't loading
conflicting drivers. There are details about this in the
LOADLIN documentation.
<p>
--
Jim
<p><hr><p>
<!--================================================================-->
<a name="panics"></a>
<h3><img align=bottom alt=" " src="../gx/ques.gif">
Kernel Panics on root fs
</h3>
<P> <B>
From: Ken <a href="mailto:Ken@KenAndTed.com">Ken@KenAndTed.com</a>
<p>Hi... I'm having some trouble, and maybe you could help??
<p>I recently went from kernel 2.0.27 to 2.0.3. Of course, =) I used Red Hat's
RPM system (I have PowerTools 4.1) and upgraded. After the config,
compile (zImage), and modules stuff, I changed LiLo's config, to have
old be my backed up kernel of 2.0.27, and linux be the new one. Then,
I did a zlilo, and everything ran smoothly.
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
I presume you mean that you installed the 2.0.30 sources
and that you did a make zlilo (after your make config;
make dep; and make clean)
<P><B><img align=bottom alt=" " src="../gx/ques.gif">
But now, one the new kernel, after it finds my CD-ROM drive, it won't
mount my root fs. It gives me a kernel panic, and says unable to mount
root fs, then gives me the address 3:41. What's going on??
<p>I've tried recompiling and remaking lilo many times. (oh yeah... I didn't
forget dep or clean either) Nothing works. I'm using the extended 2
fs, and it's built right in the kernel...
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
Did you do a 'make modules' and 'make modules_install'?
<p> If you do a 'diff' between /usr/src/linux/.config and
/usr/src/linux-2.0.27/.config what you you see?
<p> Are you sure you need features from the 2.0.30 release?
You may want to stick with 2.0.29 until a 2.0.31 or 32
goes out. I know of at least one problem that's forced
my to revert for one of my customers*.
<p> It has always been the case with Linux and with other
systems that you should avoid upgrading unless you know
exactly what problem you're trying to solve and have some
understanding of the risks your are taking. That's why it's
so important to make backups prior to upgrades and new software
installations. I will note that my experience with Linux
and FreeBSD has been vastly less traumatic in these regards than
the years of DOS and Windows experience I gained before I
taught myself Unix.
<p> * (using the -r "redirect" switch of the ipfwadm command to
redirect activity on one socket to another works through
2.0.29 and dies in 2.0.30 -- and gets fixed again in a "pre31"
that one of my associates provided to me).
<P><B><img align=bottom alt=" " src="../gx/ques.gif">
Here's my lilo config file...
<pre> ...[ellided]...</pre>
</B> <P>
<img align=bottom alt=" " src="../gx/ans2.gif">
That looks fine.
<p> I suspect there's some difference between your kernel
configurations that's at fault here. Run diff on them
(the files are named .config in the toplevel source
directory). or pull up the 'make menuconfig' for each
and place them "side-by-side" (using X or on different
VC's).
<p> Hint: You can edit /usr/src/linux/scripts/Menuconfig
and set the single_menu_mode=TRUE (read the comments in
the file) before you do your make menuconfig -- and you'll
save a lot of keystrokes.
<p> Maybe you need one of those IDE chipset boxes checked.
<P><B><img align=bottom alt=" " src="../gx/ques.gif">
My hard drive that boots is hda, and my Linux drive is hdb. I took out
read-only a while ago, to try to solve the problem. It made no difference.
It'd be great if you could help me out a little. Thanks, Ken...
<!--================================================================-->
<P> <hr> <P>
<center><H4>Previous "Answer Guy" Columns</H4></center>
<P>
<A HREF="../issue13/answer.html">Answer Guy #1, January 1997</A><BR>
<A HREF="../issue14/answer.html">Answer Guy #2, February 1997</A><br>
<A HREF="../issue15/answer.html">Answer Guy #3, March 1997</A><br>
<A HREF="../issue16/answer.html">Answer Guy #4, April 1997</A><br>
<A HREF="../issue17/answer.html">Answer Guy #5, May 1997</A><br>
<A HREF="../issue18/lg_answer18.html">Answer Guy #6, June 1997</A><br>
<A HREF="../issue19/lg_answer19.html">Answer Guy #7, July 1997</A><br>
<P><HR><P>
<center><H5>Copyright &copy; 1997, James T. Dennis <BR>
Published in Issue 20 of the Linux Gazette August 1997</H5></center>
<P> <hr> <P>
<!--================================================================-->
<A HREF="./index.html"><IMG SRC="../gx/indexnew.gif" ALT="[ TABLE OF
CONTENTS ]"></A> <A HREF="../index.html"><IMG SRC="../gx/homenew.gif"
ALT="[ FRONT PAGE ]"></A>
<A HREF="lg_bytes20.html"><IMG SRC="../gx/back2.gif" ALT=" Back "></A>
<A HREF="./followup.html"><IMG SRC="../gx/fwd.gif" ALT=" Next "></A>
<!--startcut ======================================================= -->
</body>
</html>
<!--endcut ========================================================= -->