How To Assemble A Desktop PC/Software
Now that you’ve got a functioning computer, you’ll need to install some software if you’re going to do anything with it. An operating system or two must come first, then hardware drivers (so that the operating system can access your hardware) followed by security software and utilities. And that’s as far as we’re going to go with you, but you’ll also want to install some application software – games, word processors, databases, programming languages – whatever floats your boat... That’s pretty much the point of this whole computer business after all, though I hope you’ve found the journey of building it yourself has been worthwhile in its own way.
In this section we’ll consider what software you’ll want to install and how you might go about doing so.
BIOS updates 
The first thing you want to do after you have a working PC is to update the BIOS (called "flashing" the BIOS). Download the flash update on another computer and put it on a USB thumb drive (or a floppy disk) and boot the computer with it. (If you don't have another computer or thumb drive, then put off this step until after you install the operating system and get this computer connected to the network.)
Operating system(s) 
After you have flashed the BIOS (if you have), you should then start installing an operating system (OS). You can select from several available on the Internet or from your local computer store. The first option, and the one taken by most people, is to install Microsoft Windows, of which the current version is Windows 8. Another option is to install a GNU/Linux distribution (a Free Software operating system). There are many other operating systems to choose from as well, including other free operating systems, such as BSD. Note that you also have the option of installing more than one operating system in what is called a multiboot setup.
If you are going to install both, install Windows first. This is because Windows overwrites the software that GNU/Linux requires to start up, even if something is already there. If you install Windows before all of your other systems, you will be able to easily boot into all of them.
Choosing between Microsoft Windows, GNU/Linux, or one of the other operating systems is largely dependent on what software you need to run. Simply put, can you accomplish your day to day tasks with the software that will run under the operating system in question? Microsoft Windows is the more commonly used system, but GNU/Linux wins in terms of security, software availability, ability to run on older equipment, and cost. Both systems have a range of software, but determine your needs before installing either operating system.
Note that, having installed Windows, you can always install GNU/Linux later and, conversely, if you install GNU/Linux first, there is no throwaway cost to regret if it turns out later that you need Windows.
Installing Windows 
The installation of Windows is relatively easy. Push the power button on the front of the PC, put the CD-ROM or DVD-ROM in your optical drive, and follow the on-screen instructions (you may have to restart with the CD in place). If you are doing a Windows-only install, just allocate all of the hard drive to Windows. Again, for a Windows only install, the NTFS file system is faster and more efficient.
Some people find that it's useful to create separate partitions for the operating system and data. This means that if something goes wrong with the operating system, the partition can be formatted and the operating system can be reinstalled possibly without losing data.
If you are installing Windows on a RAID drive, or a SATA drive in some cases, you are going to have to provide drivers to the Windows installer so that it can access the hard drive on the raid controller. To do this during the Windows install wait for "Press F6 to install any third party SCSI or RAID drivers." to appear at the bottom of the screen and duly hit F6. Then you will see a screen that says "Setup could not determine the type of one or more mass storage devices installed in your system, or you have chosen to manually specify an adapter." At this screen you are going to want to hit 'S' to "Specify Additional Device," another screen will pop up asking you to insert the floppy disk containing the drivers, followed by a screen asking you to choose the appropriate driver out of the set contained
Installing Windows to dual-boot with GNU/Linux 
If you are dual-booting, some extra factors must be considered. NTFS, which is the default file system that Windows uses, is fairly well supported in Linux. NFTS-3g has reached a usable stage, with users reporting no data corruption or loss during ordinary use of the latest versions of the driver, providing GNU/Linux users with a reliable way to read and write NTFS partitions. This system is now in widespread use and most up-to-date Linux distros will support the NTFS file system. Previously only read support was safe, and this may still be the case for some distributions. However, NTFS does have some advantages over FAT32, in that a 4GB file size limit no longer exists. Though Linux supports NTFS, Windows does not have built-in support for any of the standard GNU/Linux file systems. However, there are Windows applications, such as Ext2 IFS that can be used to read/write ext2 and ext3 systems.
When it comes the time to partition the hard disk(s), remember to leave space for GNU/Linux (a good amount is on the order of a third of your total hard disk space). You may want to have a spare FAT32 partition (of around 1 third of your disk space) on which to share documents between Windows and GNU/Linux, though this will most likely not be necessary unless you are using a distro which cannot read/write NTFS. You should also modify the partition table as necessary - you may not need as much space for Windows or you may need more in your FAT32 transfer area. But you must ensure that you leave at least 3GB for your Windows installation, since the standard installation of Windows takes up about 2 GB of hard drive space, and it is always wise to leave a bit extra on, to allow for any changes that may occur.
Installing GNU/Linux 
The primary problem faced in installing GNU/Linux is choosing between distributions. Of the many variants of GNU/Linux, Fedora, SuSE, and Ubuntu are generally recommended, as they are updated regularly and compatible with a broad range of hardware:
- Fedora, currently at version 17. Used to be the de facto GNU/Linux.
- SuSE, currently at version 11.4.
- Ubuntu, currently at version 13.4. Increasingly gaining popularity as an easy to use desktop GNU/Linux.
Some GNU/Linux variants may support hardware that these do not. If you have obscure or old hardware, you may want to search forum sites for various GNU/Linux variants to ensure compatibility. For example, Puppy Linux is a small Linux distro designed to run on older systems, as is Damn Small Linux.
For example, let’s consider Ubuntu. It's a variant of Debian, and is the current standard for easy-to-use GNU/Linux distributions. One can download the .iso image or order a CD set (containing a combined installation CD and LiveCD) from its website. An .iso is nothing more than a special file format that your CD drive burning software uses to create a copy of the software, in this case a copy of Ubuntu GNU/Linux.
The installation of most distros GNU/Linux is relatively easy. Push the button on the front of the PC, put the CD-ROM in your optical drive, and follow the on-screen instructions. By default, the installation version of Ubuntu will erase all files on the hard drive and partition 1.8 GB for the OS. If you want to customize, follow the on-screen instructions carefully. The LiveCd version does not erase your hard drive and is intended solely for a user to test drive Ubuntu GNU/Linux.
When installing a GNU/Linux distro, you may be asked to choose between alternatives – whether to run KDE or Gnome, for instance, or to install vi or Emacs or nano. If the terms are unfamiliar a quick Google will usually bring enlightenment. Also, as in these two examples, most such choices are a matter of preference and either choice will work.
After installation, security should be your priority.
From time to time, software companies and independent programmers release new and improved versions to their software; these are known as updates. Updates usually install new features or fix problems. Usually, you should download the latest updates to improve system performance though it's sometimes wise to wait a little while to be sure the update itself does not cause problems. Many programs update themselves and this process is know as an automatic update. If you have to manually update your software, do so through the software developer's site, not through a secondary source. This approach will reduce the chance of contracting a virus or other piece of malicious software.
A newly installed Windows computer using a broadband connection can be attacked within moments of being connected to the Internet. In severe cases, the attacks can render a system unbootable or make a second reinstallation faster or easier than manually removing the malicious programs causing the problems. The SANS Institute provides a PDF guide called Windows XP: Surviving the First Day, which explains how to update a new Windows XP box without immediately becoming infected by viruses and worms. To avoid having your new computer attacked, install a firewall, or activate the one that came with your OS. Both Windows and GNU/Linux have in-built firewalls: In some GNU/Linux distributions, it is enabled by default; in Windows XP Service Pack 2, it can be found by going to the Start button and choosing "Control Panel" then double-clicking the "Windows Firewall" icon.
As soon as you are on the Internet, run your operating system's update facility to fix any security flaws that have been found since your CD was printed. To do this under Windows, simply click on your Start Menu, click on 'All Programs', and then click on Windows Update, and follow the instructions. If you use other Microsoft products, such as Microsoft Office, then it can be valuable to use Microsoft Update, which covers updates for all Microsoft products. For either of these, you can also switch on "Automatic Updates" from the Security Center program mentioned above.
The method of updating your GNU/Linux system varies greatly from distribution to distribution.
For SuSE, there are two ways:
- YaST (Yet another Setup Tool), the default package manager/system management tool for SuSE
- ZENworks updater, a GUI-based updating service
For Fedora, type
as the root user inside a terminal window.
It is perhaps easiest to update the OS from Debian-based distributions such as Debian, Ubuntu and Linspire. For Debian and Linspire you type the following into a terminal window while running as the root user:
Ubuntu has you run sudo to switch run a program as root. Type the following into a terminal:
sudo apt-get update
sudo apt-get dist-upgrade
Most distros, including Ubuntu, also have a GUI-based updater program.
Automatic updates 
If your computer will be running overnight (or if you're just lazy), it may be good to have your computer update itself.
Debian-based (LINUX) - Debian-based operating systems (including Ubuntu, but Ubuntu already has a more simplified automatic updater) will typically use a cron script for receiving automatic updates by the console (although you can download some GUI-based updating tools - that is, if you're working with a GUI).
Ubuntu (LINUX) - As Ubuntu is based on Debian, you can use a cron script, but an easier way of doing it (if you're using GNOME) is to go to the "System" menu, then "Administration", then "Software Sources". Then open up the "Updates" tab and select "Automatic updates", also select "Install security updates without confirmation".
SuSE (LINUX) - SuSE uses YaST to manage updates, packages (applications), and system settings. YaST can be configured to use automatic updates in the YaST control center.
Microsoft Windows - Microsoft has always used the Microsoft Update service (formerly called "Windows Update") to manage updates both automatically and manually (although by default it usually is a automatic update). Windows Vista reminds you when the computer is needed to be restarted if an update requires one via a special icon in the notification area.
Anti-virus, anti-spyware, and anti-spam programs (which generically are all called anti-malware programs) of commercial quality or better can be found for free online quite easily and can protect your computer from various nasties you might get while surfin' on the Internet. Windows programs are listed in the software section below. (Usually these are not needed for non-Windows OSes). Third-party firewalls for Windows are recommended as the built-in default one Windows provides is not nearly powerful as, for example, ZoneAlarm, a third-party Firewall solution that not only monitors incoming traffic, but monitors outgoing traffic as well.
Security software is important and should be set up first. The best procedure is not to connect to the Internet at all until your choice of anti-virus, anti-spyware and firewall software is installed and activated, then connect to the Internet and update each of these programs.
If you are using software that must be downloaded from the Internet for this purpose, you can use another computer to download and burn the installation files to a CD or thumb drive. If this is not possible, download, install and update your anti-virus solution of choice first, disconnect from the Internet and run a complete system scan. Then you can reconnect and install your other security software and be reasonably confident that you are not infected.
Once secured, your system should be safe for prudent Internet browsing, remember to schedule regular scans and keep your security software up to date.
Now that your computer is relatively secure, you will need to install software to control your various hardware components. This type of software is known as a driver.
Although, most of your hardware will come with a CD containing the necessary driver, consider downloading the driver straight from the company's Internet site. This will ensure you have the latest edition of the software. Knowing where to download the driver is also good in case you lose the CD that came with the device.
If you do not have a fast Internet connection (broadband), the company usually provides an option to receive the driver cd in the mail, in which case you'll want to use the CD you have now and update the driver later. Even if something seems to be working fine, downloading new drivers may help increase computer efficiency, though there is always a risk that a brand new version may break something. Downloading drivers for your motherboard's chipset can often help if you are having a problem. Finally, many monitors will not go above a certain refresh rate without the proper driver, which may be of great concerns to gamers.
If you are using Microsoft Windows, you can generally find drivers for your selected hardware on the manufacturer's website. Most GNU/Linux systems already have all of the drivers installed, with the exception of proprietary modem and graphics drivers. If you can't find the driver you need, a simple Google search will often yield the best results.
Before buying software for your new PC, remember that there is an abundance of useful software, free for the downloading, available on the Internet. From web browsers to word processors to graphic manipulation programs, there is plenty of software available online.
Though most of what is available is safe and useful, it’s always a good idea to do a little research and make a backup before installing anything new. The following are some proven and reliable programs that are available, free (or gratis), for individual use (and sometimes more, check the license).
Broadly speaking, there are three types of licenses:
- Proprietary - This is the type of license that comes with most software that is purchased. Source code is not available, and you cannot make copies for others.
- Freeware - The software is zero cost (free), and you may share copies with others. You cannot make copies and sell them, however. The source code is usually not available.
- Free software/Open Source - The source code is available. This means that if you know how to program, you can make and distribute variations of the program yourself, fix bugs you find, etc. You may share copies with others, and you may pay for the software on disk, or download it for free. (The "free" in "free software" refers to "free" as in "free speech", not as in "free beer".)
Of course, there is a lot of overlap and many exceptions to these generalizations. Be sure to check the license that comes with your software to be sure of what your rights are!
- Web Browser: Mozilla Firefox, Google Chrome/Chromium, or Opera
- E-mail Client: Windows Live Mail, Mozilla Thunderbird, Novell Evolution
- Office Suite: LibreOffice
- Disc Tools:DVD Decrypter CD Burner XP, Burn at Once
- Instant Messenger: Pidgin, Trillian, Miranda
- Media Player: DivX Player, Nullsoft Winamp, iTunes, SnackAmp, VLC media player
- Anti-virus: AVG Anti-Virus, Free Edition, avast!Antivirus Home edition, ClamWin
- Security: Spybot: Search & Destroy, Ad-Aware Personal Edition, K9 Anti-Spam, ZoneAlarm Free Edition
- Compression: 7-Zip, IZArc, TUGZip
- Desktop Search: Google Desktop, Copernic Desktop Search
- PDF Reader:Adobe Acrobat Reader or Evince PDF Reader
- Photo Editing: Paint.Net, GIMP
To ease out the installation process for utilities and other basic software you can use Ninite. Check all the softwares that you need and download the installation utility. However beware that this utility will only install in your Windows partition and you cannot manually specify the directories in which you want the applications installed.
Unlike Windows, on a GNU/Linux system the majority of the software that you will want for everyday use of your computer is usually included. You will probably not need to download anything. Most GNU/Linux distributions have a package manager (Portage for Gentoo, APT for Debian-based distros like Debian and Ubuntu, etc.) For some distributions you can simply download RPM or DEB files from your distribution's web site.
If they aren't already installed by your distribution:
- Web Browser: Mozilla Firefox, Google Chrome/Chromium, Konqueror or Opera.
- EMail Client: Mozilla Thunderbird, Evolution, or Kmail
- Office Suite: OpenOffice.org, LibreOffice, or KOffice
- Instant Messenger: Pidgin or Kopete.
- Media Players: Totem Media Player, Rhythmbox, mpd, amaroK (depending on what desktop environment you use), Beep Media Player or Video Lan Client.
- Movie/DVD Player: Xine or MPlayer.
- Windows Compatibility Layer: WINE.
- x86 Emulator: QEMU or VMWare.
- PPC Emulator: PearPC.
- Photo Editing: GIMP.
Additional Software 
For additional software some excellent sources of free and open-souce software are
- FileDoggy - Free only software and its updates with links to developers pages in one place.
- FileHippo - Windows only software, up to the bleeding edge on all updates. Also includes links to developers pages, if you're interested in Linux or Mac versions of software. Also has automatic updates software.
- Tucows - a downloads site with freeware, shareware, open-source as well as commercial software. It has many mirrors all over the world for speedy downloads from local servers.
- Download.com - similar to tucows
- SourceForge - a site featuring many OpenSource projects. You can start your own, or get software for almost every need. Most projects have GNU and Windows versions. The mirror system isn't as large as Tucows, but you can still usually get a mirror on the same continent.
- Table of equivalents - can be useful if you want to know more about specific programs when changing from windows to GNU or vice-versa.
Of course, it is also possible to buy copies of software, particularly for the Windows operating system.
See also