Script Pulizia Ubuntu Tools - Giugno 2011

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Avatar utente
Six110
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 528
Iscrizione: venerdì 4 aprile 2008, 13:26
Desktop: Unity
Distribuzione: Ubuntu 15.10 x86_64
Sesso: Maschile
Località: Savona - Italia
Contatti:

Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1

Messaggio da Six110 »

Magari una scrittura più elegante e chiara degli if
INDENTA INDENTA INDENTA INDENTA!!!!
Gridava il mio professore di informatica...mi sa ma non me l'ha urlato abbastanza!
Quindi una bella indentazione del codice non farebbe schifo!
cmq è vero, ce lo avevano segnalato mille post fa che c'era quell'errore!

@escaflone: quella del file di log nn la vedo una cosa utilissima...tanto lo script è abbastanza interattivo da non lasciarti tempo di andartene, e alla fine la finestra non si chiude, quindi ti puoi rileggere cosa è stato svolto!

@community: prossimi lavori, traduzione e indentazione!
~The quieter you become, the more you are able to hear~
Avatar utente
escaflone86
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 373
Iscrizione: martedì 19 settembre 2006, 18:08
Contatti:

Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1

Messaggio da escaflone86 »

SixV1c10uS ha scritto:
Magari una scrittura più elegante e chiara degli if
INDENTA INDENTA INDENTA INDENTA!!!!
Gridava il mio professore di informatica...mi sa ma non me l'ha urlato abbastanza!
Quindi una bella indentazione del codice non farebbe schifo!
cmq è vero, ce lo avevano segnalato mille post fa che c'era quell'errore!

@escaflone: quella del file di log nn la vedo una cosa utilissima...tanto lo script è abbastanza interattivo da non lasciarti tempo di andartene, e alla fine la finestra non si chiude, quindi ti puoi rileggere cosa è stato svolto!

@community: prossimi lavori, traduzione e indentazione!
Ok allora lasciamo solamente le spiegazioni...per le correzzioni in prima pagina per quanto riguarda trash e temp eseguito...per l'indentazione e solo questione di lasciare spazio tra i vari comandi giusto ? tra if etc...?
Ultima modifica di escaflone86 il sabato 2 agosto 2008, 12:47, modificato 1 volta in totale.
Luke Skywalker:" Bene, ci proverò". Yoda: « Provare no! Fare! O non fare. Non c'è provare! » Dateci un'cchiata.....http://forum.ubuntu-it.org/viewtopic.php?t=201409

DeviantArt: http://alespana.deviantart.com/
Avatar utente
Mr Kuzio
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 706
Iscrizione: martedì 13 febbraio 2007, 13:41
Località: Sydney
Contatti:

Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1

Messaggio da Mr Kuzio »

L'indentazione si fa con il tab ;)

Codice: Seleziona tutto

pippo non indentato
	pippo indentato di una tabulazione
		pippo indentato di due tabulazioni
		/pippo indentato di due tabulazioni
	/pippo indentato di una tabulazione
/pippo non indentato
Sono sicuro di aver scritto una cosa superflua, ma credo che sia sempre meglio cercare di essere il più chiari possibili ;)
Xander86
Prode Principiante
Messaggi: 171
Iscrizione: mercoledì 7 novembre 2007, 13:42

Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1

Messaggio da Xander86 »

Codice: Seleziona tutto

echo -n "# Verifco che non ci siano pacchetti difettosi? "
Verifico non Verifco  ;D
Avatar utente
telperion
Rampante Reduce
Rampante Reduce
Messaggi: 5407
Iscrizione: lunedì 10 luglio 2006, 18:20

Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1

Messaggio da telperion »

Mr Kuzio ha scritto: L'indentazione si fa con il tab ;)

Codice: Seleziona tutto

pippo non indentato
	pippo indentato di una tabulazione
		pippo indentato di due tabulazioni
		/pippo indentato di due tabulazioni
	/pippo indentato di una tabulazione
/pippo non indentato
Sono sicuro di aver scritto una cosa superflua, ma credo che sia sempre meglio cercare di essere il più chiari possibili ;)

Il tab ed anche il costrutto ben chiaro

Codice: Seleziona tutto

if [ condizione ]: then
       cose da fare
elif [ altra condizione ]: then
       altrecose
elif [ altra condizione 2 ]: then
       altrecose 2
elif [ altra condizione 3 ]: then
       if [ ulteriore condizione ]: then
              ulteriori cose da fare
       elif [ ulteriore altra condizione ]: then
              ulteriori altrecose
       else
              altrecose 3
       fi
else
       altrimenti faccio questo
fi
rende la lettura e manutenzione molto più agevole.
Ultima modifica di telperion il sabato 2 agosto 2008, 14:46, modificato 1 volta in totale.
Avatar utente
telperion
Rampante Reduce
Rampante Reduce
Messaggi: 5407
Iscrizione: lunedì 10 luglio 2006, 18:20

Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1

