Linux>Script
.
             clean_ubuntu_7.10_et_ant.sh

<-- LINUX

#!/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,quot;%");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/ \;
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/bertrand/.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/**

## 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 " "
read -p "voulez-vous réparer les dépendances de paquet ? (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


<-- LINUX