Preparing to Install Linux

4.1 Different types of Distribution and installing software with them.

As described in the previous chapter, there are lots of different types of Linux distributions floating around, and yes, this generally means that they all have different Installers to put them onto your PC, Mac or Alpha based computer.
This chapter focuses on installing a Debian based distribution, but gives a short insight to other distributions as well.

Debian is one of the oldest distributions out there. Slackware and Red Hat are pretty much the only other two that come close in age, Debian has lasted the test of time, and does not look like it's going anywhere soon. It's a free distribution (which will not change, because of it's license) and it has thousands of developers world wide.

A major difference between Debian-based distributions (such as Ubuntu and Linspire) is the fact that they use the DEB package management system to install software.
Installing software via binary packages, or if you need the source code, via source packages, is very convenient for most Linux users, because it means that you don't have to compile the source code of an application to get it working. In most cases, you can simply click on a package to install one via a tool in a GUI, and the software will be installed. Here we will discuss two major package systems, however, there are others, such as Slackware's .tar.gz based system, and BSD's ports system.

When the .DEB package format is combined with software such as APT or Synaptic, the .DEB system works very well at resolving things called dependencies (software that needs other software, in other to work).

RPM Logo The Red Hat Package Manager (RPM) Logo

Red Hat based distributions such as Fedora, SuSE and others use the RPM Package Manager, previously known as the Red Hat Package Manager. Packages have a .RPM extension (for example gimp-2.05.i386.rpm) are packaged binary applications (sometimes they package source code as well).

For software that is not bundled with your Distribution, you should read Chapter 9, "How Do I Install Software?".
Distributions like Red Hat, Fedora and SuSE seem to provide less bundled software packages for their distributions than the DEB based ones. This is mainly due to something called the Debian Universe which is a large repository of software which is available in internet repositories. The universe is not supported and as-such should be treated as software in the 'wild', but it is freely obtainable through the same software installation tool (such as Synaptic) as the Distributors software. RPM based users often have to visit third party websites such as freecode.com to download packages, as well as any dependent packages (dependencies). Both the use of the Universe, and third-party websites can have issues, because they contain software that is not guaranteed to work with your distribution, and may cause unexpected results - so be careful if you download software from other sources!

Both RPM and DEB packages are very widely used in the Linux arena, most of which can be installed simply by using software, like the 'Add Applications' menu in Ubuntu.

4.2 What sort of computer will I need for Linux?

This question has a lot of answers. The bottom line is:

Depending upon what you want to do with Linux, the system requirements can range from an old Intel 386 to a state of the art PC. You can even run Linux on some stranger hardware including Macintoshes, ARM based machines and more.

This section of the chapter will go through all the major parts of hardware attached to a typical PC and detail what is expected to run a typical modern Linux desktop, starting first, with the CPU.

CPU (Central Processor Unit)

cpuLinux was originally devised on an Intel 386 back in the early 90's, this however does not necessarily mean that Linux works better on a PC than a Macintosh computer (PPC or Intel). Today's Linux desktop is most popular on Intel, PPC (G3-G5) and AMD processors, therefore, most of the common software is actively developed for these platforms. If you have another platform such as a Sparc, Amiga, Atari or ARM based processor, Linux will no doubt be different in that many software titles may not exist for that given platform, or software is older than that of the most popular platforms, but it is still possible to run Linux on them.

RAM (Memory)

Picture of a RAM chip - DIMMMost Modern day Linux distributions will require a minimum of around 1GB to use it to a reasonable degree, but if you wish to use Linux for non-graphical based uses, such as web page hosting, or a firewall, you can run a basic installation of Linux from almost nothing. Some of the most basic installations will run on 8 MB (yes megabytes, not gigs!). If you're going to be serious about Linux, and want optimal performance, then as with any software, the more RAM you have for it, the better it runs. Ideally, if you reckon you're going to be a home user, at least 1GB RAM is required. If you want to do demanding stuff like perform movie editing, edit artwork or edit lots of audio, then we're probably talking about 2GB+. Server users who want to serve up hundreds of websites may want 4GB, 8GB or even more, but again, if you want to make a small server with only a website or two and a low number of users, then you can get away with 1GB or less.
In summary, If you have the RAM, Linux will use it, and it will be used well, thanks to the superb memory and process management within the Linux kernel a modern-day 64-bit version of Linux will support up to 64 TB (terabytes) of RAM.

Hard Disk Drive (HDD) & Partitioning your disk for Linux

Hard Disk DriveAs with all things Linux, it's possible to do it in the smallest of setups. Using distributions such as ZipSlack or Puppy Linux, you can achieve a fully working Linux setup in a few hundred megabytes. However, if you want to install a standard workstation installation of any up-to date distribution, you will probably want at least 20GB (gigabytes) free hard disk space. If you are going for the plunge and will convert your entire system over to Linux, then the more the better - 100GB+ in order to store all of your stuff: Apps, MP3s, Movies, Documents, emails etc and over time, it uses up quite a lot of drive space.
Modern Linux distributions easily support new drive technologies such as software RAID and SATA, so you will have no worries about your latest technology drives. If you use more high end storage equipment such as iSCSI or fibre channel disk arrays, distributions like Ubuntu Server edition support these technologies right out of the box.
As you are just starting out, you may find it easiest to purchase a new hard drive to install Linux on or why not recycle an old hard drive if you have one spare!
The reason for using a seperate drive is because you are likely to be using another Operating System already such as Microsoft Windows or Mac OS. If you wish to use both Linux and Windows/Mac OS (so you can see if Linux is for you), then the easiest way to set it all up is if you have another drive to put Linux onto. You won't have to mess around with resizing partitions and the like:

(Re)-Partitioning

Typically, Windows/Mac OS will allocate 100% of a hard drive to it's own use, meaning there is no space left for Linux. If you don't want to buy a new hard drive for Linux, then you will somehow have to re-allocate some of the unused (free) space on your Windows/Mac OS drive for Linux.

Thankfully, recent versions of Ubuntu and some other Linux distributions now make it a snap to re-partition your disk. They work by utilising the free space that you have in your Windows drive (say your C: Drive) and creating a partition out of some or all of that free space for Linux. If you don't want to use Ubuntu or similar, you can also use something like the freely available Parted Magic or commercially available Acronis Disk Director (for Windows) which splits your disk into partitions as well as resizes existing partitions can make it a snap to have Windows and Linux exist side-by-side on the same disk. It is very easy to use for the beginner.

Although the process of re-partitioning and dual-booting your PC with Linux and Windows is far easier than it used to be, to a computer novice it can still appear to be a daunting task. Don't worry though, I've got a video demonstration on how to do just that in Chapter 5.

Video Card (Graphics Adaptor)

vgaAny bog standard graphics adaptor will do for linux. Optimally you will want to have an SVGA adaptor in your PC that has enough RAM to support resolutions of at least 1024x768. Graphics Accellerator cards of many types are supported by today's modern distributions for even faster graphics. If you're looking for really good graphics performance under Linux, the NVidia range are an excellent choice, because they are well supported under Linux by Nvidia. ATI cards are also popular, however their driver support for Linux does not appear to be as good as NVidia's, which seems to be an ongoing issue with ATI. If you don't know what card you have in your machine, visit your device manager in Windows, or System Preferences in Mac OS. Integrated graphics chipsets such as the Intel i Series or Cirrus Logic chipsets generally work ok, however if you need 3D graphics performance, as with Windows or Mac OS, you are best using a 3D Acellerated graphics card from the likes of Nvidia or ATI.

Using Wireless & Wired Network Adapters and (Broadband) Modems with Linux

wifiAlmost every wired network card available should be quite happy with Linux. Modern PCI or integrated based options such as those manufactured by 3com, Intel and Realtek range will automatically plug and play.

Wireless card support in Linux is generally good. Standard desktop PCI based WiFi cards will work out of the box without any need to install a driver. However, some vendors have made cheaper soft-pci, mini-pci 'wintel' based cards (a lot of which are found in laptops), these do not work as well as their larger counterparts under Linux because the vendors do not wish to provide drivers or any information for Linux developers to work with. This can usually be resolved by loading the Windows driver inside Linux, using a tool called ndiswrapper (see this wikipedia link for further information).
Cards known to work out of the box include the Orinoco chipset, Intersil Prism/Prism II and Cisco Aironet based cards. For more information on Wireless compatability under Linux, see the Linux Wireless LAN wiki.

ADSL & Cable modems are usually one of two breeds, either they either plug into the USB port of your computer directly or they are fully blown Ethernet routers, today these mostly contain WiFi radio as well. Thankfully, most ISPs are now providing 'proper' Ethernet based routers which simply plug and play with Linux either over WiFi or via an Ethernet cable. If you do have a USB modem from your ISP, consider shelling out for a proper router as the USB modems support under Linux is somewhat hit-or-miss and you will often find that performance from a USB modem is less than you would get from a router (regardless of whether you are using Windows, Linux or a Mac). Good examples of external routers are Belkin, Netgear, Linksys and Draytek.

Now, armed with all the information you can get about the hardware in your computer, it's time to get Linux installed! Click here to visit Chapter 5 to do just that!...