Thursday, May 29, 2008

Ready to Try Linux? Here's What to Do

I've been sharing my blog from time to time with the interested few, but I've mostly found that people are content with (or resigned to) working with Windows and not getting too worked up about things like freedom from EULAs. People don't like change, and I can't criticize, since I'm very much a creature of habit myself. But I spoke with a library colleague this week who has actually found my blog helpful (!), but who is on the fence about committing to Linux and is intimidated by the idea of drive partitioning for dual booting (which I actually haven't done, since I installed Linux onto a separate hard drive than Windows). I'm thinking about getting a new laptop for my looming new job (more later), so when I do, I'll set up a dual boot on a single hard drive and report back.

In the meantime, if you just want to try out Linux, you have a few options that will not ruin your life forever (though you probably want to back up your data - but this is good practice anyway):

Live CDs/DVDs

A live CD (or DVD) allows you to boot up a Linux system without installing anything on your hard drive. The most well-known of these is Knoppix, which is based on Debian and runs a KDE desktop. Running Knoppix was my first Linux experience, and I was impressed by what I saw. Nowdays, though, nearly any of the most popular distributions will have a Live CD option, including Fedora and Ubuntu, both of which use the Gnome desktop, which I prefer. Here are some basic things to know about using Live CDs:
  • You can order these from each individual distribution's web site, or if you have a CD burner, you can download an ISO file and burn it to a CD yourself using a decent CD recorder program (like this one). Please note that the built-in Windows CD burning tool will not do this!
  • You need enough RAM to run a live CD - 512 MB should suffice, 1GB is better, but I've run Knoppix - slowly - on 128 MB
  • Most desktops are not configured to boot from CDs, so you will need to change your BIOS settings to allow this (this page might give you an idea of what to do - poor spelling, good illustrations)
NOTE: While Knoppix (others work this way too) boots up, you might be alarmed by all the text running across the screen, thinking that it's something dangerous and irreversible, but please relax - this is just the Linux kernel at work, detecting your system's hardware configuration and attaching drivers to each device. Ubuntu saves you from this and presents a splash screen not unlike Windows XP.

Wubi

One of the bragging points about the new Ubuntu distribution (8.04 LTS, also known as "Hardy Heron" or just "Hardy") is that you can install Ubuntu as a program that runs inside Windows. I haven't gotten this to work yet, but since I already run Hardy Heron on three computers, there's no need :-). Wubi (as this program is known) is available on the Hardy Heron Live CD or by direct download. One thing to know about Wubi is that it modifies the way your computer boots so that you can choose to boot into Ubuntu or into your normal operating system (like a dual boot, but easily reversible). If you install Wubi and don't like it, you can uninstall it by going to "Add/Remove Programs" in your Windows control panel.

Damn Small Linux

Another Linux distribution you can install inside Windows is Damn Small Linux (or DSL). DSL works well with older systems with very few resources, and runs very stripped down versions of Firefox and other standard Linux programs. It takes up virtually no hard drive space and no memory on a standard PC. There are others of these "minimal" Linux distributions (including Puppy Linux, which I used to briefly resurrect an old laptop).

Virtual Machines

If you have the hard drive space and memory to spare, a virtual machine might be the way to go. The most popular is VMWare, which is not a free program (though I think you can install a basic version for "educational purposes"), but my program of choice, at least on Ubuntu, is VirtualBox, a version of which is licensed under the GPL (as are all software programs currently dear to me :-)). Windows has some special prerequisite installation programs before it will run VirtualBox, but the program is well-documented.

Virtual Machines have the advantage of allowing you to run different operating systems independently and without affecting your hard drive (aside from taking up space). If you have the resources, try Ubuntu, Fedora, or whatever distributions you like without having to make a big commitment. Another advantage is that you don't have to burn the installation disk to a physical CD. You can point the virtual machine to the CD image, which is actually much faster (and cheaper).

Good luck and have fun!

Friday, May 23, 2008

Wine Is Not an Emulator

One of my biggest hesitations about moving to a completely Linux-based environment at home is that I actually use several programs that only run on Windows systems, and so far I have not found truly comparable free/open source alternatives. Having done a lot of online reading about this issue, I find that there are always two or three programs that people often can't live without and that don't run on Linux (which is why dual boot situations are often desirable). There have been many attempts to port Windows programs to Linux platforms, but none have worked better (so far) than Wine.

