Part 1. Before Linux Installation



LINUX NEWBIE ADMINISTRATOR GUIDE
ver. 0.195 2003-07-04 by Stan, Peter and Marie Klimas
The latest version of this guide is available at http://linux-newbie.sunsite.dk.
Copyright (c) <1999-2003> by Peter and Stan Klimas. Your feedback, comments, corrections, and improvements are appreciated. Send them to linux_nag@canada.com This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, v1.0, 8 or later http://opencontent.org/openpub/ with the modification noted in lnag_licence.html.

Contents of this section:
1.1 Which Linux distribution should I use?
1.2 What are the Linux hardware requirements?
1.3 Will my hardware work under Linux?
1.4 How do I download Linux?
1.5 How do I get a Linux CD?
1.6 I have RedHat CD but no install floppy. What do I do?
1.7 What do I need to read before installation?
1.8 Can I have MS Windows and Linux installed on the same computer?
1.9 How to I partition my hard drive?
1.10 The MS Windows partition occupies my whole harddrive. Can I shrink/split it without a re-install?
1.11 How do I start the installation?
1.12 Is the Linux installation difficult?
1.13 Which packages should I install?
1.14 Which GUI desktop should I install, KDE or GNOME?
1.15 I finished the installation. How do I login for the very first time?
1.16 How do I crash Linux?
1.17 Can I use Graphical User Interface (GUI) all the time?
1.18 How do I upgrade a Linux distribution?

1.1 Which Linux distribution should I use?

Linux distribution is a coherent collection of free software with the Linux kernel (operating system) at its center.  To run Linux, you normally need a Linux distribution on a CD.

The differences between the various Linux distributions ("distros") are minor: the installation program, choice of the bundled applications and tools, arrangement of a few things on the hard drive. Regardless of your choice of distro, most of Linux is still at the same, and standard hard drive locations are used for essential items. 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 is a bit more automatized and makes a somewhat 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 (June 2003) is RedHat 9.0 or Mandrake 9.1. These are both 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 great 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 somewhat outdated. So yes, we would not have a problem recommending Debian as a great general-purpose Linux distribution.  Debian calls itself "The Universal Operating System" for a good reason.  At any time, Debian carries 3 versions. (1) The "stable" version (sometimes called "potato"), and we would not recommend it, unless you are really paranoid on stability and don't mind quite outdated packages. (2) The Debian "testing" version (sometimes called "woody") is probably as stable as the latest RedHat, and more stable than your current Mandrake. It is much more up do date than Debian "stable".  Debian Woody is the version we like.  (3) If you don't mind occasional trouble, you can also the the third branch called "unstable", which is likely quite up-to-date.

S.u.S.E Linux distribution (http://www.suse.com) is very popular in Europe. It surely looks German--a solid, general-purpose distro with an easy setup and an excellent reputation. Many users swear by SuSe. We couldn't find cheap Suse CDs though but it appears you can download it (I cannot find a link).  Their product includes propriatory additions that will satisfy enterprise-level need to interface some popular propriatory applications (MS Exchange,  Cross-over office, etc).

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 unless the newbie likes to feel cool.  Our reviewer Bill Staehle says: "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."  We received feedback from Linux newbies who use Slackware and it works very well for them. It seems that Slackware is relatively simple and cool because of the lack of automation. Therefore, with a bit of effort,  a computer-literate administrator can actually understand what is going in her operating system (this is not something I can always say about Mandrake, or MS Windows for that matter).  Perhaps Slackware is to Linux what DOS is for MS Windows :) .

Corel was once 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 was based on the Debian distribution.  It looked initially very promissing, but it is unclear to me what Corel has done with it (was paid by Microsoft to drop it?).  In brief, Corel Linux is dead now,  and I would never recommend it to anybody because it it a dead-end.  The only reason to mention it here is that Corel Linux once received lots of publicity, so you may still hear about it.  It seems like a sad story, particularly for Canadians.

Caldera was once another well-known distribution. It was said to be aiming at corporate users, had a fancy installation program, a set of advanced (and pricey) remote configuration tools, and other corporate goodies.  In Aug.2000, Caldera purchased SCO Unix (the original trademarked ancient UNIX) which gave them an even more "corporate" look in my eyes. Caldera did not seem to be putting too much of their work into the Linux community, nor to care too much about the home Linux users, so I never considered it for my home use.  In early 2003, Calder (renamed SCO) evidently swiched to different business model ("fire programmers, hire lawyers").  I would surely stay clear of anything that might bear the name SCO or Caldera on it. This distro certainly does not have any future.  Neither their Unix is any cutting edge so a newbie really does not have to bother with them.

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, AMD, 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" or "AMD" processor inside. If you have no-Intel hardware, you may want to search the Internet to find who supports it (chances are Debian does, they seem to support even the most exotic ones. Then, you need to obtain "Debian ARM" or "Debian Motorola 680x0"or "Debian PowerPC" or "Debian SPARC ", ...).

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.  The drawback is that there are some "funny" distribution to avoid if you plan your serious business to depend on Linux.

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.
Which Linux Distribution should I select for my old computer(s)?  Quick answer: Debian, Slackware, or perhaps BasicLinux (current version), or an older version of RedHat, Mandrake, or SuSE.   Justification: RedHat, Mandrake, SuSE, Caldera, and TurboLinux are optimized/suitable for hardware current at the date of their release.  They may be difficult or impossible to install on older machines mostly due to the memory contraints and speed.  Debian and Slackware are suitable for most older hardware as well.  At the begining of installation on older hardware, watch for the initial prompt to start the installation in the "text mode".

