Autore Topic: Script pulizia Chakra?  (Letto 1741 volte)

Offline marco.pisellonio80

  • *
  • Post: 117
  • Reputazione: 3
    • Mostra profilo
Script pulizia Chakra?
« il: 06 Settembre 2012 ore 12:13 »
Salve  :)!

Apro il post in questa sezione perchè non ero sicuro quale fosse quella di appartenenza.
Navigando in rete mi sono imbattuto in questo script per la pulizia di Ubuntu. Script che, come specificato dagli stessi autori in
http://forum.ubuntu-it.org/viewtopic.php?t=201409
non è definitivo, ma soggetto a miglioramenti:
Codice: [Seleziona]
    #!/bin/bash
    #Questo script effettua la manutenzione di un sistema operativo GNU/Linux Ubuntu

    #------------------------------------------------------------------------------------------+
    # Funzione aggiornamento                                                                   |
    #------------------------------------------------------------------------------------------+
    function aggiornamento {
    echo
    echo "********************** INIZIO AGGIORNAMENTO DEL SISTEMA **********************"
    echo
    echo -n "# Aggiorno gli indici dei pacchetti? Update "
    read sure
    if [[ $sure = "s" ]]
       then
          sudo apt-get update
          echo "* Aggiornamento indici pacchetti...[OK]"
       else
          echo "* Aggiornamento indici pacchetti...[NOT EXECUTED]"
    fi
    echo
    echo -n "# Aggiorno le chiavi GPG degli indici dei pacchetti? GPG "
    read sure
    if [[ $sure = "s" ]]
       then
          touch err                 
          sudo apt-get update 2>err
           num=$(grep 'NO_PUBKEY' err | wc -l)   
          str=$(grep 'NO_PUBKEY'  err)       
          tot=$num
          if [ $num != 0 ]         
             then
             echo "---RISOLVO NO_PUBKEY---"
             for (( i=0 ; i<$num ; i++ ))       
                do
                tmp=${str#*NO_PUBKEY }
                key=${tmp:0:16}
                str=${str#*NO_PUBKEY}
                echo "Aggiungo la chiave:$key"
                gpg --keyserver subkeys.pgp.net --recv $key         
                gpg --export --armor $key | sudo apt-key add -     
                done
          fi
       num=0
       num=$(grep 'BADSIG' err | wc -l)   
       str=$(grep 'BADSIG'  err)       
       tot=$(( $tot + $num ))
       if [ $num != 0 ]         
          then
             echo "---RISOLVO BADSIG---"
             for (( i=0 ; i<$num ; i++ ))       
                do
                tmp=${str#*BADSIG }
                key=${tmp:0:16}
                str=${str#*BADSIG}
                echo "Aggiungo la chiave:$key"
                gpg --keyserver subkeys.pgp.net --recv $key         
                gpg --export --armor $key | sudo apt-key add -     
                done
       fi
       rm err               
       else
          echo "* Aggiornamento chiavi GPG degli indici dei pacchetti...[NOT EXECUTED]"
    fi
    echo
    echo -n "# Aggiorno i pacchetti? Upgrade "
    read sure
    if [[ $sure = "s" ]]
       then
          sudo apt-get upgrade
          echo "* Aggiornamento pacchetti...[OK]"
       else
          echo "* Aggiornamento pacchetti...[NOT EXECUTED]"
    fi
    echo
    echo -n "# Aggiorno la data e l'ora del sistema? NTPDate"
    read sure
    if [[ $sure = "s" ]]
       then
          sudo ntpdate it.pool.ntp.org
          echo "* Aggiornamento data e ora...[OK]"
       else
          echo "* Aggiornamento data e ora...[NOT EXECUTED]"
    fi
    echo -n "# Aggiorno il kernel del sistema? Dist-Upgrade "
    read sure
    if [[ $sure = "s" ]]
       then
          sudo apt-get dist-upgrade -f
          echo "* Aggiornamento kernel...[OK]"
       else
          echo "* Aggiornamento kernel...[NOT EXECUTED]"
    fi
    echo
    echo -n "# Aggiorno l'immagine initramfs del kernel? Update - InitramFS "
    read sure
    if [[ $sure = "s" ]]
       then
          sudo update-initramfs -u
          echo "* Aggiornamento immagine initramfs...[OK]"
       else
          echo "* Aggiornamento immagine initramfs...[NOT EXECUTED]"
    fi
    echo
    echo -n "# Verifico che non ci siano pacchetti difettosi? Install -F "
    read sure
    if [[ $sure = "s" ]]
       then
          sudo apt-get install -f
          echo "* Verifica pacchetti difettosi...[OK]"
       else
          echo "* Verifica pacchetti difettosi...[NOT EXECUTED]"
    fi
    echo
    echo "ATTENZIONE: COMANDO POTENZIALMENTE PERICOLOSO!!"
    echo -n "# Aggiorno le configurazioni di GRUB? Update - Grub "
    read sure
    if [[ $sure = "s" ]]
       then
          sudo cp /boot/grub/grub.cfg /boot/grub/grub.cfg.bak
          sudo update-grub
          echo "* Backup /boot/grub/grub.cfg...[OK]"
          echo "* Aggiornamento GRUB...[OK]"
       else
          echo "* Aggiornamento GRUB...[NOT EXECUTED]"
    fi
    echo
    echo "--------------------------- AGGIORNAMENTO TERMINATO --------------------------"
    echo
    }

    #------------------------------------------------------------------------------------------+
    # Funzione pulizia                                                                         |
    #------------------------------------------------------------------------------------------+
    function pulizia {
    echo
    echo "************************* INIZIO PULIZIA DEL SISTEMA *************************"
    echo
    echo -n "# Rimuovo le dipendenze inutili? Autoremove "
    read sure
    if [[ $sure = "s" ]]
       then
          sudo apt-get --purge autoremove
          echo "* Rimozione dipendenze inutili...[OK]"
       else
          echo "* Rimozione dipendenze inutili...[NOT EXECUTED]"
    fi
    echo
    echo -n "# Rimuovo la cache dei pacchetti scaricati dai repository obsoleti? Autoclean "
    read sure
    if [[ $sure = "s" ]]
       then
          sudo apt-get autoclean
          echo "* Rimozione cache pacchetti obsoleti...[OK]"
       else
          echo "* Rimozione cache pacchetti obsoleti...[NOT EXECUTED]"
    fi
    echo
    echo -n "# Rimuovo la cache dei pacchetti scaricati dai repository? Clean "
    read sure
    if [[ $sure = "s" ]]
       then
          sudo apt-get clean
          echo "* Rimozione  cache pacchetti scaricati...[OK]"
       else
          echo "* Rimozione  cache pacchetti scaricati...[NOT EXECUTED]"
    fi
    echo
    echo -n "# Elimino il contenuto di /temp? RM - Temp "
    read sure
    if [[ $sure = "s" ]]
       then
          sudo rm -rf /tmp/*
          echo "* Eliminazione contenuto /temp...[OK]"
       else
          echo "* Eliminazione contenuto /temp...[NOT EXECUTED]"
    fi
    echo
    echo -n "# Elimino il contenuto della directory /.thumbnails? Thumbnails *"
    read sure
    if [[ $sure = "s" ]]
       then
          sudo rm -rfv ~/.thumbnails/*
          echo "* Eliminazione files da /.thumbnails ...[OK]"
       else
          echo "*Eliminazione files da /.thumbnails ...[NOT EXECUTED]"
    fi
    echo
    echo -n "# Effettuo una ricerca dei residui di files? .* "
    read sure
    if [[ $sure = "s" ]]
       then
       find $HOME -name "*~"
       find $HOME -name "Desktop.ini"
       find $HOME -name "Thumbs.db"
       echo -n "# Rimuovo questi residui di file? "
       read sure
       if [ $sure == "s" ]
          then
          find $HOME -name "*~" -print0|xargs -0 /bin/rm -f
          find $HOME -name "Desktop.ini" -print0|xargs -0 /bin/rm -f
          find $HOME -name "Thumbs.db" -print0|xargs -0 /bin/rm -f
          echo "* Eliminazione residui...[OK]"
       else echo "* Eliminazione residui...[NOT EXECUTED]"
       fi
    else echo "* Ricerca residui di files...[NOT EXECUTED]"
    fi
    echo
    echo -n "# Elimino il contenuto del Cestino? Trash *"
    read sure
    if [[ $sure = "s" ]]
       then
          sudo rm -rfv ~/.local/share/Trash/*
          echo "* Eliminazione files da /Trash ...[OK]"
       else
          echo "* Eliminazione files da /Trash ...[NOT EXECUTED]"
    fi
    echo
    echo -n "# Pulisco i documenti recenti? Rcently "
    read sure
    if [[ $sure = "s" ]]
       then
          sudo mv ~/.recently-used.xbel .recently-used.xbel.bak
          sudo mv ~/.recently-used .recently-used.bak
          touch ~/.recently-used.xbel
          echo "<?xml version="1.0" encoding="UTF-8"?>\n<xbel version="1.0"\nxmlns:bookmark="http://www.freedesktop.org/standards/desktop-bookmarks"\nxmlns:mime="http://www.freedesktop.org/standards/shared-mime-info"\n></xbel>\n
     " > ~/.recently-used.xbel
          echo "* Pulizia documenti recenti...[OK]"
       else
          echo "* Pulizia documenti recenti...[NOT EXECUTED]"
    fi
    echo
    echo
    echo "Per l'esecuzione di questo comando verrà installato il pacchetto deborphan"
    echo "ATTENZIONE: COMANDO POTENZIALMENTE PERICOLOSO!!"
    echo -n "# Rimuovo le librerie orfane? Deborphan  "
    read sure
    if [[ $sure = "s" ]]
       then
          sudo apt-get -y install deborphan
          sudo apt-get --purge remove `deborphan`
          echo "* Rimozione librerie orfane...[OK]"
       else
          echo "* Rimozione librerie orfane...[NOT EXECUTED]"
    fi
    echo
    echo "Per l'esecuzione di questo comando verrà installato il pacchetto deborphan"
    echo "ATTENZIONE: COMANDO POTENZIALMENTE PERICOLOSO!!"
    echo -n "# Rimuovo le librerie orfane di sviluppo? Deborphan Sviluppo "
    read sure
    if [[ $sure = "s" ]]
       then
          sudo apt-get -y install deborphan
          sudo apt-get --purge remove `deborphan --libdev`
          echo "* Rimozione librerie orfane...[OK]"
       else
          echo "* Rimozione librerie orfane...[NOT EXECUTED]"
    fi
    echo
    echo "------------------------------ PULIZIA TERMINATA -----------------------------"
    echo
    }

    #------------------------------------------------------------------------------------------+
    # Programma principale                                                                     |
    #------------------------------------------------------------------------------------------+
    echo "+============================================================================+"
    echo "|                           MANUTENZIONE DI UBUNTU                           |"
    echo "|                                                                            |"
    echo "|        Questo script effettua una manutenzione guidata del sistema         |"
    echo "|        per rispondere affermativamente alle domande che verranno           |" 
    echo "|        poste premete s e confermate premendo il tasto <invio>              |"
    echo "|        per saltare la domanda premete <invio>                              |"
    echo "|                                                                            |"
    echo "+============================================================================+"
    echo
    echo -n "~~~ ESEGUIRE I COMANDI PER L'AGGIORNAMENTO DEL SISTEMA? "
    read sure
    if [[ $sure = "s" ]]
       then
          aggiornamento
       else
          echo "*** Aggiornamento del sistema...[NOT EXECUTED]"
    fi
    echo
    echo -n "~~~ ESEGUIRE I COMANDI PER LA PULIZIA DEL SISTEMA? "
    read sure
    if [[ $sure = "s" ]]
       then
          pulizia
       else
          echo "*** Pulizia del sistema...[NOT EXECUTED]"
    fi
    echo
    echo -n "~~~ E' CONSIGLIABILE RIAVVIARE IL SISTEMA. RIAVVIARE? "
    read sure
    if [[ $sure = "s" ]]
       then
          sudo reboot
       else
          echo "*** Riavvio del sistema...[NOT EXECUTED]"
    fi
    echo
    read -p "Premi <INVIO> per uscire" 

Probabilmente, essendo ispirata ai principi KISS, molti dei comandi di cui sopra non serviranno, ma si potrebbe studiare qualcosa di simile per Chakra? A me, ad esempio, piaceva il vecchio Appset-qt perchè dopo aver aggiornato ti dava la possibilità di svuotare la cache. Sono sempre inconsciamente "spaventato" dal tralasciare la pulizia del sistema, così che, di colpo, ci si ritrovi con una "/" zeppa. Nelle mie 2 Chakra ho installato Bleachbit in ccr che svolge bene il suo compito, ma si potrebbe fare di meglio?  :)

Offline dinolib

  • *
  • Post: 3226
  • Reputazione: 110
    • Mostra profilo
Re:Script pulizia Chakra?
« Risposta #1 il: 06 Settembre 2012 ore 12:24 »
Gli ho dato uno sguardo veloce.

La prima parte è strattamente legata a apt: chiavi per i ppa esterni, pulizia ecc.

A noi basta un sudo pacman -Syyuu per riallineare tutto.
Anche un ccr -Syu ed aggiorni ccr.

Per quanto riguarda cache di pacman ed altro, ti rimando sempre alla guida molto completa di pacman http://forum.chakra-project.it/index.php/topic,3340.0.html
Ci sono tutti i comandi per pulire. Attenzione che se svuoti completamente la cache non puoi downgradare i pacchetti (in realtà non so perchè non si possono riscaricare. Ma questo dice il warning. Sarebbe da approfondire).
Chiedi se hai bisogno di qualcosa in particolare.

Le cose un po' fuori dal gestore pacchetti sono:
- ntp per aggiornare l'ora da un server. Sono ignorante, non so se è già installato. Comunque c'è un programma ed un wiki che spiega come usarlo per aggiornare anche automaticamente l'ora.
- aggiornamento del kernel: non ci riguarda. Quando c'è un nuovo kernel viene installato.
- update-grub è un comandino solo e serve molto di rado
- per pulire la tmp attenzione se hai dei bundle non zappare a caso :-)
- è utile l'eliminazione di file fuffa (bak e simili)

Di tutto lo script  salverei giusto l'ultima voce   ;D
« Ultima modifica: 06 Settembre 2012 ore 12:30 da FranzMari »

Offline FranzMari

  • *
  • Post: 2810
  • Reputazione: 103
  • [Senior Packager]
    • Mostra profilo
    • IMHO blog
Re:Script pulizia Chakra?
« Risposta #2 il: 06 Settembre 2012 ore 12:35 »
Ci sono tutti i comandi per pulire. Attenzione che se svuoti completamente la cache non puoi downgradare i pacchetti (in realtà non so perchè non si possono riscaricare. Ma questo dice il warning. Sarebbe da approfondire).

Quando un pacchetto viene aggiornato, la vecchia versione viene sostituita sui server, quindi diventa impossibile riscaricarlo da lì, dunque per downgradare hai bisogno di avere il pacchetto salvato in cache. Puoi sempre procurartelo da altre fonti, comunque.  ;)
«Il valore dell'essere umano si determina nella misura in cui sia grande o piccola la sua capacità di contribuire al bene collettivo.» Jigorō Kanō

Offline dinolib

  • *
  • Post: 3226
  • Reputazione: 110
    • Mostra profilo
Re:Script pulizia Chakra?
« Risposta #3 il: 06 Settembre 2012 ore 14:08 »
Forse perchè parliamo di due downgrade diversi, ora capisco ciò che dice il warning:

- se in locale hai una versione superiore a quella che è nei repo, no problem (è il downgrade a cui pensavo io)
- se in locale vuoi mettere una versione inferiore a quelle dei repo (x es. non funziona un pacchetto di un nuova versione) te ne vai nella dir della cache e ti installi il pacchetto lì presente (che è anche l'ultimo funzionante).

Per quanto riguarda il secondo sistema, l'unico modo è forzare l'aggiornamento da pacman? tipo:
  sudo pacman -U nome.del.pacchetto.in.cache

Chiedo perchè non l'ho mai fatto.

Offline FranzMari

  • *
  • Post: 2810
  • Reputazione: 103
  • [Senior Packager]
    • Mostra profilo
    • IMHO blog
Re:Script pulizia Chakra?
« Risposta #4 il: 06 Settembre 2012 ore 14:53 »
Forse perchè parliamo di due downgrade diversi, ora capisco ciò che dice il warning:

- se in locale hai una versione superiore a quella che è nei repo, no problem (è il downgrade a cui pensavo io)
- se in locale vuoi mettere una versione inferiore a quelle dei repo (x es. non funziona un pacchetto di un nuova versione) te ne vai nella dir della cache e ti installi il pacchetto lì presente (che è anche l'ultimo funzionante).

Per quanto riguarda il secondo sistema, l'unico modo è forzare l'aggiornamento da pacman? tipo:
  sudo pacman -U nome.del.pacchetto.in.cache

Chiedo perchè non l'ho mai fatto.

Ecco svelato l'arcano!  ;D

Sì, penso che quello sia l'unico modo...io prima rimuoverei il pacchetto da  "downgradare", poi installerei la versione desiderata (per evitare problemi)
«Il valore dell'essere umano si determina nella misura in cui sia grande o piccola la sua capacità di contribuire al bene collettivo.» Jigorō Kanō

Offline marco.pisellonio80

  • *
  • Post: 117
  • Reputazione: 3
    • Mostra profilo
Re:Script pulizia Chakra?
« Risposta #5 il: 06 Settembre 2012 ore 15:03 »
Sì, avevo letto la guida, ma lo svuotamento della cache del comando di pacman è la stessa faceva appset-qt?
Inoltre, so che la seconda y in Syyu serve a forzare la sincronizzazione dei repositories, ma la seconda u (Syyuu)? Nella guida non c'è...

Offline FranzMari

  • *
  • Post: 2810
  • Reputazione: 103
  • [Senior Packager]
    • Mostra profilo
    • IMHO blog
Re:Script pulizia Chakra?
« Risposta #6 il: 06 Settembre 2012 ore 15:08 »
Sì, avevo letto la guida, ma lo svuotamento della cache del comando di pacman è la stessa faceva appset-qt?

Certamente sì! d'altronde appset-qt era un frontend per pacman.

Inoltre, so che la seconda y in Syyu serve a forzare la sincronizzazione dei repositories, ma la seconda u (Syyuu)? Nella guida non c'è...
http://forum.chakra-project.it/index.php/topic,3340.msg24280.html#msg24280

«Il valore dell'essere umano si determina nella misura in cui sia grande o piccola la sua capacità di contribuire al bene collettivo.» Jigorō Kanō

Offline enzolatina

  • *
  • Post: 609
  • Reputazione: 18
    • Mostra profilo
Re:Script pulizia Chakra?
« Risposta #7 il: 06 Settembre 2012 ore 16:55 »
- per pulire la tmp attenzione se hai dei bundle non zappare a caso :-)
- è utile l'eliminazione di file fuffa (bak e simili)

Di tutto lo script  salverei giusto l'ultima voce   ;D
io penso non serva manco quella, ora non ho chakra per controllare, ma in kde ci sta keeper che fa pulizia di un pò di roba.....
e per la tmp non serve niente, viene automaticamente svuotata allo spegnimento
noi siamo ****linux, ogni resistenza è inutile, sarete assimilati
linuxuser:408768 http://linuxcounter.net

Offline sim0161

  • *
  • Post: 37
  • Reputazione: 1
  • مداد حبر العالم أقدس من دم الشهيد
    • Mostra profilo
    • pagina facebook
Re:Script pulizia Chakra?
« Risposta #8 il: 15 Marzo 2016 ore 10:17 »
scusate se riprendo questo post.

L'idea era molto carina, se non altro per la filosofia che c'è dietro.
Lo script semplificherebbe la vita dell'utonto che non vuole (ripeto non vuole, anche se può, anche se costa poca fatica) dare più di due comandi due in bash.

L'esistenza di script o di programmi che servono a null'altro che a risparmiare lavoro all'utente è una delle cose che mi porta a scegliere una distro piuttosto che un altra.

Per questo le risposte "vatti a cercare i comandi nelle guide" non le trovo accettabili o, comunque, non le trovo user-friendly.
HP Compaq 6730s - 4GB DDR2 - Intel Core 2 Duo T5870

«Lei è il "membro" più in vista della comunità. Chiuda la lampo, per piacere.» [Liberty Liber]

chi sono?

 

Template by Homey | Sito ufficiale | Disclaimer