mirror of https://framagit.org/kyodev/kyopages.git
369 lines
12 KiB
Markdown
369 lines
12 KiB
Markdown
# 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](https://kyodev.frama.io/kyopages/scripts/getXfox/)
|
|
|
|
|
|
## installation rapide du script
|
|
|
|
* privilèges **root** requis
|
|
|
|
```shell
|
|
wget -O getFirefox https://framagit.org/kyodev/kyopages/raw/master/scripts/getFirefox
|
|
chmod +x getFirefox && ./getFirefox
|
|
```
|
|
```text
|
|
_ _____ _ __
|
|
__ _ ___| |_| ___(_)_ __ ___ / _| _____ __
|
|
/ _' |/ _ \ __| |_ | | '__/ _ \ |_ / _ \ \/ /
|
|
| (_| | __/ |_| _| | | | | __/ _| (_) > <
|
|
\__, |\___|\__|_| |_|_| \___|_| \___/_/\_\
|
|
|___/
|
|
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
|
|
|
|
```shell
|
|
getFirefox i-canal
|
|
```
|
|
* privilèges **root** requis
|
|
* `getFirefox p-all` possible
|
|
* la version stable en cours de Firefox est nommée **latest**
|
|
|
|
```text
|
|
_ _____ _ __
|
|
__ _ ___| |_| ___(_)_ __ ___ / _| _____ __
|
|
/ _' |/ _ \ __| |_ | | '__/ _ \ |_ / _ \ \/ /
|
|
| (_| | __/ |_| _| | | | | __/ _| (_) > <
|
|
\__, |\___|\__|_| |_|_| \___|_| \___/_/\_\
|
|
|___/
|
|
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](https://blog.nightly.mozilla.org/)
|
|
* ESR, mise à jour majeure toutes les ans environ, avec support à plus long terme.
|
|
en savoir plus [Mozilla ESR](https://developer.mozilla.org/fr/Firefox/Firefox_ESR)
|
|
* Developer Edition, basée sur la beta (avec des outils de développement web?)
|
|
|
|
|
|
|
|
## help
|
|
|
|
```shell
|
|
getFirefox -h
|
|
```
|
|
```text
|
|
_ _____ _ __
|
|
__ _ ___| |_| ___(_)_ __ ___ / _| _____ __
|
|
/ _' |/ _ \ __| |_ | | '__/ _ \ |_ / _ \ \/ /
|
|
| (_| | __/ |_| _| | | | | __/ _| (_) > <
|
|
\__, |\___|\__|_| |_|_| \___|_| \___/_/\_\
|
|
|___/
|
|
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
|
|
|
|
```shell
|
|
getFirefox version
|
|
```
|
|
```text
|
|
_ _____ _ __
|
|
__ _ ___| |_| ___(_)_ __ ___ / _| _____ __
|
|
/ _' |/ _ \ __| |_ | | '__/ _ \ |_ / _ \ \/ /
|
|
| (_| | __/ |_| _| | | | | __/ _| (_) > <
|
|
\__, |\___|\__|_| |_|_| \___|_| \___/_/\_\
|
|
|___/
|
|
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
|
|
|
|
```shell
|
|
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
|
|
|
|
```shell
|
|
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)
|
|
|
|
```shell
|
|
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](https://framagit.org/kyodev/kyopages/blob/master/scripts/user.js)
|
|
* contenu de [userChrome.css](https://framagit.org/kyodev/kyopages/blob/master/scripts/userChrome.css)
|
|
|
|
|
|
## personnalisation (upgrade)
|
|
|
|
```shell
|
|
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)
|
|
|
|
```shell
|
|
getFirefox pr-canal
|
|
```
|
|
|
|
* `getFirefox p-canal` possible
|
|
|
|
|
|
## désinstallation d'un canal Firefox
|
|
|
|
```shell
|
|
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
|
|
|
|
```shell
|
|
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**:
|
|
|
|
```shell
|
|
rm -rf ~/.mozilla/firefox/
|
|
```
|
|
|
|
|
|
## mise à jour script & personnalisation
|
|
|
|
```shell
|
|
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
|
|
|
|
```shell
|
|
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
|
|
|
|
```shell
|
|
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](https://framagit.org/kyodev/kyopages/blob/master/scripts/getFirefox)
|
|
|
|
|
|
## changelog
|
|
|
|
sur [framagit](https://framagit.org/kyodev/kyopages/blob/master/scripts/getFirefox_changelog.md)
|
|
|
|
|
|
## contact
|
|
|
|
pour tout problème ou suggestion concernant ce script, n'hésitez pas à ouvrir une issue
|
|
[Framagit](https://framagit.org/kyodev/kyopages/issues)
|
|
|
|
IRC freenode: ##sdeb
|
|
|
|
|
|
## license
|
|
|
|
[LPRAB/WTFPL](https://framagit.org/kyodev/kyopages/blob/master/scripts/LICENSE.md)
|