by Claus Futtrup (Jul. 5, 2005)
Foreword -- After a decade of admiring Linux from afar, Claus Futtrup finally takes the plunge, choosing to dual-boot his Windows 98 system with Minislack. In this guest column, Futtrup explains why he selected Minislack, and relates his experiences with installing, configuring, and using it as a newcomer to Linux.
A newbie's introduction to Minislack
by Claus Futtrup
Migrating to Linux
I first learned of Linux back in 1992/93, when I began my masters program in mechanical engineering at the university. Linux was not for everybody. At that time, perhaps one out of 400 ran Linux instead of the usual Windows 3.1 (OS/2 was also an option in those days). One of my fellow students was using Slackware. Ever since that time, I have kept an eye on the exploits and evolution of Linux, through magazines and a couple of books on Linux.
When Microsoft announced that it would no longer continue updating Windows 98, warning lamps began flashing in my head. What about security? I did not feel like buying a modern Windows release just to be able to keep my old PC running.
Another reason to consider Linux was the fact that my girlfriend wanted to start an online business. Not an easy project, I thought, but all that was required would be basic knowledge about Apache, MySQL, and PHP. Projects like osCommerce make it easy to build an online store. The only problem would be Windows' lack of security. I clearly could not use my Windows 98 OS. Linux, on the other hand, was famous for its security, could easily be kept up-to-date, and should run on my hardware.
So it was, that in February 2005 I finally decided to give Linux a go. I gave it a lot of thought, and experimented with several LiveCDs. Within several months, I settled on a specific distribution.
You could say it has taken me a very long time to migrate to the Linux platform -- more than a decade, from when I was first exposed to it at the university. And this was in spite of the fact that I have always been attracted to -- and have been a user of -- free software. A friend of mine says that I have now swallowed the Red Pill, symbolizing rebelliousness and anarchism, as opposed to the Blue Pill, symbolizing the blue in the logos of Intel and Microsoft (the partners in "WinTel").
Even before swallowing the Red Pill, I liked the idea of using Open Source. I have been using freeware and Open Source software for years on Microsoft Windows. Among these are OpenOffice, GIMP, Firefox. After watching linux from afar for over a decade, it was now time for me to begin using Linux myself.
The choice of distribution probably is not as big a deal as it's made out to be, but at the time I figured it would make a world of difference. At this point, after having gotten to know Linux, it now seems more a matter of taste: which flavor of Linux do you want to try? In any case, as a new Linux user, it's best if your first attempt is successful. Otherwise, you might give up.
I found that there were several hundred distributions to choose from, many of which were completely unsuitable for my rather old PCs. I ended up scrapping my old 33 MHz 486 PC with 20 MB RAM -- although it ran fine in text mode, I really didn't want a bad experience due to being constrained to use outdated Linux packages. I wanted a success.
I quickly found a number of resources the Web that are an invaluable source of information, especially DistroWatch. There, I learned to think about issues such as:
The "conventional wisdom" on how to choose a Linux distribution is to begin from the 10 or so most popular distro's (Mandriva, SuSE, Red Hat, Fedora, Debian, Slackware, etc.), and narrow it down from there. This is because the most popular distro's tend to be the most thoroughly tested, their user groups offer the most help, and they're likely to have the most newbie-oriented features.
- How independent and free is the distribution?
- How popular is it?
- Which package manager is used, and how good is it?
My decision to use Minislack ran counter to this approach. While surfing DistroWatch, an announcement for Minislack 1.0 caught my eye. I think I was most attracted by Minislack's roots in Slackware, which has a reputation of being one of the most stable distributions available. I like stability (remember, I'm a mechanical engineer). A new user doesn't need "spooky" behavior! So I decided to check it out.
It turned out that Minislack almost exactly fits my needs, has a no-nonsense look and feel, and has a group of very helpful people who answer questions. I chose it in spite of the fact that it was virtually unknown to the Linux User Groups I was participating in, and is not generally considered a newbie distribution. There were some learning curve problems, but I got around them; and now that I've done it, I can say that it really was not that difficult after all.
The Minislack distribution focuses mainly on Desktop usage. It provides some programming tools, but is limited in the number of application software options that are included. Newbies are best off without too many options.
Minislack's choice of applications is mainstream: Mozilla Firefox, Thunderbird, GIMP, and so on -- a very nice selection. As a Microsoft Windows user who had been using Open Source applications for a while, I was already familiar with these applications. Although they aren't included on the Minislack CD-ROM ISO, the KDE and OpenOffice packages are available as options. Actually, prospective Windows-to-Linux migrators can check out much of the software that comes with Minislack beforehand: just try installing them under Windows. This approach can make the transition to Linux a lot smoother.
Another great feature of Minislack is its excellent installation help page. On the main page, click "documentation," then click "Minislack Linux installation tutorial"). To say that Minislack is a great Linux for newbies is perhaps not exactly true; after all, it's based on Slackware, which is usually considered a favorite of experienced Linux users. But this set of instructions is what made me dare to take the step. It is worth its weight in gold to a newbie.
The "mini" in Minislack
The "cut" made with Minislack (in comparison to Slackware) is to focus on the Desktop user, and with only one application for each purpose (although several text editors are included). It also provides a fairly large and complete set of programming tools. However, user can easily add to the installation according to personal needs -- preferably based on Slackware tarballs (however, any other common way can be used).
This is what makes Minislack a "mini" (but not "micro") distro in comparison to Slackware. The size is just more than 400 megabytes. This compares with Slackware's two full CD-ROMs at 700 MB each, loaded with tons of extras. Minislack sticks with the most popular software (provided it does not have a bloating effect), and there is also a focus on software that fits together. The result is a very light, clean distro that comes with pretty much everything a desktop and small-office user wants, and without a lot of packages that are unnecessary for this purpose.
Despite its leanness, Minislack shows off a decent amount of "eye candy." Minislack's desktop manager is Xfce. It doesn't end up feeling like a stripped-down almost-nothing Linux. On the contrary, I feel that I could migrate entirely to this Linux distribution and not be missing a thing. For some ideas on how to further improve and personalize the look of the Minislack desktop, visit xfce-look.org.
An important advantage of limiting the size of the distro is that packages are up to date, well maintained, and match each other. Things have been checked out, and you are unlikely to find that some packages work with each other, while others do not, as can happen with large distributions. All packages are tested together as a whole distribution.
The result of all this is that Minislack...
- is simple, compact, fast, secure, and reliable
- provides one application for each key task (except editors)
- is a complete desktop/development environment.
Another advantage of Minislack -- and one of the reasons I chose it -- is its low resource requirements. Minislack does not require much, but I wouldn't expect it to work too well on a 486. I have seen claims of Minislack running on a 233 MHz Pentium with only 64 MB of RAM -- not ideal, but it can be done. It runs fine on my 400 MHz Pentium II with 256 MB RAM and an NVidia RIVA TNT2 Graphics Adapter card (with 32 MB RAM).
I was able to squeeze Minislack onto a 10 GB hard drive along with Windows. In my system, Minislack resides in a 1.5 GB partition on the primary hard drive, plus a second 386 MB hard drive. The Swap partition is only 32 MB, which is on the low side. Although I never see Minislack swapping to it, if I were going to stream TV or edit a large pictures with GIMP the small size of the Swap partition could become a problem.
In general, however, I would recommend running Minislack on a 2 GB hard drive, however. And you might want more, depending on which packages you want to install as add-ons on top of the standard Minislack distro. On faster and more competent machines, Minislack will not be a resource hog. Instead, you will experience a fast system with good looks.
To be, or not to be...?
Some people says that Minislack is Slackware -- but it is not. It is its own distribution. It leans toward Slackware, and has much of Slackware's stability, low hardware requirements, the tarball way of handling packages, and so on.
On the other hand, Minislack adds certain features that Slackware does not have, like more up-to-date packages. For example, Minislack currently includes Reiser4 filesystem support, Linux kernel 2.6, and Gnome libs. This might seem to imply a less stable system, because these components are newer and therefore less tested. But this is not the case, because with a smaller footprint and only one application per task, it becomes much easier to ensure that everything is working. Therefore, Minislack is very stable within the frame of the packages that come with the distribution. Also, some very important packages -- such as the base system (glibc, gcc, bash, tar) -- come directly from the Slackware distribution.
Some people have asked, "Why use Minislack, instead of the real Slackware?" To me, the answer is easy. As a beginner, I need the usual applications, but I do not need too many options, since I have no background for choosing one over the other. With a "full" distribution that offers multiple options for each type of program, an experienced can easily select what he needs; but a newbie won't know one package from the other. In such a case, it is possible to unselect a few applications, but close to impossible to sort through the vast number of libraries, and harder still to battle with dependency problems. In Minislack, the choices -- in my opinion excellent choices -- were already made for me. The result is a complete distribution with a small footprint, yet you can add packages as you find the need for them.
In short, in the Minislack distribution you get what you need to watch videos in various formats, write documents, print, scan, burn CD and DVD, connect your camera, and edit your photographs. In other words, it supports most of what a desktop user needs. I am not a programmer, but I have heard that Minislack not only makes a newbie's desktop (as I have discovered), but it is even better as a programmer's desktop. I have not discussed its programming tools, simply because I do not know much about that topic.
As I mentioned earlier, I also hope to build an online store using a Linux server. Minislack is not the obvious choice for a webserver or fileserver. However, since most Slackware packages can be added to Minislack, it is not impossible -- just not the natural starting point for a server. As a normal desktop Linux user, who has to work his way toward server applications, I have found Minislack to be an ideal platform for developing my basic Linux skills. Although Minislack does not include packages for handling even the simplest webserver and fileserver activities, it should not be a problem to add these packages. I will also need to consider some new issues, such as security and backup.
Installation and configuration
Minislack inherits its installer look and feel from Slackware. As this implies, there is a textmode installer, with a simple yet efficient GUI (see the "Minislack Linux installation tutorial"). Two things I could wish to see changed, that would make the installer better, are: allow the user to go back and redo selections; add a menu at the beginning that gives the "big picture" of what will need to be configured.
The maintenance tools are also of the Slackware type. As a result, package management is handled by pkgtool, along with installpkg and removepkg. These are textmode tools, although at least the pkgtool has a GUI. A special tool in Minislack is the "service" command, which manipulates configuration files for you. For a complete list of services, type "service list" (as root) in a terminal window.
Another special Minislack tool is the "netpkg" command, which can be used to keep Minislack up-to-date in a very easy way. It checks your installation with a public package repository. You can then download upgrades and choose to install them either on-the-fly, or by using Slackware's installpkg. For example, installing OpenOffice is as simple as "netpkg openoffice," which fetches the appropriate package from the package repository (via http connection) and then installs it on-the-fly. Netpkg optionally saves a local copy of the downloaded package tarball.
Minislack -- like Slackware -- is true to its Unix origins and the traditional ways to manage system configuration and handle various system tasks. Since Minislack does not come with fancy configuration tools, there is no other way than the "hard way." The learning curve is a bit steeper this way, but it has the advantage of getting you to learn Linux fundamentals, rather than learning a special configuration tool that is unique to one particular distribution.
For me, it has taken a bit of work -- two months zooming around on the hard drive, looking into configuration files, and sometimes a bit of frustration. But in the end, I now feel comfortable with Linux configuration. Since I know how to do it the "hard way," it works this way no matter what distribution I will encounter. That's a nice feeling.
I won't spend a lot of time describing my two (successful) attempts at installing Minislack. I wrote a wiki entry on the Minislack.org "Contributed documentation" page about all the preparations that one has to do. Most notable is the process of making a boot disk. Read my Minislack newbie installation guide in which I give several tips, such as how to repartition your PC's hard drive to make space for Linux without using commercial software (e.g. PartitionMagic).
When installing Minislack, I considered how to boot Minislack, and discovered some concerns with LILO, which is the default boot manager. There are issues like -- if you are a newbie like me, and are running Windows on the first primary partition on your system's first hard drive -- then you have to be very careful with the installation. In the worst case scenario, a LILO install can trash your Windows drive. This gave me cold LILO feet. Needless to say, if you want to use LILO, read the documentation carefully, and do what it says!
Instead of using LILO (the default Minislack bootloader), I decided to use Loadlin to boot Minislack, since this was considered to be the safest method. My advice with attempting your first Linux installation is to use Loadlin, at least for a start, which allows you to load Linux from a Windows system. Doing this requires some extra preparation, which you can find at the Minislack.org wiki in the newbies guide to Loadlin. This method is convenient for migrating from Windows.
A Minislack screenshot mini-tour
This section provides a few screenshots of some of the many standard applications available on Minislack Linux.
The GIMP is a very advanced program for graphic manipulation. I use it for a large number of graphics tasks, such as screenshots (as included in this article), converting files, etc. I even used it to create business cards, as shown in the following screenshot.
The GIMP on Minislack
(Click to enlarge)
In this example you see a business card for my girl friend, built and manipulated in the different layers (right side). The underlying graphics engine, GTK+, is being used for other applications -- like the Gnome desktop environment. The GIMP quite complete, and can serve as a replacement for Photoshop, but it is still being developed. The GIMP is one of OpenSource's true goodies.
The netpkg utility
I love the netpkg utility. As explained earlier, it is really easy to use. It uses http to check a package repository against your local installation. An example can be seen in the following screenshot. Click the image for a larger view, which gives a closer look at the aterm terminal windows.
netpkg checking system against repository
(Click to enlarge)
In the terminal window in the lower right-hand-corner of the above screenshot, you can see the result of the command:
netpkg list-all | grep 'not installed'
As can be seen, there are packages that could be upgraded. The netpkg utility lists a large amount of information that needs to be filtered to show the desired information. The grep utility is suitable for doing this. In the same screenshot you can see what happened when I filtered the netpkg output regarding the netpkg package itself. It is up-to-date. Color coding makes this easy to see.
You need to be logged onto the Internet before running netpkg, which is why you can see the Firefox browser in the background. Also notice the nice transparency of the terminal window.
In the following screenshot, you see the terminal window again, with netpkg now running an update.
netpkg running an update
(Click to enlarge)
In the above screenshot, you can see the download process with the progress bar finished (notice the 100%), followed by the installation of the package, in this case GTK+. Normally, keeping your Linux system up-to-date can be quite some work, but with the netpkg utility it really becomes very simple.
Although I stated earlier that Minislack uses text-based configuration, it does include a graphic configuration tool: GST, the Gnome System Tool. I don't know if adding graphic configuration tools is a general trend for Minislack, or simply a matter of giving the users reasonably complete applications. Below you can see GST in action.
The GST system configuration tool in action
(Click to enlarge)
gxine -- the multimedia Swiss Army Knife.
One of my favorite Minislack applications is gxine, which is precisely the multimedia Swiss Army Knife I've always dreamt of. The following screenshot shows gxine playing radio.
gxine playing radio
(Click to enlarge)
I use gxine for almost everything -- watching films, listening to CDs while coding, listening to Internet streaming radios (Gxine includes a bookmark list of Internet radios, and also some funny campus TVs), and watching DVDs. One special thing about the Minislack Xine-lib package, is that all Mplayer codecs are included, with the result is that I haven't come across an encoding format that doesn't play in Minislack (including RealPlayer).
Gxine provides four levels of preference options, ranging from "beginner" to "master." As a result, newbies can easily setup their CD players, whereas multimedia gurus can fine-tune virtually any codec option.
This great multimedia player integrates really well in the Minislack desktop.
The Bluefish editor
Also, like other editors of its class, Bluefish provides project management support, and much more. Bluefish thus makes it possible to simply update complete Web sites equipped with lists for chips, bonds, hypertexts, images, and forms. For example, Bluefish can produce forms that can collect data to be sent by electronic mail. Bluefish will satisfy Web site designers who like to take direct control of their html code. However, Bluefish does have a few design flaws, such as occasionally presenting a confusing menu tree structure, and some missing features, such as the persistance of search keywords between successive searches.
The following screenshot shows Bluefish in it's default configuration, with all of its Web-related menus exposed.
Bluefish with all of its Web-related menus
(Click to enlarge)
The next screenshot shows Bluefish as I like it -- "simple, yet powerful".
Bluefish in my "simple, yet powerful" configuration
(Click to enlarge)
Incidentally, I have performed launching-speed comparisons between Bluefish and Gedit, and have discovered that Bluefish is several times faster. This is important, because I sometimes launch it from command line like this "bluefish ./*.c ./*.h" and it opens more than 30 files very effectively.
Although the main focus of this article has been Minislack, the article is also about a successful desktop migration to Linux. In my opinion, the most important factors for success are:
It has been a pleasant surprise to discover that such a complete, yet small and non-demanding (in terms of resources) distribution as Minislack exists. I plan to continue to work with it as my primary platform for playing around with Linux.
- The preparations you make, and thoughts about your choices. Think twice, and you double your chances for success.
- The halfway conversion toward OpenSource ahead of time, so that you're familiar with the software. Alternatively you can lean on someone who is experienced with Linux.
- The choice of distribution, although this is not as critical as many people assume. In my case, I placed a high priority on keeping it simple, without too many options.
- Finding helpful sources, primarily on the Internet.
- Perseverance (another word for stubbornness).
I have seen the popularity of Minislack climbing over the past several months. Given the enthusiasm from the team, I believe this will continue. I also believe that Minislack will continue utilizing OpenSource applications only -- it is in the entire nature of the distribution. Commercial (proprietary) software is excluded.
I came from a non-Linux environment (Windows). Now, instead of a standard system with a very limited route for upgrades, I have a fast and flexible Linux system -- highly upgradeable, and equipped with all the software I use on a regular basis. Plus, in my case, it provides a foundation for me to begin to play with webserver toys (the online store I mentioned earlier).
In "The Matrix," the main character, Neo (Keanu Reeves), the "Chosen One," is offered the choice between a Red Pill and a Blue Pill. Choosing the Red Pill, he chooses to see the truth, i.e. the matrix and the world as it truly is. This catapults Neo down the path of fighting the established system, with all its money, agents, and power. Linux is my Red Pill.
Do you have comments or questions on this article? Let us know what you think in the talkback thread for this article:
Join the discussion
About the Author
Claus Futtrup has been working for Dynaudio, the loudspeaker manufacturer, since 1997 in the Research and Development department. He has a Masters Degree in mechanical engineering, specialized in material science (rubber, polymers in general, ceramics, metals -- "you name it"). He has worked with various computer networks over the years, but is primarily interested in using the computer and its applications for productive tasks. Coding software is a spare time hobby, programming (free) software for the loudspeaker hobbyist and industry.
(Click here for further information)