If you’re following this blog, and don’t know me personally, than you’re probably also interested in becoming a Linux Network Admin, right? right. You might be wondering where to start? Well, first and foremost, you need to be familiar with Linux as a user. You should know the basics of PC hardware, software, and also have some conception of what UNIX, Open Source programming, and Linux are. We’ll begin by installing Linux on your computer.
Many of you who’ve looked a Linux seriously for a bit might be wondering why I’m not suggesting Ubuntu. To be truthful, Ubuntu is a great distro, and really makes great strides in bringing Linux to the masses, but those masses aren’t entirely computer savvy. If you’re a non-technical computer user, than Ubuntu is a great distro. Don’t get me wrong. Even those very familiar with Linux love Ubuntu. At times when you just want something 99% ready to use out of the box, than Ubuntu is definitely a distro for you. However, I’m choosing Debian as it takes a little bit more work to get many things working (video card drivers, Java, wireless to name a few), and I’m planning to use that extra work to really show you to Linux. You can learn Linux with Ubuntu, or Red Hat, or SuSE, Gentoo, Mandriva, or Slackware, but my introduction to Linux and it’s use will be with Debian.
Etch is the codename for Debian version 4. Debian codes their version names by that of Toy Story characters, as version 3 is Sarge, 2 is Woody, etc. Debian also groups their work by Stable, Testing, and Unstable. Unstable is always codenamed Sid, and Testing is currently named Lenny, though when Lenny becomes stable, another Toy Story name will take over being the Testing version.
Unstable is still pretty stable compared to some PCs I’ve used running Windows, but it’s much more prone to glitches, lock-ups, and other bad things, as it uses the latest packages. These packages haven’t gotten to be tested much, resulting sometimes in an unstable system (hence the name).
Testing is what will become the new stable. It’s gotten some extensive testing, but hasn’t passed Debian’s high standards for reliability and interoperability. I can personally vouch for testing as I’ve been using it as my main distro. It’s very much like stable, but all the packages are newish, and only a few glitches have come about. (The only thing that really got to me was when installing VMWare Server, or Virtualbox (virtualization applications), both wanted to create their kernel modules with the same version of the GCC compiler that had made my running kernel, 2.6.18. Well, I couldn’t roll back GCC to the version it wanted so I had to recompile my kernel (or at least compile a new kernel from source) with my version of GCC. I currently run Debian Lenny (22.214.171.124) and have no problems except Amarok takes all my CPU and Memory resources.) Lenny is almost there, but not quite…
Stable is what we’ll be dealing with today. It uses older versions of packages, but all of them have been tested heavily for interoperability and stability. I’ve never had any problems with Debian Etch, neither in installation or after months of use. It uses kernel version 2.6.18 by default, for those who’re interested.
The first thing we’ll need to do is to get the distro. You can either purchase pre-made distro CD’s from a number of vendors for a small fee (~$12 for Debian as it’s 12 Cd’s or 4 DVD’s). The money doesn’t all go back to Debian, but a portion of the profits are donated to the Debian project. If you’re cheap, you can just download the Debian ISOs. a .ISO file is a CD image file. You burn the image (not the image file) to the CD and you can use the CD just like the purchased ones. One things thats really nice about Debian is that you can choose a traditional install (with all the discs), or a netinstall. The netinstall is just the bare bones of Debian and all the other packages you choose to install at installation can be downloaded from the net. I’ll be installing Debian through a netinstall in this tutorial. If you choose to purchase or download all the CD’s or DVD’s than the install is still the same except you’ll be changing out discs and I’ll be downloading and installing packages. Same destination, different roads. The Debian site can be found at http://www.debian.org
Now, when I’m wanting to burn something to a CD, I’ll usually right click the file (or folder) and select “write to disc”. That’s fine for simply backing up the file onto the CD, but we’re not doing that. We want to burn the image to the disc, not the image file. It’s like when you burn an audio CD. Now you can right-click the songs you want on the CD, and select “write to disc”, but when you go to play that CD in your car or your Walkman, it probably won’t work. Why? cause your older CD players don’t know how to read MP3 files. (This is fixed in newer CD players. 80 minutes worth of music is only a fraction as 700Mb worth.) To have that same CD played in any CD player, we need to burn the music to the disc. Away from our audio CD comparison, I use ISOrecorder for writing ISO image files to CDs. It’s a small, light-weight application for Windows, and it’s installation is as simple as any other. ISOrecorder can be found at isorecorder.alexfeinman.com.
(NOTE: If you’re interested in keeping Windows on your computer for whatever reason, and installing Debian, then you’ll need to run disk defrag. This should be in Start > Programs > Utilities.)
After you’ve burned the CD, you’re ready to go. Restart your computer with our DIY Debian CD in the CD drive. Now watch as your computer boots up. During startup, there’s a key that you need to press to enter your system BIOS. BIOS stands for Basic Input Output System. It’s a small, basic operating system that manages your mainboard during start up. The key to entering your BIOS is usually the F2 or Delete button, but I’ve seen it be F10, or Enter, so keep an eye out for that. (Why are we looking to get into the BIOS? What we want to do is change the boot order. This simply the order of devices your system looks to boot an OS from. When your computer starts up, it does a series of self tests (called Posting (POST meaning Power On Self Test)). After making sure all it’s parts are present and functioning properly, it looks for the programs to run to start the operating system. By default, your installed OS has these files on the harddrive, but you can set your computer to check the floppy drive, USB flash drive, CD/DVD drive, or Network for files necessary to boot.) Once into the BIOS, you’ll seem some options at the top of the screen like “SYSTEM”, “POWER”, etc. Look for the one that says “BOOT”. This contains the boot order. It’ll probably have slots for up to 4 devices to look for. Set the first device as your CD drive, and the second as your harddrive. You can specify 3rd and 4th options, but it isn’t required for this turorial.
After saving your changes to the BIOS boot order, the system will restart, POST, and should boot from CD. If successful, you should see the Debian logo with instructions. From here we’ll press enter.
After uncompressing some files and running some scripts (all technical jargon, mind you), you’ll see a somewhat crude display of options. No need for the mouse on this one. Simply a keyboard will suffice. This graphical environment is called an ncurses display. The first choices you’ll have to make are your language, region, and keyboard layout. Most Linux distros are very well translated and work very well in other languages, as people from all over the world contribute to developing open-source software, including the distros and the Linux kernel. After your choices have been made, Debian will go through and perform some hardware detection, and then move on to loading the necessary installation components.
Next up for Debian is your network configuration. By default, Debian will attempt to set up your machine with DHCP (Dynamic Host configuration Protocol), but if it doesn’t see a DHCP server, then you’ll be asked to manually input IP address, subnet mask, and default gateway. Debian will also want a hostname for it self while you’re at it.
Up next is what can scare some of those new to getting nitty-gritty with computers…. harddrive partitioning.
***WARNING: NOT PAYING ATTENTION TO WHAT YOU’RE DOING AT THIS STAGE CAN RESULT IN UNWANTED DATA LOSS. PLEASE READ MY INSTRUCTIONS AND READ THE SCREEN.***
Basically what we’re going to do is edit the harddrive partitioning table. Now, some of you may want to keep Windows on your computer, and that’s OK. Baby steps, baby steps… Having more than one bootable OS on a computer is called dual-booting. Many people dual-boot Linux and Windows, or Linux and Mac, or Mac and Linux, or… you get the point. There’s a couple different ways you can dual-boot your computer. You can install both OSs to a single harddrive (providing you have about 5Gb to spare), or you can set up Linux on a second harddrive. What we’re going to do here is a dual-boot setup on a single harddrive.
Now, at the harddrive partitioning stage, you’ll see options for using the entire disk, entire disk w/ LVM, entire disk w/ encrypted LVM, or manual. If you’re wishing to rid your computer of all things Microsoft, choose the “use entire disk” option. For the rest of us that wish to dual-boot, choose manual. After choosing manual, you’ll see some options, but the one that we’re going to choose today is the “Automatically partition free space” option. If you still want more space for your Windows stuff after installing Debian, Debian includes a nice partitioning tool called Gparted. After installation, you can boot into Debian and shrink or expand the Windows or Debian partitions. There is a chance of data loss when using partition resizing tools, but I’ve done it many times and haven’t lost anything except my socks in the dryer and my keys, but those are different beasts altogether. After choosing to partition all free space, you’ll be asked which partitioning scheme you want. Debian by default will give the options to have all directories on one partition, a seperate /home directory, and separate /home, /var, /usr, and /tmp directories. Well, we haven’t talked about directories yet so I’ll explain these later. Also putting directories on seperate partitions is somewhat of an advanced practice. Let’s walk before we run, eh? Select the “All files on one partition” option.
The next screen will show a summary of the changes that’ll be written to the disk. For dual-booters, we should see our #1 partition formatted as NTFS or FAT filesystem, and our #2 partition as our Linux partition. You’ll also see a 3rd partition, possibly indented under the Linux partition. This is for a swap partition. A swap partition allows your harddrive to act like RAM at certain times when your physical RAM isn’t enough. This is just one of the reasons Linux runs well on older hardware. Select “Done setting up the partition”, and on the next page, select “Finish partitioning and write changes to disk.
For those who just want Linux on their system. Select the “use entire disk” option at the beginning stages of the partitioning. Stick with the defaults and you’ll be fine (all directories on one partition, etc).
Now the system will begin writing changes to disk. Depending on the size of the disk and your system speed, this could take a while? Hungry? You can probably make some popcorn while the Linux partitions are installed. After creating and formatting the partition, you’ll be prompted for your time zone, so select accordingly. Next up are creating and configuring a root account and 1 user account. You’re probably trying to figure out what root means. the root user on a Linux or UNIX system is akin to the administrator account for Windows. This is the user that can do anything, anywhere in the system, while a normal user can only rule their own home folder. You’ll be prompted to enter and re-enter a password for the root account. Next you’ll be prompted to enter your full name, user name, and password for a normal user (non-root) account. Create this user account for yourself, as you should only use the root account for doing… root things. system management, installing programs, messing with network connections…. all root things. If you knew me personally, you’d know my short-term memory is that of someone 4x my age so I tend to make my root password and my user password the same. (NOTE: Keep your passwords easy to remember, yet hard to guess. Your first elementary school & birth year perhaps. At least 7 letters with a mix of characters and numbers. One thing to remember about Linux is that it’s case sensitive. Village87 is different from vIlLaGe87). If you’d like to create more than one user account, you can create more once the system is installed. After setting up root and user accounts, the base installation will begin. This too can take a few minutes.
You’ll be asked to choose a network mirror. Remember how Debian had all those CD’s? All but the first CD are simply filled with different programs for your pleasure or productivity. For the sake of saving some CD-Rs We went with the net-install. This simply means you can get the programs (in the form of packages) via a working internet connection. When choosing a network mirror, choose your country, and usually selecting any of the mirror native to your country will be fine. I usually use the standard US Debian mirror and haven’t had any trouble with bad packages or slow speed. After choosing a network mirror, you’ll also be asked if you’d like to participate in a package popularity survey. This is just info that goes back to the Debian project about nothing more than what programs you choose to install. Feel free to select whichever option you like as it has no impact on installation. Next is the software selection screen. While you can choose each and every individual package to install, you can choose general configurations and modify it after installation. The standard system must be installed, but you’ll see options to install desktop, laptop, and some server configurations. For this tutorial, let’s select the desktop settings. (NOTE: for those readers using a laptop for this, feel free to choose the laptop setting. It’s not drastically different if any)
Now, the Debian installer will download, install and confure your packages. This should take about 20 minutes on a recent PC, while older ones might take a little longer. Near the end of installing the packages, you’ll be asked if you’d like to install the GRUB bootloader. The short answer to this question would be yes. GRUB (GRand Unified Bootloader) is an open-source bootloader that’s default on almost all recent Linux distributions. It will usually auto-detect other OSs installed on the computer. It will overwrite the standard Windows NTLDR bootloader, but will still be able to boot Windows. When your computer is first powered on, after your system POSTs, GRUB will load and you’ll have the options of booting either your installed Linux distros or Windows. So when prompted to install it, select yes.
After GRUB finishes installing and configuring itself, your CD drive will pop open. Installation complete! Not so bad eh? Now, remove the CD from the drive, and select “Continue”. From here, the system will restart. System POSTs, GRUB loads, choose “Debian Etch (2.6.18-4)”. You’ll see some text roll across the screen. You can try and read some of it, but it won’t make much sense (yet). Congratulations! you’ve now installed Linux! At the login screen type in your user name and password. Welcome to Debian Linux. Feel free to take a look around. Debian uses the GNOME desktop by default, and comes with most necessary programs already installed. No need for anti-malware software, or running all over the web looking for your programs. You might be wondering what programs do what. For this, I recommend visiting http://www.linuxalt.com. It shows a two-column table with popular windows applications on the left, and comparable Linux/Open-Source programs on the right.
As stated before, Linux does have a learning curve, but once you get the basics down, the rest of it isn’t as hard as you’d think. Come back soon for more info on Linux and more.
-that Linux guy