News:

LMDE 6, unisce la praticità dell'ultima versione di cinnamon con la robustezza di debian 12

Menu principale

script (non grafico) di pulizia del sistema (sostituto Ubuntu-Tweak)

Aperto da /dev/sda, Sabato 02 Aprile 2016, 18:38:12

Discussione precedente - Discussione successiva

Squ@ll

Ma non dovrebbe essere "-rf" e non "-fr" dopo il comando remove?
"Io sono tuo padre.."
Anakin Skywalker
Warning: "I don't use Windows!"

Tony

Perché? Non sono intercambiabili le opzioni? O -rf o -fr.

Linux non è solo un sistema operativo ma...
"È uno stato mentale, dove prima ti perdi e poi ti ritrovi"
(cit. Point Break).
Il mio pc.

Squ@ll

#77
Non lo so, domando..  :boh:
Comunque il singolo comando:
rm -fr $HOME/.cache/opera/Cache/*
Pulisce effettivamente la cache, ma nel contesto non mi pulisce nulla e mi da che la cache è pulita.

EDIT:
Non capisco come mai mi dia degli artefatti nella console?
sudo ./pulizia.sh
[sudo] password di tarcy:


*** Pulizia del sistema ***

Opzioni:

a) Pulisci cache di apt
k) Rimuovi i vecchi kernel lasciando solo quello in uso e il precedente
t) Cancella cache miniature
d) Elimina programmi installati come dipendenze non più necessarie
f) Cancella cache di Firefox
c) Cancella cache di Chromium
o) Cancella cache di Opera
l) Rimuovi le configurazioni non utilizzate
x) Pulizia completa
q) Esci
















* Pulizia della cache di Opera *
La cache di Opera è vuota!

"Io sono tuo padre.."
Anakin Skywalker
Warning: "I don't use Windows!"

bobol

...dunque sostituito quello precedente con l'ultimo aggiornato nel primo post, spostato il file .sh in /usr/bin , creato il file .desktop in /usr/share/applications , ora se lo lancio dal Menù funziona , mentre se lo lancio dal lanciatore che ho riportato sulla barra Tint2 non parte proprio  ;D

rai

#79
Ciao a tutti
ho letto (e in parte provato) lo script: lo posto per intero per sottoporvi alcune modifiche che ho fatto:
1) fix principale: ora autoremove può essere eseguito, prima non lo era _mai_
2) aggiunto un controllo sul risultato della esecuzione dei comandi con sudo: l'utente può scegliere di interrompere l'esecuzione (con ^C) invece di immettere la password
3) altre quisquilie e minutaglia per alleggerire il codice

le righe interessate (quelle che nella mia idea andrebbero eliminate) sono quelle che ho identificato con #XXX [lo dico soprattutto per semplificare la vita a chi dovesse modificare il primo post ]
#! /bin/bash

APT () {
# PULIZIA DI APT
spazio_apt=`du -sh /var/cache/apt/archives/ | cut -d "/" -f1`
echo " * Pulizia della cache di apt *"
if [ -n "$spazio_apt" ]
then
    echo "La cache di apt è di $spazio_apt"
    echo "Provvedo a pulirla (potrebbe essere necessaria la password)"
    sleep 0.5
    sudo apt-get clean -y      # elimina cache dei programmi installlati
    sleep 1
    #echo "Pulita!" #XXX bug se invece della pw l'utente dà ^C
    [ $? -eq 0 ] && echo 'Pulita!' || echo "La pulizia non è stata eseguita"
    sleep 2
else
    echo "La cache apt è vuota."
    sleep 2
fi
if [ "$ALL" == "Y" ]
then
    return
fi
INIZIO
}


PACCHETTI () {
#elimina programmi installati come dipendenze non più necessarie
echo "* Pulizia di programmi-dipendenze non più necessari *"
#XXX bisognava valorizzare la variabile LIB
#TODO migliorare i criteri usati con sed: per ora dipendono dal messaggio
LIB=$( LANG=C apt-get autoremove -s | sed '1,/REMOVED:/d;/to remove/,$d')
if [ -n "$LIB" ]
then
    echo "Programmi installati come dipendenze e non più necessari:"
    echo $LIB
    echo "Inserire la password per eliminarli o Ctrl+C per mantenerli"
    sudo apt-get autoremove -y
    [ $? -eq 0 ] && echo 'Eliminati!' || echo "La pulizia non è stata eseguita"
    #echo "Eliminati!" #XXX bug se invece della pw l'utente dà ^C
    sleep 2
else
    echo "Non ci sono programmi installati come dipendenze da rimuovere!"
    sleep 2
fi
if [ "$ALL" == "Y" ]
then
    return
fi
INIZIO
}

MINIATURE () {
# CANCELLAZIONE CACHE MINIATURE SISTEMA

#spazio_thumbnails=`du -sh $HOME/.cache/thumbnails/ | cut -d "/" -f1` #XXX nascondo l'errore in caso la dir non esista
spazio_thumbnails=`du -sh $HOME/.cache/thumbnails/ 2>/dev/null| cut -d "/" -f1`
echo "* Pulizia della cache delle miniature *"
if [ -n "$spazio_thumbnails" ]
then
    echo "La cache delle miniature è pari a $spazio_thumbnails"
    echo "Attendere, sto cancellando."
    sleep 1
    rm -fr $HOME/.cache/thumbnails/fails/*
    rm -fr $HOME/.cache/thumbnails/large/*
    rm -fr $HOME/.cache/thumbnails/normal/*
    echo 'Fatto!'
    sleep 2
    else
    echo "La cache delle miniature è vuota!"
    sleep 2
fi
if [ "$ALL" == "Y" ]
then
    return
fi
INIZIO
}

FIREFOX () {
# CANCELLAZIONE CACHE FIREFOX
DIR="$HOME/.cache/mozilla/firefox/"
echo "* Pulizia della cache di Firefox *"
if [ -d "$DIR" ]
then
    for I in `ls $DIR`
    do
       spazio_firefox=`du -sh $DIR/$I/ | cut -d "/" -f1`
       PROFILO=`echo $I | cut -d "." -f2`
       echo "La cache del profilo \"$PROFILO\" è di $spazio_firefox"
       echo -e "Cancellare?\n(premi s per sì o un altro tasto per no)"
       read -s -n1
       if [ "$REPLY" == "s" -o "$REPLY" == "S" ]
       then
           echo "Attendere, sto cancellando."
           sleep 1
           rm -fr $DIR/$I/*
           echo 'Fatto!'
           sleep 2
           else
           echo
       fi
    done
else
    which firefox &> /dev/null # Controllo la presenza di Firefox
    if [ "$?" != "0" ]
        then
        echo "Firefox non risulta installato!"
    else
       echo "La cache di Firefox è vuota!"
    fi
    sleep 2
fi

if [ "$ALL" == "Y" ]
then
return
fi
INIZIO
}

CHROME () {
# CANCELLAZIONE CACHE CHROME
spazio_chrome=`(du -sh $HOME/.cache/google-chrome/Default/Cache/ | cut -d "/" -f1) &> /dev/null`
echo "* Pulizia della cache di Chrome *"
if [ -n "$spazio_chrome"  ]
    then
    echo "La cache è di $spazio_chrome"
    echo "Attendere, sto cancellando."
    sleep 1
    rm -fr $HOME/.cache/google-chrome/Default/Cache/*
    echo 'Fatto'
    sleep 2
else
    echo "La cache di Chrome è vuota!"
    sleep 2
fi
if [ "$ALL" == "Y" ]
then
    return
fi
INIZIO
}

KERNEL () {
#Rimuove i vecchi kernel lasciando solo gli ultimi due, quello in uso e il precedente
echo "* Pulizia dei vecchi kernel *"
#ls /boot/ | grep vmlinuz | sed 's@vmlinuz-@linux-image-@g' | sort -Vr | sed -e '1,2d' > /tmp/kernelList #XXX risparmiamo qualche processo
kernelList=$(ls /boot/ | awk '/vmlinuz/ {gsub(/vmlinuz-/, "linux-image-"); print}'| sort -Vr | sed -e '1,2d')

if [ "$kernelList" != "" ]
    then
    echo 'Kernel attuale in uso:'
    uname -r
    echo -e '\nSaranno rimossi questi kernel (compreso i loro header):'
#    cat /tmp/kernelList #XXX non ci servono file temporanei
    echo "$kernelList"
    echo "Inserire la password per eliminarli o Ctrl+C per mantenerli"
#        for l in `cat /tmp/kernelList` #XXX non ci servono file temporanei
        for l in $kernelList
        do
            sudo apt-get remove --purge  -y  $l
        done
    if [ $? -eq 0 ]
    then
    #questo rimuove gli header:
#    ls /usr/src |grep headers | sort -Vr |sed -e '1,4d' > /tmp/headerList #XXX non ci servono file temporanei
        headerList=$(ls /usr/src |grep headers | sort -Vr |sed -e '1,4d')
#    for l in `cat /tmp/headerList` #XXX non ci servono file temporanei
        for l in $headerList
        do
            sudo apt-get remove --purge  -y  $l
        done
#    sudo rm -f /tmp/headerlist #XXX non ci servono file temporanei
#    sudo rm -f /tmp/kernelList #XXX non ci servono file temporanei
        sudo update-grub
    fi
#    echo 'Sono rimasti installati questi due kernel:' #XXX il messaggio deve valere anche se si è annullato
    echo 'Sono rimasti installati questi kernel:'
#    ls /boot/ | grep vmlinuz | sed 's@vmlinuz-@linux-image-@g' #XXX risparmiamo qualche processo
    ls /boot/ | awk '/vmlinuz/ {gsub(/vmlinuz-/, "linux-image-"); print}'
    echo 'Headers installati:'
    ls /usr/src |grep headers
else
    echo "Non ci sono kernel da rimuovere!"
fi

sleep 2
if [ "$ALL" == "Y" ]
then
    return
fi
INIZIO
}

CONFIGURAZIONI () {
# PULIZIA DELLE CONFIGURAZIONI INUTILIZZATE
LIB=`dpkg -l | egrep "^rc" | cut -d ' ' -f3`
echo "* Pulizia configurazioni inutilizzate *"
if [ -n "$LIB" ]
then
    echo 'Le eventuali configurazioni inutilizzate sono:'
    echo $LIB
    echo -e "Cancellare?\n(premi s per sì o un altro tasto per no)"
    read -sn 1
if [ "$REPLY" = "s" -o  "$REPLY" = "S" ]
   then
      sudo dpkg --purge `dpkg -l | egrep "^rc" | cut -d ' ' -f3`
      echo "Cancellate!"
fi
else
    echo "Non ci sono configurazioni inutilizzate da rimuovere!"
    sleep 2
fi

INIZIO
}

INIZIO () {
clear
ALL="NO"

cat << EOF

*** Pulizia del sistema ***

Opzioni:

a) Pulisci cache di apt
k) Rimuovi i vecchi kernel lasciando solo quello in uso e il precedente
t) Cancella cache miniature
d) Elimina programmi installati come dipendenze non più necessarie
f) Cancella cache di Firefox
c) Cancella cache di Google Chrome
l) Rimuovi le configurazioni non utilizzate
x) Pulizia completa
q) Esci
EOF


read -s -n1 TASTO
clear
case $TASTO in
a | A) APT ;;
d | D) PACCHETTI ;;
t | T) MINIATURE ;;
k | K) KERNEL ;;
f | F) FIREFOX ;;
c | C) CHROME ;;
l | L) CONFIGURAZIONI ;;
x | X) ALL=Y ; APT ; echo ; PACCHETTI ; echo ; MINIATURE ; echo ; KERNEL ; echo ; FIREFOX; echo ; CHROME ; echo ; CONFIGURAZIONI ;;
q | Q) exit ;;
* ) INIZIO ;;
esac
}

INIZIO

posto le modifiche anche nell'altra discussione http://forum.ubuntu-it.org/viewtopic.php?f=33&t=609238&p=4870678#p4870678

/dev/sda

bene, quando riesco reinstallo un paio di vecchi kernel e riprovo il tutto

Tony

#81
Certo che, se lo state sempre a maneggiare, non riuscirò mai a metterci una interfaccia grafica! ;D
Mi state facendo rimbambire! :rofl:
Ogni volta devo ricominciare.
Sempre se interessa l'interfaccia grafica... ...e il file deb. Ma va bene perfezionarlo :ok:

Linux non è solo un sistema operativo ma...
"È uno stato mentale, dove prima ti perdi e poi ti ritrovi"
(cit. Point Break).
Il mio pc.

bobol

Citazione di: Bobol il Domenica 10 Aprile 2016, 20:20:48
...dunque sostituito quello precedente con l'ultimo aggiornato nel primo post, spostato il file .sh in /usr/bin , creato il file .desktop in /usr/share/applications , ora se lo lancio dal Menù funziona , mentre se lo lancio dal lanciatore che ho riportato sulla barra Tint2 non parte proprio  ;D
:)

/dev/sda

ciao bob, boh non saprei, non uso più salentos da mesi.....lancialo dal menù

bobol

Citazione di: /dev/sda il Lunedì 11 Aprile 2016, 16:12:31
ciao bob, boh non saprei, non uso più salentos da mesi.....lancialo dal menù
.....però e strano il lanciatore sempre a quel comando fa capo..... pace e bene  ;)

Tony

Per ora ho approntato il menu + la parte di apt in zenity. Spero di completare completare la gui quanto prima. Stay tuned!

Linux non è solo un sistema operativo ma...
"È uno stato mentale, dove prima ti perdi e poi ti ritrovi"
(cit. Point Break).
Il mio pc.

viince

Citazione di: /dev/sda il Sabato 02 Aprile 2016, 18:38:12

Lo script in questione, pulisce la cahe di apt, i pacchetti non più necessari, la cache delle miniature, di firefox e di google chrome, i vecchi kernel (lascia il kernel in uso e il precedente) e rimuove le configurazioni di pacchetti rimossi.


Ciao
Sto usando il tuo script già da un paio di anni. Lo lascio li e ogni tanto lo lancio. Fà davvero un ottimo lavoro ma volevo segnalarti che la la cache delle miniature delle immagini sul mio OS (Ubuntu Mate 14.04LTS) non viene cancellata.
Oggi avevo il solito problema di spazio non sufficente, e dopo aver rimosso un paio di applicazioni pesanti, fatto una pulizia ecc faccio un analisi perchè non mi tornatava che su 25Gb non riuscivo ad averne liberi più 5-7Gb in totale. Scopro che la cartella che contiene le miniature delle immagini (adesso non mi ricordo il percorso) non era mai stata ripulita. In totale nel tempo avevo accumulato circa 2Gb di dati. Fatto dopo manualmente ho risolto lo stesso, ma non so se poteva esserti utile saperlo.
:ok:

Tony

#87
Allora, la versione grafica non si trova più qui e ha avuto molti aggiornamenti.
Quindi se parliamo di quella grafica spero che tu stia usando l'ultima versione, altrimenti provvedi ad aggiornare.
La puoi trovare qui.
Se riscontri ancora il problema scrivimi in quel topic, qui si parlerà solo dello script senza grafica.
Se parliamo di quest'ultimo, ti dico subito che non ha avuto gli stessi aggiornamenti di quello con interfaccia grafica.
Mi riesce un po' difficile gestire entrambi.
Vedrò se riesco ad aggiornare anche questo.
Ti consiglio comunque di utilizzare quello con grafica, più comodo e aggiornato.

Linux non è solo un sistema operativo ma...
"È uno stato mentale, dove prima ti perdi e poi ti ritrovi"
(cit. Point Break).
Il mio pc.

viince

Citazione di: Tony il Mercoledì 27 Dicembre 2017, 15:11:40
qui si parlerà solo dello script senza grafica.
Se parliamo di quest'ultimo, ti dico subito che non ha avuto gli stessi aggiornamenti di quello con interfaccia grafica.


Si stavo parlando di quello SENZA interfaccia, praticamente lo script del primo post di questo topic.
Non avevo seguito nemmeno io e non sapevo che ce ne fosse uno  grafico. Andrò a vedere e caso mai passo a quello.

Tony

Ho apportato una modifica allo script in prima pagina.
Un utente del forum, utilizzando lo script, si è trovata con tutti i kernel cancellati e, quindi, col sistema non più avviabile.
Per ovviare a ciò, ho aggiunto una riga di controllo che scongiura ciò.
In effetti, mancava un controllo sul numero dei kernel disponibili.
Ad ogni modo, invito caldamente di usare Mind Cleaner e al posto di questo script.

Linux non è solo un sistema operativo ma...
"È uno stato mentale, dove prima ti perdi e poi ti ritrovi"
(cit. Point Break).
Il mio pc.