Tuesday, October 18, 2005

Installations

So, I got an email asking me about software install in Linux - specifically, he wanted something that "allows me to install software by double clicking an executable file and then locate a folder where I want to install the software in"

So, I wrote an answer, and then decided to put it here as well. So:

Here you'll run into problems. This is one of those places I highlighted in the article - Linux does things differently. Not badly, just differently. You don't download an installer via your browser, save it to your desktop, and double-click it to install it.

Instead of downloading a new installation program every time, you have one piece of software called a "package manager", and you do all installs via this one piece of software.

For example, when I installed the Firefox web browser on a Windows PC, these were the steps:

- Use Google to find out where to download Firefox from
- Go to mozilla.org
- Navigate to the "download" page
- Download the installer
- Double-click on the installer
- Tell the computer where to install the software. *Most* of the software will install here, however, it's important to remember that some of it goes elsewhere. (Installing to a USB disk & then trying to run the software on another Windows machine will illustrate this)

That's a typical enough Windows install, and it's an easy enough process. It's actually possible to do something very similar in some Linux distros, at least sometimes, however, the 'proper' way to do it is via the package management software. Installing Firefox on a Linux computer therefore consisted of:

- Open package manager
- Highlight "Firefox"
- Click "install"

Job done. And done with fewer steps, in fact, than in Windows.

Now, this doesn't allow you to specify where the installation happens. But there's a reason for that - in Linux, there's really no need to. After all, why does anybody want to install to a specific place? It makes it easy to find (most of) that software's files, and it make it easier to remove it if necessary.

Now, the whole point of a package manager is that it keeps track of installations for you, so using the package manager to install negates most of the need to keep track of the files. And the Linux filesystem hierarchy pretty much negates the rest - If I want the global config files, I'll look in /etc, if I want my personal config files I'll look in /home, and if I want the executable, I'll look in /usr/bin, and so on. Between my package manager and myself, we know where all the files will go, so there's no advantage in having them all in one place. Quite the contrary, in fact.

So: Admittedly, if you're browsing the web, find a cool bit of software on a web page, and want to install it, then just clicking on the "download" link of the page you're already on makes it seem like the installation is simpler the Windows way. But IMHO, the minor extra effort that you may have to go to to install something the Linux way is negated by the way the package manager will install it for you, keep track of the install for you, and also download any other pieces of software you may need before you can use the software.

Finally, if you have a real, pressing need for the software to go into a specific place, then you *can* do this by compiling it from source and specifying an install in a different place than the default. But that's a very specific and unusual need that a newbie is unlikely to have.

So: Installing software in Linux is, in my experience, certainly different from Windows, but in no way is it inferior. Quite the contrary - it's simpler and better managed, and coupled with the Linux filesystem hierarchy putting files in predictable places is a superior system all-round.

0 Comments:

Post a Comment

<< Home