This commit is contained in:
kyodev 2017-07-20 00:07:28 +02:00
parent 412cb93146
commit fcc9c979bf
2 changed files with 236 additions and 178 deletions

View File

@ -1,27 +1,58 @@
# getFirefox # getFirefox
** toute version inférieure à 1.x doit être considérée comme beta en cours de développement** c'est un script bash qui se charge de charger les dernières versions officielles de Mozilla Firefox
## installation raccourci: les mises à jour de Firefox sont gérées par celui-ci, avec des correction mineures permanent, en tâche de
fond, et une version majeure toutes les 6 semaines
seul le script se mettra éventuellement à jour, sans intervention sur les canaux Firefox installés
le script installe pour l'user en cours, mais toutes les installations/désinstallations doivent être faites
avec les privilèges **root**
## messages avertissement
```text
Erreur critique: bug sécu 01
veuillez désinstaller le script et le réinstaller
https://kyodev.frama.io/kyopages/scripts/getFirefox/#messages-avertissement"
```
* sur des versions de développement, des droits inappropriés et dangereux ont pu être attribués.
l'exécution du script est suspendue jusqu'à correction, en **root**:
```shell
getFirefox sysremove
wget https://framagit.org/kyodev/kyopages/raw/master/scripts/getFirefox
chmod +x getFirefox && ./getFirefox
```
le script est alors mis à jour, et son utilisation ne doit plus provoquer cette erreur
<hr>
```text
Ancien répertoire d'installation détecté
Il faudrait désinstaller et réinstaller pour être à jour
version(s) détectée(s):
latest
beta
```
* il serait mieux que Firefox soit installé dans un autre emplacement pour mieux se conformer au
[_Filesystem Hierarchy Standard_](https://wiki.debian.org/FilesystemHierarchyStandard)
pour cela, fermer les versions en cours d'exécution et désinstaller/réinstaller la ou les version(s)
mal placée(s), en **root**:
```shell
getFirefox -latest
getFirefox +latest
getFirefox -beta
getFirefox +beta
```
le profil est conservé, rien ne sera perdu
## installation rapide du script:
**en root**: **en root**:
```shell ```shell
wget https://framagit.org/kyodev/kyopages/raw/master/scripts/getFirefox wget https://framagit.org/kyodev/kyopages/raw/master/scripts/getFirefox
&& chmod +x getFirefox && ./getFirefox && getFirefox chmod +x getFirefox && ./getFirefox
```
## charger le script
```shell
wget https://framagit.org/kyodev/kyopages/raw/master/scripts/getFirefox
chmod +x getFlasPlayer
```
## installation du script
en **root**, pour l'installation:
```shell
./getFirefox
``` ```
```text ```text
_ _____ _ __ _ _____ _ __
@ -31,17 +62,18 @@ en **root**, pour l'installation:
\__, |\___|\__|_| |_|_| \___|_| \___/_/\_\ \__, |\___|\__|_| |_|_| \___|_| \___/_/\_\
|___/ |___/
pour Debian, version 0.4.0b4 - 18/07/2017 pour Debian, version 0.5.0 - 19/07/2017
getFirefox installé dans le système. getFirefox installé dans le système.
maintenant, appel du script par: getFirefox (sans ./) maintenant, appel du script par: getFirefox (sans ./)
``` ```
* le script est maintenant dans le système et tout utilisateur peut s'en servir. * le script est maintenant dans le système et tout utilisateur peut s'en servir.
* si le paquet Debian `firefox-esr` était présent, il a été **désinstallé**. * si le paquet Debian `firefox-esr` était présent, il a été **désinstallé**.
* si ce paquet devait être ré-installé, il semble préférable de désinstaller ces versions * si ce paquet devait être ré-installé, il semble préférable de désinstaller ces versions
officielles auparavant. officielles mozilla auparavant.
* **Fermer un Firefox existant** avant installation * un canal Firefox doit être choisi et installé (`latest`,`beta`,`nightly`,`esr`)
## help ## help
@ -54,34 +86,193 @@ lancer le script sans arguments: `getFirefox`ou avec l'option help `getFirefox h
\__, |\___|\__|_| |_|_| \___|_| \___/_/\_\ \__, |\___|\__|_| |_|_| \___|_| \___/_/\_\
|___/ |___/
pour Debian, version 0.4.0b4 - 18/07/2017 pour Debian, version 0.5.0 - 19/07/2017
----------------------------------------------------------------------- ----------------------------------------------------------------------
./getFirefox : installation du script dans le système ./getFirefox : installation du script dans le système
getFirefox +latest : installation Firefox Release getFirefox +latest : installation de Firefox Release
getFirefox +aurora : installation de Firefox Developer Edition getFirefox +beta : installation de Firefox Beta
getFirefox +nightly : installation de Firefox Nightly getFirefox +nightly : installation de Firefox Nightly
getFirefox +esr : installation de Firefox ESR getFirefox +esr : installation de Firefox ESR
---- ----
getFirefox -latest : désinstallation Firefox Release getFirefox -latest : désinstallation Firefox Release
getFirefox -aurora : désinstallation Firefox Developer Edition getFirefox -beta : désinstallation Firefox Beta
getFirefox -nightly : désinstallation Firefox Nightly getFirefox -nightly : désinstallation Firefox Nightly
getFirefox -esr : désinstallation Firefox ESR getFirefox -esr : désinstallation Firefox ESR
---- ----
getFirefox version : version en ligne Firefox Release & ESR getFirefox version : version en ligne Firefox Release & ESR
getFirefox upgrade : mise à jour forcée du script getFirefox upgrade : mise à jour forcée du script
---- ----
getFirefox sysremove : désinstallation du script du système getFirefox sysremove: désinstallation du script du système
----------------------------------------------------------------------- ----------------------------------------------------------------------
Ce script doit être exécuté avec les droits ROOT. Ce script doit être exécuté avec les droits ROOT pour
FERMER et DESINSTALLER un Firefox existant avant d'installer un les installations et les désinstallations.
nouveau canal Il désinstallera le *paquet Debian* firefox-esr si présent.
Il désinstallera le paquet Debian firefox-esr si présent. ----------------------------------------------------------------------
Ce script devrait fonctionner sur Ubuntu.
-----------------------------------------------------------------------
``` ```
## installation d'un canal Firefox
_getFirefox **+**canal_
par exemple, pour la version Release officielle:
```
getFirefox +latest
```
```text
_ _____ _ __
__ _ ___| |_| ___(_)_ __ ___ / _| _____ __
/ _' |/ _ \ __| |_ | | '__/ _ \ |_ / _ \ \/ /
| (_| | __/ |_| _| | | | | __/ _| (_) > <
\__, |\___|\__|_| |_|_| \___|_| \___/_/\_\
|___/
pour Debian, version 0.5.0b5 - 19/07/2017
_.-~-.
7'' Q..\
_7 (_
_7 _/ _q. /
_7 . ___ /VVvv-'_ .
7/ / /~- \_\\ '-._ .-' / //
./ ( /-~-/||'=.__ '::. '-~'' { ___ / // ./{
V V-~-~| || __''_ ':::. ''~-~.___.-'' _/ // / {_ / { /
VV/-~-~-|/ \ .'__'. '. ':: _ _ _ ''.
/ /~~~~||VVV/ / \ ) \ _ __ ___ ___ ___(_) | | __ _ .::'
/ (~-~-~\\.-' / \' \::::. | '_ ' _ \ / _ \_ / | | |/ _' | :::'
/..\ /..\__/ ' '::: | | | | | | (_) / /| | | | (_| | ::'
vVVv vVVv ': |_| |_| |_|\___/___|_|_|_|\__,_| ''
installation Firefox-latest
téléchargement...
/tmp/getFirefox-21745/firefox-late 100%[======================================>] 58,95M 8,12MB/s in 11s
décompression...
installation...
Firefox-latest installé.
```
* la dernière officielle Firefox est installée, en étant directement chargée du site Mozilla.
* l'installation sur un canal existant est refaite en totalité, mais le profil n'est pas modifié
* si un profil _uvwxyz.default_ (d'un paquet _firefox-esr_ par exemple) existe, il sera laissé en place, mais
une **copie** sera utilisée pour le profil latest (ou ESR). le passage d'une version paquet Debian à une version
Mozilla Release (ou ESR) utilisera donc une copie du profil en cours.
3 autres canaux sont possibles:
* 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)
les canaux par ordre croissant de versions:
` ESR <= release < beta < nightly `
la version **aurora** (ainsi que **developer edition**?) sont en cours d'abandon et fusionnent
avec la version beta
## mise à jour Firefox
* Firefox sont gère ses mise à jour et le script permet cet automatisme.
* cette mise à jour se fait en tâche de fond et disponible au prochain démarrage de Firefox
* la mise à jour éventuelle peut être déclenchée manuellement avec le menu `Aide/A propose 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 tous les jours
## version
`getFirefox version`: affiche la version en ligne de Firefox _Release_ et _ESR_, ainsi que
les versions installées par ce script.
```text
_ _____ _ __
__ _ ___| |_| ___(_)_ __ ___ / _| _____ __
/ _' |/ _ \ __| |_ | | '__/ _ \ |_ / _ \ \/ /
| (_| | __/ |_| _| | | | | __/ _| (_) > <
\__, |\___|\__|_| |_|_| \___|_| \___/_/\_\
|___/
pour Debian, version 0.5.0 - 19/07/2017
Firefox installé(s):
latest: 54.0.1
beta: 55.0
nightly: 56.0a1
Version Firefox en ligne:
Release: 54.0.1
ESR: 52.2.1
_.-~-.
7'' Q..\
_7 (_
_7 _/ _q. /
_7 . ___ /VVvv-'_ .
7/ / /~- \_\\ '-._ .-' / //
./ ( /-~-/||'=.__ '::. '-~'' { ___ / // ./{
V V-~-~| || __''_ ':::. ''~-~.___.-'' _/ // / {_ / { /
VV/-~-~-|/ \ .'__'. '. ':: _ _ _ ''.
/ /~~~~||VVV/ / \ ) \ _ __ ___ ___ ___(_) | | __ _ .::'
/ (~-~-~\\.-' / \' \::::. | '_ ' _ \ / _ \_ / | | |/ _' | :::'
/..\ /..\__/ ' '::: | | | | | | (_) / /| | | | (_| | ::'
vVVv vVVv ': |_| |_| |_|\___/___|_|_|_|\__,_| ''
```
## désinstallation d'un canal Firefox
_getFirefox **-**canal_
par exemple, pour la version Release officielle:
```shell
getFirefox +latest
```
```text
__ _ ___| |_| ___(_)_ __ ___ / _| _____ __
/ _' |/ _ \ __| |_ | | '__/ _ \ |_ / _ \ \/ /
| (_| | __/ |_| _| | | | | __/ _| (_) > <
\__, |\___|\__|_| |_|_| \___|_| \___/_/\_\
|___/
pour Debian, version 0.5.0 - 19/07/2017
_.-~-.
7'' Q..\
_7 (_
_7 _/ _q. /
_7 . ___ /VVvv-'_ .
7/ / /~- \_\\ '-._ .-' / //
./ ( /-~-/||'=.__ '::. '-~'' { ___ / // ./{
V V-~-~| || __''_ ':::. ''~-~.___.-'' _/ // / {_ / { /
VV/-~-~-|/ \ .'__'. '. ':: _ _ _ ''.
/ /~~~~||VVV/ / \ ) \ _ __ ___ ___ ___(_) | | __ _ .::'
/ (~-~-~\\.-' / \' \::::. | '_ ' _ \ / _ \_ / | | |/ _' | :::'
/..\ /..\__/ ' '::: | | | | | | (_) / /| | | | (_| | ::'
vVVv vVVv ': |_| |_| |_|\___/___|_|_|_|\__,_| ''
Firefox-latest désinstallé.
```
le profil **n'est pas supprimé**, il sera donc utilisé en cas de réinstallation
## suppression des profils
à documenter
## mise à jour du script ## mise à jour du script
`getFirefox upgrade` `getFirefox upgrade`
@ -92,20 +283,20 @@ lancer le script sans arguments: `getFirefox`ou avec l'option help `getFirefox h
\__, |\___|\__|_| |_|_| \___|_| \___/_/\_\ \__, |\___|\__|_| |_|_| \___|_| \___/_/\_\
|___/ |___/
pour Debian, version 0.4.0b4 - 18/07/2017 pour Debian, version 0.5.0b5 - 19/07/2017
version script en ligne: 0.4.0, mise à jour possible version script en ligne: 0.5.0, mise à jour possible
/tmp/getFirefox-18683/getFirefox 100%[======================================>] 16,23K --.-KB/s in 0,02s /tmp/getFirefox-24369/getFirefox 100%[======================================>] 18,50K --.-KB/s in 0,08s
getFirefox mis à jour en version 0.5.0
getFirefox mis à jour en version 0.4.0
``` ```
* test toutes les **semaines** * test toutes les **semaines**
* mise à jour du **script** si une nouvelle version est disponible en ligne * mise à jour du **script** si une nouvelle version est disponible en ligne
* pas de nouvelle version: pas de téléchargement * pas de nouvelle version: pas de téléchargement
* à la différence de [_getFirefox install_](#installation-du-script) un téléchargement et * il n'y aura téléchargement que si nouvelle version disponible.
une installation **ne sont pas forcés**. il n'y aura téléchargement que si nouvelle version disponible.
* cette tâche est exécutée périodiquement par cron/anachron et n'a pas vraiment * cette tâche est exécutée périodiquement par cron/anachron et n'a pas vraiment
d'utilité à être lancée manuellement d'utilité à être lancée manuellement
* _anacron_ est utilisé, c'est à dire que la mise à jour sera testée, même lors d'arrêts du Pc * _anacron_ est utilisé, c'est à dire que la mise à jour sera testée, même lors d'arrêts du Pc
@ -122,140 +313,6 @@ pour vérifier la date où la dernière version du script a été installée ou
`date -r /opt/bin/getFirefox` `date -r /opt/bin/getFirefox`
## versions
`getFirefox version`: affiche la version en ligne de Firefox _Release_ et _ESR_, ainsi que
les versions installées par ce script.
```text
_ _____ _ __
__ _ ___| |_| ___(_)_ __ ___ / _| _____ __
/ _' |/ _ \ __| |_ | | '__/ _ \ |_ / _ \ \/ /
| (_| | __/ |_| _| | | | | __/ _| (_) > <
\__, |\___|\__|_| |_|_| \___|_| \___/_/\_\
|___/
pour Debian, version 0.4.0b4 - 18/07/2017
Firefox installé(s):
Release: 54.0.1
Aurora: 54.0a2
Nightly: 55.0a1
Version Firefox en ligne:
Release: 54.0.1
ESR:
version script en ligne: "0.3.0", mise à jour possible
_.-~-.
7'' Q..\
_7 (_
_7 _/ _q. /
_7 . ___ /VVvv-'_ .
7/ / /~- \_\\ '-._ .-' / //
./ ( /-~-/||'=.__ '::. '-~'' { ___ / // ./{
V V-~-~| || __''_ ':::. ''~-~.___.-'' _/ // / {_ / { /
VV/-~-~-|/ \ .'__'. '. ':: _ _ _ ''.
/ /~~~~||VVV/ / \ ) \ _ __ ___ ___ ___(_) | | __ _ .::'
/ (~-~-~\\.-' / \' \::::. | '_ ' _ \ / _ \_ / | | |/ _' | :::'
/..\ /..\__/ ' '::: | | | | | | (_) / /| | | | (_| | ::'
vVVv vVVv ': |_| |_| |_|\___/___|_|_|_|\__,_| ''
```
## installation _Release_
```
su
getFirefox +latest
exit
```
```text
_.-~-.
7'' Q..\
_7 (_
_7 _/ _q. /
_7 . ___ /VVvv-'_ .
7/ / /~- \_\\ '-._ .-' / //
./ ( /-~-/||'=.__ '::. '-~'' { ___ / // ./{
V V-~-~| || __''_ ':::. ''~-~.___.-'' _/ // / {_ / { /
VV/-~-~-|/ \ .'__'. '. ':: _ _ _ ''.
/ /~~~~||VVV/ / \ ) \ _ __ ___ ___ ___(_) | | __ _ .::'
/ (~-~-~\\.-' / \' \::::. | '_ ' _ \ / _ \_ / | | |/ _' | :::'
/..\ /..\__/ ' '::: | | | | | | (_) / /| | | | (_| | ::'
vVVv vVVv ': |_| |_| |_|\___/___|_|_|_|\__,_| ''
```
* Firefox est installé, en étant directement chargé du site Mozilla.
* c'est la dernière release officielle, qui se met à jour automatiquement.
* mise à jour majeure toutes les 6 à 8 semaines environ.
## installation autres canaux
3 autres canaux sont possibles:
* Developer Developer (**aurora**), orientée développeurs, version _beta_ comme _testing_,
[Mozilla developer](https://www.mozilla.org/fr/firefox/developer/)
* Nightly, réservé aux aventuriers, mise à jour tous les jours, version _alpha_ comme _sid_
[Mozilla Nightly](https://blog.nightly.mozilla.org/)
* ESR, mise à jour majeure toutes les ans environ, avec support à plus long terme.
mise à jour majeure toutes les ans environ, en savoir plus
[Mozilla ESR](https://developer.mozilla.org/fr/Firefox/Firefox_ESR)
l'installation est lancée avec _getFirefox **+canal**_, soit:
`getFirefox +aurora` , `getFirefox +nightly` , `getFirefox +esr`
## Avertissement
** seules les versions **ESR** et **latest** sont intallables sans risques avec ce script**
le reste est en cours de développement
les versions des autres canaux, sont à utiliser avec prudence, seulement si vous maitrisez la technique.
les versions des canaux par ordre croissant:
` ESR <= release < aurora < beta < nightly `
* il n'est **pas conseillé de descendre de version** au risque de voir le profil utilisateur **corrompu**.
* par contre les profils suivent plus sûrement les montées de version
* le script sauvegarde automatiquement, avant installation, le profil firefox de l'utilisateur qui a ouvert la
session graphique
* le profil, par ex. `/home/user/.mozilla/firefox/`, est sauvegardé en `/home/user/.mozilla/AAAAMMDD-HHMMSS/`,
avec un suffixe correspondant à la date UTC.
* ce profil pourrait servir en cas de problème, notamment lors d'une tentative de revenir à une version inférieure
### upgrade en aurora
exemple, Firefox est en release, vous voulez suivre le canal **Nightly**
* **fermer Firefox**
* désinstaller _latest_
* installer _nightly_
```shell
su
getFirefox -latest
getFirefox +nightly
exit
```
* le profil existant a été sauvegardé en `/home/user/.mozilla/20170610-173205`
* le profil original est toujours en `/home/user/.mozilla/firefox/` et sera utilisé par la nouvelle
version installée
## désinstallation Firefox
l'installation est lancée avec _getFirefox **-**canal_, soit:
`getFirefox -esr`, `getFirefox -aurora`, `getFirefox -nightly`
le profil n'est pas supprimé, il pourra donc être utilisé en cas de réinstallation
## suppression des profils
à documenter
## supprimer le script ## supprimer le script
en **root**: en **root**:
@ -268,7 +325,7 @@ en **root**:
\__, |\___|\__|_| |_|_| \___|_| \___/_/\_\ \__, |\___|\__|_| |_|_| \___|_| \___/_/\_\
|___/ |___/
pour Debian, version 0.4.0b4 - 18/07/2017 pour Debian, version 0.5.0 - 19/07/2017
getFirefox supprimé du système. getFirefox supprimé du système.

View File

@ -8,6 +8,7 @@
* plus d'architecture? (arm)? * plus d'architecture? (arm)?
* voir alternatives par ordre croissant, latest ou esr sinon beta sinon nightly * voir alternatives par ordre croissant, latest ou esr sinon beta sinon nightly
* récupérer icône aurora pour beta? * récupérer icône aurora pour beta?
* améliorer les installation pour autres users
## 0.5.0 19/07/17 ## 0.5.0 19/07/17