Revision: 14050
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at May 17, 2009 13:57 by cirio
Initial Code
#!/bin/bash #Questo script effettua la manutenzione di un sistema operativo GNU/Linux Ubuntu 8.04 - 8.10 - 9.04 #------------------------------------------------------------------------------------------+ # Funzione aggiornamento | #------------------------------------------------------------------------------------------+ function aggiornamento { echo echo "********************** INIZIO AGGIORNAMENTO DEL SISTEMA **********************" echo echo -n "# Aggiorno gli indici dei pacchetti? " read sure if [[ $sure = "s" ]] then sudo apt-get update echo "* Aggiornamento indici pacchetti...[OK]" else echo "* Aggiornamento indici pacchetti...[NOT EXECUTED]" fi echo echo -n "# Aggiorno le chiavi GPG degli indici dei pacchetti? " read sure if [[ $sure = "s" ]] then touch err sudo apt-get update 2>err num=$(grep 'NO_PUBKEY' err | wc -l) str=$(grep 'NO_PUBKEY' err) tot=$num if [ $num != 0 ] then echo "---RISOLVO NO_PUBKEY---" for (( i=0 ; i<$num ; i++ )) do tmp=${str#*NO_PUBKEY } key=${tmp:0:16} str=${str#*NO_PUBKEY} echo "Aggiungo la chiave:$key" gpg --keyserver subkeys.pgp.net --recv $key gpg --export --armor $key | sudo apt-key add - done fi num=0 num=$(grep 'BADSIG' err | wc -l) str=$(grep 'BADSIG' err) tot=$(( $tot + $num )) if [ $num != 0 ] then echo "---RISOLVO BADSIG---" for (( i=0 ; i<$num ; i++ )) do tmp=${str#*BADSIG } key=${tmp:0:16} str=${str#*BADSIG} echo "Aggiungo la chiave:$key" gpg --keyserver subkeys.pgp.net --recv $key gpg --export --armor $key | sudo apt-key add - done fi rm err else echo "* Aggiornamento chiavi GPG degli indici dei pacchetti...[NOT EXECUTED]" fi echo echo -n "# Aggiorno i pacchetti? " read sure if [[ $sure = "s" ]] then sudo apt-get upgrade echo "* Aggiornamento pacchetti...[OK]" else echo "* Aggiornamento pacchetti...[NOT EXECUTED]" fi echo echo -n "# Aggiorno la data e l'ora del sistema? " read sure if [[ $sure = "s" ]] then sudo ntpdate it.pool.ntp.org echo "* Aggiornamento data e ora...[OK]" else echo "* Aggiornamento data e ora...[NOT EXECUTED]" fi echo -n "# Aggiorno il kernel del sistema? " read sure if [[ $sure = "s" ]] then sudo apt-get dist-upgrade -f echo "* Aggiornamento kernel...[OK]" else echo "* Aggiornamento kernel...[NOT EXECUTED]" fi echo echo -n "# Aggiorno l'immagine initramfs del kernel? " read sure if [[ $sure = "s" ]] then sudo update-initramfs -u echo "* Aggiornamento immagine initramfs...[OK]" else echo "* Aggiornamento immagine initramfs...[NOT EXECUTED]" fi echo echo -n "# Verifico che non ci siano pacchetti difettosi? " read sure if [[ $sure = "s" ]] then sudo apt-get install -f echo "* Verifica pacchetti difettosi...[OK]" else echo "* Verifica pacchetti difettosi...[NOT EXECUTED]" fi echo echo "ATTENZIONE: COMANDO POTENZIALMENTE PERICOLOSO!!" echo -n "# Aggiorno le configurazioni di GRUB? " read sure if [[ $sure = "s" ]] then sudo cp /boot/grub/menu.lst /boot/grub/menu.bak sudo update-grub echo "* Backup /boot/grub/menu.lst...[OK]" echo "* Aggiornamento GRUB...[OK]" else echo "* Aggiornamento GRUB...[NOT EXECUTED]" fi echo echo "--------------------------- AGGIORNAMENTO TERMINATO --------------------------" echo } #------------------------------------------------------------------------------------------+ # Funzione pulizia | #------------------------------------------------------------------------------------------+ function pulizia { echo echo "************************* INIZIO PULIZIA DEL SISTEMA *************************" echo echo -n "# Rimuovo le dipendenze inutili? " read sure if [[ $sure = "s" ]] then sudo apt-get --purge autoremove echo "* Rimozione dipendenze inutili...[OK]" else echo "* Rimozione dipendenze inutili...[NOT EXECUTED]" fi echo echo -n "# Rimuovo la cache dei pacchetti scaricati dai repository obsoleti? " read sure if [[ $sure = "s" ]] then sudo apt-get autoclean echo "* Rimozione cache pacchetti obsoleti...[OK]" else echo "* Rimozione cache pacchetti obsoleti...[NOT EXECUTED]" fi echo echo -n "# Rimuovo la cache dei pacchetti scaricati dai repository? " read sure if [[ $sure = "s" ]] then sudo apt-get clean echo "* Rimozione cache pacchetti scaricati...[OK]" else echo "* Rimozione cache pacchetti scaricati...[NOT EXECUTED]" fi echo echo -n "# Rimuovo tutti i pacchetti di sistema oramai diventati obsoleti? " read sure if [[ $sure = "s" ]] then sudo dpkg --purge `COLUMNS=300 dpkg -l "*" | egrep "^rc" | cut -d\ -f3` echo "* Rimozione pacchetti obsoleti...[OK]" else echo "* Rimozione pacchetti obsoleti...[NOT EXECUTED]" fi echo echo -n "# Elimino il contenuto di /temp? " read sure if [[ $sure = "s" ]] then sudo rm -rf /tmp/* echo "* Eliminazione contenuto /temp...[OK]" else echo "* Eliminazione contenuto /temp...[NOT EXECUTED]" fi echo echo -n "# Elimino il contenuto della directory /.thumbnails? " read sure if [[ $sure = "s" ]] then sudo rm -rfv ~/.thumbnails/* echo "* Eliminazione files da /.thumbnails ...[OK]" else echo "*Eliminazione files da /.thumbnails ...[NOT EXECUTED]" fi echo echo -n "# Effettuo una ricerca dei residui di files? " read sure if [[ $sure = "s" ]] then find $HOME -name "*~" find $HOME -name "Desktop.ini" find $HOME -name "Thumbs.db" echo -n "# Rimuovo questi residui di file? " read sure if [ $sure == "s" ] then find $HOME -name "*~" -print0|xargs -0 /bin/rm -f find $HOME -name "Desktop.ini" -print0|xargs -0 /bin/rm -f find $HOME -name "Thumbs.db" -print0|xargs -0 /bin/rm -f echo "* Eliminazione residui...[OK]" else echo "* Eliminazione residui...[NOT EXECUTED]" fi else echo "* Ricerca residui di files...[NOT EXECUTED]" fi echo echo -n "# Elimino il contenuto del Cestino? " read sure if [[ $sure = "s" ]] then sudo rm -rfv ~/.local/share/Trash/* echo "* Eliminazione files da /Trash ...[OK]" else echo "* Eliminazione files da /Trash ...[NOT EXECUTED]" fi echo echo -n "# Pulisco i documenti recenti? " read sure if [[ $sure = "s" ]] then sudo mv ~/.recently-used.xbel .recently-used.xbel.bak sudo mv ~/.recently-used .recently-used.bak touch ~/.recently-used.xbel echo "<?xml version="1.0" encoding="UTF-8"?>\n<xbel version="1.0"\nxmlns:bookmark="http://www.freedesktop.org/standards/desktop-bookmarks"\nxmlns:mime="http://www.freedesktop.org/standards/shared-mime-info"\n></xbel>\n " > ~/.recently-used.xbel echo "* Pulizia documenti recenti...[OK]" else echo "* Pulizia documenti recenti...[NOT EXECUTED]" fi echo echo echo "Per l'esecuzione di questo comando verrà installato il pacchetto deborphan" echo "ATTENZIONE: COMANDO POTENZIALMENTE PERICOLOSO!!" echo -n "# Rimuovo le librerie orfane? " read sure if [[ $sure = "s" ]] then sudo apt-get -y install deborphan sudo apt-get --purge remove `deborphan` echo "* Rimozione librerie orfane...[OK]" else echo "* Rimozione librerie orfane...[NOT EXECUTED]" fi echo echo "Per l'esecuzione di questo comando verrà installato il pacchetto deborphan" echo "ATTENZIONE: COMANDO POTENZIALMENTE PERICOLOSO!!" echo -n "# Rimuovo le librerie orfane di sviluppo? " read sure if [[ $sure = "s" ]] then sudo apt-get -y install deborphan sudo apt-get --purge remove `deborphan --libdev` echo "* Rimozione librerie orfane...[OK]" else echo "* Rimozione librerie orfane...[NOT EXECUTED]" fi echo echo "------------------------------ PULIZIA TERMINATA -----------------------------" echo } #------------------------------------------------------------------------------------------+ # Programma principale | #------------------------------------------------------------------------------------------+ echo "+============================================================================+" echo "| MANUTENZIONE DI UBUNTU |" echo "| |" echo "| Questo script effettua una manutenzione guidata del sistema |" echo "| per rispondere affermativamente alle domande che verranno |" echo "| poste premete s e confermate premendo il tasto <invio> |" echo "| per saltare la domanda premete <invio> |" echo "| |" echo "+============================================================================+" echo echo -n "~~~ ESEGUIRE I COMANDI PER L'AGGIORNAMENTO DEL SISTEMA? " read sure if [[ $sure = "s" ]] then aggiornamento else echo "*** Aggiornamento del sistema...[NOT EXECUTED]" fi echo echo -n "~~~ ESEGUIRE I COMANDI PER LA PULIZIA DEL SISTEMA? " read sure if [[ $sure = "s" ]] then pulizia else echo "*** Pulizia del sistema...[NOT EXECUTED]" fi echo echo -n "~~~ E' CONSIGLIABILE RIAVVIARE IL SISTEMA. RIAVVIARE? " read sure if [[ $sure = "s" ]] then sudo reboot else echo "*** Riavvio del sistema...[NOT EXECUTED]" fi echo read -p "Premi <INVIO> per uscire"
Initial URL
http://lineguides.netsons.org
Initial Description
Initial Title
clean ubuntu 9.04
Initial Tags
Initial Language
Bash