Senin, 15 Maret 2010

Alternative Unix Software Installation Methods

In one of my education classes this trimester we are getting to play with wonderful pieces of technology called "SMART Boards" Essentially a SMART board is an interactive white board, they are typically used in classrooms or occasionally in business meetings (if you have never played with one before I highly recommend you check them out, very fun). At any rate - we all know that hardware is fairly useless without good software to make it function properly.

My teacher informed us the first day of class that the school would provide us with copies of the SMART software so we would have a chance to learn to use the SMART board fully. I'm been using Linux for some time now and I'm going to be honest, when I heard this I thought to myself "Well there is one more thing I'll have to run through Crossover or boot up the VM to use."

What can I say: I'm a cynic at heart.

As such I was pleasantly surprised when I navigated my way to SMART's website and discovered a fully cross-platform application set for interacting with the SMART board. When I clicked through to the download page for the latest version of the SMART software I found a single package download link for Linux. Again being a cynic at heart I was expecting to have to go through something like this again once I opened that tar.gz package. After the 22megish file archive finished downloading, I extracted the contents and much to my surprise I was greeted by a single file with the extension ".package" Curious, I had never seen a file with this extension before. Being a "jump in with both feet first" type person when it comes to technology I gave the file a double click, doing so caused Ubuntu to greet me with a message I had seen many times before: "The contents of this file appear to be an executable text file what would you like to do?" I went ahead and selected "run contents in terminal".

All I have to say is: Man was I blown away.

What proceeded to run on my computer was quite possibly the most seamless non-distro specific package installation I have ever experienced. While the installer worked it's magik I did a quick search on the Linux Answer Machine as to what exactly this ".package" file was. I found it was created by a packaging system called "Autopackage"

Autopackage is a distro neutral method of packaging up software for distribution to the Linux platform. It provides a sleek GUI for doing so and even installs itself from the first .package file you run on your system. Autopackage is designed to install and manage non-core libraries and software on Linux systems with ease. Upon further research I discovered that the Autopackage project had been around for some time now.

Wait, there has been an easy method of packaging software for any Linux Distribution and I have just now discovered it some years after it's creation? Why is that? Something must be wrong with it or defective for this to be the case, right?

Unfortunately this is one of those more gray Yes and No. Type answers.

On the yes aspect, Autopackage works - and works well. It allows a software developer to only have to maintain a single package (or two if they want to support 64bit platforms) and rest assured that it will work regardless of the Linux environment of the user. It makes software installation on Linux as seamless as it is on the Windows platform - which is something Linux needs if it is going to gain support from commercial software developers.

On the no end of the answer, many Linux users will point out that installing something through Autopackage means that the software installation circumvents your distro's package management system. Meaning said installed software will need to keep track of it's own updates (Autopackage keeps track of the software's components for removal purposes).

Now, perhaps you like the idea behind Autopackage, but you don't care for how it handles certain things. There must be some other choice out there for a universal Linux software installer right? Of course there is! The "MojoSetup" installer allows for a similar easy package installation method for Linux software. The two most notable differences between the two are that Mojo relies on each package to keep track of it's own files for removal purposes while Autopackage provides a central location for managing all things installed from .package files. This fact leads to the other difference about the two. Autopackage needs to install itself before it can function on your system, MojoSetup runs fully from the install .bin/.sh file and does not need to install any additional components on a user's system to function. While the second of these is really a minor detail for most people I feel it is worth mentioning.

Finally I would like to mention two other alternative application installers for Linux. Zero Install is a net-based method for running applications on your computer without having to actually install the application itself and Klik is a method of compiling packages into a compressed archive that can later be mounted and run again without any installation.

Know of another piece of (non-package manager) software that enables a distribution neutral, friendly, application installation that I didn't mention here? Drop a comment below so I can check it out!

~Jeff Hoogland

Tidak ada komentar:

Posting Komentar