This tutorial shows how you can set up an Ubuntu 9.04 desktop that is a full-fledged replacement for a Windows desktop, i.e. that has all the software that people need to do the things they do on their Windows desktops. The advantages are clear: you get a secure system without DRM restrictions that works even on old hardware, and the best thing is: all software comes free of charge.
To fully replace a Windows desktop, I want the Ubuntu desktop to have the following software installed:
* The GIMP - free software replacement for Adobe Photoshop
* F-Spot - full-featured personal photo management application for the GNOME desktop
* Google Picasa - application for organizing and editing digital photos
* Flash Player 10
* FileZilla - multithreaded FTP client
* Thunderbird - email and news client
* Evolution - combines e-mail, calendar, address book, and task list management functions
* aMule - P2P file sharing application
* Transmission BitTorrent Client - Bittorrent client
* Azureus/Vuze - Java Bittorrent client
* Pidgin - multi-platform instant messaging client
* Google Earth
* Xchat IRC - IRC client
* OpenOffice Writer - replacement for Microsoft Word
* OpenOffice Calc - replacement for Microsoft Excel
* Adobe Reader
* GnuCash - double-entry book-keeping personal finance system, similar to Quicken
* Scribus - open source desktop publishing (DTP) application
Sound & Video:
* Amarok - audio player
* Audacity - free, open source, cross platform digital audio editor
* Banshee - audio player, can encode/decode various formats and synchronize music with Apple iPods
* MPlayer - media player (video/audio), supports WMA
* Rhythmbox Music Player - audio player, similar to Apple's iTunes, with support for iPods
* gtkPod - software similar to Apple's iTunes, supports iPod, iPod nano, iPod shuffle, iPod photo, and iPod mini
* XMMS - audio player similar to Winamp
* dvd::rip - full featured DVD copy program
* Kino - free digital video editor
* Sound Juicer CD Extractor - CD ripping tool, supports various audio codecs
* VLC Media Player - media player (video/audio)
* Helix Player - media player, similar to the Real Player
* Totem - media player (video/audio)
* Xine - media player, supports various formats; can play DVDs
* Brasero - CD/DVD burning program
* K3B - CD/DVD burning program
* Multimedia Codecs
* KompoZer - WYSIWYG HTML editor, similar to Macromedia Dreamweaver, but not as feature-rich (yet)
* Bluefish - text editor, suitable for many programming and markup languages
* Quanta Plus - web development environment, including a WYSIWYG editor
* VirtualBox OSE - lets you run your old Windows desktop as a virtual machine under your Linux desktop, so you don't have to entirely abandon Windows
* TrueType fonts
* Read-/Write support for NTFS partitions
Lots of desired applications are available in the Ubuntu repositories, and some of these applications have been contributed by the Ubuntu community.
As you might have noticed, a few applications are redundant, for example there are two CD/DVD burning applications in my list (Brasero, K3B). If you know which one you like best, you obviously don't need to install the other applications, however if you like choice, then of course you can install both. The same goes for music players like Amarok, Banshee, Rhythmbox, XMMS or browsers (Firefox, Opera).
Installing The Base System
The installation of the base system is easy as 1-2-3 because the Ubuntu installer doesn't offer a lot of options to choose from, so you cannot go wrong.
Select your language:
The next step is to choose what to do. One of the great characteristics of most Linux distributions is the live CD feature. You can boot into a fully featured, fully operational live session and test the operating system before deciding whether to commit it to the hard disk.
This allows you to familiarize with the desktop, testdrive a variety of applications, and most importantly, examine the support for your hardware.
But let us review the boot menu:
Try Ubuntu - the first option is exactly what we want, boot into live CD without touching the hard disk. This will let us get the feel of Ubuntu and see how well it works with our hardware, including the wired and Wireless networking, Bluetooth, Web camera, and other devices.
Install Ubuntu - the second option takes you directly to the installation menu, without the live CD session. This is useful for users who know what they want and do not need to play with Ubuntu first.
Check disc for defects - this option allows you to check your freshly burned CD for defect. This is a recommended step. You may discover errors that your burning software did not spot.
Test memory - Ubuntu disc comes with a memory test utility. This can check your physical RAM for problems. Using this utility is not necessary for the installation, but it can be useful on older machines or machines known to have hardware issues.
Boot from first hard disk - Only users who have other operating systems installed on their machine will see this option. This means another operating system is present at the disk and you can boot it instead of trying Ubuntu.
As said, we want the first option.
After you select it, Ubuntu will start loading. Depending on your hardware, it will take a minute or two.
Eventually, you will be logged into the default Ubuntu desktop.
Begin installation: -
The purpose of this guide is not to familiarize you with the Ubuntu desktop. To this end, you should refer to my extensive reviews linked at the beginning of this guide.
Here, we will focus on the installation itself.
To start the installation, double-click on the Install
icon on the desktop. This will open a wizard-like utility, which will guide you through the entire process, a total of seven easy steps.
In this first step, you will have to choose your language. Once satisfied, click Forward. Do not worry if you make a mistake, you can always go back.
In the following screenshots, for the sake of visual clarify, I have moved and hidden the two icons from the desktop, so you won't be seeing them till the end of this tutorial.
The next step is to choose the time zone.
The third step is to choose the keyboard.
Prepare Disk Space (Partitioning)
Partitioning is the fourth step. This is the most important step of the entire installation process, as it determines what will happen with the data on your hard disks. For experienced users, this stage is no different than any other. However, new or less savvy users, especially Windows users, may find partitioning somewhat frightening.
Do not worry. We will try to make this step as simple and friendly as possible.
What you need to know ...
This installation guide cannot possibly encompass everything there is to know about hard disk management. I beg you invest some time and read other articles, like my Dual boot and GParted tutorials, which explain the fundamental concepts of disk management and particular nuances between Windows and Linux in great detail.
Nevertheless, to make this installation guide complete and self-contained, we must elaborate somewhat on the very basics of hard disk management. So let us deviate from the installation for 5 minutes and have a short partitioning 101 crash course.
Partitioning crash course
Operating systems do not use hard disks directly. Hard disks are managed by creating logical space containers above the physical space. These containers are known as partitions.
To be useful, partitions must store data in a certain way. The set of rules that determines how the data is used on each and every partition is called the filesystem. When we say that a certain partition is formatted as XYZ, this means that we are using a specific format, i.e. a specific set of rules, to manage the space.
So we have hard disks, which contain partitions, which are formatted with filesystem. Remember these basic concepts.
Windows vs. Linux
Windows users rarely encounter these terms, because most Windows machines come pre-installed, so the user is spared the administration of the hard disk. But the things are the same, regardless. If you open the Explorer and navigate to My Computer, what do you see? You see drive letters, like C:,
. In Windows, partitions are marked with letters!
In most cases, with Windows preinstalled, partitions span the entire disk, so most Windows users only use one and only partition (C:), which they call drive C. This partition is usually formatted with the NTFS filesystem.
Linux partitioning vocabulary
In Linux, the same rules apply, except the partitions are used slightly differently, they use different names and different filesystems. In Linux, partitions are marked by a series of letters AND numbers.
What do we have here? /dev/ is a generic prefix for device. All Linux devices are stored under /dev, including hard disks. hda3 stands for third partition on hard drive a, which is the first physical device detected by BIOS.
SATA devices are marked sdX, IDE devices are marked hdX. Disk letters start with a. Partition numbers start with 1.
There are two types of partitions: primary and logical. There can only be up to four primary partitions on any disk - this is a physical limitation. Primary partitions are marked 1-4. Logical partitions are a secondary type of partitions. They cannot exist on their own and are placed inside one of the primary ones. If there is a primary partition that contains logical partitions inside it, it is called the Extended partition. When a primary partition is turned into Extended, it cannot be used directly any more. Therefore, logical partitions reside inside a primary partition called the Extended partition and are marked with numbers 5 and higher.
Linux filesystems are many: Ext2, Ext3, Ext4, ReiserFS, JFS, etc. For all practical purposes, the differences between are not important for the average user. Default selections offered by the installer software are usually sufficient.
In Linux, partitions are used inside the system via mount points. Mount points are identical to Windows drive letters. You access the hard disk space via mount points that hold partitions.
Mount points in Linux have rather logical names, like root, home, swap, etc. These names tell us what sort of data will go there. We will refer to these names in the sub-section below.
Windows usually comes with one disk, one partition (drive C). However, users who install Windows by themselves usually create additional partitions, where they keep their data.
In Linux, the idea is the same. You can have a single partition, which contains the entire system. This partition is known as root and is marked by slash (/). In other words, everything goes under this slash - /home, /usr, /var, etc. Do not mind the actual names, they are not important at the moment.
If you want more flexibility, you can create a separate data partition that will hold all your documents apart from the system, so if you reinstall or change the Linux distribution, your data will be preserved. Usually, the separate partition is called home and marked as /home. The name stems from the fact that this is the user's home directory, sort of like My Documents, except that it holds all files and configurations.
There is one more partition you may want to account for - swap. This is equivalent to Windows pagefile, i.e. this is a portion of the disk that your operating system can use as extra memory, in case it runs out of physical one. It does not hurt to have swap, as it offers you to increase the computing capacity of your system beyond physical RAM limitations, although the performance will be reduced.
The most basic Linux setup is root only. A more flexible solution includes separate home and swap partitions. You can go wild and dedicate separate partitions for other parts of the system, like /tmp, /usr, /var or even create your own, like /data, /videos, etc.
What did we learn in this short course?
We learned how to identify partitions in Linux, using its own particular notation. The rules are the same as in Windows, we are only using a different language. Now, we are ready to go back to our installation and complete the partitioning step.
Prepare Disk Space (Partitioning), continued
Of course, one of the first things we did was backup our data. This is the single most critical part of our preparations. Now that we know our important things are safely backed up, we can work on installing Ubuntu with confidence.
Let us create a custom setup. Select Specify partitions manually (advanced).
This choice will open a table-like menu where you will be able to work on your partitions, including changing their size, filesystem, mount point, or maybe even delete them.
Let us first examine what we have here.
We have two partitions on our disk. Our disk is called /dev/sda. It is the first SATA disk, as recognized by the computer BIOS. It has two partitions on it, /dev/sda1 and /dev/sda2. The two partitions are both primary. How do I know that? Well, the convention says the primary partitions are marked 1-4.
So we have a large partition that used to hold another Linux, formatted as Ext3 and we have a swap partition. Just as we've discussed under Recommended layout a few paragraphs above.
Now, we need to decide what we want to do here. To make things simple, we will use the existing partitions. But we do need to edit them to make them usable by our new Ubuntu installation. Highlight the larger partition and then click Edit partition.
We will now format this partition and use the new Ext4 filesystem. We will then mount the partition as root (/). In Ubuntu Karmic Koala coming in October, the Ext4 filesystem is going to be the default choice.
This is our final layout:
What we did was reuse the existing partitions, but we changed the filesystem and formatted them, deleting the current installation.
We have the partitioning layout configured as we want it. Our new Ubuntu will use the root (/) and swap partitions. The root partition will be formatted with Ext4.
Who are you (user configuration)
You are ready to install Ubuntu. Please review the settings before you begin the installation. If you are unhappy with any one selection, you can go back and change them.
Be aware that formatting the partitions will irrecoverably erase the existing data on your disk. Make sure that you have safely backed up any data that resides on the marked partitions before proceeding.
Basically, we're ready. But just before we click Install, let's take a look at two more things.
Most users will not need bother with the Advanced button, but more experienced users may want to see what additional settings can be configured there.
Advanced Options let you configure the boot loader and the network proxy. Most people will want to leave the default choices selected. If you do not intend to let Ubuntu be in charge of the boot sequence, you can deselect the installation of the bootloader. In this case, another operating system will control the boot sequence.
Please note that if Ubuntu is the only operating system on the disk, you do require the boot loader to be installed. Without it, the system will not be able to boot.
Note: the default boot loader used in Ubuntu 9.04 (and before) is GRUB 0.97, known also as Legacy GRUB. Ubuntu Karmic Koala should feature the new GRUB2. We will discuss the configuration of the new GRUB in a separate tutorial once GRUB2 becomes production and reaches mass usage.
Installation in progress
Click Install. The installation will now begin. Depending on your hardware, it should not take very long. My experience shows an average of 15 minutes for the installation to complete.
You can use the live CD while installing and even continue using it after the installation is complete.
After the installation finishes, you will have the choice of restarting the machine and booting into your newly installed operating system or continue working in the live CD for a while longer.
Once you decide to reboot, you will be asked to eject the CD from the tray.
Boot into installed system
It's time to boot into our newly installed Ubuntu!
If you did not configure your user to boot automatically, you will reach the login screen where you will have to identify yourself with the correct username and password before reaching the desktop.
And after a few moments, you will reach the desktop. Congratulations, you have just successfully installed Ubuntu!