[Guida] script sostituto pulizia ubuntu-tweak

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
rai
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2848
Iscrizione: domenica 11 maggio 2008, 18:03
Desktop: plasma
Distribuzione: 22.04
Località: Palermo

Re: script sostituto pulizia ubuntu-tweak

Messaggio da rai »

a me questa cosa di cancellare i kernel in base all'ordinamento lessicografico non mi aveva mai convinto totalmente (penso ai nomi di kernel autocompilati per esempio). Ora ho la prova che può uscirci il guaio grosso.
Questi kernel li ho oggi in una 12.04

Codice: Seleziona tutto

$ ls /boot/ | grep vmlinuz 
vmlinuz-3.2.0-101-generic
vmlinuz-3.2.0-97-generic
vmlinuz-3.2.0-98-generic
vmlinuz-3.2.0-99-generic
e guarda quindi che cosa mi rimuoverebbe la versione steff :nono:

Codice: Seleziona tutto

ls /boot/ | grep vmlinuz | sed 's@vmlinuz-@linux-image-@g' | sort -r | sed -e '1,2d'
linux-image-3.2.0-97-generic
linux-image-3.2.0-101-generic
Anche se ho continuato a seguire la discussione, per ora non ho veramente il tempo di intervenire in modo produttivo ma questo fatto volevo segnalarlo prima che lo script venisse proposto a utenti che non sanno cosa fa
Magari nel weekend vi rileggo meglio e verifico la versione UbuNuovo
daigo

Re: script sostituto pulizia ubuntu-tweak

Messaggio da daigo »

boh, io, come dicevo, non ci capisco niente, ho fatto molte prove fin'ora e mi ha sempre lasciato gli ultimi due
Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4446
Iscrizione: sabato 12 dicembre 2009, 20:58
Desktop: Mate
Distribuzione: Ubuntu Mate 22.04.1 LTS
Sesso: Maschile
Contatti:

Re: script sostituto pulizia ubuntu-tweak

Messaggio da UbuNuovo »

Grazie Rai.
Per mettere a posto la tua lista si potrebbe usare l'opzione version di sort.

Codice: Seleziona tutto

8-) cat kernel_rai.txt
vmlinuz-3.2.0-101-generic
vmlinuz-3.2.0-97-generic
vmlinuz-3.2.0-98-generic
vmlinuz-3.2.0-99-generic
8-) cat kernel_rai.txt | sed 's@vmlinuz-@linux-image-@g' | sort -Vr | sed -e '1,2d'
linux-image-3.2.0-98-generic
linux-image-3.2.0-97-generic
comunque basarsi sui nomi è rischioso bisognerebbe sempre fare una verifica di quello che verrebbe cancellato
Salva l'Ucraina! 🇺🇦
Avatar utente
steff
Moderatore Globale
Moderatore Globale
Messaggi: 40301
Iscrizione: domenica 18 febbraio 2007, 19:48
Desktop: LXQt+labwc
Distribuzione: Arch; Debian; Ubuntu Server
Sesso: Maschile
Località: Toscana
Contatti:

Re: script sostituto pulizia ubuntu-tweak

Messaggio da steff »

Questa discussione doveva essere collegato alla discussione originale, è vero che è quella diventato un fiume ma il difetto dello script per kernel con tre numeri finali vengo a sapere solo adesso per segnalazione di UbuNuovo, informazoni preziosi non si dovrebbero perdere.
Per il resto chi si compila il kernel molto probabilmente sa anche come rimuovere in modo controllato kernel superflui.
Hai fatto un backup oggi? Ieri?? Quando???
La Documentazione da consultare e la FAQ sul uso del forum
Sistemi: LXQt - semplice, modulare e configurabile + *ubuntu in Vbox
daigo

Re: script sostituto pulizia ubuntu-tweak

Messaggio da daigo »

ciao steff, ho aperto questa, proprio perché è una cosa diversa, là si parla solo del kernel, qui è riferita d una cosa più articolata, cioè uno script che sostituisca la pulizia fatta da ubuntu tweak, oltre al kernel, cache di apt, autoremove, cache delle miniature e cache di firefox.

quindi non mi sembrava appropriato collegarmi alla discussione che hai linkato.
Avatar utente
steff
Moderatore Globale
Moderatore Globale
Messaggi: 40301
Iscrizione: domenica 18 febbraio 2007, 19:48
Desktop: LXQt+labwc
Distribuzione: Arch; Debian; Ubuntu Server
Sesso: Maschile
Località: Toscana
Contatti:

Re: script sostituto pulizia ubuntu-tweak

Messaggio da steff »

