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