1.2 What are the Linux hardware requirements?

"Out-of-box" Linux should 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) and will likely have trouble with installation.  A 486 with 16 MB memory and 600 MB free (unpartitioned) hard drives worked fine for me under X-windows but I did not expect it to fly (I got rid of it in 2002).  My 586-133 MHz with 64 MB of memory runs acceptable under Linux with X or without.  My 1.33 GHZ "Athlon" (AMD processor) with 256 MB of memory is a real pleasure to run with an instantaneous response even when running many large applications concurrently.  I would not buy today a computer with less than 256 MB of memory (Dec.2001).

My 486-33 MHz with 8 MB memory and 1 GB hard drive had too little memory to run adequately stand-alone under GUI, but was still useful in my home network environment running as an X-terminal (a 486-class machine also performs just adequately stand-alone if it has at least 16 MB of memory but sometimes memory for old computers is hard to obtain and high-priced).  (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 32 MB of memory, and if possible 128 or 512 MB --more memory can make a difference in performance when running several large GUI applications concurrently.  Memory is generally inexpensive these days (but prices can vary from month to month).  Please note that many current distribution have problems running their installation programs on older computers with a small amount of memory (although once installed, Linux will typically run just fine). If you require more help on installing Linux on a low-memory computer, try: http://7thguard.net/files/DebianHOWTO.txt

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.  The  10-base-T system uses "giant phone" (RJ45)-type connectors and normal (not cross-over) "Ethernet" cables.  All the computers are connected, from the socket on the Ethernet card,  to a small box called the hub. The hub has an extra connection (called "uplink") which I will use if I ever have a permanent "over-Ethernet" connection to the outside world. Here is a schematics for a straight-forward home network arrangement:
    -----------
 |  The_Hub  |-[uplink]---[to_External_Network_over_Ethernet]
  -----------
  |    |    |
  PC1  PC2  PC3_with_modem---External_Network_over_PPP
Here, I show a local private network consisting of PC1, PC2 and PC3, connected through a hub.   Since I do not have "External_Network_over_Ethernet" on my home hub "uplink", PC3 provides my connection to the outside world (over a modem). Therefore, PC3 is called the "gateway" for all computers on my local private network (except PC3 itself).  I enable the firewall software on PC3 PPP network interface, and let PC3 know how to dial out and connect to the outside. The outside world can only see PC3. As far as they can tell, PC1 and PC2 do not exist. My local ethernet network is "trusted" because only trusted people have physical access to PC1, PC2 and PC3. ("PPP" stands for "Point-to-Point Protocol" and it is a standard for communicating over phone lines.)

You can, of course, build a more complicated network with Linux. A PC can have 2 (or more) ethernet cards. It may then work as bridge between 2 (or more) networks. The PC will act as a gataway for all traffic between between the 2 networks. The networks do not have to be known to the outside world ("local private networks") and sit behind a firewall enabled on a gateway computer. The outside world will only know about 1 computer of mine, the "gateway" to the external network. Other computers will still be able to communicate with the outside world, but all the traffic will appear outside to originate from one, very busy computer--the gateway.

To connect just two computers, a cross-over cable for direct Ethernet-card to Ethernet-card connection is sufficient ("networking for the poor") but the connection through the hub is more straight-forward.  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 to make it a router. Then you use direct connections to other computers using the cross-over cables, and save the expense of a hub.  This adds a configuration complexity to your system, yet in some situations can be technically advantagous.)

Here is another suggestion on setting up a different kind of network, using a very much older type hardware, which uses coaxial cables (like for the cable TV). 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 meters 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 straigh-forward and modern, however, is to get one 10-base-T ethernet card for each of your computers and a one hub to connect them all.

1.3 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 a bit 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!

Another area that can be problematic is laptops, because laptops typically contain quite unusual hardware that requires the support of the original vendor.  See http://www.linux.org/hardware/laptop.html for a help with installation.  IBM laptops appear a safe bet as far as Linux compatiblity is concerned. To purchase a Linux laptop, you may also try http://www.linuxcertified.com/linux_laptops.html

