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