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
** 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**:
```shell
wget https://framagit.org/kyodev/kyopages/raw/master/scripts/getFirefox
&& chmod +x getFirefox && ./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
chmod +x getFirefox && ./getFirefox
```
```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.
maintenant, appel du script par: getFirefox (sans ./)
```
* 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 ce paquet devait être ré-installé, il semble préférable de désinstaller ces versions
officielles auparavant.
* **Fermer un Firefox existant** avant installation
* 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 ce paquet devait être ré-installé, il semble préférable de désinstaller ces versions
officielles mozilla auparavant.
* un canal Firefox doit être choisi et installé (`latest`,`beta`,`nightly`,`esr`)
## 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 +latest : installation Firefox Release
getFirefox +aurora : installation de Firefox Developer Edition
getFirefox +latest : installation de Firefox Release
getFirefox +beta : installation de Firefox Beta
getFirefox +nightly : installation de Firefox Nightly
getFirefox +esr : installation de Firefox ESR
----
getFirefox -latest : désinstallation Firefox Release
getFirefox -aurora : désinstallation Firefox Developer Edition
getFirefox -latest : désinstallation Firefox Release
getFirefox -beta : désinstallation Firefox Beta
getFirefox -nightly : désinstallation Firefox Nightly
getFirefox -esr : désinstallation Firefox ESR
----
getFirefox version : version en ligne Firefox Release & ESR
getFirefox upgrade : mise à jour forcée du script
----
getFirefox sysremove : désinstallation du script du système
-----------------------------------------------------------------------
Ce script doit être exécuté avec les droits ROOT.
FERMER et DESINSTALLER un Firefox existant avant d'installer un
nouveau canal
Il désinstallera le paquet Debian firefox-esr si présent.
Ce script devrait fonctionner sur Ubuntu.
-----------------------------------------------------------------------
getFirefox sysremove: désinstallation du script du système
----------------------------------------------------------------------
Ce script doit être exécuté avec les droits ROOT pour
les installations et les désinstallations.
Il désinstallera le *paquet Debian* firefox-esr si présent.
----------------------------------------------------------------------
```
## 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
`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**
* mise à jour du **script** si une nouvelle version est disponible en ligne
* pas de nouvelle version: pas de téléchargement
* à la différence de [_getFirefox install_](#installation-du-script) un téléchargement et
une installation **ne sont pas forcés**. il n'y aura téléchargement que si nouvelle version disponible.
* 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
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
@ -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`
## 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
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.

View File

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