kyopages/docs/scripts/getFirefox.md

12 KiB

getFirefox

c'est un script bash qui télécharge les dernières versions officielles de Mozilla Firefox des différents canaux possibles: latest la release officielle, mais aussi ESR beta, nightly, et dev.
les mises à jour de Firefox sont par défaut autorisées et gérées par Firefox (corrections mineures
permanentes, en tâche de fond, et une version majeure toutes les 6 semaines environ).
le script se mettra éventuellement à jour, sans influence sur les canaux Firefox installés.
le script installe un canal Firefox pour l'utilisateur en cours.
le script peut charger des fichiers de personnalisation et les mettra à jour périodiquement
le script peut désinstaller les canaux Firefox souhaités

  • les installations/désinstallations/opérations système doivent être faites avec les privilèges root
  • la mise à jour du script ou autres opérations légères peuvent être faites en utilisateur.

le programme Tor Browser est dorénavant pris en charge par getXfox

installation rapide du script

  • privilèges root requis
wget -O getFirefox https://framagit.org/kyodev/kyopages/raw/master/scripts/getFirefox
chmod +x getFirefox && ./getFirefox
              _   _____ _           __
    __ _  ___| |_|  ___(_)_ __ ___ / _| _____  __
   / _' |/ _ \ __| |_  | | '__/ _ \ |_ / _ \ \/ /
  | (_| |  __/ |_|  _| | | | |  __/  _| (_) >  < 
   \__, |\___|\__|_|   |_|_|  \___|_|  \___/_/\_\
   |___/ 
     version 4.6.0 - 26/12/2017

  getFirefox 4.6.0 installé dans le système.
  maintenant, appel du script par: getFirefox (sans ./)

  • le script est maintenant dans le système et tout utilisateur peut s'en servir.
  • Firefox n'est pas encore installé
  • un canal Firefox peut maintenant être choisi et installé (latest, esr, beta, nightly, dev)

installation d'un canal Firefox

getFirefox i-canal
  • privilèges root requis
  • getFirefox p-all possible
  • la version stable en cours de Firefox est nommée latest
              _   _____ _           __
    __ _  ___| |_|  ___(_)_ __ ___ / _| _____  __
   / _' |/ _ \ __| |_  | | '__/ _ \ |_ / _ \ \/ /
  | (_| |  __/ |_|  _| | | | |  __/  _| (_) >  < 
   \__, |\___|\__|_|   |_|_|  \___|_|  \___/_/\_\
   |___/ 
     version 4.6.0 - 26/12/2017

  installation Firefox-latest

    - téléchargement...

/tmp/getFirefox-install_ffx/firefox-latest. 100%[=============================>]  53,75M  4,66MB/s    in 12s     

   - décompression...

   - installation...

  profil Firefox latest configuré
  Firefox latest est le défaut système
  Firefox-latest installé

  • la dernière version officielle du canal Firefox est installée, en étant directement chargée sur le site Mozilla
  • un lanceur par canal installé est placé dans les menus (Applications/Internet)
  • l'installation de Firefox sur un canal existant est refaite en totalité, mais le profil n'est pas modifié
  • chaque canal peut être lancé en console: firefox-latest firefox-beta firefox-dev firefox-nightly firefox-esr
  • le dernier canal installé est configuré comme défaut dans le système, c'est-à-dire comme:
    • cible de la commande firefox en console (en plus de firefox-canal)
    • prioritaire dans update-alternatives (si supporté)
    • par défaut dans le profiles.ini de Thunderbird
  • pour chaque canal, une option permet basculer cette priorité sur le canal choisi
  • les canaux par ordre croissant de versions:
    ESR <= release < beta = developer edition < nightly
  • le canal all est fictif et comprend esr+latest+beta+nightly pour l'installation (pas de dev donc)
  • le canal all comprend toutes les versions installées pour les autres opérations
  • pour chaque canal, une option permet de copier un éventuel profil .default. le profil .default existant est laissé en place.

4 autres canaux, en dehors de latest:

  • Beta, qui deviendra la future version Release
  • Nightly, réservé aux aventuriers, mise à jour tous les jours Mozilla Nightly
  • ESR, mise à jour majeure toutes les ans environ, avec support à plus long terme. en savoir plus Mozilla ESR
  • Developer Edition, basée sur la beta (avec des outils de développement web?)

help

getFirefox -h
              _   _____ _           __
    __ _  ___| |_|  ___(_)_ __ ___ / _| _____  __
   / _' |/ _ \ __| |_  | | '__/ _ \ |_ / _ \ \/ /
  | (_| |  __/ |_|  _| | | | |  __/  _| (_) >  < 
   \__, |\___|\__|_|   |_|_|  \___|_|  \___/_/\_\
   |___/ 
     version 4.6.0 - 26/12/2017

  ----------------------------------------------------------------------
      canaux possibles: latest, beta, nightly, dev, esr
      <all> = tous les canaux
 
  exemple, installation version Release (latest): getFirefox i-latest
 
  getFirefox i-canal  : installation de  <canal> (root)
 
  getFirefox d-canal  : copier un profil .default existant sur <canal>
  getFirefox m-canal  : installation sur le <canal> d'une archive téléchargée manuellement (root)
  getFirefox r-canal  : désinstallation (remove) du <canal> (root)
  getFirefox u-canal  : profil pour l'utilisateur en cours et comme défaut système (root)
 
  getFirefox p-canal  : personnalisation sur le <canal> de user.js & userChrome.css
  getFirefox pr-canal : suppression des personnalisations (remove) sur le <canal>
  getFirefox pu       : mise à jour des personnalisations (update) installées
 
  getFirefox version  : versions installées et en ligne
  ----------------------------------------------------------------------
 
  ./getFirefox (ou ./getFirefox -i) : installation du script dans le système (root)
  getFirefox -h, --help             : affichage aide
  getFirefox -r, --remove           : désinstallation du script du système (root)
  getFirefox -u, --upgrade          : mise à jour du script
  getFirefox -v, --version          : versions du script

  plus d'infos: https://kyodev.frama.io/kyopages/scripts/getFirefox/
  Tor Browser, voir getXfox: https://kyodev.frama.io/kyopages/scripts/getXfox/

version

getFirefox version
             _   _____ _           __
    __ _  ___| |_|  ___(_)_ __ ___ / _| _____  __
   / _' |/ _ \ __| |_  | | '__/ _ \ |_ / _ \ \/ /
  | (_| |  __/ |_|  _| | | | |  __/  _| (_) >  < 
   \__, |\___|\__|_|   |_|_|  \___|_|  \___/_/\_\
   |___/ 
     version 4.6.0 - 26/12/2017

  script en place: 4.6.0
  script en ligne: 4.6.0

  .....++++

  Firefox en place:                   latest: 56.0.2                   nightly: 59.0a1  
  Firefox en ligne:     esr: 52.5.2   latest: 57.0.2     beta: 58.0b12 nightly: 59.0a1  

  perso. Firefox en place: esr: 0.6  latest: 0.6  beta: 0.6  nightly: 0.6  
  perso. Firefox en ligne: 0.6

mise à jour Firefox

  • Firefox gère ses mises à jour et le script permet cet automatisme.
  • cette mise à jour se fait en tâche de fond et est disponible au prochain redémarrage
  • la mise à jour éventuelle peut être déclenchée manuellement avec le menu Aide/A propos de Firefox
  • les correctifs mineurs sont appliqués selon leur disponibilité
  • mise à jour majeure toutes les 6 à 8 semaines environ, la version beta descend en version Release, la version nightly, figée, descend en beta
  • la nightly est mise à jour quotidiennement, voir plus
  • si Firefox n'est pas utilisé, il ne se met pas à jour

profil default, copie

getFirefox d-canal
  • getFirefox d-all possible
  • duplique un éventuel profil .default existant (paquet distribution par exemple) sur un canal choisi.

nouvel utilisateur ou reconfiguration profil

getFirefox u-canal
  • privilèges root requis
  • getFirefox d-all possible (plus haut canal comme défaut système)
  • ajoute un profil pour un canal Firefox installé, pour l'utilisateur en cours
  • configure le canal comme navigateur par défaut (alternatives, commande firefox, profil Firefox)
  • évite de télécharger inutilement une nouvelle fois pour un nouvel utilisateur
  • pour ajouter un autre utilisateur, titi par exemple: USER_INSTALL=titi getFirefox u-canal, ça devrait marcher (pas testé)

personnalisation (installation)

getFirefox p-canal
  • getFirefox p-canal possible

  • user.js est ajouté dans le profil du canal souhaité

  • userChrome.css est ajouté dans le profil du canal souhaité, sous-répertoire chrome/

  • la version indiquée dans user.js fait référence, la version de userChrome.css est indicative

  • les personnalisations sont périodiquement mise à jour, comme le script (7jours)

  • l'url de base peut être changée aisément, les fichiers modifiés et hébergés ailleurs pour mise à jour automatique (sur une plateforme git ou un gist par exemple)

  • dans chaque canal concerné, la configuration se trouve trouve dans le fichier: /home/user/.mozilla/firefox/canal/personnalisation

    • l'url (première ligne) peut y être modifiée
    • la version est indiquée en seconde ligne
  • pour figer des fichiers de personnalisations et ne pas les mettre à jour, il suffit d'effacer les fichiers personnalisation

  • contenu de user.js

  • contenu de userChrome.css

personnalisation (upgrade)

getFirefox pu
  • cette tâche est exécutée périodiquement par cron/anachron et n'a pas vraiment vocation à être lancée manuellement
  • toutes les personnalisations installées sont mise à jour

personnalisation (suppression)

getFirefox pr-canal
  • getFirefox p-canal possible

désinstallation d'un canal Firefox

getFirefox r-canal
  • privilèges root requis
  • getFirefox p-canal possible
  • le profil pour firefox n'est pas supprimé, il sera donc utilisable en cas de réinstallation
  • si firefox-canal est ouvert, il sera fermé
  • le navigateur par défaut sera configuré sur le plus bas canal encore installé

installation manuelle d'une archive

getFirefox m-canal firefox-VERSION.fr.linux-ARCHITECTURE.tar.bz2
  • privilèges root requis
  • installe une archive téléchargée manuellement

suppression d'un profil Firefox

  • FERMER toutes les instances ouvertes du canal
  • en user, lancer en terminal le profil manager de Firefox: firefox -P :
  • sélectionner le profil souhaité
  • cliquer sur supprimer un profil
    • supprimer les fichiers, cela supprimera aussi le répertoire ~/.mozilla/firefox/profilSélectionné
      le profil est définitivement détruit
  • quitter

suppression manuelle de tous les profils

si plus aucun canal de Firefox n'est installé, qu'il n'y a plus de profil manager disponible, et que vous êtes certains de vouloir supprimer tous les profils en place, en user:

rm -rf ~/.mozilla/firefox/

mise à jour script & personnalisation

getFirefox -u
  • test toutes les semaines
  • mise à jour du script si une nouvelle version est disponible en ligne. cela n'influe pas sur les canaux Firefox installés.
  • cette tâche est exécutée périodiquement par cron/anachron et n'a pas vraiment vocation à être lancée manuellement
  • anacron est utilisé, c'est à dire que la mise à jour sera testée, même après l'arrêt du Pc
  • si une personnalisation est mise en place, une mise à jour possible sera elle aussi testée, pour tous les
    canaux concernés

logs

pager /var/log/sdeb_getFirefox.log

tous les évènements importants sont consignées dans le fichier /var/log/sdeb_getFirefox.log
consulter son contenu:

supprimer le script

getFirefox -r
  • privilèges root requis
  • effacement du script dans le système (/opt/bin)
  • effacement de l'inscription dans crontab/anacron utilisateur
  • cela ne supprime pas les éventuels canaux Firefox installés

sources

sur framagit

changelog

sur framagit

contact

pour tout problème ou suggestion concernant ce script, n'hésitez pas à ouvrir une issue Framagit

IRC freenode: ##sdeb

license

LPRAB/WTFPL