Food, Wine, and Linux may seem like a strange combination, but combining three passions can be a wonderful thing. I'm Marcel Gagné. Those of you who read Cooking with Linux, the multi-award-winning column that appeared monthly in Linux Journal magazine for 10 years, likely agree. With the help of my faithful waiter, François, Restaurant Chez Marcel serves up the finest in Linux and open source software paired with exceptional wines.
In that same spirit, this site features great Linux and Open Source software, ongoing wine tasting reports, recipes, and the occasional restaurant review. If you came here looking to read past Cooking with Linux columns, you'll find newer releases on the front page, a comprehensive list here and under the "CWL, The Column" menu link to the left. A votre santé! Bon appétit!
Evolution, Linux, and Gentoo
I'll start at the end by telling you that I'll finish this with a discussion of my “Distro of Choice”, Gentoo. But before we get there .....
It royally annoys me when people say that Linux is too hard to learn! Admittedly, Linux is probably insurmountable for some people, in the same manner that learning Psychology would be insurmountable for me. Not everyone has an interest or talent in computers and their software. However, the statement that began this paragraph has been used to categorize computer users in general. I don't have a particularly strong computer background, but I do have an avid interest in them, so I figure that if I can do it, anyone with a modicum of talent and interest in computers can learn Linux if they want to.
I was first introduced to Linux in 1998, when it was, perhaps, entering “puberty”. Prior to that, I had some exposure to Unix. In that exposure, I didn't really have to understand what I was doing, because everything was done by rote, either from the command line running shell scripts (and back in those days, I didn't even know what a shell script was), or from a menu driven interface. The first time I was told to 'cd /etc', I thought etc stood for et cetera, which in essence, I suppose it does, since in Linux, 'etc' is where you put things that sort of don't fit anywhere else.
When I was introduced to Linux, I was interested in learning about it because I liked my limited exposure to Unix and I also had a love for the command line, which came from taking courses in DOS and having an amazing instructor. Other than DOS, my formal computer training involved taking some classes in word processing and spreadsheets, all in a Windows environment.
Red Hat Linux was what was first recommended to me and although I attempted to use Red Hat Linux 5.0 on a 486 computer, I soon gave up because the graphical user interface was painfully slow, as it is on any slower computer. My formal use of Linux didn't start until 2000 when I got a faster computer.
In those days, Linux was harder to use and if you didn't have a love of computers you might have given up. One of the most difficult things for me was trying to figure out where everything belonged and learning to overcome what was called “dependency hell” when you tried to install a program which depended on something and you had no idea where to get that something.
Linux has come a long way since then. Most people that I know lean toward Ubuntu/Kubuntu, if they use Linux on a home computer. I first deviated from the Red Hat / Fedora strain when I was having problems getting Fedora Core 4 to recognize the screen on an old laptop that I had inherited from my son. While there are generally few problems with Linux in general, one occasionally rears its head. One plus for Ubuntu / Kubuntu is that if recognizes most hardware and in this instance, it installed on my laptop without a problem. However, I personally don't particularly like the Debian strain of Linux's and one of my pet peeves is that most distributions will install both of the main desktop interfaces – Gnome and KDE.
Since I wanted more control of my system, I was interested in Gentoo when I heard about it because it offers that control. Gentoo is a more difficult distro to master because, unlike the install of Ubuntu/Kubuntu, where you can be almost brain dead and still get Linux installed, you have to create configuration files during the install process. However, the Gentoo manual, http://www.gentoo.org/doc/en/handbook/index.xml, is superlative in explaining what you need to know. Again, I figure if I can master Gentoo, anyone can if they have a desire to do so.
While the package managers of other distros are excellent, for me nothing beats the Portage package manager of Gentoo. When using Red Hat / Fedora and then Kubuntu, I still found that there were some packages that package managers like yum or Synaptic had trouble finding. Such is not the case with Gentoo. Portage is run strictly from the command line and while there are binary packages, for the most part, software gets installed from source. This is somewhat a deterrant because it takes a while to get your system up and running, but have I mentioned the control that you have?
When you install a package, what gets installed is controlled by something called a “USE flag”, which is essentially a switch that says you want support for something built into the package that you are installing. “Use flags” are set globally or in the file 'make.conf', which is one of the configuration files that you have to create during the Gentoo install process. Some “USE flags' are set on by default because support for what it controls is required. Where the control comes is from the “USE flags” in the 'make .conf' file. For instance, since I don't like the Gnome desktop, one of the “USE flags” I have in my 'make.conf' file is '-gnome'. This does not mean that you are unable to install a package like 'gnumeric', it just means that the gnome desktop is not installed and only those gnome packages on which gnumeric depends are installed. The following screenshot will show a bit of what I am talking about:
(click the image for the full-size version)
To install a package, you issue the command 'emerge'. In the screenshot above, the switches -av tell the package manager to ask before installing and to be verbose, that is, give details about what is going to be installed.
To install the game 'pingus', portage wants to first install dependent packages, 'boost-build' and 'boost'. If you wanted to go ahead and install the three packages, you could just respond 'yes” at the prompt. However, if you were curious as to what boost was, you could issue the command 'emerge -s boost' and some information about the package will be returned.
From the discussion on “USE flags”, you will note that the flag “python” is set for the package 'boost-build'. This is a required flag because python is required by “boost-build”. If I did not already have python installed on my system, that package along with any missing dependencies that I didn't have installed would also appear in the list.
For the package “boost”, all “USE flags” are turned off. That is not to say that you can't turn them on for an individual package. If I were installing the three packages above and wanted the documents for “boost”, I would do this:
First, emerge boost-build → this would install the first package
Second, USE=”doc” emerge boost
And finally, emerge pingus
This barely scratches the surface of using Gentoo and granted, this distribution will not be for everyone. However, for me Gentoo offers the control that I want and as an added plus, I have learned a lot about writing configuration files and where things get stored on my system. And my point here is that if I can function reasonably well using Gentoo with my background, how hard can learning Linux be? All you need is the desire and I for one, am eager for the experience.
-- Colleen Beamer, aka "Beamie"


Comments
According to this Linux
Re: According to this, Linux . . .
I did try Gentoo around 2003
Gentoo is still around
I just have one word!
The difference...
Thanks
It's good to look at different distributions...
Gentoo is more time consuming