Default
Google

You really should check this out
if you don't know about it!

Linux Start

This document is intended for people who want to know about Linux or want to install it and don't have anything to start on. I'm no Unix/Linux guru. Don't expect this document to be an exhaustive Linux doc. For the sake of the argument, I don't think there's any document anywhere exhaustive about Linux. And that's the beauty of it: people from all over the world write documentation (HOWTO's) about Linux and people from all over the world write code for Linux. And nobody charges this. This document is actually intended to be something between a links page and an actual document.

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!
 

1. What and why

  1.1. What's Linux?

  1.2. Why would I use Linux?

2. Linux

  2.1. Supported hardware

  2.2. How can I get it?

3. Installation

  3.1. Before you install

  3.2. While you install

  3.3. After you install

    3.3.1. Tuning up the boot process
    3.3.2. Using the video card
    3.3.3. Using the other partitions

4. More info

  4.1. Miscel basic Unix/Linux info

  4.2. Networking info

  4.3. General Linux info

 

1. What and why

1.1. What's Linux?


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

1.2. Why would I use Linux?


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.
 

2. Linux

2.1. Supported hardware


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.
 

2.2. How can I get it?


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.

3. Installation

3.1. Before you install


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.
 

3.2. While you install


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.
 

3.3. After you install

 
3.3.1. Tuning up the boot process


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.
 

3.3.2. Using the video card


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

3.3.3. Using the other partitions


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.
 

4. More info

This section tries to actually be useful and up-to-date. Don't ignore it!
 

4.1. Miscel basic Unix/Linux info


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:

  • Unlike DOS/Windows, Unix/Linux uses "/" as path delimiter, instead of "\".
  • Typing in a console is the basic (as in usual) way to do things - most Unix/Linux senior users find the GUI to be a useless resource-eating helper for the computing challenged. Although you're probably think they're a bunch of nerds anyway, you'll find this a very fast and resourceful way to do some tasks - at least it's worth a try.
  • While giving this a try, you may find it useful to know that pressing < TAB > in a console will "try" completing the word you've started typing, either it's a path or a filename.
  • "man" is the basic command for getting help - and it actually is helpful, as opposed to Linux's less fortunate cousin.
  • If you're just searching in the dark for that command that has to be there, "apropos" is the keyword-hunter in Unix. I suppose it's redundant saying that after "man" you should type the name of the command you want help for and after "apropos" - the keyword you want to find commands for...
  • If you're somehow left with a console and that's it, shutting down your computer is done in the console with "init 0". Rebooting is "init 6". You should read about init, anyway...
  • In the console, pressing the up and down arrows will scroll up and down in the list of previous command-lines.
  • The "task-manager" in basic Unix is "top". KDE on Linux improves the ASCII representation with a graphical one - "ktop".
  • Listing the content of a directory is being done using "ls" (it's LS in lowercase).
  • Changing the current directory is probably the only one you'll be familiar with from the start - it's "cd".
  • Copying a file is "cp source dest".
  • Moving a file is "mv source dest"
  • Deleting a file is "rm filename"
  • Creating a link (which is DEFINITELY better than a shortcut) is done with "ln -s source dest"
  • The Unix/Linux filesystem not ony stores case-sensitive filenames, but also allows multiple files with the "same" name coexist in the same directory as long as it's a case difference between the file names (e.g. "today.txt" can reside in the same directory with "Today.txt". This also means that all of the commands are case-sensitive. Fortunately, the people that created the executable files aren't insane, so in most cases the command-line only contains lower-case letters. Please note the command switches are also case-sensitive.
  • Apart from "case-sensitiveness", the filesystem also stores permissions for each file - that is, the permission to read, write and execute each file by the owner, the grop of owners and the super-user. I won't discuss this here - I just wrote it so you know there is such a thing.
  • You may kill applications that "are not responding" by issuing a "kill". But you must first find out their PID (process ID). This is done by:

  • 1. Launching top or ktop - the leftmost column contains the PIDs;
    2. Executing a "ps -ef | grep process_name_here";
    3. If the application is graphical, you can execute "xkill" in a console and then click on the window you want closed;
    4. If you've got the system set as I do (which is the default), CTRL+ALT+ESC executes the xkill for you;
    5. Typing "killall process_name_here" in a console - this one tries killing all of the processes with that name.
  • As a rule of thumb, when a process name ends with an apparently chaotic "d" it usually is a daemon - something like Windows NT's services.
  • 4.2. Networking info


    Until this section will (hopefully) become self-explanatory, I'll only list some networking links:

    4.3. General Linux info


    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.

    Well, that's it for now. I'll try to update this page as things change and add other basic Linux facilities. Please feel free to mail me for suggestions, comments, spelling or content errors, dead links or anything useful you may want to contact me for.
    Last updated: March 4th 2000


    If you started with this page, feel free to visit my homepage!


    Acquiring image from ProHosting Banner Exchange