1.4 How do I download Linux?

Do yourself a favor and do not download Linux. Buy an installation CD instead. Linux can be downloaded completely from the Internet, but it is a very large and sophisticated operating system. The download may take hours or days of download time, and you may encounter problems and frustrations, e.g., due to errors in the downloaded files.

If you do have a speedy Internet connection (definitely not a 56k-modem, but perhaps cable modem) and you are not a complete newbie, a Linux download may be an option to you after all.  Try http://www.linuxiso.org/ for ready-to-burn CD images (the ISO format) of your selected Linux distribution.  To avoid problems, check the downloaded ISO image prior to burning using the MD5 sum using (on Linux):

md5sum the_name_of_the.iso

This command will take some time (a few minutes?) to complete a check of a typical (640 kByte) CD image.  (MS Windows does not contain a utility to check the md5sum, but such a utility can be downloaded for free.)

The utility md5 generates a 32-character string which depends on the file contents.  If even one bit in the file has changed, the string is going to be different. Once the above command generates that signature string (the "md5 sum"), compare this string with that listed on the web page from which you downloaded the file.  Please note that data can be corrupted during large downloads, so checking the sum is really a good idea else you risk problems with installation.

1.5 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?).  If your time is worth lots of money, you may opt for more advanced technical support at higher price. (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).

1.6 I have Linux Installation CDs but no install floppy. What do I do?

If your computer can boot from the CD drive (most older 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 (the default is often floppy followed by hard drive).  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:\dosutils\rawrite.exe -f F:\images\boot.img -d a: -n


To make the supplemental (optional) diskette run:

F:\dosutils\rawrite.exe -f F:\images\supp.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 suppresses 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). ]

1.7 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.

1.8 Can I have MS Windows and Linux installed on the same computer?

Yes, you can. Many Linuxers use a dual boot. This is typically achieved by installing MS Windows on one hard-drive partition and Linux on another partition.  Linux comes with a boot manager called GRUB (some, particularly older distributions may contain another boot manager called LILO).  The boot manager will let you select, 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.  The best is to use MS Windows 95 because it interference with Linux is unsophisticated and workarounds are well known.  Installation of the latest MS Windows offering is sure to introduce trouble into your dual booting system (obviously on purpose), e.g., insist on its own boot manager that will surely refuse to run Linux.  Although it is amazing that a convicted monopolist (Microsoft) can keep interferring with another operating system, one may need to learn to live with it.

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 can be proud to have no pirated software on my system whatsoever.)  

MS Windows will have no notion that Linux exists on your computer--it will just see that
*  a boot manager is present,
*  a non-Microsoft partition(s) is present on the hard drive.
MS Windows does not interfere with neither of them during normal operations (but mendles badly during installation, hard-drive re-partitioning, etc.)

1.9 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 may delete your MS Windows partition when you really don't mean 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 delete a partition from hard drive, all the content on that partition is gone.

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 (half?) of the hard drive(s) unpartitioned for Linux. You will create and format the Linux partitions during your RedHat (or Mandrake or whatever else) installation. Linux will recognize the free (unpartitioned) space on the hard drive and use it to create partition(s) in a non-Microsoft format.

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 (no dual boot), you need just a 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 complete 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. But for that, the /home directory must be on its own partition.)

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 Linux is ancient, kernel version lower than 2.2 as in 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).  If you need more (e.g. if you have lots of physical memory, or 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 respectable amount of disk space and should be sufficient 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 on the modern distribution CDs, 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 nowadays (year 2002) consider the following setup (for a comfortable total of 15 GB dedicated to Linux):
mount point    type     size
/              ext2     800 MB
/usr           ext2     5000 MB
/usr/local     ext2     3000 MB
/home          ext2     5200 MB
swap           swap     1000 MB
Please note that the the mount points can reside on different physical hard drives. Linux agglomarates all the hard drive space into a single directory tree.

Another consideration when setting up the partitions on older computers (486?). 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 management 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 MS Windows 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 typical 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 and man 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.  In short, ext2 is the main (default, typical) Linux filesystem.

ext3 is an extension of the ext2 filesystem with journaling. It is backwards and forward compatibile with ext2. It means that ext2 can be converted into ext3 without reformatting or data loss (just re-mounting the partion is required). ext3 can be changed back to ext2, also without data loss.  I use ext3 extensively since Oct.2001--it is simple and trouble-free.  It is included as an installation "option" since RedHat 7.2 and Mandrake 8.0. It is highly recommended that you use this filesystem.

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 MS 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 (Aug.2001).

1.10 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 my RedHat CD that does just that. Check the directory \dosutils\fipsdocs\ 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 for Linux after MS Windows is installed. 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 ssh, telnet, ftp, http, and mail, several databases, many programming languages, graphics processing programs, sound editing applications, statistical analysis programs,  ...

1.11 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.  On modern computers, I always use the graphical installer.

1.12 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 peripherials 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 Linux). 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.

