#!/bin/bash ## Script réalisé et mis à jour par Bertrand Perrier le 06/05/08 # Ce script suprime les fichiers et paquet qui ne sont pas nécessaire # 25/03/07 : ajout de la suppression des fichiers ~ dans /home/$USER # 24/06/07 : mise en suspens de AUTOREMOVE, car supprime des paquets pour certains programmes # 20/10/07 : ajout de sudo dpkg --configure -a et sudo apt-get install -f # 28/10/07 : ajout de l'affichage de l'espace économisé fonction df # 28/10/07 : modification dans recherche des fichiers ~ (remplacement de *.*~ par *~ # 17/01/08 : affichage de l'espace libre avant, aprés, et le gain ddr en Mo # 30/01/08 : ajout de la purge des fichiers de configuration inutilisés # 06/05/08 : ajout du paramètre -path dans la commande de recherche des fichier ~ echo "espace libre disques dur" SPACE_FREE_BEFORE=$(df -m /dev/sda1 | awk '/\/dev/ {split($1,sda1,"%");if (sda1[1] < 100) {print $4}}') echo $SPACE_FREE_BEFORE" Mo" read -p "Voulez-vous effectuer une mise à jour (oui/non) ? " ANSWER echo " " if [ $ANSWER = oui ] then echo " " echo "=====MISE A JOUR DE LA LISTE DES PAQUETS=====" echo " " sudo apt-get update sudo apt-get dist-upgrade fi echo " " echo "=====CLEAN=====" echo " " sudo apt-get clean ##echo " " ##echo "=====AUTOREMOVE=====" ##echo " " ##sudo apt-get autoremove echo " " echo "=====AUTOCLEAN=====" echo " " sudo apt-get autoclean echo " " echo "=====FICHIER ~ =====" echo " " echo "recherche en cours ..." echo " " echo "tapez \"yes\" pour déplacer dans la corbeille" echo " ou \"no\" pour garder" echo "" find /home/$USER/ -name *.*~ -path '~/.Trash' -ok mv {} ~/.Trash/ \; find /home/$USER/ -name *~ -path '~/.Trash' -ok mv {} ~/.Trash/ \; find /home/$USER/*.*~ -path '~/.Trash' -ok mv {} ~/.Trash/ \; find /home/$USER/*~ -path '~/.Trash' -ok mv {} ~/.Trash/ \; find /var/www/ -name *.*~ -ok mv {} ~/.Trash/ \; find /var/www/ -name *~ -ok mv {} ~/.Trash/ \; find /var/www/*.*~ -ok mv {} ~/.Trash/ \; find /var/www/*~ -ok mv {} ~/.Trash/ \; ## recherche sur tout le disque dur (en étude) ## find / -name *.*~ -ok mv {} ~/.Trash/ \; echo " " echo "fin de la recherche" echo " " echo "=====CORBEILLE/TRASH=====" echo " " echo "=====CONTENU DE LA CORBEILLE====" echo " " ls -a /home/$USER/.Trash echo " " read -p "voulez-vous vider la corbeille ? (oui/non) ? " ANSWER echo " " if [ $ANSWER = oui ] then echo " " echo "=====VIDAGE DE LA CORBEILLE=====" echo " " sudo rm -r /home/$USER/.Trash/** echo " " read -p "voulez-vous supprimer les répertoires et fichiers cachés ? (oui/non) ? " ERASE_HIDE echo " " if [ $ERASE_HIDE = oui ] then sudo rm -r -f /home/$USER/.Trash/.* fi fi ## suppression des fichiers temporaire de wine (en étude) #echo " " #echo "=====WINE/TEMP=====" #echo " " #rm -r /home/$USER/.wine/drive_c/windows/temp/** #cd /home/$USER/.wine/drive_c/windows/temp #TEST = pwd #echo "TEST="$TEST #echo pwd #if [ $TEST = /home/$USER/.wine/drive_c/windows/temp ] # then # echo "ok" # else # echo "nok" #fi ## supprime ou purge tous les paquets non dépaquetés, mais qui sont marqués comme devant être supprimés ou purgés echo " " read -p "voulez-vous supprimer/purger les paquets non dépaquetés, marqués comme devant être supprimés ou purgés ? (oui/non) ? " ANSWER echo " " if [ $ANSWER = oui ] then echo " " echo "=====sudo dpkg --configure -a=====" echo " " sudo dpkg --configure -a fi ## purge les fichiers de configuration inutilisés echo " " read -p "voulez-vous purger les fichiers de configuration inutilisés ? (oui/non) ? " ANSWER echo " " if [ $ANSWER = oui ] then if [ $(COLUMNS=200 dpkg -l | grep "^rc" | tr -s ' ' | cut -d ' ' -f 2) ] then echo " " echo "=====sudo dpkg --purge...=====" echo " " sudo dpkg --purge $(COLUMNS=200 dpkg -l | grep "^rc" | tr -s ' ' | cut -d ' ' -f 2) else echo " " echo "pas de fichier à purger" echo " " fi fi ## essaye de réparer un système dont les dépendances sont défectueuses echo " " echo "voulez-vous réparer les dépendances de paquet" read -p "(cette opération peut prendre quelque dixaine de minute) ? (oui/non) ? " ANSWER echo " " if [ $ANSWER = oui ] then echo " " echo "=====sudo apt-get install -f=====" echo " " sudo apt-get install -f fi echo "espace libre disques dur" SPACE_FREE_AFTER=$(df -m /dev/sda1 | awk '/\/dev/ {split($1,sda1,"%");if (sda1[1] < 100) {print $4}}') echo $SPACE_FREE_AFTER" Mo" SPACE_FREE_WIN=$((SPACE_FREE_AFTER-SPACE_FREE_BEFORE)) echo " " echo "espace gagné" echo $SPACE_FREE_WIN" Mo" read -p " *** Appuyer sur un touche pour quitter ***" ANSWER