.comment: Your Friendly Neighborhood Linux Salesman
Winning Converts, One By One

Dennis E. Powell
Wednesday, September 5, 2001 12:14:33 AM
There is probably general agreement that Microsoft is
somewhat vulnerable right now, but there seems to be, too, a
general agreement that all we need to do is sit around and wait
for the herd (who haven't heard about Hurd, but then again, when
you get right down to it, neither has anyone else) to come
stampeding to Linux. It doesn't work that way. Inertia is a
powerful force. It's what keeps people in jobs they hate, and
what sends them through windshields as they daydream about better
jobs and accidentally discover that old trees are stronger than
new cars. It's certainly powerful enough to keep them from
undertaking anything as frightening as -- gulp -- installing
Linux.
They may be aware of Linux, maybe even admire the certified
geeks who have the cojones to actually run the thing. All
they know for sure is that it is really difficult to install and
use.
Now, as you and I know, all of that (except the part about us
being brave and admirable) is nonsense. The majority of modern
Linux distributions are a piece of cake to install, and even do
so in such a way as to live peaceably next to their popular but
crippled neighbors from the place that currently is apparently
denying Steve Ballmer his meds (or else slipping meds into his
free soft drinks). Give somebody a SuSE 7.2 boxed set, or the
upcoming Red Hat 7.2 (or, I'm sure, the current or next Mandrake;
maybe Slackware, which is on my short list of distributions to
which a machine should be devoted), and they'll have little
problem getting it working on their machine.
Of course, they won't believe you when you tell them
that. Nor should they. Nor should you stop at telling them. A
little hand holding is in order. Do it.
I'm talking about the equivalent of an install fest on a
personal level, going a step further than any install fest can
easily do: Become someone's Linux guru.
It's easy, and no, you do not need to be a Linux expert in
order to do it -- you are going to know enough to answer the
questions until long after your protege is able to seek out
answers on his or her own.
All you need to do is provide some Linux CDs (and, by virtue
of the licensing, the Linux CDs you currently have will work just
fine, and are a great improvement on the last version of whatever
distro you run -- Linux's ease of use is advancing by leaps and
bounds), a few hours, and some patience.
If you're a really nice guy, you could actually buy the boxed
set for your friend -- they don't cost much, and the
documentation (at least in SuSE, which is the distribution I'd
recommend) is well worth the price, especially in that this might
be the one time when someone is motivated actually to read the
docs.
Then set aside a time for your one-on-one install fest. There
are some things you would be wise to consider. Available hard
drive space is one. It's happy days if they have a complete
system backup made that day, but they probably won't, and you
must make certain that you do no harm -- you'll win no friends
for Linux and possibly lose one for yourself, if you blow away
the contents of their hard drive, as unworthy as you and I might
think it is. So if you're not absolutely sure you know how to
configure a dual-boot system, do a little studying ahead of
time. Your friend will not want to see you scratching your head
halfway through the process. Get familiar with the boot loader
options, LILO (for LInux LOader) and GRUB (for pus-bloated
dirt-dwelling beetle larva). On the big day itself, take a look
at the victim machine's CMOS settings for evidence of anything
that is likely to interfere with a successful outcome, paying
special attention to the hard drive settings. LILO requires the
"linear" parameter more often than you would think
(while GRUB requires young, tender, and expensive garden
plants). If you are very perceptive, you may have gotten an
inkling as to which boot loader I favor, but people I greatly
respect use the other one, so it's up to you -- just remember,
you're here to help someone, not to conduct experiments on their
machine. Boot the machine into Windows and get the information
you're sure to need -- IP addresses, phone numbers if it's a
dialup, and so on. Write it down, and gently inform your friend
that this is information that should be kept safely and
conveniently on paper someplace.
Then watch as your friend does the installation. He or she
should be the only person touching the keyboard and mouse. You
are now an advisor only. Be patient -- if you're in a hurry, or
if your friend is, reschedule. Take a little while at each
install screen to explain what's going on here. A whole lot about
the way Linux works, and its differences from that to which the
user is accustomed, can be taught here. This isn't a speed test,
and there are no points for being first to hit the
"next" button. You may need to explain this, too, to
your friend.
There are a few places where some discussion will be
necessary. One is in the choice of file system. The new
journaling file systems are great (though I have tremendous
admiration for the work of Hans Reiser, circumstances have
dictated that my sole experience with them involves ext3 on the
Red Hat 7.2 betas), but if all you know is ext2, stick to
it. Here's why: It works; your friend has had to run chkdsk on
his Windows installation often enough to know that it might be a
necessary evil to check the disk in the event of an improper
shutdown; and you are going to be this person's Linux guru, so
you need to have answers better than "beats me" if
something goes awry.
Another is in the choice of which packages to install. If
there's sufficient drive space, "Install Everything" is
a good choice, even if you feel confident that your friend will
never actually use the documentation in Sanskrit. It
otherwise can be a little thornier, chiefly because the packagers
of distributions (who perhaps have been sneaking sips of Steve
Ballmer's free soft drinks) have broken much that is useful off
into "-devel" packages that never seem to get installed
unless you choose everything. In that one measure of your success
will be when your user actually downloads and compiles some nifty
new thing from source, those packages ought to be aboard.
Other than that, your friend -- and you, if you watch the
process through your friend's eyes -- will be amazed at how
simply installation and configuration of Linux has become. Even
configuring XFree86 has become so painless as to no longer be an
event.
Through some spark of wisdom, Linux distributions no longer
turn on all imaginable servers by default. There will be a screen
during which your friend will decide which ones to enable. This
is a good time for a little discussion of computer security and
the vulnerabilities that are introduced with each additional
server. You needn't be an expert here, either -- merely pointing
out that an unneeded server that's running eats up memory and
processor cycles and creates another place for crackers to enter
is enough, along with assurance that they can still browse the
web without httpd, and can still download files without being an
ftp server. I turn off everything, and if it causes trouble it
hasn't been evident trouble. As a print server, I see no reason
not to choose CUPS, because it's easy to administer.
That security discussion should extend to the inevitable
questions about passwords. You can point out that this keeps
private files private, but more than that informs the machine who
is using it, so that on a computer that is used by several family
members, each may choose all kinds of customizations without
imposing them on others. (And if there are kids in the house, it
is good to point out that the root user can pretty easily get a
sense of what they've been up to.)
I'm of two minds about the default runlevel. Just about every
distribution defaults to the GUI boot (runlevel 5 in most
distributions), but this introduces some potential problems,
particularly if anything happens to XF86Config. It's easier for
the newbie (actually, it isn't, but they think it is), yet
I tend toward favoring runlevel 3, the text-based login. This
lets the user get a sense of all the things that happen during
bootup (you might want to go over /var/log/messages with your
friend; it not only details these processes but gives a hint of
the many and varied people and organizations that have
contributed, and provides an opportunity to explain cron jobs,
which can otherwise be pretty hard to grasp). It also lets the
user, at bootup, experience a little bit of awe in that what they
have here is not just some appliance but a device more complex
than everything else they own put together, their car
included. We can all profit from remembering that from time to
time. (I had a delightful email exchange some weeks ago with
Waldo Bastian of KDE in which we laughingly agreed that any sane
person, given an explanation of the theories that govern
computing, would conclude that the whole business is entirely
impossible. Waldo is, in addition to being a great programmer,
excellent administrator, and generally fine fellow, a very funny
guy.)
These decisions will all be made, and if you've sorted out
the CMOS settings such that at boot you get past "LI",
your friend will soon be looking at a modern Linux desktop. (I've
avoided suggesting which desktop you should advise your friend to
choose. The answer is: The one you know, unless you use something
that truly does require a lot of old-school Linux knowledge. This
means, frankly, Gnome or KDE. I prefer KDE, but others find merit
in Gnome. Choose the one you know, because you'll be answering
questions about it. And in any case, don't preach -- if your
friend later decides on something else, don't pre-equip him or
her with a guilt trip.)
If your friend has some kind of broadband connection, now is
the time to employ the update programs that modern Linux
distributions provide. I have not used the Red Hat update program
because I'm running a beta on the Lab Rat machine, but I have
used SuSE's YOU feature in YaST. It should go without saying that
you should tell your friend to regularly run the appropriate
program, because it's a painless way of staying current with
security fixes. It has other useful aspects, too -- if the
desktop chosen is KDE, for instance, moving to KDE-2.2 and
KOffice-1.1 are night-and-day improvements.
If your friend is on a dialup -- well, I don't quite know
what to say. Certainly it is important to fetch the security
updates. Upgrading something as big as a desktop, XFree86, or
even Mozilla can take awhile, and is likely to get busted if
there is an extension phone anywhere in the house.
Despite the connection, you have the opportunity to point out
that practically everything in Linux is free for the
download. While there are package managers, both in the
auto-update programs of the distributions and included with
desktops, this is a chance to explain opening terminal windows,
su to root, and the RPM commandline. (If you're introducing your
friend to Debian or Progeny, a.) my hat's off to you and, b.) you
already know what to do; just be careful not to get over your
friend's head.) You can also explain, in general terms for now,
the idea of getting source tarballs and building the latest and
greatest. Your friend will already be overloaded with
information, so merely explaining that he or she will soon be
able to do this is enough.
Then take a tour of the desktop. Both Gnome and KDE are
designed to make the transition easy for anyone coming from any
version of Windows released since August 1995.
A couple of things to avoid: Preaching the politics of free
software. Even if you are a hard-core adherent, let your friend
find it. (Why? Because a new operating system is quite enough for
now -- having signed on to a movement can be, and often is, very
offputting.) And -- highly important -- making decisions
based on what would be just right for a machine you would use,
instead of one your friend will use.
Congratulations! You're halfway there!
Next: Being a Good Guru »