1.13 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. Again, you can run into problems if you start with Linux using a strangely customized system (many installers will let you customize at will). 

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.

1.14 Which GUI desktop should I install, KDE or GNOME?

Disk-space permitting, definitely both. You can later decide if you prefer KDE, GNOME or another desktop, 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 always 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 more power hungry. On older hardware (e.g., 133 MHz Pentium) I prefer GNOME to KDE.  Other windows managers are ligther than either KDE or GNOME. Therefore, on really modest hardware, I would choose one of the "alternative" windows managers.

1.15  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 there,  perhaps position your mouse cursor above the dialog box. The X login screen may implement 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.

1.16 How do I crash Linux?

As root, you can do whatever you want, including an accelarated system crash. Try this command, as root (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 (don't do it):

rm -fr /

This is not to say that Linux is easy to crash, but that the system administrator ("root") has the complete power over the system. You can make MS Windows unusable by trashing some files from C:\WINDOWS OR C:\WINDOWS\SYSTEM directory. An important distinctions that makes Linux resiliant is that the user and administrative accounts are separated.  Regular users can touch only the files they own, and similarly the programs which users run can only junk user-owned areas, no matter how buggy or malicious a program might be. The separation of "administrative" and "user" accounts adds to system complexity, yet it also makes the Linux 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 and regular work. 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.  I would definitely not browse the net as root (that is an absolute security no-no).

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, get bored, or know everything,  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.

1.17 Can I use Graphical User Interface (GUI) all the time?

I imagine it is possible to contain your use of Linux to the GUI.  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, navigating standard documents, and other routine tasks. Yet, for system housekeeping or automation, GUI is inflexible. The command line interface (CLI) is a richer interface to me, and it also gives me some understanding of the working of my system.

Two quotes to amplify this point: "Using a graphical interface is fairly easy because it limits you to a few basic operations that you can learn quickly. But if those basic operations aren't what you need, then you may have problems".  "One characteristic of a user-friendly system is that it does what the user wants. In other words, the most user-friendly system isn't necessarily the simplest one." [http://linux.oreillynet.com/pub/a/linux/2001/11/15/learnunixos.html]

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.

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 like Linux.

From this Guide's point of view, command line is certainly simpler for documentation. 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.  We include no screenshots in this guide--we found them ourselves useless in learning about computers.

1.18 How do I upgrade a Linux distribution?

For a full system upgrade (updated distribution CDs, .e.g., RH7.0->RH7.2), "follow the time-honoured principle of upgrading Unix systems: do a fresh, 'clean' install and add back your data. Yes, we're talking about reformatting your partitions and installing from scratch." (the quote from: http://www.northernjourney.com/opensource/newbies/newb025.html).

Thoughtful partitioning of your hard drive will facilitate future upgrades, because your data files can be preserved in your "home" directory.

A checklist I made for myself when upgrading:

- Log in as root.

- Make a copy of the /etc directory to some place where it won't be distroyed (e.g., zipdrive). This will let me have a look at your previous setup in case I encounter problems.

- Make a backup of any valuable data in the /home directory. This is just in case something went really wrong, for example, if I happened to format a wrong partition.

- Determine and write down the mountpoints on your filesystem using the "diskfree" command:

df

For example, on my system it shows that the /home my home directory is mounted on a separate hard drive partition called /dev/hda9. and the directory /usr/local is on /dev/hda8.  I write this info on a back of an old envelope.

- Perform the installatation of Linux, but tell the installer to mount the partitions /home and /usr/local at their previous (existing) locations.  DO NOT re-format these two partitions.  This is critical if you want to preserve your data.

- Boot the new installation and check that it works.

- For each user on the system, create a login with the old name and old user ID number, for example,

ls /home/maria/* -l      (check the user ID for account "maria" in the file listing of her home directory),
useradd maria -u 503  (create a user acount "maria" with with an example  uid "503").

The users will have to select new passwords.  If I had lots of users, instead of re-creation of all the accounts I would edit the old and new versions of three files:  /etc/passwd,  /etc/shadow and /etc/group and copy-paste the relevant user information from the old files to their newer versions (one lines per user in each of the two files, one line per group in the third file).

- From each user home directory, delete the potentialy troublesome setup files, e.g.: ".kde", ".ICE*", etc.  Good oportunity to delete any junk too. Some setup files may be troublesome because the new version of kde is likely to perform better with the most recent default settings (it will create them on first startup). E.g., 

cd /home/maria
rm -fr .kde

- Make sure that each remaining file in the home directories belongs to the appropriate user. For example, I do:

cd /home/maria
chown -R maria *
chgrp -R maria *

Go to part 2: Linux Resources, Help and Some Links
Back to Main Page