Debian : Installer la dernière version de Firefox

Install latest Firefox version on Debian

Debian propose dans ses paquets la version Firefox ESR qui peut être adapté à certains cas d'usage mais pour d'autres, il est frustrant de ne pas pouvoir bénéficier des dernières features. Sur wheezy, et pendant un temps sur jessie, il était possible d'utiliser un dépôt de l'équipe Debian Mozilla pour installer la dernière version de Firefox et Icedove. Finalement, il y a une méthode simple qui consiste à récupérer et extraire une archive contenant le binaire Firefox. C'est d'ailleurs la méthode décrite dans la documentation officielle (chapitre Installing outside of a package manager).

Idée générale

L'idée générale de l'opération se compose de 3 points :

  • télécharger l'archive de la dernière version ,
  • extraire dans un dossier (par exemple /opt),
  • exécuter le binaire firefox.

Pas plus compliqué que sur Windows ;-). En plus de ça, les mises à jours se font automatiquement.

Dernière information, les profils dans ($HOME/.mozilla/firefox) seront évidemment utilisés.

Que vous utilisiez la méthode manuelle ou automatique, comme expliqué juste au-dessus, l'opération n'est à faire qu'une seule fois : lorsqu'une mise à jour est disponible elle sera téléchargée automatiquement, il ne restera qu'un restart du navigateur à effectuer.

Installation pas à pas

Je reprends rapidement ce que décris la documentation et finirai par un playbook ansible qui automatise ça.

Avec la cli

Mozilla a la bonne idée de tagger une archive latest qui pointe vers la dernière release stable de Firefox.

wget "https://download.mozilla.org/?product=firefox-latest&os=linux64&lang=fr" -O /tmp/firefox.tar.bz2
tar xjf /tmp/firefox.tar.bz2
sudo mv /tmp/firefox /opt
pkill firefox
/opt/firefox/firefox

Si la dernière commande ouvre Firefox, c'est gagné. Sinon peut-être qu'il manque des librairies ?

Comment ouvrir firefox ou thunderbird maintenant ? Avec un window manager type i3 le problème est vite réglé mais sur un bureau Gnome-like ?

Application Firefox

Chaque application graphique dispose d'un fichier .desktop dans /usr/share/applications. Sur Debian, comme Firefox ESR est pré-installé, le boulot est à moitié mâché.

On duplique le fichier pour notre propre version de Firefox :

sudo cp /usr/share/applications/firefox-esr.desktop /usr/share/applications/firefox.desktop

Les paramètres à modifier dans ce nouveau fichier sont : Name, Exec et Icon.

- Name=Firefox ESR
+ Name=Firefox

- Exec=/usr/lib/firefox-esr/firefox-esr %u
+ Exec=/opt/firefox/firefox %u

- Icon=firefox-esr
+ Icon=/opt/firefox/browser/chrome/icons/default/default128.png

L'application "Firefox" doit être à présent accessible par le DE : typiquement dans le menu "Recherche". Il est donc possible de définir cette nouvelle application dans "Preferred Applications" pour le Web.

Automatisation

Parce que j'utilise ansible pour configurer la base de mon poste de travail, je me suis crée une task automatisant les étapes ci-dessus. Les tasks font parties de mon rôle "base" mais celui-ci n'étant pas (encore ?) publique, j'ai mis à disposition sur mon github, un playbook reprenant l'idée générale. Le playbook se trouve ici : https://github.com/pboesch/ansible-firefox-deb.

Je pars du principe que ansible est installé :

git clone https://github.com/pboesch/ansible-firefox-deb
cd ansible-firefox-deb
ansible-playbook playbooks/localhost.yml -K

Un extrait :

- name: Install latest stable Firefox and latest beta Thunderbird
  hosts: localhost
  become: True

  tasks:
    - name: download and extract latest firefox
      unarchive:
        src: "https://download.mozilla.org/?product=firefox-latest&os=linux64&lang=fr"
        dest: /opt
        remote_src: yes

La playbook installera aussi la dernière version bêta de Thunderbird.


Commentaires