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 doivent être faites avec les privilèges root
  • les opérations sur l'utilisateur, ou sur la mise à jour du script, 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.0.0 - 22/12/2017

  getFirefox 4.0.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.0.0 - 22/12/2017

  installation Firefox-latest

    - téléchargement...

/tmp/getFirefox-install-23584/firefox-nig 100%[===============================>]  57,26M  5,09MB/s    in 13s     

   - décompression...

   - installation...

  Firefox latest est le canal par défaut du système

  Firefox-nightly 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é)
  • 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.0.0 - 22/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 Firefox <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) de Firefox <canal> (root)
  getFirefox s-canal  : canal comme défaut du système (update-alternatives & commande firefox) (root)
  getFirefox u-canal  : ajouter un profil pour l'utilisateur en cours
 
  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/

version

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

  script en place: 4.0.0
  script en ligne: 3.16.0

  .....++++

  Firefox en place: esr    : 52.5.2    latest : 56.0.2    beta   : 56.0      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 mise à 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
  • getFirefox d-all possible
  • ajoute un profil pour un canal Firefox installé
  • évite de télécharger inutilement une nouvelle fois pour un nouvel utilisateur:
  • ajout à l'utilisateur en cours
  • ajout pour un autre utilisateur, titi pas exemple: USER_INSTALL=titi getFirefox u-beta

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é
  • update-alternatives, si supportée, sera configurée sur le plus bas canal installé
  • la commande en console firefox sera aussi configurée pour le plus bas canal 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

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

pager /var/log/sdeb_getFirefox.log

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