I am an avid Linux user. Ever since I was introduced to the alternative operating system over a decade ago, it has grown from a small curiosity to a near obsession. Due to certain hobbies, I haven't entirely given up the Windows OS, but Linux has become my preferred operating system for every day tasks. I currently have three functional computers: My server (which runs Gentoo Linux), the game and MIDI desktop computer (running Windows XP) and a laptop which currently runs Windows XP. My goal is to find a Linux distribution that is appropriate for my laptop without having to remove Windows XP. My laptop has, as of late, become my primary machine for daily use. I use it for e-mail, web browsing, music and web development. To date, almost all of my web page designs have been created using a text editor in my Unix or Linux shell. So even with Windows on my laptop, I was easily able to shell into my server to do my web development. Over the past several months, my use of PHP has increased and my projects are growing more and more complicated. A simple console text editor is no longer sufficient to manage these larger projects. I experimented with several programming interfaces, and I settled on one that best suits my needs: Bluefish. The major drawback about this is the fact that it does not run within Windows. It is designed for the world of Linux and my desire to have Linux on my laptop has overwhelmed me. The problem, however, is that the laptop is also my wife's primary machine. Even though I have tried countless times, I have been unsuccessful in converting her to the world of Linux. As such, Windows XP must stay. Fortunately, the wonders of partitioning and boot managers will allow me to install Linux along side my Windows installation. The only problem is that my laptop isn't what you would call "state of the art". I am faced with a challenge: I need to find a Linux distribution that is both small enough, efficient enough and easy enough to maintain for my laptop. Realizing that all Linux distributions are not created equal, I did my research and was able to narrow my list to a handful of distributions that may be suitable for my needs and my laptop. Throughout the course of this article, I am going to test each of these distributions on my laptop and discuss my experiences. I will attempt to install and evaluate each distribution for a period of a couple of days. Based on my findings, I will select the distribution that best suits my needs. The ChallengeThe laptop is an 800 megahertz Celeron based machine hosting a 10 gigabyte hard drive, 128 megabytes of RAM, an S3 Virge video card (memory shared with system RAM) and a generic sound card. For networking, it has a PCMCIA wireless network card based on the Prism 3 chipset from Intersil. I also have a PCMCIA wired network card that works natively with Linux which I will use for installation as necessary. The biggest challenge that I have is the storage space. I have already eliminated any unnecessary components and programs from the Windows installation to increase the available space for my Linux partition. I am, however, still limited to a partition roughly 2 Gigabytes in size. My home network is going to save me a lot of trouble in this regard as my web development projects can be hosted on the server. Therefore, I do not need to install a web server (Apache), a database (mySQL) or PHP. As a bonus, these services will not be taxing my already slow processor. The only drawback is that I will not be able to carry out development away from home. But that's a compromise I'm willing to make. Since my laptop is fairly old and since it was designed to run Windows, I am faced with several other challenges as well. I know full well that I will likely be unable to use the laptop's modem in Linux. Some preliminary research has shown that my wireless network card can work, but it will require a lot of tinkering to get it to work properly. The video card does have native support in Xfree86 (the graphics environment that I will be using), but 3D hardware acceleration is mediocre at best. As a final challenge, I am not willing to upgrade this laptop for a long time. Test CriteriaWhile testing each distribution, I intend to install test the following minimal set of applications and tools: - KDE - My desktop manager of choice.
- BlueFish - A GTK text editor with extensible support for HTML and PHP.
- Mozilla Firefox - My preferred web browser
- Mozilla Thunderbird - For e-mail
- GIMP - A GTK, multi-platform graphics editor, a must for any web developer.
These tools are the minimal tool-set that I need in order to carry about my development projects and most of my daily tasks. Since it is typically absent from most distributions, BlueFish will most likely need to be installed manually. This will not, however, reflect poorly on any distribution I review. Where possible, I will try to minimize the footprint of any installation. Since space is at a premium on my laptop, my ability to reduce the size of my installation will greatly influence my final decision. At the very least, I will try to prevent the installer from installing certain packages that I do not need. For the purposes of testing each distribution, I will try to maintain the default settings and options during installation. This includes things like partition layout, management tools and default services. Once I make a final decision, of course, I will modify any of these settings as I see fit. Each distribution will be rated on installation size, ease of use, appearances and functionality. I will take into special consideration each distribution's installation process, update tools and maintenance applications. I will also give special consideration to the distribution's community where I will inevitably be turning for troubleshooting and support. {mospagebreak title= Distribution Tests and Review} Distribution Tests and ReviewThe first thing I did was research several Linux distributions to find any potential candidates. The 'Comparison of Linux distributions' article at Wikipedia (http://en.wikipedia.org) became a surprisingly indispensable resource throughout this process. Most distributions are compared and described in full detail on the site. This information was, of course, cross-checked with each candidate's website. I also visited the 'Linux Distribution Chooser' website (http://www.zegeniestudios.net/ldc/) which also helped me to determine which distributions to consider. Finally, asked friends and other Linux fans for recommendations. I immediately eliminated many of the smaller, less popular distributions. Most were not as fine-tuned as I would have liked and did not have communities large enough to help me in case of need. I also eliminated any of the commercial 'boxed' distributions as I do not wish to spend any money for this project. The LiveCD distributions were not considered at all. While it may seem appealing to have an installation that doesn't impact my hard drive, these distributions often run much too slow for my laptop. I have narrowed down my search to a handful of distributions and I evauluated each with my Test Criteria in mind. I will briefly describe my research. Fedora Core Fedora is a free distribution based on one of the most widely known commercial Linux distributions: Red Hat. It took me several times to successfully download the distribution. I first tried the FTP site and ended up with a corrupt DVD version and a CD version (5 CDs) which also suffered corruption. Finally, I had some luck with BitTorrent. Unfortunately, my troubles did not end there. For whatever reason, the graphical installation did not work on my laptop, so I was required to use the text-mode installation. Initially, I was not concerned about this fact, until it came for package selection time. For those of you who aren't familiar with Red Hat or Fedora, you are given an opportunity to select packages for installation. You can select packages by group or you can select them individually using an advanced user mode. The first time I tried to install the system, it was not apparent to me as to how I could select packages individually, so I selected the groups that I knew I'd need. Unfortunately, that resulted in an installation requiring much more hard drive space than I had available. I was not keeping track of this, however, as I expected the installation program to warn me if I were expected to run out of space. I got about half way through the installation before it informed me that I had run out of hard drive space. I was left with a non-working system, and I didn't even have a boot loader with which to access my windows partition. I was not happy. So I tried it again. This time, I was able to find the little check box that allowed me to select packages individually. Generally, my method for this is to select the groups that I want, then to go through and deselect the packages I don't need. Once I got to a point where I thought I was done, I started to install packages. I got a few errors for dependencies, which were easily corrected. But then I was faced with a system that was again much too large for my laptop's poor hard drive. With some frustration and some profanity, I again tried to cut down the size of the installation, blatantly ignoring the warnings in some cases. I was able to get my installation down to 1.6 Gigabytes; larger than I would like, but still able to fit. Once again, I started the installation. This time I got about two-thirds of the way through the installation before it gave me a warning that I was, again, out of disk space. Again, I was not happy. After spending several hours just to get this distribution installed, I decided that I had acquired enough information about Fedora to make my decision. At the very least, the installation program should have some sort of check for hard drive space. I also felt that the installation process was overwhelming for a distribution of this history and stature. Fedora will not be the distribution that ends up on my laptop. It may be a great distribution for more current hardware, but not at all appropriate for my needs. Gentoo I have been running Gentoo on my server for a couple of years now and, of all the distributions that I will test, it is the one I am most familiar with. Gentoo is a source based distribution. At it's core is an update program called portage. While some may feel intimidated by the Gentoo install process, it's really not that complicated and it's well documented. I believe that anyone with minimal experience in Linux would be able to install this distribution. The default installation, referred to as 'Stage 3', now starts you with a working base system that is pre-compiled. Using portage, I was able to easily recompile the entire system so that it was optimized for my laptop, though this did take a lot of time. Gentoo makes no assumptions during installation. The installation instructions offer several different options when it comes to most of the major daemons and services. Of course, when Gentoo is installed, that's just the beginning. The installation instructions leave you with a fully functional system, shell and some essential services. Anything else that you may need must be installed using Portage. This is where some Linux experience comes in handy. Not only does one need to know what to install, but some applications may require some manual configuration, such as the Xfree86 windows environment. I was able to get everything installed that I needed without too much effort, including BlueFish which is available through portage. The biggest advantage that I see with Gentoo is that Portage can be configured with a default set of compile-time options, called 'use flags' that are used for the compilation of every application. This feature is ideal for my situation as it allowed me to further optimize my system and save hard drive space. A flag like "-gnome" prevents any applications from compiling in Gnome support, which I don't need since I am running KDE in its place.. I also added a flag, "-doc", to prevent applications from adding space-eating documentation in formats that I don't need. You can add dozens of flags to the configuration file to allow you to tailor almost any aspect of your system. In many cases, certain flags even prevent certain dependencies from getting installed; definitely a bonus for those with a space handicap. Configuration was not flawless and there were some troubles, as I expected there would be on this laptop. I had some difficulties getting my wireless network card running. Fortunately, I was able to reference the Gentoo networking handbook, the Gentoo Wiki (http://gentoo-wiki.com) and the Gentoo forums (http://forums.gentoo.org). Many of the users are very knowledgeable about Linux, and I was able to pinpoint the drivers I needed to get it working. It wasn't without a hassle, but at least I had some help. I was also concerned about the large file tree necessary for Portage to work. For that, I found some advice on the forums. One person suggested setting up the portage directory as a mount-point from a network drive. It's a perfect resolution to the problem, and if I settle on Gentoo, I will definitely consider setting that up. For now, I'm happy to know that it's an option. For those who may have a slightly better computer than mine, there is also a fairly new method for installing Gentoo. The Gentoo LiveCD method of installation has both a text-mode query system and a GTK+ (graphical) system for installation. While these still require some Linux experience to fully understand the installation, they are, without a doubt, a much easier installation process than the common method. The LiveCD ran fine on my system, but when it came to the installation process itself, I just didn't have enough memory. The installation process requires 256 megabytes of RAM. If you have that, you may consider this as a valid option. In summary, Gentoo is a very valid option. I liked it for the customization and the ability to have a small footprint. I am also quite impressed with the community that backs the distribution. On an 800 MHz laptop, however, compile times are very slow which makes for a very slow installation. From a blank partition through to a working KDE desktop with Mozilla Firefox, Bluefish and GIMP, a system-wide optimized compilation took a little more than 3 days. Regardless, this is an option that I will definitely consider for my final decision. Kubuntu / Ubuntu Ubuntu was recommended to me by a friend. So I did my research and discovered Kubuntu, which is a related distribution. The only difference, as near as I can tell, is that Kubuntu uses KDE instead of Gnome for it's Windows and Desktop Manager. So, I decided to give it a try. My first major complaint is that there isn't a lot of online documentation that I was able to uncover. I understand that this distribution is much younger than other distributions that I have tested. However, certain things should always be available, and installation documentation is one of them. I was able to find some basic information, but very little highlighted the actual process of the installation. For that matter, I wasn't even able to find minimum requirements. From a CD-ROM ISO that I downloaded from Kubuntu's site, I was able to get the installation started. The installation process is fairly simple. I was asked a couple question about hardware, time zone and partition setup. The installation program was not able to detect my network card which, again, didn't surprise me. This wasn't reason to give up yet. Installation continued installing the base system, and it even installed the Grub boot loader which automatically detected my Windows partition. The system was even able to reboot itself off of the new installation. But it wasn't long before I had problems. After Kubuntu installs its base system, it reboots to install more packages such as the windows environment and presumably KDE. However, my installation died slightly beyond the halfway point for this crucial step. The error I was given didn't explain very much. I had my base system, but little else. Some careful investigation told me that my installation was much too large for my meager 2 gigabyte partition. Sadly, I could've saved some time for myself if I was able to find minimum requirements on Kubuntu's website. Due to my situation, the only thing that I can definitely confirm about Kubuntu is that it is not ideal for my laptop. I believe that the poor documentation is inexcusable. I also believe that the installation should be more customizable. Overall, I wasn't happy with this attempt. Given better hardware and resources, Kubuntu does show some promise. If I ever get a larger hard drive or a better laptop, I will again revisit this distribution. But it will not make it onto this laptop. OpenSUSE OpenSUSE is a free version of Novell's enterprise editions of Linux. While it is officially sponsored by Novell, it comes with no support contract. Most support is through the community wiki or through the support database. But you can also use the corporate website (http://www.novell.com/linux/) to troubleshoot many other problems. And if all else fails, it follows the Linux Standard Base criteria, so you can get help from almost any Linux user. I downloaded version 10.0 using BitTorrent, which I highly recommend as the FTP site linked from the website is slow. Installation was a breeze. Not only was YAST the best looking installation program, it was probably the simplest and most intuitive of all the distributions I tested. The default installation was 1.8 Gigabytes, which was a bit too large for my comfort. But I was able to get down to 1.2 gigabytes by removing packages that I know I wouldn't need from the installation. The other nice thing about the installation was that it allowed me to select which desktop I wanted to use: KDE or GNOME. Obviously, I picked KDE. But I wasn't able to avoid GNOME completely as a lot of the SUSE tools are based on some of GNOME's libraries. This did add some bulk to the installation, but nothing worth ranting long about. Unfortunately, BlueFish was not a selectable package as part of the installation. But it would be easy enough to install from source, and there are several packages available on the internet that would drop right into OpenSUSE. One of the things that impressed me, at least initially, was that OpenSUSE successfully detected my wireless card. So I loaded up YAST to try to configure my wireless network, and I grew frustrated. In hind sight, I didn't have reason to get frustrated. The prism2 chipset for my wireless card depends on proprietary firmware which, for obvious reasons, cannot be released in an open source project. So I had to do some manual installation that was not much different than setup in any other Linux distribution. So my only valid complaint about the wireless in OpenSUSE is that it made me believe that I could use YAST to set everything up when, in fact, I couldn't. I researched, but was unable to discover if Novell's enterprise edition of SUSE was better at handling prism2 cards. Once everything was installed, the system ran very smoothly. It's configuration and update tools are pretty easy to use and very in-depth. It had a definite identity through it's graphics and its overall setup scheme. As it had been nearly 8 years since I tried SUSE last, I was very happy to see that it was now using the Linux Standard Base, which was my reason for abandoning the distribution in the first place so many years ago. The community behind OpenSUSE, as near as I can tell, is not nearly as active as some of the other distributions I've tested (Gentoo, especially). But I am confident that I could find the answers I needed in a pinch. As a solution for my laptop, this distribution has definitely earned some serious consideration. Vector Linux Vector Linux is based on the Slackware Distribution (http://slackware.com). For those of you who don't know, Slackware is one of the oldest living Linux distributions. It has earned a reputation as one of the most stable distributions available. It has also earned a reputation as an advanced distribution requiring extensive comfort in the world of Linux. When I initially drafted this study, Slackware was definately going to be on my list. I was, however, not enthused to run through another Slackware installation. Even the online documentation is intimidating (this is one distribution that benefits from buying pre-configured CD-Rs). After some research, I discovered Vector Linux. Supposidly, it has the stability that Slackware has and it has a few new features that make it more user friendly to install and maintain. That was enough to sell me on the idea. Vector Linux comes in three different configurations: The Standard Edition, the Deluxe Edition and the Small Office & Home Office Edition (SOHO). The Deluxe edition is only available for purchase through the Vector Linux website. I grabbed the SOHO edition as it came with KDE, OpenOffice (an open source replacement for Microsoft Office), and several other features that seemed worthwhile to me. Installation was, for the most part, a breeze. It uses a text-based installation program that isn't pretty, but it's simple enough to use. It made some major improvements to the Slackware installation system which, in my opinion, asks too many questions and was too complicated for many people. Vector Linux, on the other hand, left out anything that wasn't necessary. I was happy to see that one of the first tasks of the install program was to check itself for possible corruption. I was disappointed to see that the default boot manager was LILO instead of GRUB which is my preferred boot manager. I had only one major difficulty during installtion: LILO wouldn't install. The install script asked me a couple of questions to, presumably, set up the LILO configuration file. However, it returned a generic error stating that it was unable to install. So I skipped this step for now and continued with installation. Once installation was complete, I was able to reboot with the CD again to gain access to my new Linux installation. On the install menu, there is an option to reinstall LILO. I tried to do this, but it didn't work. Fortunately, another option allowed me to boot an already existing Linux partition. This allowed me to troubleshoot the LILO configuration file and I discovered several problems which shouldn't have existed. I fixed these, reinstalled LILO, and we were good to move along once again. The installation program recognized and properly configured most of my hardware including my video card, monitor, mouse and keyboard. It even auto-detected sound which worked beautifully out of the box. It did not, however, detect my network card - though again I must point out that no distribution I tested allowed it to work out of the box. Once I was up and running, I loaded up VASM, which is the Vector Linux system configuration program. It was very simple and easy to use and it exposed many overlooked areas of system configuration. There are a lot of system configuration elements that have not yet been addressed, but the most common configuration tasks are available. The package management system, VLAPT, seemed fairly intuitive and easy to use. It also flags security updates automatically. As far as package management software goes, it wasn't anything special...but it got the job done. As an advanced Linux user, I found Vector Linux to be happy medium between the no-frills distributions like Slackware and the more user-friendly distributions like Red Hat or Lindows. At times, Vector can appear a bit rough around the edges. Visually, the distribution could benefit from a graphical installation or a more tailored boot frame buffer. There are also a few weak points in the installation such as the LILO configuration problem that I had, or another problem I had with the proc mounting improperly. For me, these problems were easy enough to fix. But for the purpose of my evaluation, they are definite strikes against Vector Linux. On the plus side, Vector had the absolute smallest footprint weighing in at only about 960 megabytes including everything I asked for. While I think this distribution is a possible option, it does lack many of the frills that I would've liked on my laptop.{mospagebreak title=Overall Summary and Ratings} Overall Summary and RatingsIt is important to realize that my ratings are derived with my specific needs and challenges as outlined above. You will note that I have rated Kubuntu / Ubuntu poorly as part of this study. If I had more available space, I am confident that I would've rated the Ubuntu family of distributions much higher. Fedora Core: 2/10 points http://fedoraproject.org Advantages: Based on Red Hat which is one of the most widely accepted distributions. RPM package installation & upgrade method - one of the most widely accepted package systems. Disadvantages: I was unable to successfully install the distribution due to hard drive space constraints. Graphic installation did not work, and I was forced to use the text mode. Gentoo Linux: 8/10 points http://www.gentoo.org Advantages: Ability to maintain a small footprint while getting desired functionality. Optimized for your computer and needs. Great package/source manager (Portage). Unmatched community support and documentation. Professional looking theme sets and logos. Disadvantages: Very slow installation due to compiling from source. Requires some prior Linux experience to properly complete installation (Example: Default installation ends at shell. It does not install Xfree86, KDE or the like which is up to the end user to install using Portage). Kubuntu / Ubuntu: 3/10 points http://www.ubuntu.com Advantages: One of the easiest install routines. Disadvantages: Fairly sizable footprint (2 gigabytes PLUS user space). Very few options for installation to minimize footprint. I was not able to get this installed successfully on my laptop. OpenSUSE: 8/10 points http://www.opensuse.org Advantages: The most advanced and easiest to use installation program. It's post-install configuration utility (YAST) is one of the best. Most professional looking of distributions I tested. Disadvantages: Community isn't very prominent. Hardware support is misleading (detected my network card, but doesn't actually support it 100%). Vector Linux: 6/10 points http://www.vectorlinux.com Advantages: Small footprint (960 megabytes including KDE, GIMP and Bluefish). Simple and effective configuration tools and package management tools. Disadvantages: Text based installation. Installation not perfect (LILO install and proc mounting troubles). Not for beginner Linux users. Small user base. Final DecisionIt was very difficult for me to come to a conclusion as to which distribution I would permanently install on my laptop. As you can see from my ratings above, I assigned the highest score (8/10) to both OpenSUSE and Gentoo. Both would have been absolutely perfect for my needs. So I had to carefully weigh the advantages of each. I really felt that OpenSUSE was the cleanest installation and the best looking. Even the boot loader looked and felt much better than Gentoo's. It had a lot of great system management tools and a solid package management system. Given better hardware, OpenSUSE would've been the ideal choice without any debates. But considering my laptop, the eye candy and management tools were not enough to pull me away from Gentoo. As I had mentioned earlier, I was already using Gentoo on my server. I initially fell in love with Gentoo because it was so easy to maintain from a remote connection, which was very beneficial for a server. When it came to picking a distribution for my laptop, this was no longer an area of concern. It was highly unlikely that I would ever need to maintain my laptop from a remote location. Before doing this study, I was expecting to end up using a different distribution. However, I overlooked two benefits of Gentoo (or any source-based distribution) that I had previously taken for granted: It's small size and it's optimized performance. If only for these two reasons, Gentoo was the natural choice. ConclusionThis entire study was an incredible learning experience. Not only did I find the ideal distribution for my laptop, but I was exposed to different views and different ways of doing things. For example, my new installation of Gentoo will use the ReiserFS instead of the old standard file system, ext3. I was exposed to ReiserFS for the first time with OpenSUSE, which uses the file system by default. In my opinion, I found the ReiserFS to be much faster on my ancient hard drive. I was also exposed to more modern package management systems which I hadn't used in over three years. I am happy to see the advancements that have been made in those distributions. I am confident that Linux will continue to grow in popularity and usability. I'm glad I placed this experiment upon myself. I think that, too often, myself and others have gotten locked into a distribution that they don't know what's evolving out of the remainder of the Linux world. In the end, I ended up back with the distribution I have favored all this time. But I am much more aware of what other distributions are doing. With this knowledge and experience, I will watch as these other distributions evolve and I will likely revisit this study again and again. Now, I am much wiser and much happier that I did not blindly choose a distribution for my laptop. That said, don't take my study for grail. You should do your own evaluations before you decide which distribution is perfect for your needs. References: |