
Linux Newbie Guide I - Starting With Linux
Which Linux distribution should I use?
Linux distribution is a coherent collection of free software with the Linux
kernel (operating system) at its center.
The differences between the various Linux distributions ("distros")
are minor: the installation program, choice of the bundled tools/applications,
arrangement of a few things on the hard drive (most of Linux is still at the
same, standard hard drive location in all distributions). Whichever
distribution you decide to install, you will end up with essentially the same
Linux.
We mostly use "Red Hat Linux" (also called RedHat or RH) and
Mandrake (sometimes called MDK) for the following reasons:
(1) They are both very popular (both an advantage for a newbie and a testimony
to their quality).
(2) They are both general-purpose distributions.
(3) They both come with relatively easy setup programs.
(4) Both Mandrake and RedHat contributions to Linux are "open
software" (this means that all the software written by the packaging
corporations and included on the distribution CDs is licensed under the
General Public License, GPL, so that it can be legally copied, given away,
reused, etc.).
(5) Both Mandrake and RedHat can be obtained very cheaply or free if you don't
care for commercial support. This is a consequence of (4).
(6) Mandrake is based on RedHat, so both are very similar. Software packages
for RedHat typically work on Mandrake (and vice versa) without problems.
However, Mandrake makes a much nicer desktop than RedHat, and requires Pentium
processor on default (RH will run on a i386).
In short, as a newbie, you can safely bet on "RedHat" or
"Mandrake" unless you like something else or have specialized needs,
or your environment suggests using something else (e.g., if you have an
experienced guru nearby, or a bunch of friends who are using Linux, you may
want to use the same distribution - makes getting help a whole lot easier).
The most recent distributions we recommend (May 2001) is RedHat 7.1 or
Mandrake 8.0. These are excellent distributions. Be sure to specify the
most recent version if ordering your software from a dealer--many dealers like
to clear their inventory by sending you an older version (this applies not
only to Linux). Generally, development under Linux is fast, and you don't want
to waste your time with older distributions. The authors of this guide have no
connection to RedHat, Mandrake (or any other Linux distributor)
whatsoever.
Our recommendation of Mandrake and RedHat for newbies does not mean that other
distributions don't offer benefits or unique features which may surpass
Mandrake or RedHat in specific areas. We do believe that we benefited from
exposure to a different distribution because it helped us understand Linux
better.
We tried Debian and we liked it very much. It was probably as easy as
RedHat, but Debian seems less common (hence, being newbies, we picked up
RedHat). The great benefit of Debian is that it is 100% non-commercial
(put together by volunteer hackers, the true Linux way) and it probably most
strictly adheres to Linux standards (it probably sets the standards too).
Another benefit is that Debian crams on their numerous distribution CDs
thousands of tools and applications--easily much more than any other
distribution. All these tools/apps are nicely "packaged" (for ease
of installation) and tested for compatibility. This makes Debian distro
look monumental, safe, conservative, and always slightly outdated. So yes, we
would not have a problem recommending Debian as a great general-purpose Linux
distribution.
Corel has been working on their own Linux distribution apparently geared
towards a nice and easy platform to run the Corel suite of office
applications: WordPerfect wordprocessor, QuattroPro spreadsheet, Corel
Presentations, Paradox database, CorelDraw artist package.... The Corel
Linux is based on the Debian distribution. So if you think about using Corel
in the future, picking Debian may be your smart choice now. There is an
uncertainty about commercial viablity of the Corel corporation, so I wouldn't
put all my eggs in the Corel basket. RedHat, Mandrake or Debian seem rock
solid in comparison with the young and shaky Corel offering.
Slackware seems to be favorite among "cutting-edge hackers" who like
being close to the operating system and hardware--we did not use it so this is
hearsay. We would have trouble recommending Slackware for Linux newbies. Says
Bill Staehle: "The real 'reason' for a newbie to avoid Slackware is that
it is much more command line oriented, and lacks some of the 'cutsie slick and
drool' tools that the other distributions have."
S.u.S.E distribution is very popular in Europe. It surely looks German--a
solid, general-purpose distro with an easy setup and an excellent reputation.
We couldn't find cheap Suse CDs though.
Caldera is another, well-known and respected distribution. It is said to be
aiming at corporate users--it is said to have the most fancy installation
program, and a set of advanced (and pricy) remote configuration tools. In
Aug.2000, Caldera purchased SCO Unix (the original UNIX, including the UNIX
trademark) which gives them an even more "corporate" look in my
eyes. Caldera does not seem to be putting too much of their work back into the
Linux community either.
There are "localized" versions of Linux for specific countries or
languages (Korean, Chinese, Japanese... )--they likely contain on default all
the hacks and docs (documentation) that the users in these countries want to
see. Says Bill Staehle: "You may want to mention the Conectiva
Linux distribution, loosely based on RH from Brazil. As such, it is in
Portugese, and is also available in Spanish. Try: http://www.conectiva.com.br/".
I heard several good things about Conectiva, so if Portugese or Spanish was my
language, I would probably give it a try.
There are also "special purpose" distributions, e.g. the
"real-time" editions of Linux (might be useful if you are in for
automation, robotics, fast speed data acquisition, etc.), very small distros
(if you like the idea of running Linux from a single floppy which can be
useful for system security or recovery), Linux for embedded systems (if you
wanted to customize Linux as a small "special purpose" device, which
could be good for the next-generation stereo, MP3 player, palm computer, or a
fancy cellular phone), parallel computing and clustering systems (might be
great if you plan to do your own weather forecasting :-) or at least nuclear
explosion simulations :p ), etc. Here the differences will be larger, but
these distributions are not meant to be "general purpose". As a
newbie, you likely don't want to start with any of these, although you might
be tempted to. (They surely show Linux strength and viability--Linux runs on
toys, even a wrist watch, as well as computer clusters that make the currently
fastest systems in the world.)
The distribution you need is of course specific to the hardware platform you
have. This means that for your PC hardware containing an Intel 386 processor,
or Intel 486, or Intel Pentium, or Intel 586, or Intel 686, or Cyrix, or K6,
or similar, you need the binary distribution called "Intel" or
"386" or x86. [Unless you are prepared to start with your own
compilation of the Linux source code, which is not typical for a newbie :-)] .
This happens because there are binary distributions for other hardware
platforms too: PowerPC, Alpha, Apple, IBM mainframe, "Intel StrongARM",
Transmeta, and perhaps a dozen more--you don't want to get those binaries for
your PC clone; they surely will not work on a PC machine with an
"Intel" processor inside.
In short, although newbies get confused with the multiple Linux distributions,
there are reasons to have different distros. They should be viewed as a Linux
strength rather than weakness. Linux is simply filling all application and
hardware platform niches.
This guide concentrates on RedHat and Mandrake for the PC (Intel) platform.
Many of the answers will work fine on other distributions or platforms, but we
did not try them.
What are the Linux hardware requirements?
"Out-of-box" Linux will run on a 386SX-based PC with 8 MB of memory,
but such a low-end computer is practical for text-only applications (no
X-window). A 486 with 16 MB memory and 600 MB free (unpartitioned) hard
drives will just do for work under X-windows but don't expect it to fly.
My 586-90 MHz with 64 MB of memory flies under Linux. My Pentium-2 233 MHz
with 64 MB of memory is a complete pleasure with an almost instantaneous
response even when running many large applications concurrently. My
486-33 MHz with 8 MB memory and 1 GB hard drive has too little memory to run
adequately stand-alone under GUI, but is useful in my home network environment
(a 486-class machine also performs just adequately stand-alone if it has at
least 16 MB of memory). My old portable 386-SX-20 MHz Toshiba with 9 MB
memory and 120 MB hard drive runs "legacy applications" under MS
Windows 3.11 and it connects to our Linux home network and is thus still
useful. We tried Debian Linux on this Toshiba too, and it runs fine in
text mode. (Pls note that Mandrake requires a Pentium processor.)
If you are willing to jump a few extra hoops, you should be able to install
and run Linux on as little as 4 MB of memory, but this is probably not worth
the effort for the general purpose home Linux machine. I would say:
get at least 16 MB of memory, and if possible 32 or 64 MB --more memory can
make a difference in performance when running several large GUI applications
concurrently. Memory is cheap these days.
Networking is where Linux really shines, so consider getting 10-base-T
Ethernet cards--they are not very expensive and will be perfect to connect
your two or more home computers together. Also, look around for old
Ethernet cards which MS Windows deems obsolete--they can be bought for a
really low price and they will work great under Linux. To connect just two
computers, a cross-over cable for direct Ethernet-card to Ethernet-card
connection is sufficient ("networking for the poor"). To connect
more than 2 computers together, you need a hub (~US$30 to US$80) and normal
(not cross-over) cables. (If you have extra Ethernet cards, you may also
consider installing more than 1 Ethernet card on a computer, use direct
connections using the cross-over cables, and save the expense of a hub. But it
adds a configuration complexity to your system. The 10-base-T
system uses "giant phone" (RJ45)-type connectors and all machines
are connected to one box (called the hub). The hub has an extra connection
(called "uplink") which you will use if you ever have a permanent
connection to the outside world.
Here is another suggestion on setting up a different kind of network, an older
type, which uses coaxial cables. For this, no hub is necessary. Because this
networking scheme is older, it can be assembled using cards and parts that are
sometimes available for free:
(edited for space) From: John.Edwards@brunel.ac.uk Subject: Linux
Guide-a suggestion
Hi. Many older 10Mbps network cards (and some newer ones as well) have a BNC
connector and you can usually pick up old co-axial cabling when companies
upgrade to UTP. Add a T piece for each machine and a 50-ohm terminator at
each end (about 1 pound or $1.50 each) and you have a home network that will
happily support more machines than you probably have room for. And most
importantly--no expensive hub (or cheap hub that can cause trouble). There
are other advantages to co-ax as well, it's tougher to break and more
resistant to noise from other equipment.
Disadvantages: There is a limit of 185 metres per network segment of thin
co-ax, 30 machines per network, and you're stuck at 10Mbps, but I don't see
any small home network needing more than that. Also if one cable goes down
then the whole network stops, this shouldn't happen often unless someone
unplugs a cable section. You can disconnect the T piece from a PC without
harming the rest though.
Quick diagram, T for a T piece and Term for a terminator:
Term-T-----T-----T-----T-Term
| |
| |
PC PC PC
PC
The various parts connect together using BNC connectors similar to a TV
& video connector but with a bayonet that secures the two sockets
together.
For more details see the /usr/doc/HOWTO/Ethernet-HOWTO
The most straight forward and modern, however, is to get 10-base-T ethernet
cards for your computers and a hub to connect them.
For more details see the /usr/doc/HOWTO/Ethernet-HOWTO
The most straight forward and modern, however, is to get 10-base-T ethernet
cards for your computers and a hub to connect them.
Will my hardware work under Linux?
Not every piece of PC hardware is supported under Linux, but most are,
particularly the more standard, older, and popular ones. This applies to SCSI
adapters, CDROMs, writable and rewritable CDs (CD-R and CD-RW), video cards,
mice, printers, modems, network cards, scanners, Iomega drives, etc.
The most notable exceptions are the so-called Winmodems (=MS Windows modems
also called "software modems"). Avoid these like fire--they
are maybe $20 less expensive than full modems, but they are crippled (some
processing is done by the main computer CPU instead of by the modem), and
there is little chance you will have a Winmodem running on Linux right away
(for more info on Winmodems, see http://www.idir.net/~gromitkc/winmodem.html).
External modems are never "Winmodems" so if in doubt, purchase an
external modem (external modems are more expensive, but they don't drain your
PC power supply, are easily portable between machines, look better, and show
modem activity). Additional points to consider with modems:
"Older externals using a Rockwell Protocol that don't work too well.
Also, the newer USB modems are not currently (March 2001) well supported. See
the winmodem page." [source: B.Staehle].
Another area of potential problems is the video card. If you have a recent
"cutting edge" 3D or uncommon card, you may want to check its
compatibility at http://www.Xfree86.org.
Zip drives of all kinds are supported fine.
I wouldn't count on Linux supporting a parallel port (non-SCSI) scanner, no
matter if the manufacturer claims TWAIN (="Technology Without An
Interesting Name", no joke here) compatibility.
So the short answer is yes, in all likelihood your standard PC will run
Linux with no problems. You don't invest much when trying Linux, so probably
the easiest way to make sure is to attempt an installation on your existing
hardware. There are Linux hardware compatibility lists at http://hardware.redhat.com/hcl/genpage2.cgi
and http://metalab.unc.edu/LDP/HOWTO/Hardware-HOWTO.html
if you want to check your newer or less popular hardware.
When purchasing new hardware, I would always check its Linux compatibility on
the above lists. You can also ask your supplier if the hardware is supported
under Linux, but I would take the answer with a grain of salt--too many
companies have incompetent sales personnel/technical support. When purchasing
a new computer, I would consider a system with Linux pre-installed. A number
of major suppliers offer systems (particularly large ones) with Linux, but
many don't. You can always get a system with Linux-preinstallled from a
smaller vendor.
If you are an adventurous person, as I am, I would pay no attention to the
remarks above, chances are 90-10 that the hardware will work.
If a piece of hardware of yours is (apparently) not supported in your current
Linux distribution, don't give up. Chances are that: 1. It is supported,
but you don't know how to set it up. (Solution: stay around with Linux
for a few weeks, don't waste your time, when you get some understanding
of how your system works, then you may be able to set it up.) 2. You
have to go through a more complex setup to support the hardware (for example
some cryptic command or a kernel re-compile, which is not as difficult as it
seems). 3. An updated (different?) distribution already supports
it "out-of-box" (you can usually order it for US$1.99). 4.
There is already an upgrade somewhere on the Internet, you have to find it,
download it, and figure out how to install it. 4. The upgrade will be
available next month--Linux development goes really fast!
How do I download Linux?
Do yourself a favor and do not download Linux. Get an installation CD instead.
Linux can be downloaded completely from the Internet, but it is a large and
sophisticated operating system. The download will take hours or days of
download time and you will probably encounter problems when trying to stitch
the downloaded pieces together.
If you do have a speedy Internet connection (definitely not a 56k-modem) and
you are not a complete newbie, a Linux download may be an option to you after
all. Try: ftp://ftp.redhat.com/pub/
if the site is not too busy today. Or go to any sunsite mirror, and look in
./distributions/ directory. Check the file ftp://metalab.unc.edu/pub/linux/MIRRORS
for the mirror nearest you.
How do I get a Linux CD?
Many possible ways. (1) Buy the "RedHat" or Mandrake CDs from
linuxmall (http://www.LinuxMall.com/),
or cheapbytes (http://cart.cheapbytes.com/cgi-bin/cart
)--last time I checked, "the unofficial" RedHat GPL was US$2.99 or
something like that for a 2 CD package + shipping and handling. They
will mail you bare CDs. You get no printed manual, no support, no boot
diskette, but the price is right, and the manual and tools to make a boot
diskette are on the first (installation) CD. I purchased several
packages from "cheapbytes" and they always arrived fast, were of
good quality, and there were no problems with my credit card charge (the
authors have no connection to "cheapbytes" whatsoever). (2)
Buy the boxed "official Red Hat" or "Mandrake" from the
same place on the Internet or from your favorite software supplier; prices
start at around US$40--you will get the printed manual, e-mail or telephone
installation support (60 days?), the boot diskette, additional CDs with
"bundled" commercial applications, and perhaps other goodies (free
updates?). (3) Copy the installation CDs from your friend. This is
perfectly legal and ok--Linux is free. If you have a Linux CD, don't be
shy to loan it to your neighbor. (4) Check your library, local
bookstore, or http:/www.amazon.com.
Several Linux handbooks come with an attached CD containing a full Linux
distribution. This is a good way to start with Linux because it is
definitely a good idea to have a nice Linux handbook. With Linux' countless
utilities, I need a handbook all the time. The drawback is that the
books often include versions of Linux which are quite dated. Perhaps
consider the "official" Linux with a handbook? (5) Visit a Linux
"installfest" when one is organized in a place near you. Local
Linux "gurus" will install Linux on your computer free (bring the
computer) and you will likely be able to get a Linux CD too (why don't you
bring some empty CD-R to the fest?). Check for the Linux User Group on
the net to see when the nearest to you plans an installfest. Good way to meet
other Linuxers too.
Here is a more comprehensive list of places to obtain Linux
CDs with their location, so you can find something near to you (after
B.Staehle) : http://www.ixsoft.de (low price CDs in Europe);
http://linuxservice.de (another source in Germany); http://www.polo.demon.co.uk/emporium.html
(The Linux Emporium); http://www.linux-emporium.co.uk; http://definite.ukpost.com/
(Definite Linux Systems); http://www.mallind.demon.co.uk/ (GPL +
official distros); http://www.amush.cx/linux/ (GPL distributions
in UK only); http://www.linux123.co.uk/ (GPL + official distros
in .uk); http://www.kihi.com.au/bowtie/ (Bowtie Software - cheap
CDs in OZ); http://EverythingLinux.com.au/ (cheap CDs in OZ);
http://www.lsl.com.au/ (cheap CDs in OZ); http://www.arles.ns.ca
(official distros and BSD in .ca); http://www.affinity-systems.ab.ca/
(Official distros - hardware in .ca); http://www.warpedsystems.sk.ca
(GPL + official distros, custom built system CA); http://www.softcopy.on.ca/
(cheap CDs in CA); http://www.libranet.com (Libranet Linux Vancouver,
BC, CA); http://www.linuxwarehouse.co.za/ (low cost and official
in South Africa); http://linuxcentral.com (Clinton
Township MI 48035); http://www.lsl.com
(Chesterfield, MI 48047, USA); http://www.cheapbytes.com (Lodi,
CA 95241, USA); http://www.infomagic.com (Flagstaff AZ
86004, USA); http://www.tummy.com/krud/ (Fort Collins, CO
80525, USA); http://www.pieceby.com/ (Hudson, NH 03051,
USA); http://www.linuxmall.com (Aurora, CO 80046-0190, USA);
http://www.linux-now.com (Clarion, PA 16214, USA); http://www.xcomputing.com
(San Francisco, CA 94134, USA); http://www.ccsoft.cc/linux/
(Santa Rosa, CA 95401, USA); http://www.storeanywhere.com/
(Brooklyn, NY 11235, USA); http://www.linuxcomponents.com
(Owings Mills, MD 21117, USA).
I have Linux Installation CDs but no install floppy. What do I do?
If your computer can boot from the CD drive (most computers cannot), you don't
need a boot diskette to install Linux. Have a look at your BIOS setup; the
boot sequence can often be set up there. My computer has the CD drive
specified as the first boot device in the BIOS yet still cannot boot from the
CD drive. So the BIOS setup does not necessary reflect the capability of your
machine. If you can boot from the CD drive, just insert the RedHat CD
into the CD drive and reboot the computer to enter the RedHat Linux
installation program.
If you don't know how to access your BIOS setup, read this paragraph. The BIOS
setup can typically be entered at boottime by pressing the proper key at the
right moment (often when a prompt is briefly displayed). Most often, it
is the <Del> key. Here is a list of key combinations used by
popular BIOSes: Acer notebooks: <F2> during Power-On Self-Test
(POST). American Megatrends (AMI): <Del> during Power-On Self-Test.
Award: <Del>, or <Ctrl><Alt><Esc>. Compaq: <F10>
after the square appears in the top right corner of the screen during boot-up.
Dell: <Ctrl><Alt><Enter>. DTK: <Esc> during Power-On
Self-Test. IBM Aptiva 535: <F1> while the square with the wavy
lines is displayed in the upper right corner during power-on. IBM PS/2:
<Ctrl><Alt><Del>, then <Ctrl><Alt><Ins>
when the cursor is in the top right corner Mr. BIOS:
<Ctrl><Alt><S> during Power-On Self-Test. Packard Bell: For
some models, <F1> or <F2 > during Power-On Self-Test. Phoenix:
<Ctrl><Alt><Esc> or <Ctrl><Alt><S>, or
<Ctrl><Alt><Enter>.
If your computer cannot boot from the CD drive, make an install boot diskette
from under DOS or the MS Windows DOS mode. (You have go to to
"Shutdown" and "Restart in MS-DOS mode", not just run a
DOS window).
It is important that you have a perfectly good floppy (without even one bad
cluster). The program that makes the diskette does not check if the floppy was
written properly. Also, don't count on the DOS FORMAT utility finding
a faulty floppy--it probably won't. If I were you, I would make two or
three boot floppies at once--you may be surprised how many diskettes have
problems. For me, the third floppy worked! If your install diskette does
not boot, make another one--it definitely should boot.
Here are the commands. To make the boot floppy run:
F:dosutilsawrite.exe -f F:imagesoot.img -d a: -n
To make the supplemental (optional) diskette run:
F:dosutilsawrite.exe -f F:imagessupp.img -d a: -n
This assumes your CDROM is the DOS "F:" drive, and your floppy is
"A:", adjust the commands if the drive letters are different on your
system.
The commands above run the utility "rawrite" and specify the
input file ("disk image", after the option "-f") and
the destination drive (after the option "-d"), and supresses the
prompt to insert a floppy (option "-n"). You may find it easier to
run rawrite without any argument--it will interactively prompt you
for the input image (pick the file name as in the commands above) and the
destination drive letter.
From under Linux, you can make a boot disk by mounting the RedHat CDROM and
typing the commands (as root user):
cd /mnt/cdrom/images/
dd if=boot.img of=/dev/fd0
[The ``dd'' command copies files. The above command specifies that the
input file ("if") is ``boot.img'' and the output file
("of") is /dev/fd0, which is the first floppy drive, i.e. the floppy
drive number zero (if you want to write to your second floppy drive, use
/dev/fd1). ]
What do I need to read before installation?
It is VERY helpful to get some UNIX orientation if you don't have any. Buy a
good Linux manual or dust your old Unix handbook. Almost all Unix concepts
apply in Linux, and almost all UNIX commands will run fine under Linux. I find
manuals for MS Windows useless (click this, click that, look at the
screenshot), but manuals for Linux/UNIX are typically great (give you an
understanding of the system, a lasting benefit).
You may want to learn about your hardware: how many and what size hard
drives you have, the type, number, order and size of all partitions on each
drive, where your DOS/Windows partitions are, which one is the DOS/Windows
boot partition (if you plan to have dual boot), what type of mouse you have,
what video card and with how much memory, what monitor (max synchronization
frequencies), etc.
Go to BIOS setup to see the number and geometry of your hard drives. Run DOS
"fdisk" to display your hard drive(s) partition table(s), and print
it. Watch your system boot to learn about the type of your video card
and the amount of video memory. Boot MS Windows, go to the control
panel-devices and write down the sound card, modem, network card types and
settings (name, type, IRQ, i/o address, DMA channel). Read the label
underneath your mouse to see the type of mouse you have. (Next time you buy a
mouse, get a Linux-ready 3-button Logitech or similar--Linux makes good use of
all three buttons.) Dust off your monitor manual to find out the maximum
synchronization frequencies (vertical and horizontal) that your monitor
supports. Never use frequencies out of the monitor specification--this may
damage your monitor.
You may want to browse the RedHat or Mandrake manual. If you don't have the
printed copy, an html version is on your CD so you can read it using any web
browser, e.g. Netscape for Windows. Look here
to see how to access this manual and some additional reading material which is
on your Linux CD.
Can I have MS Windows and Linux installed on the same computer?
Yes, you can. Many Linuxers use dual boots. This is typically achieved by
installing MS Windows on one hard drive partition and Linux on another
partition. Linux comes with a simple boot manager called LILO (or a more
sophisticated one called GRUB), which will let you choose, at boot time, the
operating system you boot. Install MS Windows first and Linux only
afterwards or else the MS Windows installation program will disable your
access to Linux. Have a Linux boot floppy ready if you need to
re-install MS Windows--MS Windows will surely disable your access to Linux and
you will have to boot Linux from the floppy and then re-run the command lilo
to be back in business.
From under Linux, you will be able to read from and write to your MS Windows
drive partitions so that the data exchange between MS Windows- and the
Linux-based program is seamless. You will also be able to use your
existing MS Windows-based resources: sound files, backgrounds, pictures,
fonts, etc. (First check if it does not violate your license agreement though,
smile. For products that are on rent to you from Microsoft, it probably does.
With my Linux computers, I am proud to have no pirated software on my system
whatsoever.)
How do I partition my hard drive?
Before Linux installation, you might really want to know what a hard drive
partition is. The concern is that you delete your MS Windows partition when
you really don't want to--you want two separate partitions to dual boot. This
means: MS Windows is on one partition, Linux is on a separate partition. You
do not normally install Linux on free space on your MS Windows-allocated
partition(s). It is possible to install Linux on a MS Windows partition, but
we do not recommend it.
If you plan a dual boot (Linux and MS Windows on the same computer), first
use your DOS/Win utility FDISK to make the MS Windows partition(s).
Leave part of the hard drive(s) unpartitioned for Linux. You will make and
format the Linux partitions during your RedHat (or Mandrake) installation.
Make the MS Windows partition "primary" and "bootable".
Install, configure, and test your MS Windows before Linux installation. If
you plan to run Linux only, you need a just clean hard drive (no partitions)
to start with.
It is possible to have only one Linux partition (plus one for MS Windows if
you dual-boot). But it is better to have more partitions so that you can keep
users' data separate from the rest of the operating system. This way, if
something ever goes wrong, or if you have to reformat or re-install the
operating system, you don't lose the users' data. (You can perform a Linux
re-install without losing the contents of the /home directory that
contains all user data if you skip the "re-format" option given to
you during installation.)
During the Linux setup, you will be asked to partition the available space on
your hard drive(s). There are many possible ways to partition, depending on
your hard drive space, requirements, and taste. I like Linux hard drive
partitions like this (for a modest total of 2 GB of hardrive space which I
give to Linux in this example):
mount point type size
/
ext2 300 MB
/usr ext2
1200 MB
/home ext2
380 MB
swap swap
120 MB
In the above example, I dedicate 300 MB for the root partition that holds the
base of the Linux operating system. I allocate 1200 MB to the mount
point that will be visible on my filesystem as the /usr directory and
will contain the user's programs (the programs that don't come with the base
operating system and I install later, for example StarOffice). I
dedicate 380 MB for the partition that will be visible as the directory /home
and will contain the setting and data of all users on the machine. And I
allocate 120 MB to a "raw" partition for the operating system to use
as the virtual memory (extension of the physical, silicon memory on the hard
drive, so-called swap). If your kernel is lower than 2.2 (this is the
case with standard RH5.2 and earlier), your swap partition cannot be larger
than approximately 127 MB. The rule of thumb is that the swap should be about
twice the amount of the physical memory (RAM). 120 MB is quite a bit of swap
and it is unlikely you should need more. If you think you do need more (e.g.
you expect to run custom programs with really large data structures) you might
want to create a larger swap partition during the installation (or several
smaller swap partitions) or add a swap file(s) later.
2 GB is a lot of disk space and should be sufficient even for users who like
having many applications. (This is because Linux applications tend to be
slimmer than their MS Windows equivalents). However, if you try to install
everything that's available for Linux on the Internet, you will surely run out
of disk space :-) . My experience is that however large the hard drive space,
it will get filled and I regret I don't have more :-) .
If my space on the hard drive is really restricted, I may consider a
two-partition setup like this (for a lean 650 MB total dedicated to Linux):
mount point type size
/
ext2 600 MB
swap swap
50 MB
In this example, I dedicate 600 MB to the base of the operating system,
applications, and user documents/data, and allow 50 MB for the swap partition
(for the operating system to use as the virtual memory). The 50-MB swap should
be quite sufficient for medium duty operations. The limitation of 600 MB for
the operating system, applications and user data means that you will have to
be very selective as to which applications you install or else you risk
running out of hard drive space. Try pressing <F1> when installing the
optional software that comes on the Red Hat CD--it will give you a short
description of what the software does so you could perhaps decide if you
really need it. (Don't worry too much if you miss something you need, you can
install the missing parts later). You can easily finish the RedHat
installation with 200 MB free on your Linux partition (out of 600 MB used in
this example) if you make reasonable choices. Please note that "bundling
together" the root partition "/" and the /home
directory will likely save you some disk space, but it is not the safest
solution.
It is possible to install Linux on even less disk space than in the example
above, but you will have to be really picky as to what you install.
For a larger available hard drive space, I may consider the following setup
(for a comfortable total of 8 GB dedicated to Linux):
mount point type size
/
ext2 800 MB
/usr ext2
3600 MB
/usr/local ext2 2500 MB
/home ext2
800 MB
swap swap
300 MB
Please note that the the mount points can reside on different physical hard
drives.
Another consideration when setting up the partitions. Many older BIOSes have
the restriction that the boot partition cannot extend beyond the 1024th
cylinder on your first physical hard drive. To overcome this limitation,
simply make the first (bootable) partition so that it ends before the cylinder
number 1023 (this makes this partition max approximately 512 MB in size, which
is plenty for the "/" root partition). Once Linux boots, the BIOS
restriction does not matter any more because Linux takes over the hardware
managment and it can access the partition(s) beyond the cylinder number 1023.
When installing and using Linux, your drives appear as devices with the
following names: hda--first IDE drive (stands for "hard drive
a", i.e. the master drive on the first IDE interface), hdb--second
IDE drive (i.e., the slave drive on the first IDE interface), hdc--third IDE
drive (i.e. the master drive on the second IDE interface), hdd--fourth IDE
drive (i.e. the slave drive on the second IDE interface). The numbers
mean the partitions on the physical drives: "hda1" means the first
IDE hard drive (hd a), first partition (1); "hda2" is the
first IDE hard drive, second partition; "hda3"--the first IDE hard
drive, third partition; (and so on if you have more than 3 partitions on the
first IDE hard drive); "hdb1"--second IDE hard drive,
first partition (or just "hdb" if it is the CDROM installed as a
slave on your first IDE interface). "hdc1"--third IDE hard drive,
first partition, etc. SCSI drives have analogous names but start with
the letters "sd" (="SCSI drive"), followed by the letter
indicating the SCSI interface and by the number indicating the SCSI device id.
For example, "sda4" means "first SCSI interface, id number
4". If you have an external zip drive attached to your parallel port, it
will appear as SCSI device "sda4" (zip drives work in a
SCSI-emulation mode).
The listing of partitions that your Linux setup program presents to you
during installation will include any MS Windows partitions which you have. For
example, I have the following MS Windows partition:
mount point type size
comment
[no mount] vfat 1200 MB
["Win C drive, hda1]
/mnt/dos_hdd2 vfat 1600 MB
["Win D drive, hdd2]
Don't erase these partitions during your Linux installation if you want a
dual boot. If you erase the MS Windows partition, MS Windows is gone from your
system! If not sure, backup your data from your MS Windows partitions before
Linux installation. "msdos", "fat" and "vfat"
and "ntfs" are filesystems used by DOS and MS Windows 3.x/95/98/NT.
As a quick reference, here is a brief summary of the standard linux
partition types ("filesystems") with a short description. I copied
the info from the linux manual pages: man fs andman mount.,
with some additions after I had a look at the source code files at /usr/src/linux/fs.
The underlined filesystems are the ones that you are more
likely to use. Other filesystems (not listed below) are available as add-ons
(for example journaling filesystems, compressed, encrypted, ...).
minix is the filesystem used in
the Minix operating system, the first to run under Linux. It has a
number of shortcomings: a 64MB partition size limit, short filenames, a
single time stamp, etc. It remains useful for floppies and RAM disks.
ext is an elaborate extension of the minix filesystem.
It has been completely superseded by the
second version of the extended filesystem (ext2) and will eventually
be removed from the kernel.
ext2 is the high performance disk
filesystem used by Linux for fixed disks as well as removable media. The
second extended filesystem was designed as an extension of the
extended file system (ext). ext2 offers the best performance (in terms of
speed and CPU usage) of the filesystems supported under Linux.
xiafs was designed and implemented to
be a stable, safe filesystem by extending the Minix filesystem code.
It provides the basic most requested features without undue complexity. The
xia filesystem is no longer actively developed or maintained. It is
used infrequently.
msdos is the filesystem used by DOS,
Windows, and some OS/2 computers. msdos filenames
can be no longer than 8 characters followed by an optional
period and 3 character extension.
umsdos is an extended DOS filesystem
used by Linux. It adds capability for long filenames, UID/GID, POSIX
permissions, and special files (devices, named pipes, etc.)
under the DOS filesystem, without sacrificing
compatibility with DOS.
vfat is an extended DOS filesystem
used by Microsoft Windows95 and Windows NT. VFAT adds capability for
long filenames under the MSDOS filesystem.
proc is a pseudo-filesystem which is
used as an interface to kernel data structures
rather than reading and interpreting /dev/kmem.
In particular, its files do not take up disk space. See man
5 proc.
iso9660 is a CD-ROM filesystem type
conforming to the ISO 9660 standard. Two extensions (listed below) are
automatically supported.
High Sierra --Linux supports High Sierra, the precursor to the ISO 9660
standard for CD-ROM filesystems. It is automatically recognized within the
iso9660 filesystem support under Linux.
Rock Ridge --Linux also supports
the System Use Sharing Protocol records specified by the Rock Ridge
Interchange Protocol. They are used to further
describe the files in the iso9660 filesystem
to a UNIX host, and provide information such as long filenames, UID/GID,
POSIX permissions, and devices. It is automatically recognized
within the iso9660 filesystem support under Linux.
hpfs is the High Performance Filesystem, used in
OS/2. This filesystem is read-only under Linux due to the lack of
available documentation.
sysv is an implementation of the SystemV/Coherent
filesystem for Linux. It implements all of Xenix FS,
SystemV/386 FS, and Coherent FS.
nfs is the network filesystem
used to access disks located on remote computers.
smb is a network
filesystem that supports the SMB protocol, used by Windows for Workgroups,
Windows NT, and Lan Manager. To use smb fs, you need a special mount
program, which can be found in the ksmbfs package, found at ftp://sunsite.unc.edu/pub/Linux/system/Filesystems/smbfs.
[Standard linux command "smbmount" will also do.]
ncpfs is a network filesystem that supports the NCP
protocol, used by Novell NetWare.
devpts--is a pseudo file system, traditionally mounted
on /dev/pts. In order to acquire a pseudo terminal, a process
opens /dev/ptmx; the number of the pseudo
terminal is then made available to the process and the pseudo
terminal slave can be
accessed as /dev/pts/<number>.
fat --is not a separate filesystem, but a common part of the
msdos, umsdos and vfat filesystems.
UFS --is a file system widely used in different operating
systems.
swap--is a special partition type used for
swapping data from memory to hard drive.
raiserfs--is a brand new journaling filesystem
available as standard with Linux kernel version 2.4.1 up (January 2001).
hfs (=hierarchical files system)--MacIntosh filesystem. It is
a late beta version., i.e., not recommended for use with critical data,
unless read-only.
ntfs--MS Windows NT filesytem. It is still
"experimental" under Linux, i.e. not recommeded for production
machines, unless read-only (Feb.2001).
The MS Windows partition occupies my whole harddrive. Can I shrink/split it
without a re-install?
Possibly. There is a utility called FIPS.EXE on your RedHat CD that
does just that. Check the directory dosutilsfipsdocs on your
RedHat CD for documentation. If I were you, I would back-up my essential data
before doing anything to my partitions. There are also commercial utilities to
change the partition size without destroying its contents.
My personal preference is to do a clean re-install of MS Windows on a single,
dedicated partition. I leave some space on the hard drive unpartitioned so I
can use it later for Linux. My fair division of hard drive space between MS
Windows and Linux is 50/50. Linux programs tend to be smaller but they include
(as standard) components that MS Windows offers only with many thousand of
dollars of add-ons: e.g., servers (not just clients) for telnet, ftp, http,
and mail, several databases, programming languages, graphics processing
programs ...
How do I start the installation?
Insert the installation boot diskette into your floppy drive, the RedHat CD to
the CDROM, and reboot. If you can boot from the CD, insert the RedHat CD
into your CDROM drive and reboot.
You may also start the installation from DOS (or real DOS mode under MS
Windows), by running EZSTART.BAT which is on my RedHat CD from
Cheapbytes.
Most installers give you an option between text and graphical install. You
need to select "text" if your computer memory is restricted.
Is the Linux installation difficult?
It was not for me. It seems that for most newbies, it is fairly straight
forward and painless. Depending on your hardware and installation choices, it
typically takes 1 h to 2.0 hours. [Expect longer or possible problems
for slow systems with very restricted memory--it took a whole night to install
RH6.0 on my 486-33 MHz with 8 MB memory, the system pausing for 5 minutes at a
time appearing to do nothing, yet it installed ok.] Upgrades from previous
installations take longer and tend to be more problematic.
However, some newbies reported that the installation was a "total
nightmare" to them (hardware problems? lack of experience?). If you
encounter problems, my advice would be to install a plain-vanilla system,
without struggling with the highest resolution on your fancy video card or
other bleeding-edge hardware which you might have. Anything can be
added/configured later, after you get more understanding of how things work on
your system. Even a re-install is always an option for a newbie (it seems
Linux gurus think it is a shame to ever re-install). It seems that many
newbies have problems because they specify too high screen resolutions (which
may be not supported or supported only with some extra tune-up). Again, it may
not be wise to break your whole installation for support of a single
device--the support can be added/tuned-up later.
Which packages should I install?
Linux software comes in "packages". For example, my Linux Mandrake
7.0 installation CD contained 1002 packages. Mandrake 7.2 packs 2 CDs of
software--my installation of Mandrake 7.2 put 1123 packages on the hard drive.
Mind you, this is not all the software available for Linux--just a selection
made by people who put the Mandrake distribution together. Mandrake tends to
pack more software than RedHat.
No matter what distribution or version, the CD contains
packages that make the base operating system (kernel, libraries, a selection
of command-line configuration and maintenance tools, etc) a rich selection of
networking "clients" and servers" with appropriate
configuration and monitoring tools, some end-user text mode applications, base
X-windowing system, at least one GUI desktop (most likely several), and likely
a slew of GUI applications.
The installation program (either RedHat or Mandrake) will ask
you which packages to install. If you select "workstation
installation", then the packages normally found on servers will be
omitted from your installation (for example, the Apache web server may be
skipped). If you choose "server installation", then typically the
end-user desktop applications will not be installed (for example, the GIMP
graphical utility may be omitted). You can also choose to install
"everything", and this is my favorite option for a home computer
installation. Finally, you may opt to make your own selection of
packages to install--read on.
It is definitely a very bad idea to select installation of
packages/programs on the basis of how interesting their names sound--some
packages have rather unusual names and I would never guess what they do. You
could cripple your system by omitting the installation of an essential package
(e.g., a library). You might also be disappointed when insisting to run some
cool-named, cutting-edge piece of software ("version 0.1") that
happened to be included on the distribution CD. In general, you might be
annoyed by the functionality (or lack of it) that your "customized
Linux" exhibits. Being a newbie, it sometimes pays to trust the defaults
selected by your distribution creator.
Therefore, for my final "production" installation, I
would stay away from the tempting installation option "expert
install--select packages manually" unless I wish to install everything
anyway. For starters, I like the safe "max default installation",
however this installation option is called on your CD.
If you don't install a package and later find that you need
it--don't panic. It can easily be installed later. Read on.
Which GUI desktop should I install, KDE or GNOME?
Disk-space permitting, definitely both. You can later decide if you prefer
GNOME or KDE, but whatever your choice, you definitely want both the KDE and
the GNOME libraries installed. Once you have the libraries installed,
KDE programs can be run under GNOME and vice versa, which is great because
there are nice applications written using either library. As far as the amount
of disk space is concerned, the "desktop" is only a small part of
the KDE and GNOME systems so you don't save much space by omitting the desktop
and trying to install "libraries only". Both GNOME and KDE
come with a set of nice programs and tools, so it is definitely worth it to
install both desktops in full. I never heard that the two adversely interfered
with each other. For every-day work, I use the KDE desktop, because it feels
more solid than GNOME. If you like more "cutting edge" and
"cooler", go GNOME, but don't complain if things don't alwasys work
quite that well.
I would also install the other "alternative windows
managers". They hardly take any space (some are really tiny) yet
they can be useful under some circumstances. You can run any KDE or GNOME
application from under any of them, as long as KDE and GNOME libraries are
installed.
KDE is power hungry. On older hardware (e.g., 133 MHz Pentium)
I prefer GNOME to KDE2.0. Other windows managers are ligther than either
KDE or GNOME. Therefore, on really modest hardware, I would choose one of the
"alternative" windows managers.
I finished the installation. How do I log-in for the very first time?
As root. "root" is the only account that exists after the initial
installation (newer installation programs do prompt you to create a regular
user account during the installation). Example text mode login:
my_machine_name login: root
Password: my_password
In the example above, I typed the word "root" at the login prompt.
After that, I entered the password that I chose during the initial Linux
installation. The password did not appear on the screen when I typed it (for
security). After I login, I find myself in a text-mode terminal.
If you installed the GUI login screen, the login procedure looks similar,
but occurs on an X-window screen (if you occasionally have problems typing
here, perhaps remember that your mouse cursor must be above the dialog
box. The X login screen implements the "focus-follows-mouse"
policy). After a successful login, my default GUI desktop is launched.
"root" is a special account with an absolute power over the system,
and it is used for system administration. You surely want to create at least
one more "user" account later to do regular (not system
administration) work. Read on to learn how to do it.
How do I crash Linux
As root, you can do whatever you want, including an accelarated system crash.
Try (reconsider if you really want to crash):
cp /dev/zero /dev/mem
As root, you can even erase all the files on your system with a similarly
innocuously looking one-liner.
This is not to say that Linux is an easy crash, but that the system
administrator has complete power over the system. You can make MS Windows
quite unusable by trashing some files from C:WINDOWS OR C:WINDOWSSYSTEM
directory. One of the important distinctions that makes Linux resiliant is
that the user and administrative accounts are separated--the user can touch
only the files she owns. It adds to system complexity, yet it also makes the
system truly multi-user. This is unlike the old MS Windows approach. With the
latest version of MS Windows, Microsoft moves more towards the UNIX approach.
An old saying comes to mind: "those who do not know UNIX are destined to
re-invent it".
Conclusion: do not use the root account for routine work. Add a
regular-user account as your first administrative task and use this account
for your experimenting with Linux. Here is how to do it (as root):
adduser johnbrown
passwd johnbrown
[enter a good long password with a number in the middle]
[reenter the same password without a mistake]
exit
[login as johnbrown]
The root account is for administration and setup only. As root, I
would not do things/run programs that I do not exactly understand what they
do. At least not on a computer that I plan to use for real work. Really.
My learning path was as follows:
1. Install Linux.
2. Play around, experiment (root and not root, do cool things, setup stuff. I
want to be able to predict the behaviour of my system--only then do I know
that I understand it).
3. Re-install.
4. Unless I don't have any more time (I never have enough), goto 2.
Once properly installed on good hardware, command-line Linux is legendarly
stable--it can run for months or even years. As a newbie, you can almost
bet that a funny system behaviour results from either your actions as root, or
from flakey hardware.
Can I use Graphical User Interface (GUI) all the time?
I imagine it is possible to use GUI exclusively under Linux, but I don't think
it would be very efficient for administration. The GUI under Linux is very
nice, but it pales in comparison with the possibilities available under the
command line. To make sure, I use the GUI every day both under Linux and MS
Windows, and I find GUI great for program launching, and other routine tasks.
Yet, for system housekeeping or automation, GUI it is inflexible and clumsy.
The command line is a richer interface to me, and it also gives me some
understanding of the working of my system.
Thus, I find that a mix of GUI and command line is perfect to cover all my
needs. If you are determined to use GUI only and are not willing to learn any
command line options, you might consider delaying your Linux installation
until the GUI tools are better developed, unless you have somebody to help you
administer your computer for now.
From this Guide's point of view, command line is certainly simpler for
documentation of commands. Icons and menus are meant to be customizable and
therefore your icons and menus may be quite different from mine. Also, to set
up an icon or command, I need to know the command that stands behind the icon.
In short, understanding of the command line is indispensible for setup and any
work beyond trivialities, even under GUI.
On the other hand, if you have a computer-agnostic girlfriend or boyfriend,
and all s/he does is execute perhaps half-a-dozen different programs, you can
set up a nice GUI screen for him with the icons or buttons or menus he
requires. This, after some intial encouragement, may make him accept Linux.
|
|