Desktop Linux For The Windows Power User

Understanding Linux Partitions

As is the case when installing a new copy of Windows, partitioning is something that you will want to plan out before actually doing it. There are a few things that you must understand about Linux partitions before we proceed. A Linux installation will require a minimum of two partitions. One is for the operating system itself, which is represented as "/" and referred to as “root." The second is for virtual memory (or page files if you prefer) and is referred to as the “swap” area.

Which File System Do I Choose?

Like Windows, Linux has gone through several different file systems throughout the years. Ubuntu has read-and-write capabilities on Windows file systems but will not install onto them. FAT16, FAT32, and VFAT partitions can be read and written to right out of the box. NTFS file systems can only be read out of the box, but can easily be set to also write. Since Windows cannot read or write Linux file systems, you will need to transfer files to and from Windows within the Ubuntu operating system.

Other than the familiar Windows file systems, you will have the option of choosing several that you may not yet know. Among them is the ext3 file system. Ext3 is currently the most suited file system for a desktop and is the one with which we'll be concerned. The ext2 file system has, for the most part, been phased out. While ext4 is now available in Ubuntu 9.04, it is not yet stable enough to recommend. The ReiserFS, XFS, and JFS file systems have their specialized uses, but they are not relevant to a standard desktop setup. The swap area is for virtual memory use only, and unlike other file systems, it does not require a mount point.

What Are Mount Points?

Linux does not assign letters to each drive and partition like Windows and DOS do. Instead, you must specify a mount point for each drive and partition. Linux works on a hierarchical directory tree, where root ( / ) is the primary mount point, which by default contains all others. Think of / as the Linux equivalent of c:\, which is the default location for all Windows files and directories. Take /home/tomshardware, for example. You would get to the folder called “tomshardware” from the home directory ( /home ), which is located in the root ( / ) directory.

Mount points are sub-directories, kind of like how c:\Documents and Settings\tomshardware points to a folder named “tomshardware,” which is in My Documents on the C: Drive. Straightforward, right? Here is where Linux and Windows differ: because of its server roots, Linux does not care if one of the root's sub-directories is on a separate partition or drive. By specifying sub-directories as mount points for drives and partitions, Linux will detect that sub-directory and not duplicate it on your root drive or partition.

For example, /home is where all of your personal files reside. If you want those files on a separate partition or disk, you would install a second drive or create a separate partition and set the mount point to /home. This can be done for any other sub-directory. Ubuntu gives you the option to set the following mount points during installation: /boot (boot loader and kernel headers), /dev (devices and drivers), /home (user files), /opt (some additional software), /srv (system services) /tmp (temporary files), /usr (applications), /usr/local (data accessible to all users), and /var (server spools and logs).

For a typical desktop system, there is really no reason to give /dev, /opt, /srv, /tmp, /usr/local, and /var their own partitions. If you are planning on running more than two operating systems across multiple hard drives, it may be a good idea to make a partition for /boot. Creating a partition for /usr is worth doing, but should only be done if you already have a good idea of how much space applications will take up. Creating /home on a separate partition should be mandatory, while putting it on a separate hard drive is even better. You can choose to just create the minimum root and swap partitions, in which case /boot, /home,/usr, and all the rest will simply reside in root ( / ). By putting /home on a separate partition (or better yet, drive), you can essentially keep your documents, music, videos, pictures, saved games, etc. safe from catastrophe that may befall your system files on the root partition. Therefore, if you put all of the files you would typically backup into your home directory, you don't need to bother backing up for a re-installation, upgrade, or even a distribution switch.

Now that you understand Linux partitions and how the directory tree works, let's go ahead and partition the hard drive. For this desktop installation, we will use three partitions: root, home, and swap.

  • jgv115
    An easier way of installing programs is in the terminal


    sudo apt-get install *app name here*

  • DjEaZy
    ... i'm a n00b in LINUX, but UBUNTU... it iz a nice start... the GUI iz easy to pick up... the rest iz reading forums... i got even crysis to work in Ubuntu... just the problem waz, that there waz no textures... with WINE and DX instaled the need for speed series runs pretty fine... all OpenGL games, that i played, run fine too... the interesting thing where you can consider using Ubuntu iz a old computer for internet browsing... if tha CPU iz approx 1Ghz, tha RAM 256Mb, and a 5 series GeForce or 9 Series Radeon to do the COMPIZ eyecandy... then YOU have a better-than-Vista visual and browsing experience...
  • wicko
    Meh, I've killed my XP install and I use Windows 7, which I actually like. Ubuntu doesn't cut it for me due to the lack of games.. otherwise I'd be all for alternatives.
  • arpikusz
    Great article. Really like that you outlined how to install all the "good little stuff" and not just the OS it self. Thumbs up!
  • thepinkpanther
    as soon as ubuntu can run .exe without a hitch, windows is out the...ugh...window.
  • Sir you are wrong. GoogleEarth and AdobeFlash is fully 64-bit compatible.

    One issue that you may encounter is GoogleGears that is 32bit only, but you can easily find Gears for 64 bit (without Google trade mark).
  • fordry06
    Ya, I have multiple games that will not work no matter what i do. I have tried configuring WINE manually and Play on Linux and Steam games will not function properly for me, neither does Trackmania. Im not sure if its becuse i have SLI or what but it simply doesn't work. I would love to use Linux as my primary OS, but when i install Windows 7 and ALL of my drivers are installed and working correctly automatically without any hassle, even nvidia video drivers, that is something that Linux is not capable of yet with alot of systems. Until the majority of programs and drivers work natively with Linux, it will just be a niche OS on desktop computers.
  • ahmshaegar
    Well, let's get this out of the way first: Linux is my primary OS. And I realize it's a kernel, so piss off you pedantic bastards.

    @thepinkpanther: Linux ain't Windows. Linux is Linux, so if your goal is to run Windows apps all day, I don't think choosing Linux as your primary OS makes the most sense.

    @fordry06: That certainly is a problem. Now, most hardware manufacturers don't disclose all the information about their hardware, so it's quite hard to write perfectly working drivers for OSes other than Windows. Although it's not Red Hat/SuSE/Ubuntu/(Insert Linux vendor here)'s fault, as a user, you don't really care about that, do you? Basically, for a lot of hardware out there, you have to fight to get it to work in Linux. For me, I got a bog standard laptop. In Ubuntu 9.04, pretty much everything I use worked out of the box. Now, certain things aren't working as well, such as my card reader only reading SD and MMC cards in Ubuntu... but I don't use anything other than SD cards. So for me, it's working just fine. For others... not so much. And regarding your games in Linux, see what I said above to thepinkpanther. Linux ain't Windows.

    Well, having gravitated away from games, and not being particularly loyal to any company or OS or anything, I really honestly don't care if I'm on *gasp* a Mac or Windows or Linux. So it all works out for me. Hey, if you really want me to get philosophical then let me just say that I think you can enjoy life best when you stop caring about all the trivial things. Why should I care what Microsoft has to say about Apple or vice versa? Why should I care when a Linux zealot declares the start of the nineteenth Crusade against Sata- er, Bill Gates?

    Flame on! or not.
  • Great article Adam! You are a man after my own heart! I rule over my computer with an iron fist and judiciously gut every MS OS I've own. I also drink no one's kool-aid (XP: 1.5GB Disk space, 19 running processes; Vista: 10GB Disk Space; 30 running processes). Ubuntu 9.04 is my primary OS and I absolutely love the amount of control I have. I now have no use for vista except for games. (Still working on that). :p
  • SpadeM
    If you need your hand held, then go buy a Mac.
    = Epic Win!
    Summed it up quite nicely