Wine is a program you can download on Linux platforms that allows you to install and run Windows programs. It is not an emulator, as the name suggests, but is more of an application layer that runs on top of your Linux platform. While it is available in the Ubuntu package repositories (see my previous post about downloading software), that version is older (as are many default installations in the repositories). The best way to download Wine on Ubuntu or Debian is by following these instructions from the Wine HQ site.

Once you have Wine installed, you can begin installing Windows-platform software. Just to see how it would work, I went out to the web and downloaded the Windows version of Mozilla Firefox:



and double-clicked the icon on the desktop. Since it's an .exe file (Windows executable) that would not normally function in a Linux environment, it is opened by Wine, and up pops the familiar Windows Firefox installer window:


When I click next, it installs very quickly (Linux does work faster than Windows in nearly all respects - there are reasons for this that I might go into in a later post). Here's a screenshot of Windows Firefox running on Ubuntu under Wine:


Of course, I already have Firefox, as it comes standard with Ubuntu, so this is not the same thing as, say, Adobe Photoshop or Dreamweaver, but it illustrates the functionality of Wine. Give it a try!

Wednesday, May 21, 2008

Windows vs. Linux vs. Apples vs. Oranges

There are many discussions on the Ubuntu forums that compare Windows and Linux, and most non-newbies tend to tire quickly of the whole topic. Windows and Linux have major similarities and differences in functionality worth discussing when talking to someone who's wondering why they would ever bother with Linux. In fact, I recently checked out a book from the library that I had glanced at a couple of years ago called Moving from Windows to Linux, and that book's entire discussion centers on how things work in Linux and its "free as in beer" quality without discussing at all the implications of the GPL and open source code. But that's why I think the Windows vs. Linux functionality discussion should only be had after you've decided you're on board with free/open source software. And at that point, the whole question of "Does Linux work better than Windows?" is asked in the proper context.

Comparing the product Windows with the product Linux can bring mixed opinions, especially if all you know is Windows. Of course, even this feature by feature comparison is difficult, given the magnitude of variables on the Linux end of the scale. The very funny Mac vs. Windows ads with the frumpy, suited, older Windows guy and the laid back, bluejeans-clad Mac hipster show how cool trumps corporate every time, but what makes this comparison possible is the monolithic nature of each operating system. For a comparable Linux vs. Windows ad, you'd have the frumpy guy on the left and a huge group of people, each with her or his own personality, preferences, appearances, goals, and ideals on the right. Linux is not monolithic. It is a large and myriad community, so such comparisons are not truly possible.

The ultimate difference between Windows and Linux, though, is about goals. I just went to a training session at the library for one of the most prevalent library databases and it was led by a representative of that company. He's a sales rep and he talked like one - mentioning things like customer retention and besting the competition (Librarians vs. Google), and he did a lot of name dropping of high-profile corporate customers and his main thrust for us seemed to be that his company's product is just the best one out there. He was nice enough, and I don't mean to be condescending - he just misjudged his audience. His goals are to sell his product (which we've subscribed to for many years and have no plans to cancel - it is a high-quality reference database) and to inspire brand loyalty. Our goals as librarians are to know our resources for the end goal of high-quality information provision. You can say that this amounts to the same thing, but the difference in goals is key to any further discussion.

This point is the same with any Windows vs. Linux discussion. The goal of Microsoft is to make money. The goal of Linux distribution providers are usually to provide a free, high-quality operating system that can be shared without a license, etc.

Of course, the short answer to the question is "Linux is better." :-)

Friday, May 16, 2008

I (heart) Debian


As I mentioned, I am using a virtual installation of Debian "etch" to learn how a Linux server works, and I wanted to write about how impressed I am with Debian in particular as a rock-solid, stable, and principled Linux distribution. I was just reading through some of the online documentation provided on their website and I just get the warm fuzzies about it :-). Of course, this is a sign that I've either 1) finally lost it or 2) have achieved a level of geekdom seldom dreamed about or 3) a bit of both. Okay, here's what I love about Debian:

Stability and Functionality