Messaggio da telperion »

Esempio con lo script diviso in funzioni (in testa):

Codice: Seleziona tutto

#!/bin/bash
#Questo programma effettua la pulizia di un sistema operativo GNU/Linux Ubuntu
clear
echo "=============================================================================="
echo "=        MANUTENZIONE DI UBUNTU  - Team S.P.U. -                             ="
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


# ########################################################################################


#####################################################################################
### funzioni utilizzate dallo script (devono stare prima)  ############################
#####################################################################################

function tre_righe_vuote
{
echo ""
echo ""
echo ""
}
#####################################################################################

function avviso_pericoloso
{
echo ""
echo "ATTENZIONE: COMANDO POTENZIALMENTE PERICOLOSO!!"
echo "Se non sei sicuro di quel che fai rispondi n o premi invio."
}

#####################################################################################

function aggiorna_indici_pacchetti
{
echo -n "# Aggiorno gli indici dei pacchetti? (s/n)"
read sure

if [[ $sure = "s" ]]; then
	sudo apt-get update
	echo "* Aggiornamento indici pacchetti...[OK]"
else 
	echo "* Aggiornamento indici pacchetti...[Operazione non eseguita..]"
fi
}

#####################################################################################

function aggiorna_pacchetti
{
echo -n "# Aggiorno i pacchetti? (s/n)"
read sure

if [[ $sure = "s" ]]; then
	sudo apt-get upgrade
	echo "* Aggiornamento pacchetti...[OK]"
else 
	echo "* Aggiornamento pacchetti...[Operazione non eseguita..]"
fi
}

#####################################################################################

function aggiorna_dist-upgrade
{
# dist-upgrade non serve ad aggiornare il kernel ed è oprazione pericolosa che puo portare a situazioni di stallo



echo -n "# Faccio un dist-upgrade? (s/n)"
avviso_pericoloso
read sure

if [[ $sure = "s" ]]; then
	sudo apt-get dist-upgrade -f
	echo "* Aggiornamento dist-upgrade...[OK]"
else 
	echo "* Aggiornamento dist-upgrade...[Operazione non eseguita..]"
fi
}

#####################################################################################

function ricerca_pacchetti_difettosi
{
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...[Operazione non eseguita..]"
fi
}

#####################################################################################

function aggiorna_configurazioni_grub
{

echo -n  "# Aggiorno le configurazioni di GRUB? (s/n)"
avviso_pericoloso
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]"
fi
}

#####################################################################################




###### ciclo principale dello script ############################################
###### parte 1 aggiornamento         ############################################

echo
echo "********************** INIZIO AGGIORNAMENTO DEL SISTEMA **********************"
echo

aggiorna_indici_pacchetti

tre_righe_vuote
aggiorna_pacchetti

tre_righe_vuote
aggiorna_dist-upgrade

tre_righe_vuote
ricerca_pacchetti_difettosi

tre_righe_vuote
aggiorna_configurazioni_grub

echo
echo "--------------------------- AGGIORNAMENTO TERMINATO --------------------------"

###### parte 2 pulizia    ############################################
# ########################################################################################
echo
echo
echo "************************* INIZIO PULIZIA DEL SISTEMA *************************"
echo

# ########################################################################################
# Rimuovo le dipendenze inutili

echo "ATTENZIONE: COMANDO POTENZIALMENTE PERICOLOSO!!" # puo rimuovere mezzo sistema 
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...[Operazione non eseguita..]"
fi

# ########################################################################################
# cancello cache dei pacchetti scaricati dai repository obsoleti

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...[Operazione non eseguita..]"
fi

# ########################################################################################
# cancello cache di apt

echo -n "# Rimuovo la cache dei pacchetti scaricati dai repository? (s/n) "
read sure
if [[ $sure = "s" ]]; then
	sudo apt-get clean
	echo "* Rimozione  cache pacchetti scaricati...[OK]"
else 
	echo "* Rimozione  cache pacchetti scaricati...[Operazione non eseguita..]"
fi

# ########################################################################################
# cancello pacchetti di sistema oramai diventati obsoleti

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...[Operazione non eseguita..]" 
fi

# ########################################################################################
# cancello le librerie orfane

echo "ATTENZIONE: COMANDO POTENZIALMENTE PERICOLOSO!!"
echo -n "# Rimuovo le librerie orfane? "
read sure

if [[ $sure = "s" ]]; then
	sudo apt-get --purge remove `deborphan`
	echo "* Rimozione librerie orfane...[OK]"
else 
	echo "* Rimozione librerie orfane...[Operazione non eseguita..]"
fi


echo "ATTENZIONE: COMANDO POTENZIALMENTE PERICOLOSO!!"
echo -n "# Rimuovo le librerie orfane di sviluppo? "
read sure
if [[ $sure = "s" ]]
	then
	sudo apt-get --purge remove `deborphan --libdev`
	echo "* Rimozione librerie orfane...[OK]"
