I was just recently blown away by what I can accomplish with the Debian installer on getting Debian installed on a system. I used to think that the openSUSE installer was the most flexible Linux installer, with Anaconda running a close second, but I think I'm going to at least put the Debian installer in a 2-way tie for first with openSUSE. The only reason I would say that, is because the openSUSE installer uses a hub-and-spoke design to installing the operating system. This means you can pick and choose what you want to install, rather than going through the entire installer itself. Further, the openSUSE installer supports installing from a SMB share on a Windows network, with neither Anaconda nor the Debian installer support (that I can tell).
However, one thing that continues to impress me about the Debian installer is the extreme amount of choices in which to get Debian installed on your system. You can pick any path, ranging from the complete newbie-have-the-installer-choose-everything-for-you to total hacker control over what you want installed, and everything in between. Looking over the installer, here's a quick list of what I've come up with, and how to get Debian installed on your system:
- Text vs Graphical- The Debian installer supports both a text mode and a graphical mode for getting the operating system installed. When booting the installer, you are presented with a menu that allows you to choose which method you want to take.
- Beginner vs Expert- Further, if you want total control over what gets installed on your system, you can choose to take the expert path. This will ask you many more questions on what you want to install and how you want it configured. As a result, the installations takes a bit longer to get through, but if you've done it several times, it's no biggie.
- Local vs Remote- An operating system installer wouldn't be complete without the ability to do local as well as remote installations. The Debian installer supports setting up both a VNC server and an OpenSSH server for remotely installing the operating system. It also supports "bootstrapping".
- Manual vs Automatic- Installing the operating system here and there, one at a time is fine for manual installs. However, if you need many installations to take place, or you want the exact same install to go down on many machines, then you can do an automated install using preseed. There are other ways to do automatic installs, such as Kickstart, Kickseed and FAI.
- Installation vs Rescue mode- Let's not forget that you're not installing Debian all the time. The Debian installer supports a rescue mode which will mount any filesystem on your local computer, and give you the ability to troubleshoot why your computer is in the trenches, and how to get it out. Windows, Mac, GNU/Linux, etc. If you can talk to the filesystem, you can rescue the computer.
So, now you've booted the installer. You've loaded the kernel and you're ready to start an install. Most experienced Debian users will choose to do a network install. This means that you have access to a server acting as a Debian software repository, from which you'll pull down the packages. Of course, if you don't have access to a software repository, you can download all the CD images or DVD images, and do an install completely disconnected from any network. Once the installer is ready to go, you have a variety of options on getting Debian installed on your system. First, let's look at different ways on getting the installer booted:
- PXE- The Debian installer can be loaded through network booting via PXE using TFTP. If you have a TFTP server, and probably DHCP and DNS as well, setup, you can make installs rather painless using this preferred method.
- CD/DVD- This is probably the most "tried and true" method for getting Debian onto your system. Downloading and burning bootable CDs or DVDs are a great way to get Debian installed, even if using optical media is the slowest method of doing so.
- USB- I personally love this option, as I don't have to waste CDs. I can create a bootable USB drive by downloading, uncompressing and copying over a boot.img.gz to the drive. Then, I mount the drive, and copy over an ISO image I want to use for the installer, and use this newly created bootable drive to install Debian.
- Local Hard Disk- Lastly, you can start the Debian installer by booting from a partition on a local disk to your system. You just grab a Linux kernel and initial RAM disk, as well as an ISO image, copy it to the front of the disk, make some configuration changes, and reboot. This method is completely host operating system independent.
Once the installer is up and running, you now have a slew of options on how to get access to the software for the install. This is where I think the openSUSE installer might have the upper hand, as it supports installing from a SMB share on a Windows network. However, your options are far from limited:
- HTTP- Accessing a Debian software repository via HTTP is the preferred method, especially if the repository is local to your network. And setting up an HTTP software repository is rather trivial if you have the software to do an install.
- FTP- Of course, you can do the same thing with FTP as you can with HTTP. It's rather trivial to get software of an FTP repository for the install.
- NFS- If you have an NFS server, you can export the repository over the network, and do an installation over NFS.
- CD/DVD- As already mentioned, you can do a complete offline install by using the CDs or DVDs. This is a very slow method for accessing the software packages, but it is rather trivial.
- ISO- As already mentioned, you can use ISO images for the software source. These can be placed on a CDROM or on an external USB drive. Setting either of these up is slightly different than just burning an image to disk, but it's still rather trivial, and doesn't take much time. Plus, it's fast, and light.
Once the installer has booted, the kernel has been loaded, and other configuration parameters setup, the flexibility of the installer doesn't stop here. You can install Debian on a RAID array using software RAID. You can setup LVM. You have full encryption support, with even determining the type of encryption you want to support (AES, Twofish, Blowfish, etc) and the key strength. When the drives are setup, with partitions, LVM or RAID, you now have the option to install software. You can choose to just do a "base install" which installs only the bare minimum for a bootable operating system. You can install necessary system tools, a desktop environment, with or without laptop support, and so forth. You can choose to have root login or not by using sudo. You have access to two TTYs during the install, from which you can add many users, setup groups, do additional configuration, and so forth before rebooting into your new install.
The options seem to be virtually endless! I was a Red Hat and SUSE trainer for a bit, and I really grew to love the Anaconda an openSUSE installers. They are powerful, flexible installers. However, after learning what was possible with Debian, it seemed clear to me that the Debian installer held the upper hand. Not because I prefer Debian for my default operating system on all my computers, but because of what was immensely possible with it.
If you are a Debian system administrator, either personally or professionally, I would recommend spending some time with the installer to get a feel for what you can do with it. I think you'll find that it's rather impressive, keeping up very well with the "enterprise" solutions that exist out there. Also, spending some time on Google will show you a vast array of documentation on how to use the Debian installer to its fullest. This document might be a good start for you.