Wednesday, December 30, 2009

Firefox for Debian Stable

It can be difficult labeling an article so that the contents are obvious.  In a way, this applies here, because whilst it is labeled "Firefox for Debian", it could also be labeled "Mozilla for Debian".  During the course of my research for this article, I found that Thunderbird, Sunbird and Seamonkey are equally covered, and so I have chosen to use Firefox as the example.


Debian Stable, Iceweasel and Updates

As many know, Debian have their own version of Firefox in their distribution, called "Iceweasel".  This is fine as far as it goes, however two things get in the way of practical implementation.  First, a number of websites baulk at this "strange" web browser, and also, once a flavour of Debian becomes "stable", no further version updates appear within a package, only security and bug fixes.  The interval between Debian Stable releases normally exceeds a year, and so by the time a new "Stable" release appears, web browsers and email clients can be significantly out of date.


Installation Methods

So, how can we install a fresh and proper Firefox (or Thunderbird / Sunbird / Seamonkey)?  There are several options:
  • Download the source from Mozilla and create an installable package using Checkinstall.  (there is a variation on this that I am investigating that looks very interesting indeed for many uses).
  • Download the binaries from Mozilla and manually install.
  • Use the Ubuntu repositories.
Whilst they each have their advantages, for the moment I want to look at a manual install.  It is easily understood, enables us to learn a lot about how the software is set up within the distribution and provides us with a lot of background information that is useful if we want to make our own installable Debian packages.


Plugin and Profile directories

Whilst it IS possible to use both Iceweasel and Firefox for the same user, it can definitely get messy, as they use the same profile directory - that is, the directory (hidden) in the user's home directory.  The profile directory contains user information, bookmarks, history and add-ons that the user has installed.  For both Firefox and Iceweasel, this directory is:

  .mozilla/firefox      (note: Seamonkey uses    .mozilla/seamonkey)

Now whilst Firefox has it's default plugin directory within the firefox package, Debian has several plugin directories for all Mozilla products where it installs the Debian supplied plugins.  For our purposes, though we really only need concern ourselves with

  /usr/lib/mozilla/plugins



Program Location

The easiest place to put Firefox is within your home directory:

   /home/username/local/firefox

If this is your chosen location, and this is the easiest, then the program is only available to you.

Another place that Debian leaves alone, is

  /opt

I had a brief flirtation with this as a place to put programs, however the traditional location has won out for a number of good reasons.

  /usr/local

To find out why, open a terminal and type  "   $PATH  "  ... notice that "/usr/local/bin" is the first in the queue for executable status?

To be more precise ....

/usr/local/share/applications


Firefox - Manual Install

Download the latest Firefox from here:

http://www.mozilla.com/en-US/firefox/personal.html

you will have a file similar to this:

firefox-3.5.6.tar.bz2

Assuming it is in your home directory, then open a root terminal from the Applications>Accessories menu and executing from the same directory as the tarball is:

# tar -xvjf firefox-3.5.6.tar.bz2 /usr/local/share/applications

you will now have a directory "firefox" like so :
/usr/local/share/applications/firefox

we now have to put a link to the firefox executable script in /usr/local/bin and link up the plugin direcories.

debian:/# ln -sf /usr/local/share/applications/firefox/firefox /usr/local/bin/firefox 

debian:/# rm -rf /usr/local/share/applications/firefox/plugins
debian:/# ln -s /usr/lib/mozilla/plugins /usr/local/share/applications/firefox

Now, if you open a terminal, you should be able to:

$ firefox

and run firefox.

Finally, remove iceweasel either with synaptic or apt / aptitude.

All you have to do now is to add Firefox to your Gnome menu system / Debian menu system or place a launcher on the desktop.  I'll leave doing that for another post, as this one is long enough already.

No comments:

Post a Comment