Installing Linux: Updated Unofficial Guide
An UPDATED Guide
to Beginner Linux Installation
Mark Rais, author of the beginner Linux book Linux
for the Rest of Us. Many more tips are available on our "Help
tips and information refer primarily to Fedora/Redhat® Linux, but can be useful
for all installations. Please always think before you do, especially since
any installation will wipe out all data on the partition you are installing.
remember, you may benefit from our many Beginner Linux Articles.
Otherwise, read on for more detailed installation tips!
If you are interested in simply creating a Linux Boot Disk
then click here: Creating
a Boot Disk.
If you just need advice on how to configure your server then
click here: Configuring
a Linux Server.
If you have not yet finalized where you want to install Linux
or which operating systems you want on the system, then please take a moment
to read the Dual Booting recommendation explained below at this
The following sections include the usual steps that will
appear as your Linux installation progresses:
If youre not excited yet, youll soon be as you slip
your Linux CD-ROM into the drive and let the installation program start!
Sticking your Linux CD into the drive and rebooting your
system should automatically start the installation.
If it does not, then you may need to change your systems
BIOS settings to allow the CD-ROM drive to be the first drive to boot from.
This is usually done by pressing the Delete key or F2 key when the system
In some instances, you may instead need to create a boot
disk to begin the installation.
Once the system boots from the Linux CD and the installation
program begins, you can start using the steps on the following pages.
Almost all of the newer flavors of Linux begin with a
very basic installation setup that allows you to choose your language,
keyboard, and mouse settings. This is only for installation and wont
affect your final setup.
Remember that all flavors of Linux are slightly different,
but the essential steps are the same. In almost all cases you begin
by having to choose from workstation, server, or custom. The latest
Red Hat versions also include Personal Desktop, which is very basic
and leaves out useful tools.
Custom installation allows you to make changes as
you go through the installation procedure. It gives you maximum flexibility.
Workstation will simply leave off a lot of stuff you
may want such as ftp, web server, telnet capability, etc.
Server is a hard core installation that is strictly
intended to give you a Linux server with high performance. In other
words, using Server means there is very little else on the system except
the core files.
I choose Custom all of the time, no matter
who I'm installing for or what the purpose is, since it gives me the most
control and flexibility.
Most flavors of Linux, including Mandrake, Red Hat, and
Slackware, will give you the option of automatically partitioning
or allowing you to custom partition.
If you dont plan to do anything fancy with your server,
then you can go ahead and choose Automatic partitioning (often called
Using a newer version of Linux, the result will be a very simple partitioning
of your hard disk into three sections. This is fine for basic work
or beginner use. I prefer something different personally.
I strongly prefer to use Disk Druid tool (often
called Expert) to enhance my partitions and to give me more flexibility.
It may sound intimidating, but using this tool ends up giving me
a lot more control over what happens to my installation.
I rarely use fdisk, although with some flavors
it is the only option. When I do use fdisk, its only for
cases that require complicated partitions.
If you choose Automatic (Basic) partitioning you will
It is absolutely critical that
you ONLY select the hard disk/s that you want Linux running
on! Otherwise, you will lose all data on all drives! In this
example Ive unselected my Windows hard drive (hda). Once
youve chosen which drive to automatically partition, please skip ahead
to "Boot Loader Configuration" further below.
However, if you prefer to choose the Disk Druid tool (sometimes
called Expert), please keep reading for details on partitioning.
How can I add partitions
to the same hard disk on which I have Windows or another OS?
The short answer is that
this can be done, but must be done carefully! The long and well documented
answer is found best on your specific Linux flavors website.
For me to write even some
of the variations for dual boot machines would end up well beyond the scope
of this basic book! I have to be open and tell you I can not recommend
sharing the same hard drive between multiple Operating Systems, especially
when new hard disks are so cheap. Youll also find that some operating
systems make it very difficult to have a dual boot with Linux.
However, there are some options
for sharing Linux and another OS:
1. Run Linux under
another OS like MS Windows. This is not at all recommended since
you will lose many of the benefits of Linux.
2. Erase all of the
current partitions and make new ones to handle both Operating Systems.
For instance you would create a vfat partition for Windows, and several
ext3 partitions for Linux. This takes a lot of time, and requires
a full reinstall. But it offers you a way to share one hard drive
with several Operating Systems.
3. Purchase a second
hard drive and install it into your system as the Linux hard drive.
You can still choose which OS to load, but they are safely on separate
hard drives in their own partitioning schemes.
NOTE that some versions
of Windows have issues when placed on the 2nd drive.
You may need to place Windows on the primary drive.
Disk Druid to Add Partitions
To add partitions (aka: Mount points) be certain the
hard drive that is selected is really and truly the one you want Linux
partitions on! All data on the selected partition will be deleted.
(If youre installing Linux on a non-dual boot machine, this isnt an issue
In this example, I press the New key (Add on some
versions) to begin creating new mount points/partitions using Disk Druid.
If you are replacing an OS with Linux, then you may first
need to Delete existing partitions of the hard drive.
Once you press New or Add to begin making mount points,
you will see another window appear, usually labeled Add Partition.
You may now begin adding the partitions you need for your server.
TIP: For dual-boot
systems with more than one hard drive, please be certain that for each
of the next few steps the Allowable Drive selected is only the one you
want for deleting and creating Linux partitions on! You must do this
each time you add a new partition mount point!
A. Create Mount Point: /boot
Create Mount Point /boot which will be the area where
Linux kernel and startup information is kept. I usually allocate
several hundred MB at most to this. For this installation I assigned
B. Create mount point: /
Create the Mount Point / that will be the area where
root files and most programs are kept. I usually recommend at least
having 2GB in this area.
C. Create mount point: <Linux Swap>
Create the Mount Point <Linux Swap> by going to the
Partition Type, also called File System Type, and choosing Swap.
Scroll down until you see Swap and select it. The Mount Point field will
automatically fill in for you in most versions. The swap partition
is a partition used to store temporary system data.
I usually make the swap file smaller than my total system
RAM or the system will end up swapping more than storing in memory!
For instance my server has 512 MB of RAM, and I create a Swap of 256 MB.
If you do this, on some of the newer versions of Red Hat
and Mandrake youll get a strange error complaining that the Swap file
is too small. You can just ignore this message as long as you have
made your swap size larger than 100 MB.
D. Create Mount Point: /usr
Create Mount Point /usr which is the area where user
related programs and files go. Be sure to select the option for Use
Remaining Space. In some flavors this option is called Fill to maximum
This will correct the Actual size so that the remainder
of your hard drive space is given to /usr. You should have at least
4GB of total disk space available to install everything from your Linux
TIPS: You can also
add the /home mount point to ensure there is a unique mount point for individual
This is very helpful if you
expect a lot of users on this server and intend to add additional disk
drive space for them in the future.
Partitions to Format
Some of the newest versions of Linux do not show
On some versions of Linux, you will see a listing of the
mount points just created and their exact path name, including the specification
of which hard disk they will be placed on. Remember hda is the master
hard disk of your system. Dont allow formatting of this drive unless
you are certain it is the one you want Linux placed on.
Theres no need to check for Bad Blocks (an optional check
box) unless you suspect your hard disk has errors.
Use LiLo or GRUB as your default boot loader.
If LiLo is not the default for your Linux flavor you can
select it by choosing to Change the Boot Loader. In some instances,
a newer boot loader named GRUB is set as default. Its totally a
matter of choice. I prefer to stick with LiLo since Ive used it
without issue for the last eight years. However, others prefer GRUB.
Just make sure you choose a boot loader!
The boot loader must be placed on your first or master
hard disk to work properly (hda).
If you are given the option of putting LiLo on the MBR
(master boot record) OR on the First Sector, choose First Sector if you plan
on using a dual boot server with WindowsXP, Windows NT or Windows2000. For WinME you must use MBR.
Unselect the DHCP option and be sure to set a host name
I usually set up stand-alone Linux servers, such as intra-office
web servers. So in almost no case do I use DHCP (Dynamic Host Configuration
Protocol). You can certainly use DHCP if you want another server
to establish this system's network IP, but frankly this seems rather silly
Hostname is usually a simple name such as: myserver
For some Linux versions, usually the simplified releases,
the installation does not include steps to go through the details of network
host and IP installation. In any case, I recommend that you add this
information manually. You can always add or change network configurations
later by typing at the Linux command prompt: netconfig
Manually insert the system's IP address and host name.
You can do this in some Linux flavors by pressing the Edit button next
to your Network Device name. Then unselect the DHCP option!
Let me give my own server IPs as an example.
I'm running my server behind a firewall and simply need to designate this
servers host name as myserver and IP as 10.2.1.1.
Just type in your machines IP and netmask into the available
Some releases of Mandrake, Red Hat, and Slackware, once
you designate the IP, will automatically fill in fields like Netmask and
Gateway. If your Linux fills in Netmask for you, please be sure you
really should be using the default setting of 255.0.0.0! Most networks
The fields that will not be filled in are your DNS server
IPs. You need to get them off another machine in your local network
area or simply ignore them for now if you dont have a domain name server.
TIPS: In many cases
the easiest way to figure out what all these numbers should be in a business
setting is to check a PC nearby. To find out about your particular
networks IP information you may try these:
If you have other Linux
servers already in your LAN then use the command: netstat
If you have Windows systems
in your LAN use the command: winipcfg
Just leave your firewall settings on Medium if you have
no idea what to do! This should be fine for running something like
a simple Linux intranet web server. At the same time, you need to
consider the security risk of your particular system. If its going
to connect directly to the Internet the risk goes up substantially.
TIP: I am installing
a server within the corporate firewall and although security is always
important, I have the ability to simplify my life by customizing the Medium
secure firewall by doing the following:
Selecting ETH0 (my servers
ethernet card) as a trusted device
Selecting the TCP, FTP,
SSH, and Telnet options to allow incoming access from these connections
and applicable ports. This is NOT a good idea if your server is going to
be connected to the internet!
Language and Time zone
Just choose a language and move on!
Leave the language setting on default and move on to the next step!
I had a colleague who thought it would be funny to try out a new and unique
language for his Linux server. He chose something that basically
made his server totally unreadable to him and required a complete reinstallation.
I guess the joke was on him!
Time zones: Its important to choose the right
time zone, since otherwise your users will be negatively affected.
Users dont think it so funny if their files and all of their program date
stamps are wrong by several hours! Its also important to set the
server time correctly since there are many CRON or other time sensitive
that need accurate time settings!
Root and New User
I cant stress enough to make the root password something
simple to remember and yet hard to crack. More times than I prefer
to count, Ive had friends phone me late at night asking if I could help
them recall the root password they created during our installation!
Full access login on any Linux server is root by default.
Also, take time to add an additional login account to
your server. You may do this by pressing the Add button or the new
Take time to create an additional user account for yourself.
I always have a secondary login for my servers since I can do some things
under root that are very dangerous! I usually create one other account
for myself and continue on with the installation.
I always use MD5 passwords and Shadow Passwords.
I rarely enable NIS, LDAP, or Kerberos. On the latest
Red Hat and Mandrake releases, SMB is also an option. In some corporate
situations where Kerberos IDs are standard I must include this. However,
for a simple Linux server none of these are necessary.
Now when it comes time to select which Linux applications
you want to install, there is a vast array of options! Many times,
simply installing everything will work just fine! Do so if you have
time and disk space!
What you personally decide to do is a matter of choice,
but should be tempered with the fact that installing everything doesnt
make life easier, but installing too few things will definitely make life
I strongly recommend you install both KDE
and GNOME interfaces which come with
their own distinct applications. These are two of the popular X-Windows
It is well worth installing these two interface managers,
even if you only plan on using one, since the installation will add lots
of extra applications and goodies for you.
The choices are yours to make and I recommend you take
time to read through the basic listing. If you plan to install everything,
be sure you have allowed at least 4GB of space. By leaving off a
number of the developers tools like Kernel Development and some Servers
I never use like DHCP and News servers, the installation takes around 2GB.
Also, since its been a point of confusion to many, you
dont need to install the Windows File Server to just do basic file sharing
between your Linux machine. This server actually loads SAMBA and
Please note that some of the tools I refer to in this
book are going to be installed only if you select the right packages or
an Emergency Boot Disk
Some of the older versions of Linux include this step
right after Choosing Partitions to Format. Others simply include
this at the very end.
Now, is this a good idea? Well, yes! In fact,
not creating a boot disk and simply skipping the option is as silly as
throwing rocks at a hornet nest. You may get away with it for a while,
but it'll sting you eventually!
You can create a boot disk after installation too, but
it is not as easy. If you have already installed Linux but need a
boot disk, then please look at our article: Creating
a Boot Disk. Otherwise, go ahead and let the installation make
a boot disk for you.
Congratulations and well done!
This takes care of most of the installation steps!
Shortly, youll have a Linux server of your very own installed and ready
First Time Boot-Up
The first time you start the Linux server, youll notice
a number of detailed configurations information scroll across your screen.
Next to all of these should be a green check or the word OK. However,
if you encounter issues, I list some suggestions below:
If starting your system results in an indefinite hang at
the initial load up, it may require turning off and back on your PC.
If this doesnt fix it, you may have to try using your emergency boot disk.
Sometimes this is a result of a serious error caused by a bad installation.
Other symptoms of a bad install include Hard Disk errors
that prompt you to use fsck to correct. These usually mean your hard
drive has bad sectors, or that the Linux installation files were corrupted
and require you to do a reinstall.
If you get to the startup and next to Eth0 is the word Failed,
you may need to simply plug in a LAN cable to your systems network card.
Need More Information