Pagina 12 di 57
Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1
Inviato: sabato 2 agosto 2008, 11:50
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!
Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1
Inviato: sabato 2 agosto 2008, 12:43
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...?
Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1
Inviato: sabato 2 agosto 2008, 12:52
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

Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1
Inviato: sabato 2 agosto 2008, 12:59
da Xander86
Codice: Seleziona tutto
echo -n "# Verifco che non ci siano pacchetti difettosi? "
Verifico non Verifco

Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1
Inviato: sabato 2 agosto 2008, 14:40
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.
Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1
Inviato: sabato 2 agosto 2008, 16:11
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.
Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1
Inviato: sabato 2 agosto 2008, 17:03
da Xander86
si, e in più descrivere, prima della interazione dell'utente, cosa può fare il comando pericoloso

Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1
Inviato: sabato 2 agosto 2008, 19:23
da Markon
Ragazzi, direi che è un ottimo script ora. Però non mi piace la sezione per aggiornare grub.
Lasciatelo stare!

Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1
Inviato: sabato 2 agosto 2008, 23:27
da telperion
Markon ha scritto:
Ragazzi, direi che è un ottimo script ora. Però non mi piace la sezione per aggiornare grub.
Lasciatelo stare!
Ce ne sono parecchie di "cosette pericolose" che eliminerei.
Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1
Inviato: sabato 2 agosto 2008, 23:46
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!
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...
Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1
Inviato: domenica 3 agosto 2008, 0:37
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!
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.
Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1
Inviato: domenica 3 agosto 2008, 0:49
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.
Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1
Inviato: domenica 3 agosto 2008, 10:48
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.
Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1
Inviato: domenica 3 agosto 2008, 11:58
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

, 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. ::)
Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1
Inviato: domenica 3 agosto 2008, 15:51
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
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
Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1
Inviato: domenica 3 agosto 2008, 15:57
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
Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1
Inviato: domenica 3 agosto 2008, 16:16
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.

Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1
Inviato: domenica 3 agosto 2008, 16:38
da telperion
shouldes ha scritto:
è uno spasso leggere: sconsigliato l'uso.
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.
Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1
Inviato: domenica 3 agosto 2008, 16:47
da shouldes
Per me apt-get --purge autoremove è un semplice spazzolino, in quello avanzato ci infilerei deborphan.

Re: Script Pulizia Ubuntu Hardy Heron + Interfaccia grafica - Released Alpha 1
Inviato: domenica 3 agosto 2008, 17:09
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.