I think this document is useful for people that just need a little persuasion for at least trying Linux, either because they know something about Linux but are afraid to install it because they heard from a friend that Linux fried up their boot sector or that it's awfully hard to configure or because they're anyway the hacker kind that want to try anything and don't know where to start with Linux.
And why I wrote this document is because I installed Linux on my computer
with no prior knowledge about it and I found it pretty difficult installing,
configuring and fine-tuning it just because I didn't know where to find
the documentation for it. So I'm at least trying to ease this step for
you. Have fun!
Linux is an operating system. You've got to install it separately
from your current OS, be it Windows 95/98, Windows NT, DOS, SCO Unix or
any other operating system. What this means is, you can't run Linux under
Windows or anything else. It actually IS something like Windows. Just better
and free. Why better? Because it's distributed under the terms of the General
Public License (GPL). This means some guy started writing code and at some
point he said "okay, now I've got an operating system. Now, instead of
trying to sell it for money and actually do nothing with it, I'm gonna
give it away for anybody who wants to have it. And I'm gonna give away
the code source as well, so anyone can develop it". Actually, this ain't
no fairy tale: the guy's name is Linus Torvalds, and it all started in
1991, when he was a student. He didn't actually write all of the code inside
Linux, but he got this thing going and from as far as I know he was involved
in all of the major steps Linux took. Now, why do I say Linux is better?
Because you can hack around in the source and create whatever drivers/functionality
you want for your own system/necessities. Now, where did you see this ever
before? Plus, the programmers writing code for Linux are so many - anyone
who wants do develop it may freely do so, with no charge for the compiler,
OS or anything else. That means it's alive! It's no Unix dinosaur forgotten
on our PC's - it's a modern flexible dynamic operating system, and I think
this is a very important point to know about it. You may also want to hear
it official...
Now, this is a tough question! I should probably write about 1.000
pages about why Linux and why not Linux. This is an ongoing debate. Still,
I'll send you to a somewhat mind opening document: (HDD) Commercial
HOWTO. As the author says, it's not an actual "HOWTO", but it explains
pretty well the main current reasons why people would like using Linux.
That is, on the current software base for Linux, there are a few commercial
uses to this OS that presents a clear advantage over other OS'es. Still,
I'd go a little further and say that IMHO Linux is gaining momentum as
the software base increases (and it does), and as the system is free and
extremely open-ended on the programming side. And then again, if you're
a business-oriented person, you may want to hear it this way: Linux@Work
(for your company).
At this moment, the software base isn't as appealing as for other
operating systems because the mainstream success software companies didn't
start porting their applications to Linux, except a very few (Netscape
is the only one I know of, but I can't certainly say there aren't any others).
The phrase above proves my point beyond any doubt: that phrase was written
in the mid-1999. It's now December 31st, 1999 and the list goes like this
(from what I know for sure): Adobe, Borland, Corel, Netscape, Silicon Graphics.
What's more, the are certain other advantages with Linux as it is now:
it comes with a free HTTP server, FTP server and is quite ready for action
on the network side the way it comes out of the box. Apart from that, it
comes with a quite appealing image editor (a program called GIMP
which is just a little bit behind Adobe Photoshop), some games (a lot more
than the ones that come with Windows, but the same office-style games),
the usual modern OS accessories (text editor, calculator, find files, audio
mixer), the usual modern professional (i.e. non-Windows) accessories and
facilities (hex editor, multiple-desktop environment, multiple filesystem
support, fax support, icon editor etc.) and a lot more accessories people
had fun creating - this is the only reasonable explanation I find for their
existence: mouse mileage, the famous Xeyes, the phases of the Moon, fortune
teller etc. You may say you found all of these for Windoze as well. Well,
except for the hex editor which I dearly missed, I found those applications
as well. But please note that this is what Linux comes with by default.
[update]
Windows 2000 and Windows 98 come with built-in fax support and a lot of new network-oriented features. This doesn't mean they're better OS'es. You're probably wondering why am I saying that, when just a paragraph above I'm saying Linux is better just because it has these things. Well, this is why: would like to have a bulky car you have everything you ever owned in plus all the trash you didn't throw away in the past five years? There are jokes about this regarding Windows, but please! You can actually find files on your disk Windows 2000 automatically installs that say «title = "Installing Windows 3.1"» and other fun stuff (you can check it for yourself - %SystemRoot%\system\setup.inf, in Windows 2000 Professional - I don't know about Server). Now, this is Windows. Please, just pick anything else if you've got the software to do what you need to do.But I didn't prove my point about Linux being better than Windows about fax and networking. Well, yes, you can have a fax service up and running in Windows as well. Yes, you can also have a mini-HTTP server running in no time. You can also do routing almost instantly in Windows 2000. But it's not done right! The HTTP server in Linux is Apache. I need to say no more. The routing probably works in Windows, but "local network operation may be momentarily disrupted". Why?! Because "existing TCP/IP connections on the Internet connection sharing computer are lost and need to be reestablished". And when does that happen? When "you enable Internet connection sharing". Alas, but that's the routing part! So when I'm doing the routing I don't have a local network anymore and vice-versa. That's cool!
The problem with Windows I think is that it's growing out of control. I really think that a 670 MB OS (and that's when it's on your disk!) should do a lot more than Windows 2000 currently does. What it excels in is the installation. You really don't have any kind of problem with installing Windows 2000 and I really mean that - you just wait and it installs. But if I could do without it, I surely would rather waste one or two hours but have a 200 MB OS running just as smoothly, but where I really feel I'm in control of what's happening... And that's exactly what's tough with Linux - you've got to have notes at hand with your settings, partitions etc., some plug-and-play devices don't work, the card manufacturer doesn't provide the Linux driver on the CD etc. etc. etc. But these problems will certainly be overcome due time - the only single important thing is the way the OS is originally built. And that's an easy one: DOS is lousy and Unix is brilliant.
A note about the list of companies - as you probably know, Corel and Borland aren't separate anymore. And as you probably know as well, Borland C++ is now free! So it seems to work. Even more, Corel and Borland joined forces mostly against Microsoft and towards Linux. So Linux really seems to work.You may also want to check Sun's StarOffice - the alternative to Microsoft Office.
Apart from these, please don't imagine Linux is the console-based
character-only operating system it used to be. No way! It's a fully featured
graphics OS like Windows, with links on the desktop, program manager (the
"Start" button in Windows). And even more: this time you have a choice
about the window manager you'll be using - you may choose among some 5-6
window managers, pretty different from one another and quite configurable
as well (read more about it in the (HDD) XWindow-User-HOWTO).
For example, I'm creating this document in Linux, using Netscape Composer
on my 1152x864 true-color display. By the way, after buying my Riva TNT2
I had to wait for a week before installing it in Windows NT, because I
had SP4 and the guys from Creative took four days to reply to my mail,
saying that I should uninstall the video card, uninstall SP4, install SP3,
install the video card and install SP4, so I had to reinstall Windows because
I had no pre-SP4 backup. Well, it took me about two hours installing the
same card in Linux. With OpenGL support.
And even more: Linux has been ported to a lot of wide-spread machines - it's not only a PC OS. For more info on this topic, see http://www.ctv.es/USERS/xose/linux/linux_ports.html or http://www.linuxhq.com/dist-index.html.
If you want to read more about the software running on Linux, see this
page.
The complete list of supported hardware can be found here.
Anyway, if you have a PC you aren't ashamed to call this way, Linux will
work, and it will work fine - the bare minimum is a 386 processor, 2MB
RAM and a floppy drive.
As expected from such a multiple-unrelated-people-developing-it
piece of software like Linux, it comes in a lot of different flavors, called
distributions (or distros for short). The most user-friendly distribution
I heard of and installed on my system is Linux
Mandrake - the way they call it, "the best Linux-distribution for beginners!".
Also, "Linux Mandrake is 100% compatible with Linux RedHat(tm), KDE and
Gnome". If you want information about other Linux distributions see Matthew
Welsh's Installation
and Getting Started. Well, if you chose Linux Mandrake you'll have
to download a 500+ MB "iso" file, which is the actual Linux disk, or buy
the burned CD with the same contents. Now, don't get scared about the word
"buy" after the whole theory about Linux being free - what you buy is the
actual CD, the burning of it and the mail service. Well, if you choose
to download the iso file (as I did), you'll need a CD writer to burn it
on a CD. This is actually very simple, as any CD writing software accepts
iso files as ISO CD images, so this shouldn't be a problem. The only problem
you may have would be if your system's BIOS doesn't allow booting from
the CD. Anyway, for the actual installation procedure (which I won't describe
here), please see the corresponding file.
For other distributions, see their respective sites.
[update]As the Linux works its way from the developers' desktops towards the mainstream it's obvious that all the software companies that have been around long enough want their share in Linux as well. So you can find all sorts of distros today, some of them you must pay for. And what you're paying for is the fact that they come easier to install, with more apps etc. - a nicer package with the same content. But if that's what you're looking for than maybe you should also check some other distros before jumping at Mandrake - I think this is the most user-friendly among the free distros.
Before starting the actual installation please note that you'll
have to create/free up a partition for your new Linux installation. You
should also remember its size and location among your other partitions,
because you'll have to recognize it at installation time among the other
partitions on your drive(s) based on this data. (This is probably distribution-dependent).
You'd also probably need an empty floppy disk. And a working floppy drive.
On your computer.
You'll have your <some size>MB free partition ready for Linux.
The installation program will ask you where you want Linux installed. Please
note that Linux needs at least two partitions in order to work:
a root partition - your Linux disk - and a swap partition. You're going
to split the free partition in two - the Linux and the swap partitions.
I saw a document recommending 30MB for the swap disk - I don't know if
this is okay or not, but I wanted to write this here so you had an idea
about the size you should allocate it - when I first installed Linux I
didn't know anything about this, so I created a 900 MB swap partition ;)
While we're at this, when you create your partitions you've got a list
of /dev/hd?? partitions to choose from. At this moment it is advisable
for you to identify as many other partitions as you can, and write them
down on a piece of paper - their letter and their /dev/hd?? identifier
- such as "C - /dev/hda1; D - /dev/hdc1 etc.". You'll need them later to
mount them for use in Linux.
Now, if you're just giving Linux a try, you probably wouldn't want to
mess up your original boot sector, so when it asks you where to place its
boot sector my recommended choice would be to place it on the Linux partition
boot record. Please note that Linux comes with an operating system loader
(something like Windows NT's, except much more flexible), so even if you
choose Linux to manage the boot process (i.e. choosing the MBR in the previous
step), you will still be able to boot your DOS/Windows operating system.
The single problem with this would be when you would want to uninstall
Linux. Returning to the point, my choice would be placing the boot sector
on the Linux partition and creating a floppy Linux boot disk at this time.
After the installation is finished, you'll need to boot from this floppy
to start Linux or from your old system drive to start whatever operating
system you previously used.
The Linux operating system loader is called LILO (short for Linux
loader). This is responsible for starting up your Linux OS. What you'll
basically have to do is configure LILO and put your Linux boot image somewhere
your system can actually use it to boot. Apart from LILO, there is this
Loadlin DOS application that starts your Linux from the DOS prompt, using
a boot image as well. Read further and proceed as you see fit (with LILO
or Loadlin).
Depending on your current OS configuration, you may want to read one of these documents to start booting Linux like a civilized human being, from your hard drive, instead of the floppy:
(HDD) Linux+Windows95
- please note that the Mandrake CD actually contains FIPS in the \dosutils
directory
(HDD) Linux+NT
Loader (Win NT + Linux, using NT loader)
(HDD) Linux+DOS+Win95+OS2
(HDD) Linux+Free
BSD
(HDD) Loadlin+Win95
(HDD) Multiboot-with-LILO
(Win 9x + Win NT + Linux, using LILO as loader)
Please note that these files may also be found on your Linux partition
in /usr/doc/HOWTO/mini (I can tell you that for sure for Mandrake Linux).
This is what (HDD) stands for.
You may have the same problem as I had: can't find your video card
in the out-of-the-box-video-card-drivers list. What I did was ask Jeeves
"Linux driver for <card name here>". And it actually worked. If
you can't find your card's driver using this method, give it at try here.
If that doesn't work, you probably are stuck with VGA until you upgrade
or somebody decides to write a driver for your card.
As people write to me with locations they found their video card drivers
at, this list will grow, anyway:
Riva
TNT2 drivers site 1
Riva
TNT2 drivers site 2
After you download your driver, you may want to read the (HDD)XFree86-HOWTO for actual installation.
Now that you (hopefully) have got a fully-featured graphics Linux box
you'll want to try some window managers. And this is another strong Linux
aspect: although you're running the same kernel/operating system, you've
got a choice for the window manager to use. That's a very nice thing, as
people have created a few user-friendly, nice-looking window managers for
Linux. I suggest you read the (HDD) XWindow-User-HOWTO
for a brief description of each of them before checking them out - you'll
be warned about the pros and cons of each of them before making a choice
- you'll probably stick with that first choice for some time...
Yes, you can use the other partitions on your hard drive. All you
need to do is create a directory for each partition and "mount"
them in that directory. What I did was create the directories "/mnt/c",
"/mnt/d" etc. and mounted my partitions in that directories. Linux identifies
the disks and partitions in a much more logical way than Microsoft products
do: each drive/partition is a device, the same as the mouse, the modem
and the serial ports. And they are all "device files" located in your /dev
directory. Your hard-disk partitions are numbered by hard-disk and partition.
That is, the first partition on the first drive is "/dev/hda1" and so on.
Why is it more logical?! Well, if you're in the sad position where you
have both Windows 98 and Windows NT installed and have a file system salad
on your disks (FAT, FAT32 and NTFS), then you already noticed the drive
letter dramatically shift depending on the operating system. Or if you
have shared drive "H" as "CDROM" and after installing the serial Zip people
on the network are amazed of your new rewritable CDROM :->
So Linux uses to "mount" filesystems in order to access them and "umount" them after they're no longer useful or at shutdown. Mount basically works this way: "mount </dev/hd?? identifier> <directory>". If successful, "ls <directory>" will list the contents of </dev/hd??>. Unmounting is equally simple: as it no longer needs both of the identifiers and you probably are more fond of your personal disk name (<directory>) than of the </dev/hd??> identifier, unmounting goes this way: "umount <directory>". Of course, if you'd rather umount /dev/hd?? this also works... If successful (i.e. wasn't being used by another program at the time), "ls <directory>" will now return an empty list. There are many options to mounting a filesystem - you can find about them by typing "man mount" in a console.
Ok, now you'd like to have your partitions mounted automatically when Linux starts up. What I did (which, the way I did it, is neither the only nor the best solution) was to edit /etc/fstab according to my needs. Type "man fstab" for documentation on this one. For other solutions please see the (HDD) Automount mini-HOWTO. A simpler way is using fsconf instead - it does the same job of editing the file with a friendly GUI (graphics user interface).
If you've got an NTFS filesystem you'll need to recompile your kernel
for use of NTFS support, but please note there's no final NTFS driver -
the one I currently use only allows safe mode (read-only operations) on
NTFS. For FAT32 support, see this
page (read-only specification as well). For Linux filesystem support under
Windows 95, see this page.
This section is intended for those of you really uninformed
about Unix in general and Linux in particular. These are common sense things
I don't think many people write in their docs, but I found that the common
sense things are the ones you bump into pretty hard at the beginning. So:
Until this section will (hopefully) become self-explanatory,
I'll only list some networking links:
You can read the HOWTO
index. A very interesting "more-info" file is the (HDD) META-FAQ
howto - it's a list of several additional information sources for Linux.
KDE info can be found at http://www.kde.org.
Linux-Mandrake info can be found at http://www.linux-mandrake.com.
You may also want to read the Linux
Journal for news and man(ual). You may also want to check out the official
Linux
site. Click here for more information
about the GNU project, the major free software developer for Linux (actually,
what we call Linux is a Linux kernel wrapped in GNU OS programming - read
more about this). You may also want to check this
out for the GNU General Public License terms. This
is another (probably more serious) Linux Start project. This is the LinuxStart
page for various resources you may need.