else echo "* Rimozione librerie orfane...[Operazione non eseguita..]"
fi
echo -n "# Elimino il contenuto di /temp? "
read sure
if [[ $sure = "s" ]]
	then
	sudo rm -fr /tmp/*
	echo "* Eliminazione contenuto /temp...[OK]"
else echo "* Eliminazione contenuto /temp...[Operazione non eseguita..]" 
fi
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 ...[Operazione non eseguita..]"
fi
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 ...[Operazione non eseguita..]"
fi
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...[Operazione non eseguita..]"
	fi
else 
	echo "* Ricerca residui di files...[Operazione non eseguita..]"
fi


echo
echo "------------------------------ PULIZIA TERMINATA -----------------------------"
echo
read -p "Premi <INVIO> per uscire"

Il corpo centrale per l'aggiornamento diventa ora semplicemente:

Codice: Seleziona tutto

echo "********************** INIZIO AGGIORNAMENTO DEL SISTEMA **********************"
echo

aggiorna_indici_pacchetti

tre_righe_vuote
aggiorna_pacchetti

tre_righe_vuote
aggiorna_dist-upgrade

tre_righe_vuote
ricerca_pacchetti_difettosi

tre_righe_vuote
aggiorna_configurazioni_grub

echo
echo "--------------------------- AGGIORNAMENTO TERMINATO --------------------------"
La parte aggiornamento è completa,  la parte pulizia è ancora nel modo iniziale.

Se può essere utile.

Da evidenziare che parecchi comandi possono portare ad esiti imprevisti e catastrofici.
Da segnalare e deincentivare l'uso se non si conoscono i possibili effetti collaterali.
Ultima modifica di telperion il sabato 2 agosto 2008, 16:39, modificato 1 volta in totale.
Xander86
Prode Principiante
Messaggi: 171
Iscrizione: mercoledì 7 novembre 2007, 13:42

Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1

Messaggio da Xander86 »

si, e in più descrivere, prima della interazione dell'utente, cosa può fare il comando pericoloso ;)
Avatar utente
Markon
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1536
Iscrizione: mercoledì 17 gennaio 2007, 10:34
Località: Sperone Beach(AV)
Contatti:

Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1

Messaggio da Markon »

Ragazzi, direi che è un ottimo script ora. Però non mi piace la sezione per aggiornare grub.
Lasciatelo stare! :D
My Guitar Wants to Kill your Mama!

DIVENTA PYTHONEER
Avatar utente
telperion
Rampante Reduce
Rampante Reduce
Messaggi: 5407
Iscrizione: lunedì 10 luglio 2006, 18:20

Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1

Messaggio da telperion »

Markon ha scritto: Ragazzi, direi che è un ottimo script ora. Però non mi piace la sezione per aggiornare grub.
Lasciatelo stare! :D
Ce ne sono parecchie di "cosette pericolose" che eliminerei.
Avatar utente
escaflone86
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 373
Iscrizione: martedì 19 settembre 2006, 18:08
Contatti:

Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1

Messaggio da escaflone86 »

telperion ha scritto:
Markon ha scritto: Ragazzi, direi che è un ottimo script ora. Però non mi piace la sezione per aggiornare grub.
Lasciatelo stare! :D
Ce ne sono parecchie di "cosette pericolose" che eliminerei.
Ok ogni commento costruttivo e sempre ben accetto....dite voi cosa ne pensate e cosa togliereste...
Luke Skywalker:" Bene, ci proverò". Yoda: « Provare no! Fare! O non fare. Non c'è provare! » Dateci un'cchiata.....http://forum.ubuntu-it.org/viewtopic.php?t=201409

DeviantArt: http://alespana.deviantart.com/
Avatar utente
telperion
Rampante Reduce
Rampante Reduce
Messaggi: 5407
Iscrizione: lunedì 10 luglio 2006, 18:20

Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1

Messaggio da telperion »

escaflone86 ha scritto:
telperion ha scritto:
Markon ha scritto: Ragazzi, direi che è un ottimo script ora. Però non mi piace la sezione per aggiornare grub.
Lasciatelo stare! :D
Ce ne sono parecchie di "cosette pericolose" che eliminerei.
Ok ogni commento costruttivo e sempre ben accetto....dite voi cosa ne pensate e cosa togliereste...
Beh tutti quelli segnalati come potenzialmente pericolosi, in effetti su un pc possono andare benissimo su un altro potenzialmente potrebbero distruggere la distribuzione.
shouldes
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 19490
Iscrizione: domenica 10 febbraio 2008, 21:45

Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1

Messaggio da shouldes »

Io eviterei pure i dist-upgrade se è per quello, molto spesso si tengono i backports abilitati ma si è costretti a fermare un pacchetto a una determinata versione, un dist-upgrade nello script è leggermente scomodo per molti.
Avatar utente
telperion
Rampante Reduce
Rampante Reduce
Messaggi: 5407
Iscrizione: lunedì 10 luglio 2006, 18:20

Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1

Messaggio da telperion »

shouldes ha scritto: Io eviterei pure i dist-upgrade se è per quello, molto spesso si tengono i backports abilitati ma si è costretti a fermare un pacchetto a una determinata versione, un dist-upgrade nello script è leggermente scomodo per molti.

Infatti nella mia ipotesi di script dist-upgrade è classificato come comando pericoloso.
Avatar utente
lucapas
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1482
Iscrizione: martedì 21 febbraio 2006, 15:30
Desktop: Unity
Distribuzione: Ubuntu 16.04 LTS x64
Località: AP

Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1

Messaggio da lucapas »

Intanto complimenti, veramente un ottima iziativa! (b2b)

Però secondo me, che sono un vero utonto e di ste cose quindi me ne intendo ;D , il primo messaggio non spiega bene cosa bisogna effettivamente fare per usare tale script, sia volendo usare la versione a riga di comando che quella grafica; non si capisce (o meglio io non ho capito) cosa devo copiare e dove per avviare la procedura.  ::)
Avatar utente
Ulisse07
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4018
Iscrizione: venerdì 13 aprile 2007, 2:53

Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1

Messaggio da Ulisse07 »

echo "ATTENZIONE: COMANDO POTENZIALMENTE PERICOLOSO!!"
echo "# Aggiorno le configurazioni di GRUB? "
Capisco l'errore di distrazione.. ma il cursore che mi lampeggia sotto e non a fianco alla riga mi suona come una nota stonata  ;D
echo "ATTENZIONE: COMANDO POTENZIALMENTE PERICOLOSO!!"
echo -n "# Aggiorno le configurazioni di GRUB? "
Di programmazione non ne capisco nulla o poco. Mi dite come viene chiamata quella variabile..mmm no, forse opzione.. -n ?
grazie
Ultima modifica di Ulisse07 il domenica 3 agosto 2008, 16:24, modificato 1 volta in totale.
Avatar utente
telperion
Rampante Reduce
Rampante Reduce
Messaggi: 5407
Iscrizione: lunedì 10 luglio 2006, 18:20

Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1

Messaggio da telperion »

versione con tutte le funzioni e  doppia modalità
./nomescript (lancia la versione non pericolosa)
./nomescript avanzata (lancia la versione avanzata - sconsigliato l'uso)

Codice: Seleziona tutto

#!/bin/bash
#Questo programma effettua la pulizia di un sistema operativo GNU/Linux Ubuntu
clear
echo "=============================================================================="
echo "=        MANUTENZIONE DI UBUNTU  - Team S.P.U. -                             ="
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

#versione=0.010

case $1 in
	"avanzata")
		modalita="avanzata"
	;;
	
	*)	
		modalita="standard"
	;;
esac

# la modalità avanzata si attiva con "./nomescript avanzata"
# l'uso delle opzioni in modalità avanzata può portare a malfunzionamenti gravi
# fino anche al totale blocco del sistema. Usare con estrema cautela a vostro rischio
# Sconsigliata 


# ########################################################################################


#####################################################################################
### funzioni utilizzate dallo script (devono stare prima ############################
#####################################################################################

function tre_righe_vuote
{
echo ""
echo ""
echo ""
}
#####################################################################################

function avviso_pericoloso
{
echo ""
echo "ATTENZIONE: COMANDO POTENZIALMENTE PERICOLOSO!!"
echo "Se non sei sicuro di quel che fai rispondi n o premi invio."
}

#####################################################################################

function aggiorna_indici_pacchetti
{
echo -n "# Aggiorno gli indici dei pacchetti? (s/n)"
read sure

if [[ $sure = "s" ]]; then
	sudo apt-get update
	echo "* Aggiornamento indici pacchetti...[OK]"
else 
	echo "* Aggiornamento indici pacchetti...[Operazione non eseguita..]"
fi
}

#####################################################################################

function aggiorna_pacchetti
{
echo -n "# Aggiorno i pacchetti? (s/n)"
read sure

if [[ $sure = "s" ]]; then
	sudo apt-get upgrade
	echo "* Aggiornamento pacchetti...[OK]"
else 
	echo "* Aggiornamento pacchetti...[Operazione non eseguita..]"
fi
}

#####################################################################################

function aggiorna_dist-upgrade
{
# dist-upgrade non serve ad aggiornare il kernel ed è oprazione pericolosa che puo portare a situazioni di stallo



echo -n "# Faccio un dist-upgrade? (s/n)"
avviso_pericoloso
read sure

if [[ $sure = "s" ]]; then
	sudo apt-get dist-upgrade -f
	echo "* Aggiornamento dist-upgrade...[OK]"
else 
	echo "* Aggiornamento dist-upgrade...[Operazione non eseguita..]"
fi
}

#####################################################################################

function ricerca_pacchetti_difettosi
{
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...[Operazione non eseguita..]"
fi
}

#####################################################################################

function aggiorna_configurazioni_grub
{

echo -n "# Aggiorno le configurazioni di GRUB? (s/n)"
avviso_pericoloso
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]"
fi
}

#####################################################################################

function rimuovo_dipendeze_inutili
{

echo -n "# Rimuovo le dipendenze inutili? (s/n)"
avviso_pericoloso
read sure
if [[ $sure = "s" ]]; then
	sudo apt-get --purge autoremove
	echo "* Rimozione dipendenze inutili...[OK]"
else 
	echo "* Rimozione dipendenze inutili...[Operazione non eseguita..]"
fi
}

#####################################################################################

function apt_autoclean
{
echo -n "# Rimuovo la cache dei pacchetti scaricati dai repository obsoleti? (s/n)"
read sure
if [[ $sure = "s" ]]; then
	sudo apt-get autoclean
	echo "* Rimozione cache pacchetti obsoleti...[OK]"
else 
	echo "* Rimozione cache pacchetti obsoleti...[Operazione non eseguita..]"
fi
}

#####################################################################################

function apt_clean
{
echo -n "# Rimuovo la cache dei pacchetti scaricati dai repository? (s/n) "
read sure
if [[ $sure = "s" ]]; then
	sudo apt-get clean
	echo "* Rimozione  cache pacchetti scaricati...[OK]"
else 
	echo "* Rimozione  cache pacchetti scaricati...[Operazione non eseguita..]"
fi
}

#####################################################################################

function rimuovi_pacchetti_obsoleti
{
echo -n "# Rimuovo tutti i pacchetti di sistema oramai diventati obsoleti? (s/n)"
avviso_pericoloso
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...[Operazione non eseguita..]" 
fi
}

#####################################################################################

function cancello_orfani
{
echo -n "# Rimuovo le librerie orfane? (s/n)"
avviso_pericoloso
read sure

if [[ $sure = "s" ]]; then
	sudo apt-get --purge remove `deborphan`
	echo "* Rimozione librerie orfane...[OK]"
else 
	echo "* Rimozione librerie orfane...[Operazione non eseguita..]"
fi
}
#####################################################################################

function cancello_orfani_dev
{
echo -n "# Rimuovo le librerie orfane di sviluppo? (s/n)"
avviso_pericoloso
read sure
if [[ $sure = "s" ]]; then
	sudo apt-get --purge remove `deborphan --libdev`
	echo "* Rimozione librerie dev orfane...[OK]"
else 
	echo "* Rimozione librerie dev orfane...[Operazione non eseguita..]"
fi
}

#####################################################################################

function cancella_tmp
{
echo -n "# Elimino il contenuto della cartella /tmp? (s/n)"
avviso_pericoloso
read sure
if [[ $sure = "s" ]]; then
	sudo rm -fr /tmp/*
	echo "* Eliminazione contenuto /tmp...[OK]"
else 
	echo "* Eliminazione contenuto /tmp...[Operazione non eseguita..]" 
fi
}

#####################################################################################

function cancella_trash
{
echo -n "# Elimino il contenuto del Cestino? (s/n)"
read sure
if [[ $sure = "s" ]]; then
	sudo rm -rfv ~/.local/share/Trash/*
	echo "* Eliminazione file da /Trash ...[OK]"
else 
	echo "* Eliminazione file da /Trash ...[Operazione non eseguita..]"
fi
}

#####################################################################################

function cancella_miniature_vecchie
{
echo -n "# Elimino i file inutilizzati della cartella /.thumbnails? (s/n)"
read sure
if [[ $sure = "s" ]]; then
	#sudo rm -rfv ~/.thumbnails/*
	find ~/.thumbnails -type f -atime +7 -exec rm {} \;	
	echo "* Eliminazione file da /.thumbnails ...[OK]"
else 
	echo "*Eliminazione file da /.thumbnails ...[Operazione non eseguita..]"
fi
}

#####################################################################################

function file_residui
{
echo -n "# Effettuo una ricerca di residui di file? (s/n)"
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? (s/n)"
	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 "* Eliminati file residui...[OK]"
	else 
		echo "* Eliminazione residui...[Operazione non eseguita..]"
	fi
else 
	echo "* Ricerca residui di files...[Operazione non eseguita..]"
fi
}



#####################################################################################


# ***********************************************************************************
###### ciclo principale dello script ############################################
###### parte 1 aggiornamento         ############################################

echo
echo "INIZIO AGGIORNAMENTO DEL SISTEMA (modalità $modalita)"
echo 

if [ $modalita = "avanzata" ]; then
	aggiorna_indici_pacchetti

	tre_righe_vuote
	aggiorna_pacchetti

	tre_righe_vuote
	aggiorna_dist-upgrade

	tre_righe_vuote
	ricerca_pacchetti_difettosi

	tre_righe_vuote
	aggiorna_configurazioni_grub
else
	aggiorna_indici_pacchetti

	tre_righe_vuote
	aggiorna_pacchetti

	#tre_righe_vuote
	#aggiorna_dist-upgrade

	tre_righe_vuote
	ricerca_pacchetti_difettosi

	#tre_righe_vuote
	#aggiorna_configurazioni_grub

fi

tre_righe_vuote
echo "AGGIORNAMENTO TERMINATO"
echo "-----------------------"
###### parte 2 pulizia    ############################################

tre_righe_vuote
echo "INIZIO PULIZIA DEL SISTEMA (modalità $modalita)"
echo 


if [ $modalita = "avanzata" ]; then

	rimuovo_dipendeze_inutili

	tre_righe_vuote
	apt_autoclean

	tre_righe_vuote
	apt_clean

	tre_righe_vuote
	rimuovi_pacchetti_obsoleti

	tre_righe_vuote
	cancello_orfani

	tre_righe_vuote
	cancello_orfani_dev

	tre_righe_vuote
	cancella_tmp

	tre_righe_vuote
	cancella_trash

	tre_righe_vuote
	cancella_miniature_vecchie

	tre_righe_vuote
	file_residui

else

	#rimuovo_dipendeze_inutili

	#tre_righe_vuote
	apt_autoclean

	tre_righe_vuote
	apt_clean

	#tre_righe_vuote
	#rimuovi_pacchetti_obsoleti

	#tre_righe_vuote
	#cancello_orfani

	#tre_righe_vuote
	#cancello_orfani_dev

	#tre_righe_vuote
	#cancella_tmp

	tre_righe_vuote
	cancella_trash

	tre_righe_vuote
	cancella_miniature_vecchie

	tre_righe_vuote
	file_residui
fi


	tre_righe_vuote
echo "PULIZIA TERMINATA"
echo "-----------------"
tre_righe_vuote

Ultima modifica di telperion il domenica 3 agosto 2008, 15:59, modificato 1 volta in totale.
shouldes
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 19490
Iscrizione: domenica 10 febbraio 2008, 21:45

Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1

Messaggio da shouldes »

telperion ha scritto: versione con tutte le funzioni e  doppia modalità
./nomescript (lancia la versione non pericolosa)
./nomescript avanzata (lancia la versione avanzata - sconsigliato l'uso)

Codice: Seleziona tutto

#!/bin/bash
#Questo programma effettua la pulizia di un sistema operativo GNU/Linux Ubuntu
clear
echo "=============================================================================="
echo "=        MANUTENZIONE DI UBUNTU  - Team S.P.U. -                             ="
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

#versione=0.010

case $1 in
	"avanzata")
		modalita="avanzata"
	;;
	
	*)	
		modalita="standard"
	;;
esac

# la modalità avanzata si attiva con "./nomescript avanzata"
# l'uso delle opzioni in modalità avanzata può portare a malfunzionamenti gravi
# fino anche al totale blocco del sistema. Usare con estrema cautela a vostro rischio
# Sconsigliata 


# ########################################################################################


#####################################################################################
### funzioni utilizzate dallo script (devono stare prima ############################
#####################################################################################

function tre_righe_vuote
{
echo ""
echo ""
echo ""
}
#####################################################################################

function avviso_pericoloso
{
echo ""
echo "ATTENZIONE: COMANDO POTENZIALMENTE PERICOLOSO!!"
echo "Se non sei sicuro di quel che fai rispondi n o premi invio."
}

#####################################################################################

function aggiorna_indici_pacchetti
{
echo -n "# Aggiorno gli indici dei pacchetti? (s/n)"
read sure

if [[ $sure = "s" ]]; then
	sudo apt-get update
	echo "* Aggiornamento indici pacchetti...[OK]"
else 
	echo "* Aggiornamento indici pacchetti...[Operazione non eseguita..]"
fi
}

#####################################################################################

function aggiorna_pacchetti
{
echo -n "# Aggiorno i pacchetti? (s/n)"
read sure

if [[ $sure = "s" ]]; then
	sudo apt-get upgrade
	echo "* Aggiornamento pacchetti...[OK]"
else 
	echo "* Aggiornamento pacchetti...[Operazione non eseguita..]"
fi
}

#####################################################################################

function aggiorna_dist-upgrade
{
# dist-upgrade non serve ad aggiornare il kernel ed è oprazione pericolosa che puo portare a situazioni di stallo



echo -n "# Faccio un dist-upgrade? (s/n)"
avviso_pericoloso
read sure

if [[ $sure = "s" ]]; then
	sudo apt-get dist-upgrade -f
	echo "* Aggiornamento dist-upgrade...[OK]"
else 
	echo "* Aggiornamento dist-upgrade...[Operazione non eseguita..]"
fi
}

#####################################################################################

function ricerca_pacchetti_difettosi
{
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...[Operazione non eseguita..]"
fi
}

#####################################################################################

function aggiorna_configurazioni_grub
{

echo -n "# Aggiorno le configurazioni di GRUB? (s/n)"
avviso_pericoloso
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]"
fi
}

#####################################################################################

function rimuovo_dipendeze_inutili
{

echo -n "# Rimuovo le dipendenze inutili? (s/n)"
avviso_pericoloso
read sure
if [[ $sure = "s" ]]; then
	sudo apt-get --purge autoremove
	echo "* Rimozione dipendenze inutili...[OK]"
else 
	echo "* Rimozione dipendenze inutili...[Operazione non eseguita..]"
fi
}

#####################################################################################

function apt_autoclean
{
echo -n "# Rimuovo la cache dei pacchetti scaricati dai repository obsoleti? (s/n)"
read sure
if [[ $sure = "s" ]]; then
	sudo apt-get autoclean
	echo "* Rimozione cache pacchetti obsoleti...[OK]"
else 
	echo "* Rimozione cache pacchetti obsoleti...[Operazione non eseguita..]"
fi
}

#####################################################################################

function apt_clean
{
echo -n "# Rimuovo la cache dei pacchetti scaricati dai repository? (s/n) "
read sure
if [[ $sure = "s" ]]; then
	sudo apt-get clean
	echo "* Rimozione  cache pacchetti scaricati...[OK]"
else 
	echo "* Rimozione  cache pacchetti scaricati...[Operazione non eseguita..]"
fi
}

#####################################################################################

function rimuovi_pacchetti_obsoleti
{
echo -n "# Rimuovo tutti i pacchetti di sistema oramai diventati obsoleti? (s/n)"
avviso_pericoloso
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...[Operazione non eseguita..]" 
fi
}

#####################################################################################

function cancello_orfani
{
echo -n "# Rimuovo le librerie orfane? (s/n)"
avviso_pericoloso
read sure

if [[ $sure = "s" ]]; then
	sudo apt-get --purge remove `deborphan`
	echo "* Rimozione librerie orfane...[OK]"
else 
	echo "* Rimozione librerie orfane...[Operazione non eseguita..]"
fi
}
#####################################################################################

function cancello_orfani_dev
{
echo -n "# Rimuovo le librerie orfane di sviluppo? (s/n)"
avviso_pericoloso
read sure
if [[ $sure = "s" ]]; then
	sudo apt-get --purge remove `deborphan --libdev`
	echo "* Rimozione librerie dev orfane...[OK]"
else 
	echo "* Rimozione librerie dev orfane...[Operazione non eseguita..]"
fi
}

#####################################################################################

function cancella_tmp
{
echo -n "# Elimino il contenuto della cartella /tmp? (s/n)"
avviso_pericoloso
read sure
if [[ $sure = "s" ]]; then
	sudo rm -fr /tmp/*
	echo "* Eliminazione contenuto /tmp...[OK]"
else 
	echo "* Eliminazione contenuto /tmp...[Operazione non eseguita..]" 
fi
}

#####################################################################################

function cancella_trash
{
echo -n "# Elimino il contenuto del Cestino? (s/n)"
read sure
if [[ $sure = "s" ]]; then
	sudo rm -rfv ~/.local/share/Trash/*
	echo "* Eliminazione file da /Trash ...[OK]"
else 
	echo "* Eliminazione file da /Trash ...[Operazione non eseguita..]"
fi
}

#####################################################################################

function cancella_miniature_vecchie
{
echo -n "# Elimino i file inutilizzati della cartella /.thumbnails? (s/n)"
read sure
if [[ $sure = "s" ]]; then
	#sudo rm -rfv ~/.thumbnails/*
	find ~/.thumbnails -type f -atime +7 -exec rm {} \;	
	echo "* Eliminazione file da /.thumbnails ...[OK]"
else 
	echo "*Eliminazione file da /.thumbnails ...[Operazione non eseguita..]"
fi
}

#####################################################################################

function file_residui
{
echo -n "# Effettuo una ricerca di residui di file? (s/n)"
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? (s/n)"
	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 "* Eliminati file residui...[OK]"
	else 
		echo "* Eliminazione residui...[Operazione non eseguita..]"
	fi
else 
	echo "* Ricerca residui di files...[Operazione non eseguita..]"
fi
}



#####################################################################################


# ***********************************************************************************
###### ciclo principale dello script ############################################
###### parte 1 aggiornamento         ############################################

echo
echo "INIZIO AGGIORNAMENTO DEL SISTEMA (modalità $modalita)"
echo 

if [ $modalita = "avanzata" ]; then
	aggiorna_indici_pacchetti

	tre_righe_vuote
	aggiorna_pacchetti

	tre_righe_vuote
	aggiorna_dist-upgrade

	tre_righe_vuote
	ricerca_pacchetti_difettosi

	tre_righe_vuote
	aggiorna_configurazioni_grub
else
	aggiorna_indici_pacchetti

	tre_righe_vuote
	aggiorna_pacchetti

	#tre_righe_vuote
	#aggiorna_dist-upgrade

	tre_righe_vuote
	ricerca_pacchetti_difettosi

	#tre_righe_vuote
	#aggiorna_configurazioni_grub

fi

tre_righe_vuote
echo "AGGIORNAMENTO TERMINATO"
echo "-----------------------"
###### parte 2 pulizia    ############################################

tre_righe_vuote
echo "INIZIO PULIZIA DEL SISTEMA (modalità $modalita)"
echo 


if [ $modalita = "avanzata" ]; then

	rimuovo_dipendeze_inutili

	tre_righe_vuote
	apt_autoclean

	tre_righe_vuote
	apt_clean

	tre_righe_vuote
	rimuovi_pacchetti_obsoleti

	tre_righe_vuote
	cancello_orfani

	tre_righe_vuote
	cancello_orfani_dev

	tre_righe_vuote
	cancella_tmp

	tre_righe_vuote
	cancella_trash

	tre_righe_vuote
	cancella_miniature_vecchie

	tre_righe_vuote
	file_residui

else

	#rimuovo_dipendeze_inutili

	#tre_righe_vuote
	apt_autoclean

	tre_righe_vuote
	apt_clean

	#tre_righe_vuote
	#rimuovi_pacchetti_obsoleti

	#tre_righe_vuote
	#cancello_orfani

	#tre_righe_vuote
	#cancello_orfani_dev

	#tre_righe_vuote
	#cancella_tmp

	tre_righe_vuote
	cancella_trash

	tre_righe_vuote
	cancella_miniature_vecchie

	tre_righe_vuote
	file_residui
fi


	tre_righe_vuote
echo "PULIZIA TERMINATA"
echo "-----------------"
tre_righe_vuote


è uno spasso leggere: sconsigliato l'uso.  ;D
Avatar utente
telperion
Rampante Reduce
Rampante Reduce
Messaggi: 5407
Iscrizione: lunedì 10 luglio 2006, 18:20

Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1

Messaggio da telperion »

shouldes ha scritto:
è uno spasso leggere: sconsigliato l'uso.  ;D

apt-get autoremove, librerie orfane ed altre amenità, sono vere armi di distruzione di massa dei pacchetti.

Ok far pulizia, ma correre il rischio di eliminare mezzo sistema mi sembra esagerato.
Per i dist-upgrade sarebbe anche meglio usare

aptitude
safe-upgrade - Perform a safe upgrade
full-upgrade - Perform an upgrade, possibly installing and removing packages

che però non conosco perchè non uso.

Anche cancellare completamente la cartella /tmp non è buona cosa visto che poi applicazioni che sono in esecuzione non troverebbero più settaggi o se stai usando qualche soft che usa un file temporaneo ti perdi tutto il lavoro.

Penso che le opzioni in standard siano sufficienti per l'uso normale, le altre cose meglio lasciarle all'utente esperto che valuta cosa fa e decide, automatizzarle non è buona regola, per me.
Ultima modifica di telperion il domenica 3 agosto 2008, 16:40, modificato 1 volta in totale.
shouldes
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 19490
Iscrizione: domenica 10 febbraio 2008, 21:45

Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1

Messaggio da shouldes »

Per me apt-get --purge autoremove è un semplice spazzolino, in quello avanzato ci infilerei deborphan.  :)
Avatar utente
Ulisse07
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4018
Iscrizione: venerdì 13 aprile 2007, 2:53

Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1

Messaggio da Ulisse07 »

shouldes ha scritto: Per me apt-get --purge autoremove è un semplice spazzolino, in quello avanzato ci infilerei deborphan.  :)
Si, --purge autoremove va utilizzato solo subito dopo aver disinstallato qualche programma. Ed io lo faccio senza remore.
Su deborphan ho quasi il terrore di usarlo solo perchè tempo fa mi eliminava puntualmente i w32codec.
Non so come ci erano finiti tra gli obsoleti da eliminare??
In linea di massima non dovrebbe essere pericoloso, semplicemente elimina i pacchhetti deb. di programmi disinstallati. Ne più e ne meno.. che poi per uno schiribizzo del OS ci vadano a finire (come è capitato a me) dei pacchetti in uso.. bhè allora dovremmmo stare attenti anche con qualche altro comando, ad esempio quello che aggiorna il grub, meno male che questo script ti fa il back-up.
Ma io sto pensando di eliminarlo.
Comunque in linea di principio sono d'accoordo con telperion quando dice_
Penso che le opzioni in standard siano sufficienti per l'uso normale, le altre cose meglio lasciarle all'utente esperto che valuta cosa fa e decide, automatizzarle non è buona regola, per me.
Ultima modifica di Ulisse07 il domenica 3 agosto 2008, 17:13, modificato 1 volta in totale.
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 5 ospiti