Già, ho visto solo la seconda pagina qui. Cmq adesso i riferimenti ci sono e ho sistemato lo script.
Hai fatto un backup oggi? Ieri?? Quando???
La Documentazione da consultare e la FAQ sul uso del forum
Sistemi: LXQt - semplice, modulare e configurabile + *ubuntu in Vbox
Avatar utente
marlboro
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 376
Iscrizione: martedì 22 aprile 2014, 13:17
Desktop: mate
Distribuzione: UbuNtu 16.04

Re: script sostituto pulizia ubuntu-tweak

Messaggio da marlboro »

Scusate,ma leggendo e saltando da una discussione all'altra .. Non ho capito quale è lo script corretto che esegue la pulizia come ubuntu tweak (anche i file di configurazione dei kernel eliminati) potete riscriverlo qui per favore?
<<< LiNuX oN tHe RoAd >>>
daigo

Re: script sostituto pulizia ubuntu-tweak

Messaggio da daigo »

è questo, per come l'ho testato mi pare funzioni bene

Codice: Seleziona tutto

#! /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!"
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 -e "* Pulizia di programmi-dipendenze non più necessari *"
if [ -n "$LIB" ]
then
echo "Programmi installati come dipendenze non più necessarie"
echo $LIB
sudo apt-get autoremove -y
echo "Eliminati!"
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`
echo -e "* Pulizia della cache delle miniature *"
if [ -n "$spazio_thumbnails" ]
then
echo "La cache delle miniature è pari a $spazio_thumbnails"
echo -e "Attendere, sto cancellando."
sleep 1
rm -fr $HOME/.cache/thumbnails/fails/*
rm -fr $HOME/.cache/thumbnails/large/*
rm -fr $HOME/.cache/thumbnails/normal/*
echo -e "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 -e "* 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 -e "Attendere, sto cancellando."
		sleep 1
		rm -fr $DIR/$I/*
		echo -e '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 -e "* Pulizia della cache di Chrome *"
if [ -n "$spazio_chrome"  ]
    then
    echo "La cache è di $spazio_chrome"
    echo -e "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 -e "* Pulizia dei vecchi kernel *"
ls /boot/ | grep vmlinuz | sed 's@vmlinuz-@linux-image-@g' | sort -Vr | sed -e '1,2d' > /tmp/kernelList
kernelList=$(ls /boot/ | grep vmlinuz | sed 's@vmlinuz-@linux-image-@g' | sort -Vr | sed -e '1,2d')

if [ "$kernelList" != "" ]
    then
    echo 'Saranno rimossi questi kernel (compreso i loro header):'
    cat /tmp/kernelList
    echo 'Kernel attuale in uso:'
    uname -r
        for l in `cat /tmp/kernelList`
        do
              sudo apt-get remove --purge  -y  $l
        done
    #questo rimuove i header:
    ls /usr/src |grep headers | sort -Vr |sed -e '1,4d' > /tmp/headerList
  
    for l in `cat /tmp/headerList`
    do
        sudo apt-get remove --purge  -y  $l
    done

    sudo rm -f /tmp/headerlist
    sudo rm -f /tmp/kernelList
    sudo update-grub
    echo 'Sono rimasti installati questi due kernel:'
    ls /boot/ | grep vmlinuz | sed 's@vmlinuz-@linux-image-@g'
    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 -e "* 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
Per usare lo script Creare un file in home di nome pulizia.sh (metto come editor di testo gedit, ognuno metta il suo)

Codice: Seleziona tutto

gedit ~/pulizia.sh
Incollato il codice salvare il file e chiuderlo e dare i permessi di esecuzione al file

Codice: Seleziona tutto

chmod +x ~/pulizia.sh
e avviare lo script con

Codice: Seleziona tutto

sudo ./pulizia.sh
Si puo creare anche un lanciatore, copiare il file pulizia.sh in /usr/bin

Codice: Seleziona tutto

sudo cp pulizia.sh /usr/bin
e creare un .desktop in /usr/share/applications

Codice: Seleziona tutto

sudo gedit /usr/share/applications/pulizia.desktop
e incollare

Codice: Seleziona tutto

[Desktop Entry]
Version=1.6
Encoding=UTF-8
Name=Pulizia Sistema
Type=Application
Exec=/usr/bin/pulizia.sh
Terminal=true
Icon=/usr/share/icons/clean.png
Comment=Pulisce il sistema
NoDisplay=false
Categories=System;
salvare il file e chiuderlo e si trova il lanciatore in menu/Sistema

alla voce Icon= mettere il percorso ad una propria icona, io ne ho scaricato una da internet e copiata il /usr/share/icons, così non cè il rischio di canecellarla inavvertitamentesi
Allegati
Screenshot.jpg
Ultima modifica di daigo il sabato 9 aprile 2016, 19:44, modificato 8 volte in totale.
Avatar utente
marlboro
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 376
Iscrizione: martedì 22 aprile 2014, 13:17
Desktop: mate
Distribuzione: UbuNtu 16.04

Re: script sostituto pulizia ubuntu-tweak

Messaggio da marlboro »

Grazie :)
<<< LiNuX oN tHe RoAd >>>
daigo

Re: [Risolto] script sostituto pulizia ubuntu-tweak

Messaggio da daigo »

aggiungo questo (per chi usa anche o solo Chrome e lo volesse inserire nello script con quello per la cache di Firefox/ o al posto di quello per firefox) per la cancellazione della cache di Google Chrome

Codice: Seleziona tutto

# CANCELLAZIONE CACHE GOOGLE CHROME 
echo -e "Lo spazio occupato dalla cache di GOOGLE CHROME è:\n"
du -sh $HOME/.cache/google-chrome/Default/Cache/
echo -e "\nCancello la cache di GOOGLE CHROME? $scelta"
read -sn 1
if [ "$REPLY" = "s" -o  "$REPLY" = "S" ]
	then
		echo -e "\nAttendere sto cancellando\n"
        rm -fr $HOME/.cache/google-chrome/Default/Cache/*
		echo 'Fatto'
		sleep 2
fi
daigo

Re: [Risolto] script sostituto pulizia ubuntu-tweak

Messaggio da daigo »

ho aggiunto la segnalazione della dimensione della cache di apt e ho messo anche la parte di codice per la pulizia della cache di google chrome.

chi non usa entrambi (chrome e firefox) può commentare le parti di codice relative al programma
Avatar utente
Mdfalcubo
Moderatore Globale
Moderatore Globale
Messaggi: 20415
Iscrizione: venerdì 26 dicembre 2008, 11:17
Desktop: Solo XFCE
Distribuzione: Xubuntu 64 bit
Sesso: Maschile

Re: [Risolto] script sostituto pulizia ubuntu-tweak

Messaggio da Mdfalcubo »

Modifico il tag del post trasformando l'utile discussione in guida.
"Il genere umano è stimolante, è la gente che non sopporto,, (Linus - Peanuts)
daigo

Re: [Guida] script sostituto pulizia ubuntu-tweak

Messaggio da daigo »

Con l'utente Tony qui
http://www.linuxmind-italia.org/index.p ... #msg241414

cè stata una evoluzione dello script ora all'avvio propone un menù di scelta con le varie opzioni da selezionare in base all'operazione da fare, modificato lo script
Allegati
script.png
daigo

Re: [Guida] script sostituto pulizia ubuntu-tweak

Messaggio da daigo »

aggiunta una funzione di pulizia completa, che applica tutte le operazioni in una volta sola, aggiorno script
Allegati
Screenshot.png
Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4446
Iscrizione: sabato 12 dicembre 2009, 20:58
Desktop: Mate
Distribuzione: Ubuntu Mate 22.04.1 LTS
Sesso: Maschile
Contatti:

Re: [Guida] script sostituto pulizia ubuntu-tweak

Messaggio da UbuNuovo »

Occhio:

Codice: Seleziona tutto

#questo rimuove i header:
ls /usr/src |grep headers | sort -r |sed -e '1,4d' > /tmp/headerList
Usare sempre "sort -Vr"
Altrimenti potrebbe cancellare file sbagliati!
Salva l'Ucraina! 🇺🇦
daigo

Re: [Guida] script sostituto pulizia ubuntu-tweak

Messaggio da daigo »

UbuNuovo [url=http://forum.ubuntu-it.org/viewtopic.php?p=4870414#p4870414][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Occhio:

Codice: Seleziona tutto

#questo rimuove i header:
ls /usr/src |grep headers | sort -r |sed -e '1,4d' > /tmp/headerList
Usare sempre "sort -Vr"
Altrimenti potrebbe cancellare file sbagliati!
Lo aggiungo
daigo

Re: [Guida] script sostituto pulizia ubuntu-tweak

Messaggio da daigo »

modificato il POST aggiunte istruzioni per creare lo script e per creare un lanciatore per il menù in modo da lanciarlo senza terminale direttamente dal menu
daigo

Re: [Guida] script sostituto pulizia ubuntu-tweak

Messaggio da daigo »

aggiornato lo script
rai
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2848
Iscrizione: domenica 11 maggio 2008, 18:03
Desktop: plasma
Distribuzione: 22.04
Località: Palermo

Re: [Guida] script sostituto pulizia ubuntu-tweak

Messaggio da rai »

ho letto (e parzialmente 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 potrebbe 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 daigo se dovesse aggiornare lo script nel suo post di riferimento]

Codice: Seleziona tutto

#! /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 che uso 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 nella discussione nel forum di linuxmind
daigo

Re: [Guida] script sostituto pulizia ubuntu-tweak

Messaggio da daigo »

ok quando posso lo testo

EDIT: se cè qualcuno che lo vuole testare nel frattempo.....venghino siori :D
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 11 ospiti