Debian takes great care testing software and making sure that it is as bug-free as possible, which results in situation where it is both a) never on the cutting edge of software technology and b) extremely reliable and functional. They maintain three versions of Debian at a time: the stable distribution (currently named "etch"), the testing distribution (currently named "lenny") and the unstable distribution (always named "sid"). The names come from the Pixar film Toy Story, a fact which I just recently learned. Debian is often criticized in the Linux community for being so slow to release, and is not nearly as popular as a desktop distribution as, say, Ubuntu (more about this comparison to follow).

Strong Principles

In the late 1990s, when the free-software movement developed the term "open source" to describe free software projects in a way that the business world could understand, the creators based the Open Source Definition (OSD) on the Debian Free Software Guidelines. Debian as an organization adheres very strictly to these when choosing software to include in its distributions, and there have been controversies (in the free/open source software world) about the policy, including a high-profile rejection of the Mozilla Firefox brand name. For the average end user, this does not amount to much, of course, but that's one of the main reasons Debian is able to keep its reputation for integrity - they are willing to make controversial or otherwise unpopular decisions. Debian also insists on officially being called "Debian GNU/Linux" in reference to the fact that the Linux kernel is only a part of the operating system as a whole. Free software pioneer Richard Stallman has an opinion about this as well.

Foundational for Other Great Distributions

Debian is the basis for many other distributions, most notably Knoppix and (of course) Ubuntu. Since I moved to Ubuntu, I have often thought of it as Debian's "really unstable" branch, though Ubuntu has a different mission in mind and is associated closely with Canonical, which, like Red Hat, is a for-profit company seeking to gain an enterprise Linux market share (not that there's anything wrong with that :-)). Debian was my first choice as a Linux distribution when I got into all this, and I'm happy I went with it.

Wednesday, May 14, 2008

Evergreen ILS - Server Installation

For reasons I won't yet go into, I've been working to install the Evergreen ILS server on my virtual installation of Debian server. Here's what I've done (more than once for learning's sake):

  1. I downloaded and installed VirtualBox on my Ubuntu Hardy Heron installation.
  2. I installed Debian etch using its Network Installation CD ISO image (you can virtually mount the ISO as a CD/DVD ROM - but I also needed a physical copy of this same image for steps later in the Evergreen installation process).
  3. In the Debian installation process, I selected that I wanted a standard system, an SQL server, and a web server. I de-selected the desktop environment option. Everything that can be done with Evergreen has to be done by command line anyway.
  4. Once everything was up and running, I began following these instructions on the Evergreen Wiki.
    • There are several preconfiguration steps I had to do at this page.
After I had downloaded and installed all the software (which was a very educational experience in itself, seeing CPAN in action and watching Perl scripts fly across the screen), created all the relevant users, and edited the necessary XML files, I attempted to start Evergreen using these instructions.

I hit problems immediately. First of all I had trouble finding the osrf_ctl.sh script which starts up the OpenSRF framework that Evergreen runs on. When I did finally find it and get it going, I got the error "line 108: opensrf_router command not found." I have installed the system twice now and still get this error. I found this thread, in which another user encountered the same error. The guys at Equinox who designed and manage Evergreen offered some help and I am now doing a fresh virtual install of Debian to give things another try. This might be a documentation problem, in which case I will notify Equinox.

Sunday, May 11, 2008

Using Virtual Machines

I've entered a new world on my Ubuntu box since I discovered virtual machines (VMs). I've installed VirtualBox (http://www.virtualbox.org/), and I am currently running a virtual version of Debian server so as to learn that environment, but I have tested Fedora as well, and have even installed Windows XP (though I need a product key to continue, and though I know there exist workarounds for this, I have a dual boot situation and don't really need it).

Using VirtualBox is simple and intuitive. You set the size of the virtual hard drive, set the RAM usage (which means you have to have enough memory on your computer to both run your normal OS and the virtual OS at the same time), then you just need a way to install. You can use a physical CD, since the VM makes use of your existing hardware if you configure it to, but you can also skip the step of burning a CD for your preferred Linux distribution since the VM can boot from an ISO image! You're really only limited by your hard drive space (typical Linux distros require 8 GB for a regular install) and your memory (which cuts into your normal OS performance, but I have 1.5 GB and am able to easily spare 512 MB for this). Of course the implications for this are enormous and have not been lost on the business world, particularly in the area of server virtualization.

For me, this is just giving me an opportunity to delve into other Linux distributions that I wouldn't wipe a hard drive for!