Jump to content
ElementaryOS France

Un sript de mises à jour et de nettoyage automatique.


Recommended Posts

J'utilise le script trouvé ici : Script update.sh

L'article est ici : http://www.elementaryos-fr.org/simple-script-pour-mettre-a-jour-son-elementaryos/

 

Vous allez voir que je suis un piètre programmeur.

 

Pour utiliser ce script on ouvre son terminal et on y glisse le sript dedans, on presse Entrée et on y voit son déroulement.

 

Comme j'ai voulu que le processus s'affiche à l'écran j'ai ajouté à chaque action :

| zenity --progress --pulsate --auto-close --text="texte explicatif de l'action en cours d'exécution..."

 

 

Voici le script modifié par mes soins :

#!/bin/bash
if [ ! "$SUDO_USER" ]; then
gksudo -k "$0"
exit 0
fi
clear
echo "Script de mises à jour, de mise à niveau et de nettoyage du système";
echo "";
sleep 2
clear
echo "Fixation des paquets cassés...";
echo "";
sleep 3
sudo apt-get -y -f install | zenity --progress --pulsate --auto-close --text="Fixation des paquets cassés..."
clear
echo "Mise à jour des dépôts...";
echo "";
sleep 3
sudo apt-get -y update | zenity --progress --pulsate --auto-close --text="Mise à jour des dépôts..."
clear
echo "Mise à niveau des paquets déjà installés...";
echo "";
sleep 3
sudo apt-get -y upgrade | zenity --progress --pulsate --auto-close --text="Mise à niveau des paquets déjà installés..."
clear
echo "Mise à niveau des paquets installés ou rajoutés...";
echo "";
sleep 3
sudo apt-get -y dist-upgrade | zenity --progress --pulsate --auto-close --text="Mise à niveau des paquets installés ou rajoutés..."
clear
echo "Suppression des paquets inutiles...";
echo "";
sleep 3
sudo apt-get -y autoremove | zenity --progress --pulsate --auto-close --text="Suppression des paquets inutiles..."
clear
echo "Nettoyage des restes de paquets non téléchargeables...";
echo "";
sleep 3
sudo apt-get -y autoclean | zenity --progress --pulsate --auto-close --text="Nettoyage des restes de paquets non téléchargeables..."
clear
echo "Nettoyage des restes de paquets...";
echo "";
sleep 3
sudo apt-get -y clean | zenity --progress --pulsate --auto-close --text="Nettoyage des restes de paquets..."
clear
echo |zenity --info --title "$title" --text="Mise à jour effectuée avec succès!" 
echo "";
sleep 2
clear

 

D'abord il n'est pas certain que mes traductions anglais/français soient bien exactes, on peut améliorer sans doute.

Ensuite, et voici le sujet de mon message ici, comment modifier ce script pour que toutes les actions s'affichent dans une seule et même fenêtre, tout au long de l'opération ?

 

Merci pour votre aide éventuelle.

Edited by toto
Link to comment
Share on other sites

Tu devrais mettre dans les "prérequis"

SI la vérification du paquet "Zenity" -eq 0 else exit 0 :-)

Quand à $SUDO_SUER, c'est une variable d'environnement Ubuntu mais surtout SUDO.

Je favoriserai la variable EUID qui est intégré à tous les système :

# Test que le script est lancé en root

 

if [ $EUID -eq 1  ]; then
       echo "Le script doit être lancé en tant que root"
       exit 1
fi

 

Quant-aux codes erreurs, le status EXIT 0 est souvent utilisé pour les tâches réalisées avec succès. En cas d'utilisation des codes erreurs mettre des codes erreurs personnalisés. Mais c'est juste une broutille :-)

 

For normal exits use 0 (recommended)
and for abnormal program termination or incomplete ones use 1 (recommended)

 

 

Sinon pour tes débuts c'est parfait :-)

(hmmm, peut-être rajouter des logs ? :P)

Link to comment
Share on other sites

Merci SckyzO pour ton aide.

 

Ce que je cherchais surtout c'était de n'avoir plus qu'une seule fenêtre, au lieu d'une apparition à chaque mouvement.

 

Je pense qu'à plusieurs on pourrait déboucher sur une appli assez forte...

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...