kyopages/docs/scripts/getFirefox.md

369 lines
12 KiB
Markdown
Raw Normal View History

2017-06-10 01:16:49 +02:00
# getFirefox
2017-07-18 16:44:14 +02:00
2017-07-24 23:29:56 +02:00
> c'est un script bash qui télécharge les dernières versions officielles de Mozilla Firefox
2017-12-23 09:53:52 +01:00
des différents canaux possibles: **latest** la release officielle, mais aussi **ESR** **beta**, **nightly**,
2017-12-24 07:35:11 +01:00
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
2017-07-18 16:44:14 +02:00
2017-06-10 01:16:49 +02:00
2017-12-26 04:12:26 +01:00
* 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.
2017-06-10 01:16:49 +02:00
2017-12-24 06:43:21 +01:00
> le programme Tor Browser est dorénavant pris en charge par [getXfox](https://kyodev.frama.io/kyopages/scripts/getXfox/)
2017-07-20 00:07:28 +02:00
2017-08-27 00:33:50 +02:00
2017-08-17 07:58:44 +02:00
## installation rapide du script
2017-07-23 00:42:48 +02:00
2017-12-23 09:53:52 +01:00
* privilèges **root** requis
2017-07-23 00:42:48 +02:00
```shell
2017-08-16 22:48:05 +02:00
wget -O getFirefox https://framagit.org/kyodev/kyopages/raw/master/scripts/getFirefox
2017-07-23 00:42:48 +02:00
chmod +x getFirefox && ./getFirefox
```
```text
2017-07-28 13:05:02 +02:00
_ _____ _ __
__ _ ___| |_| ___(_)_ __ ___ / _| _____ __
/ _' |/ _ \ __| |_ | | '__/ _ \ |_ / _ \ \/ /
| (_| | __/ |_| _| | | | | __/ _| (_) > <
\__, |\___|\__|_| |_|_| \___|_| \___/_/\_\
2017-12-23 09:53:52 +01:00
|___/
2017-12-26 04:12:26 +01:00
version 4.6.0 - 26/12/2017
2017-07-23 00:42:48 +02:00
2017-12-26 04:12:26 +01:00
getFirefox 4.6.0 installé dans le système.
2017-07-23 00:42:48 +02:00
maintenant, appel du script par: getFirefox (sans ./)
```
2017-12-23 09:53:52 +01:00
2017-07-23 00:42:48 +02:00
* le script est maintenant dans le système et tout utilisateur peut s'en servir.
2017-12-23 09:53:52 +01:00
* **Firefox n'est pas encore installé**
* un canal Firefox peut maintenant être choisi et installé (`latest`, `esr`, `beta`, `nightly`, `dev`)
2017-07-23 00:42:48 +02:00
2017-09-10 01:04:45 +02:00
## installation d'un canal Firefox
```shell
2017-12-23 09:53:52 +01:00
getFirefox i-canal
2017-09-10 01:04:45 +02:00
```
2017-12-23 09:53:52 +01:00
* privilèges **root** requis
2017-12-24 06:43:21 +01:00
* `getFirefox p-all` possible
2017-12-23 09:53:52 +01:00
* la version stable en cours de Firefox est nommée **latest**
2017-09-10 01:04:45 +02:00
```text
_ _____ _ __
__ _ ___| |_| ___(_)_ __ ___ / _| _____ __
/ _' |/ _ \ __| |_ | | '__/ _ \ |_ / _ \ \/ /
| (_| | __/ |_| _| | | | | __/ _| (_) > <
\__, |\___|\__|_| |_|_| \___|_| \___/_/\_\
2017-12-23 09:53:52 +01:00
|___/
2017-12-26 04:12:26 +01:00
version 4.6.0 - 26/12/2017
2017-09-10 01:04:45 +02:00
installation Firefox-latest
- téléchargement...
2017-12-26 04:12:26 +01:00
/tmp/getFirefox-install_ffx/firefox-latest. 100%[=============================>] 53,75M 4,66MB/s in 12s
2017-09-10 01:04:45 +02:00
- décompression...
- installation...
2017-12-26 04:12:26 +01:00
profil Firefox latest configuré
Firefox latest est le défaut système
Firefox-latest installé
2017-09-10 01:04:45 +02:00
```
2017-12-23 09:53:52 +01:00
* la dernière version officielle du canal Firefox est installée, en étant directement chargée sur le site Mozilla
2017-09-10 01:04:45 +02:00
* 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`
2017-12-23 09:53:52 +01:00
* 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é)
2017-12-27 17:51:26 +01:00
* par défaut dans le profiles.ini de Thunderbird
2017-12-23 09:53:52 +01:00
* 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_.
2017-12-27 17:51:26 +01:00
le profil _.default_ existant est laissé en place.
2017-09-10 01:04:45 +02:00
2017-12-23 09:53:52 +01:00
4 autres canaux, en dehors de latest:
2017-09-10 01:04:45 +02:00
* 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)
2017-12-23 09:53:52 +01:00
* Developer Edition, basée sur la beta (avec des outils de développement web?)
2017-08-17 07:58:44 +02:00
2017-07-26 20:27:59 +02:00
2017-06-10 01:16:49 +02:00
## help
2017-09-01 22:57:17 +02:00
```shell
2017-09-10 01:04:45 +02:00
getFirefox -h
2017-09-01 22:57:17 +02:00
```
2017-07-18 16:44:14 +02:00
```text
2017-07-28 13:05:02 +02:00
_ _____ _ __
__ _ ___| |_| ___(_)_ __ ___ / _| _____ __
/ _' |/ _ \ __| |_ | | '__/ _ \ |_ / _ \ \/ /
| (_| | __/ |_| _| | | | | __/ _| (_) > <
\__, |\___|\__|_| |_|_| \___|_| \___/_/\_\
2017-12-23 09:53:52 +01:00
|___/
2017-12-26 04:12:26 +01:00
version 4.6.0 - 26/12/2017
2017-06-10 01:16:49 +02:00
2017-07-20 00:07:28 +02:00
----------------------------------------------------------------------
2017-12-23 09:53:52 +01:00
canaux possibles: latest, beta, nightly, dev, esr
<all> = tous les canaux
2017-08-26 23:44:01 +02:00
2017-09-09 20:39:12 +02:00
exemple, installation version Release (latest): getFirefox i-latest
2017-12-23 09:53:52 +01:00
2017-12-26 04:12:26 +01:00
getFirefox i-canal : installation de <canal> (root)
2017-12-23 09:53:52 +01:00
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)
2017-12-26 04:12:26 +01:00
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)
2017-12-23 09:53:52 +01:00
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
2017-12-26 04:12:26 +01:00
getFirefox version : versions installées et en ligne
2017-07-20 00:07:28 +02:00
----------------------------------------------------------------------
2017-12-05 14:21:07 +01:00
2017-12-23 09:53:52 +01:00
./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
2017-09-09 20:39:12 +02:00
plus d'infos: https://kyodev.frama.io/kyopages/scripts/getFirefox/
2017-12-26 04:12:26 +01:00
Tor Browser, voir getXfox: https://kyodev.frama.io/kyopages/scripts/getXfox/
2017-07-24 11:29:16 +02:00
2017-06-10 01:16:49 +02:00
```
2017-07-18 16:44:14 +02:00
2017-09-09 20:39:12 +02:00
## version
2017-07-20 20:48:03 +02:00
2017-07-20 20:32:31 +02:00
```shell
2017-09-09 20:39:12 +02:00
getFirefox version
2017-07-20 20:32:31 +02:00
```
```text
2017-12-26 04:12:26 +01:00
_ _____ _ __
2017-07-28 13:05:02 +02:00
__ _ ___| |_| ___(_)_ __ ___ / _| _____ __
/ _' |/ _ \ __| |_ | | '__/ _ \ |_ / _ \ \/ /
| (_| | __/ |_| _| | | | | __/ _| (_) > <
\__, |\___|\__|_| |_|_| \___|_| \___/_/\_\
2017-12-23 09:53:52 +01:00
|___/
2017-12-26 04:12:26 +01:00
version 4.6.0 - 26/12/2017
2017-07-20 20:32:31 +02:00
2017-12-26 04:12:26 +01:00
script en place: 4.6.0
script en ligne: 4.6.0
2017-07-20 20:32:31 +02:00
2017-12-23 09:53:52 +01:00
.....++++
2017-07-24 17:35:24 +02:00
2017-12-26 04:12:26 +01:00
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
2017-09-09 20:39:12 +02:00
2017-12-26 04:12:26 +01:00
perso. Firefox en place: esr: 0.6 latest: 0.6 beta: 0.6 nightly: 0.6
perso. Firefox en ligne: 0.6
2017-07-20 20:32:31 +02:00
```
2017-09-01 22:03:33 +02:00
2017-12-23 09:53:52 +01:00
## mise à jour Firefox
2017-09-10 01:04:45 +02:00
2017-12-27 17:51:26 +01:00
* Firefox gère ses mises à jour et le script permet cet automatisme.
2017-12-24 06:43:21 +01:00
* cette mise à jour se fait en tâche de fond et est disponible au prochain redémarrage
2017-09-10 01:04:45 +02:00
* 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
2017-07-20 20:32:31 +02:00
2017-07-28 13:05:02 +02:00
```shell
2017-12-23 09:53:52 +01:00
getFirefox d-canal
2017-07-28 13:05:02 +02:00
```
2017-09-01 22:03:33 +02:00
2017-12-23 09:53:52 +01:00
* `getFirefox d-all` possible
* duplique un éventuel profil .default existant (paquet distribution par exemple) sur un canal choisi.
2017-07-24 11:29:16 +02:00
2017-09-10 01:04:45 +02:00
2017-09-09 20:39:12 +02:00
## nouvel utilisateur ou reconfiguration profil
2017-09-01 22:03:33 +02:00
2017-09-09 20:39:12 +02:00
```shell
2017-12-23 09:53:52 +01:00
getFirefox u-canal
2017-09-09 20:39:12 +02:00
```
2017-12-27 17:51:26 +01:00
* privilèges **root** requis
2017-12-26 04:12:26 +01:00
* `getFirefox d-all` possible (plus haut canal comme défaut système)
2017-12-26 07:13:21 +01:00
* ajoute un profil pour un canal Firefox **installé**, pour l'utilisateur en cours
2017-12-26 04:12:26 +01:00
* configure le canal comme navigateur par **défaut** (alternatives, commande firefox, profil Firefox)
2017-12-27 17:51:26 +01:00
* é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
2017-12-26 04:12:26 +01:00
marcher (pas testé)
2017-06-10 01:16:49 +02:00
2017-12-23 09:53:52 +01:00
## personnalisation (installation)
2017-09-09 20:39:12 +02:00
2017-08-26 23:44:01 +02:00
```shell
2017-12-23 09:53:52 +01:00
getFirefox p-canal
2017-08-26 23:44:01 +02:00
```
2017-12-23 09:53:52 +01:00
* `getFirefox p-canal` possible
2017-08-26 23:44:01 +02:00
* _user.js_ est ajouté dans le profil du canal souhaité
2017-12-23 09:53:52 +01:00
* _userChrome.css_ est ajouté dans le profil du canal souhaité, sous-répertoire _chrome/_
2017-09-02 09:49:41 +02:00
* la version indiquée dans user.js fait référence, la version de userChrome.css est indicative
2017-12-23 09:53:52 +01:00
* les personnalisations sont périodiquement mise à jour, comme le script (7jours)
2017-08-26 23:44:01 +02:00
* 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)
2017-09-02 09:49:41 +02:00
* dans chaque canal concerné, la configuration se trouve trouve dans le fichier:
2017-12-23 09:53:52 +01:00
`/home/user/.mozilla/firefox/canal/personnalisation`
2017-09-02 09:49:41 +02:00
* l'url (première ligne) peut y être modifiée
* la version est indiquée en seconde ligne
2017-12-23 09:53:52 +01:00
* pour figer des fichiers de personnalisations et ne pas les mettre à jour, il suffit d'effacer les fichiers
`personnalisation`
2017-09-01 22:03:33 +02:00
2017-09-02 09:49:41 +02:00
* 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)
2017-08-26 23:44:01 +02:00
2017-08-27 00:33:50 +02:00
2017-08-26 23:44:01 +02:00
## 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
2017-12-23 09:53:52 +01:00
* toutes les personnalisations installées sont mise à jour
2017-06-10 01:16:49 +02:00
2017-08-27 00:33:50 +02:00
2017-09-02 09:49:41 +02:00
## personnalisation (suppression)
```shell
2017-12-23 09:53:52 +01:00
getFirefox pr-canal
2017-09-02 09:49:41 +02:00
```
2017-12-23 09:53:52 +01:00
* `getFirefox p-canal` possible
2017-09-02 09:49:41 +02:00
2017-08-27 00:33:50 +02:00
2017-12-23 09:53:52 +01:00
## désinstallation d'un canal Firefox
2017-08-27 00:33:50 +02:00
```shell
2017-12-23 09:53:52 +01:00
getFirefox r-canal
2017-08-27 00:33:50 +02:00
```
2017-12-23 09:53:52 +01:00
* privilèges **root** requis
* `getFirefox p-canal` possible
2017-09-01 22:03:33 +02:00
* le profil pour firefox **n'est pas supprimé**, il sera donc utilisable en cas de réinstallation
2017-12-24 06:43:21 +01:00
* si firefox-canal est ouvert, il sera fermé
2017-12-26 04:12:26 +01:00
* le navigateur par **défaut** sera configuré sur le plus bas canal encore installé
2017-08-27 00:33:50 +02:00
2017-09-10 01:04:45 +02:00
## installation manuelle d'une archive
```shell
2017-12-23 09:53:52 +01:00
getFirefox m-canal firefox-VERSION.fr.linux-ARCHITECTURE.tar.bz2
2017-09-10 01:04:45 +02:00
```
2017-12-23 09:53:52 +01:00
* privilèges **root** requis
* installe une archive téléchargée manuellement
2017-09-10 01:04:45 +02:00
2017-07-24 11:29:16 +02:00
## suppression d'un profil Firefox
2017-07-22 18:42:02 +02:00
2017-12-23 09:53:52 +01:00
* **FERMER toutes les instances ouvertes** du canal
* **en user**, lancer en terminal le profil manager de Firefox: `firefox -P` :
2017-07-22 18:42:02 +02:00
* sélectionner le profil souhaité
* cliquer sur _supprimer un profil_
2017-09-10 01:04:45 +02:00
* _supprimer les fichiers_, cela supprimera aussi le répertoire `~/.mozilla/firefox/profilSélectionné`
le profil est **définitivement** détruit
2017-07-22 18:42:02 +02:00
* quitter
2017-12-23 09:53:52 +01:00
2017-09-09 20:39:12 +02:00
### suppression manuelle de tous les profils
2017-09-10 01:04:45 +02:00
si plus aucun canal de Firefox n'est installé, qu'il n'y a plus de profil manager disponible, et que vous
2017-09-09 20:39:12 +02:00
êtes certains de vouloir supprimer tous les profils en place, en **user**:
2017-12-23 09:53:52 +01:00
2017-09-09 20:39:12 +02:00
```shell
2017-09-10 01:04:45 +02:00
rm -rf ~/.mozilla/firefox/
2017-09-09 20:39:12 +02:00
```
2017-07-22 18:42:02 +02:00
2017-09-01 22:57:17 +02:00
## mise à jour script & personnalisation
2017-06-11 09:43:59 +02:00
2017-07-28 13:05:02 +02:00
```shell
2017-08-16 22:48:05 +02:00
getFirefox -u
2017-07-28 13:05:02 +02:00
```
2017-06-11 09:43:59 +02:00
2017-07-20 00:07:28 +02:00
* test toutes les **semaines**
2017-07-24 17:35:24 +02:00
* mise à jour du **script** si une nouvelle version est disponible en ligne. cela n'influe pas sur les
2017-12-23 09:53:52 +01:00
canaux Firefox installés.
2017-07-24 23:29:56 +02:00
* cette tâche est exécutée périodiquement par cron/anachron et n'a pas vraiment vocation à être lancée manuellement
2017-12-24 06:43:21 +01:00
* _anacron_ est utilisé, c'est à dire que la mise à jour sera testée, même après l'arrêt du Pc
2017-09-01 22:57:17 +02:00
* si une **personnalisation** est mise en place, une mise à jour possible sera elle aussi testée, pour tous les
2017-08-26 23:44:01 +02:00
canaux concernés
2017-06-11 09:43:59 +02:00
2017-08-27 00:33:50 +02:00
2017-12-23 09:53:52 +01:00
## logs
2017-07-26 20:27:59 +02:00
2017-07-28 13:05:02 +02:00
```shell
2017-12-23 09:53:52 +01:00
pager /var/log/sdeb_getFirefox.log
2017-07-28 13:05:02 +02:00
```
2017-06-10 01:16:49 +02:00
2017-12-27 17:51:26 +01:00
tous les évènements importants sont consignées dans le fichier _/var/log/sdeb_getFirefox.log_
consulter son contenu:
2017-08-27 00:33:50 +02:00
2017-07-18 16:44:14 +02:00
## supprimer le script
2017-06-10 01:16:49 +02:00
2017-07-28 13:05:02 +02:00
```shell
2017-08-16 22:48:05 +02:00
getFirefox -r
2017-07-28 13:05:02 +02:00
```
2017-09-10 01:04:45 +02:00
2017-12-23 09:53:52 +01:00
* privilèges **root** requis
2017-07-20 00:43:08 +02:00
* effacement du script dans le système (_/opt/bin_)
* effacement de l'inscription dans crontab/anacron utilisateur
2017-12-23 09:53:52 +01:00
* cela ne **supprime pas** les éventuels canaux Firefox installés
2017-06-10 01:16:49 +02:00
## sources
sur [framagit](https://framagit.org/kyodev/kyopages/blob/master/scripts/getFirefox)
2017-06-11 09:43:59 +02:00
2017-07-18 16:44:14 +02:00
## changelog
sur [framagit](https://framagit.org/kyodev/kyopages/blob/master/scripts/getFirefox_changelog.md)
2017-07-20 00:53:06 +02:00
## contact
2017-06-11 09:43:59 +02:00
pour tout problème ou suggestion concernant ce script, n'hésitez pas à ouvrir une issue
[Framagit](https://framagit.org/kyodev/kyopages/issues)
2017-07-23 00:42:48 +02:00
IRC freenode: ##sdeb
2017-06-11 09:43:59 +02:00
2017-08-17 09:42:14 +02:00
## license
2017-06-11 09:43:59 +02:00
2017-07-28 20:32:05 +02:00
[LPRAB/WTFPL](https://framagit.org/kyodev/kyopages/blob/master/scripts/LICENSE.md)