[Progetto] Varechina - Il BleachBit de no'antri!

Iniziative e progetti della comunità legati a Ubuntu.
Regole della sezione
Questa sezione ha lo scopo di raccogliere le iniziative/progetti della nostra Comunità legati ad Ubuntu. I progetti ospitati nascono da iniziative degli utenti o gruppi di utenti. In futuro i progetti potrebbero rimanere iniziative "personali" o essere integrate nella distribuzione, sponsorizzate da Ubuntu o da Canonical a discrezione dei responsabili. All'interno di essa sarà possibile inserire delle discussioni che hanno la funzione di pubblicizzare avvenimenti, iniziative e progetti software su Ubuntu e GNU/Linux in generale. Sarà inoltre possibile per gli utenti proporre lo sviluppo di nuovi software e in questo caso la discussione di richiesta avrà la funzione di generare un requisito funzionale del prodotto da sviluppare.

Sezione I - Iniziative
  • Fanno parte di iniziative, ad esempio, le seguenti categorie: corsi, progetti editoriali, libri.
  • La segnalazione di un'iniziativa avviene creando una discussione con l'annuncio.
  • Una volta effettuata la segnalazione, la discussione viene chiusa dal Gruppo Forum.
  • Se l'iniziativa esposta comporta un costo di adesione o fruizione, questo deve essere esplicitamente riportato all'interno della discussione.
  • È obbligatorio segnalare all'interno della discussione i riferimenti per poter contattare/partecipare all'iniziativa.
Sezione II - Progetti
  • La segnalazione di un progetto software, come per le iniziative, avviene e si sviluppa all'interno di una singola discussione.
  • Sarà consentito l'inserimento di software solo se rilasciati sotto licenza GPL (in tutte le sue versioni) o equivalente FOSS, tale da garantire agli utenti l'utilizzo del prodotto senza restrizioni e agli sviluppatori la proprietà intellettuale del codice prodotto.
  • Nell'oggetto della discussione dovrà essere riportata la categoria (es. [Iniziativa], [Progetto] o [Proposta]) e una semplice descrizione del progetto.
  • Se il progetto ha già un sito che lo ospita sarà a discrezione del Gruppo Forum chiuderla come segnalazione o lasciarla aperta.
  • Se il progetto non ha un sito che lo ospita si potranno aprire due discussioni, una per proporre modifiche/implementazioni (dove nel titolo occorre specificare [sviluppo]) ed una per segnalare problemi (e nel titolo dovrà comparire [supporto]).
  • Non è consentita l'apertura di nuove discussioni in riferimento a versioni superiori o modificate di un prodotto già riportato in precedenza.
  • Se il software oggetto del progetto ha una dimensione non superiore ai 128 kB, per prodotti che non hanno un sito che li ospita, sarà possibile allegarlo alla discussione.
Sezione III - Proposte
  • Una proposta deve essere eseguita e si svilupperà all'interno di una singola discussione.
  • Le proposte dovranno essere inserite direttamente nella sezione "Progetti della Comunità".
  • Dovranno essere specificate le funzionalità che devono essere sviluppate.
  • Non dovranno essere riportate diciture tipo "...deve fare come questo software...", ma indicare nel miglior modo possibile i requisiti.
  • Una volta segnalata la discussione resterà aperta per consentire uno scambio di idee su come sviluppare il codice o finché gli sviluppatori non forniranno una soluzione (da pubblicizzare poi, come visto prima, nella sezione Progetti) che ne soddisfi il requisito.
Per quanto non esposto sopra, si fa comunque riferimento al Regolamento del forum ed al Codice di Condotta della Comunità.
Avatar utente
GjMan78
Rampante Reduce
Rampante Reduce
Messaggi: 5131
Iscrizione: mercoledì 22 novembre 2006, 19:15
Desktop: KdePlasma
Distribuzione: EndeavourOS
Sesso: Maschile
Località: ~/Italia/Lazio/Viterbo/

[Progetto] Varechina - Il BleachBit de no'antri!

Messaggio da GjMan78 »

Prendendo spunto da questa discussione ho realizzato una mia interpretazione più per esercizio che per reale necessità.

Immagine

Modifica del 01-12-2023 - Progresso dei comandi nelle dialog
Immagine

Modifica del 02-12-2023 - Aggiunte funzioni specifiche per il forum
Immagine

Sentitevi liberi di criticare, modificare, sbeffeggiare e quant'altro.

Se avete proposte per modifiche o nuove funzioni lasciate scritto e farò il possibile.

Il codice è questo

Il codice è disponibile sul repo github: https://github.com/GjMan78/Varechina

Aggiornamento del 09-12-2023

Apportate le modifiche suggerite da rai in questo post

Aggiornamento del 05-12-2023

Cambiato il nome al software e aggiunta la funzione per aprire la pagina del forum.

Rilasciato il pacchetto deb. Ora lo script è avviabile con un semplice click nel menu di sistema.

Immagine

Per installarlo:

Codice: Seleziona tutto

wget https://github.com/GjMan78/Varechina/releases/download/v0.9/Varechina_0.9_amd64.deb

Codice: Seleziona tutto

sudo dpkg -i Varechina_0.9_amd64.deb
Aggiornamento del 04-12-2023

Implementata la copia negli appunti dopo la creazione dei report per il forum.

Purtroppo per ora richiede che lo script sia eseguito con sudo -E, ma comunque funziona.

Aggiornamento del 02-12-2023

Inserite due funzioni specifiche per il forum :
- Diagnostica aggiornamenti
- Diagnostica rete

Generano un file da copiare e incollare sul forum con il report dettagliato di eventuali problemi di aggiornamento o con le reti.

I report sono già impaginati con i tag BBCode.

Aggiornamento del 01-12-2023

Integrati gli output dei comandi in una finestra di dialog.

Aggiornamento del 29-11-2023

Implementato il log delle operazioni di manutenzione.

Implementate le funzioni di salvataggio e ripristino dei pacchetti installati.
Ultima modifica di GjMan78 il sabato 9 dicembre 2023, 10:24, modificato 19 volte in totale.
MacBook Pro - Intel i5-3210 - 16 Gbyte Ram DDR3 - SSD 500 Gbyte x 2
»»» 𝗙𝗮𝗶 𝗶𝗹 𝗕𝗮𝗰𝗸𝘂𝗽! ¯\_(ツ)_/¯
korda
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1650
Iscrizione: giovedì 24 dicembre 2020, 15:58

Re: Nuovo script per la manutenzione di Ubuntu

Messaggio da korda »

Io lo trovo interessante invece, non mi sono mai cimentato seriamente nel bash scripting però...

...però le dialog piacciono sempre: prima o dopo mi cimenterò per sviluppare il mio wrapperino personale per i vari comandi di borg.

Per il momento metto in follow il tuo github, interessante :birra:
Io non sono Bagheera né Akela, io non frequento la Rupe.
Io sono Kaa: faccio ballare le scimmie alle Tane Fredde.
Avatar utente
GjMan78
Rampante Reduce
Rampante Reduce
Messaggi: 5131
Iscrizione: mercoledì 22 novembre 2006, 19:15
Desktop: KdePlasma
Distribuzione: EndeavourOS
Sesso: Maschile
Località: ~/Italia/Lazio/Viterbo/

Re: Nuovo script per la manutenzione di Ubuntu

Messaggio da GjMan78 »

@korda

Ti ringrazio per l'interesse dimostrato :D

Ho scelto di usare dialog perché... è semplice. Ci sono un sacco di opzioni che coprono ogni esigenza già belle e pronte, in sostanza devi preoccuparti soltanto dei comandi da eseguire.

Ora sto pensando di nascondere gli output dei comandi e piazzarci sopra una progress bar.

Vedremo...
MacBook Pro - Intel i5-3210 - 16 Gbyte Ram DDR3 - SSD 500 Gbyte x 2
»»» 𝗙𝗮𝗶 𝗶𝗹 𝗕𝗮𝗰𝗸𝘂𝗽! ¯\_(ツ)_/¯
Avatar utente
Duke_Fleed
Prode Principiante
Messaggi: 96
Iscrizione: domenica 2 agosto 2009, 15:41
Desktop: Gnome
Distribuzione: Ubuntu 20.04.6
Sesso: Maschile

Re: Nuovo script per la manutenzione di Ubuntu

Messaggio da Duke_Fleed »

Bello. Anche io uso/usavo Dialog, si trovano in rete tanti esempi, feci uno script anni fa per Ubuntu 16.04 per reinstallare i programmi, i giochi, PPA, ecc. che usavo nel caso avessi dovuto reinstallarlo da zero. Poi passai a Python con tkinter. Ma sono anni che non lo uso, dovrei fare una ripassata :D
Per la progress bar sì, devi usare gauge, se ritrovo lo script lo posto.

Edit: trovato! Mi sono ricordato che in realtà avevo fatto uno script principale (di nome InstallUBY) che poi lanciava altri scripts, così mi era più facile perché modificavo solo questi ultimi. Comunque, ecco lo script pacchetti1 con la progress bar. Non ho la tua competenza, ma magari può esserti utile :)

Codice: Seleziona tutto

#!/bin/bash
#
# Pacchetti #1
# Lo script deve essere eseguibile (chmod +x)

# Inizializzazione matrici e variabili
pacchetti[1]="asunder"
pacchetti[2]="amule"
pacchetti[3]="audacity"
pacchetti[4]="bleachbit"
pacchetti[5]="bombono-dvd"
pacchetti[6]="build-essential"
pacchetti[7]="chromium-browser"
pacchetti[8]="dar"
pacchetti[9]="devede"
pacchetti[10]="dvdrip"

nomi[1]="Asunder CD Ripper"
nomi[2]="aMule"
nomi[3]="Audacity"
nomi[4]="BleachBit"
nomi[5]="Bombono DVD"
nomi[6]="build-essential"
nomi[7]="Browser web Chromium"
nomi[8]="dar"
nomi[9]="DevedeNG creatore di video CD/DVD"
nomi[10]="dvd:rip"
x=0 ; counter=0 ; n=0

# Messaggio di installazione pacchetti
dialog --keep-tite --infobox "\nInizio installazione pacchetti #1" 10 60
clear
dialog --infobox "\nInizio installazione pacchetti #1" 10 60
sleep 5
clear
echo ""

# Legge il numero totale di files nella matrice
x=${#pacchetti[*]}

# Inizia il ciclo dove leggerà il contenuto della matrice e
# installerà i pacchetti e visualizzerà la barra di progresso.
# Il file log conterrà l'output dei pacchetti installati
for indice in `seq 1 $x`; do
  echo -e "\nInstallazione di ${nomi[indice]}" >> $DIR/programmi.log
  counter=$(( 100*(++n)/x ))
  echo $counter | dialog --backtitle "InstallUBY" --title "pacchetti #1" --gauge \
  "\nPer favore aspetta...\n\ninstallo ${nomi[indice]}" 10 60 0
  sudo apt-get install -y ${pacchetti[indice]} >> $DIR/programmi.log 2>&1
done

dialog --infobox "\nFinito ! Pacchetti #1 installati !" 10 60
sleep 5
clear
Avatar utente
GjMan78
Rampante Reduce
Rampante Reduce
Messaggi: 5131
Iscrizione: mercoledì 22 novembre 2006, 19:15
Desktop: KdePlasma
Distribuzione: EndeavourOS
Sesso: Maschile
Località: ~/Italia/Lazio/Viterbo/

Re: Nuovo script per la manutenzione di Ubuntu

Messaggio da GjMan78 »

@Duke_Fleed

Ti ringrazio è molto utile avere un esempio.

Per ora sto lavorando per integrare il log delle varie funzioni, ma appena finito proverò ad inserire la progress bar.
MacBook Pro - Intel i5-3210 - 16 Gbyte Ram DDR3 - SSD 500 Gbyte x 2
»»» 𝗙𝗮𝗶 𝗶𝗹 𝗕𝗮𝗰𝗸𝘂𝗽! ¯\_(ツ)_/¯
Avatar utente
Duke_Fleed
Prode Principiante
Messaggi: 96
Iscrizione: domenica 2 agosto 2009, 15:41
Desktop: Gnome
Distribuzione: Ubuntu 20.04.6
Sesso: Maschile

Re: Nuovo script per la manutenzione di Ubuntu

Messaggio da Duke_Fleed »

GjMan78 ha scritto:
martedì 28 novembre 2023, 17:58
@Duke_Fleed

Ti ringrazio è molto utile avere un esempio.

Per ora sto lavorando per integrare il log delle varie funzioni, ma appena finito proverò ad inserire la progress bar.
Di nulla. Dialog se ricordo bene può anche essere "abbellito" con colori, ma io non ne ho mai fatto uso. Magari potrebbe essere un'idea, potresti abbellire così un po' l'interfaccia :)

Forse whiptail sotto questo aspetto è più bello, ma non è completo come dialog a mio avviso.
Avatar utente
GjMan78
Rampante Reduce
Rampante Reduce
Messaggi: 5131
Iscrizione: mercoledì 22 novembre 2006, 19:15
Desktop: KdePlasma
Distribuzione: EndeavourOS
Sesso: Maschile
Località: ~/Italia/Lazio/Viterbo/

Re: Nuovo script per la manutenzione di Ubuntu

Messaggio da GjMan78 »

Whiptail non lo conosco ma ci do subito un'occhiata, anche se in realtà pensavo di realizzare un frontend con PyQt una volta arrivato al una versione stabile e funzionante in bash.
MacBook Pro - Intel i5-3210 - 16 Gbyte Ram DDR3 - SSD 500 Gbyte x 2
»»» 𝗙𝗮𝗶 𝗶𝗹 𝗕𝗮𝗰𝗸𝘂𝗽! ¯\_(ツ)_/¯
Avatar utente
Duke_Fleed
Prode Principiante
Messaggi: 96
Iscrizione: domenica 2 agosto 2009, 15:41
Desktop: Gnome
Distribuzione: Ubuntu 20.04.6
Sesso: Maschile

Re: Nuovo script per la manutenzione di Ubuntu

Messaggio da Duke_Fleed »

Ottimo usare PyQt, mi sembra di non averlo mai utilizzato però, ho più dimestichezza con tkinter (anche se come per Dialog dovrei sempre fare un ripasso :lol: )
Avatar utente
GjMan78
Rampante Reduce
Rampante Reduce
Messaggi: 5131
Iscrizione: mercoledì 22 novembre 2006, 19:15
Desktop: KdePlasma
Distribuzione: EndeavourOS
Sesso: Maschile
Località: ~/Italia/Lazio/Viterbo/

Re: Nuovo script per la manutenzione di Ubuntu

Messaggio da GjMan78 »

Ma mi sa che sarà un lavoraccio.

A parte che in Python sono mooolto arrugginito, dovrò modificare il codice dello script affinché funzioni anche da riga di comando se voglio creare un front-end grafico.

A meno che non esistano altre vie più comode e in tal caso si accettano suggerimenti.

La parte più pigra del mio subconscio mi sta stuzzicando con l'idea di far tradurre direttamente lo script in python da un AI... :lol:
MacBook Pro - Intel i5-3210 - 16 Gbyte Ram DDR3 - SSD 500 Gbyte x 2
»»» 𝗙𝗮𝗶 𝗶𝗹 𝗕𝗮𝗰𝗸𝘂𝗽! ¯\_(ツ)_/¯
Avatar utente
Duke_Fleed
Prode Principiante
Messaggi: 96
Iscrizione: domenica 2 agosto 2009, 15:41
Desktop: Gnome
Distribuzione: Ubuntu 20.04.6
Sesso: Maschile

Re: Nuovo script per la manutenzione di Ubuntu

Messaggio da Duke_Fleed »

Fossi in te lo lascerei così, dialog è carino, a me piace la sua interfaccia. E soprattutto l'importante è la sua utilità. Se poi volessi abbellirlo o usi i colori o whiptail come ti ho detto. Un domani se hai voglia lo porti in python o magari qualcun altro lo fa per te :)
Avatar utente
wilecoyote
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 15264
Iscrizione: giovedì 20 agosto 2009, 16:21
Desktop: Kubuntu et alii
Distribuzione: 9.04 32bit 14/18/20/22.04 LTS 64bit
Sesso: Maschile
Località: Ceranesi - Ge

Re: Nuovo script per la manutenzione di Ubuntu

Messaggio da wilecoyote »

) Salve, carina l'idea d'un applicativo semi grafico per gestire il parco software.

Graficamente mi pare a posto così, manca giustappunto la barra di progresso poi c'è tutto ciò che basilarmente occorre.

Domani provvedo a provarlo con calma.

:: Ciao
ACER Extensa 5230E 2,2 Ghz cpu Celeron 900 hdd 160 GB Ram 1 GB scheda video Intel GM500
ACER Extensa 5635Z 2,2 Ghz cpu Celeron T3100 hdd 320 GB Ram 4 GB scheda video Intel Mobile 4
Quando una Finestra chiusa incontra un Pinguino la Finestra chiusa è una Finestra aperta.
Avatar utente
GjMan78
Rampante Reduce
Rampante Reduce
Messaggi: 5131
Iscrizione: mercoledì 22 novembre 2006, 19:15
Desktop: KdePlasma
Distribuzione: EndeavourOS
Sesso: Maschile
Località: ~/Italia/Lazio/Viterbo/

Re: Nuovo script per la manutenzione di Ubuntu

Messaggio da GjMan78 »

wilecoyote ha scritto:
martedì 28 novembre 2023, 22:47
) Salve, carina l'idea d'un applicativo semi grafico per gestire il parco software.

Graficamente mi pare a posto così, manca giustappunto la barra di progresso poi c'è tutto ciò che basilarmente occorre.

Domani provvedo a provarlo con calma.

:: Ciao
Grazie del passaggio.

Fammi sapere cosa ne pensi dopo averlo provato, soprattutto se ci sono malfunzionamenti o comandi da inserire / migliorare.

Soprattutto vorrei migliorare la parte relativa alla pulizia dei file temporanei, al momento esegue soltanto la rimozione dei file nella cache dell'utente e delle vecchie configurazioni con apt purge '?config-files'

:ciao:
MacBook Pro - Intel i5-3210 - 16 Gbyte Ram DDR3 - SSD 500 Gbyte x 2
»»» 𝗙𝗮𝗶 𝗶𝗹 𝗕𝗮𝗰𝗸𝘂𝗽! ¯\_(ツ)_/¯
rai
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2828
Iscrizione: domenica 11 maggio 2008, 18:03
Desktop: plasma
Distribuzione: 22.04
Località: Palermo

Re: Nuovo script per la manutenzione di Ubuntu

Messaggio da rai »

Ciao, interessante esercizio.
Intanto dichiaro subito che ho imparato una cosa: non avevo mai usato dpkg-query con l'opzione --show-format=... che è un modo più pulito rispetto a usare grep/awk per ricavare l'informazione richiesta sul pacchetto (si evita un processo in più).

Dato che richiedi commenti, noto che l'installazione delle dipendenze parte senza preavviso: credo che a pochi piaccia vedere scorrere un inatteso output di installazione di qualcosa che non sta controllando. Non dico di chiedere il consenso dell'utente (qualcuno per esempio non ama deborphan) ma almeno metterei un avviso tranquillizzante del tipo: "Devo installare le dipendenze necessarie. Premi Invio per continuare..."

Inoltre forse bisognerebbe fare un check sulla esistenza o meno di connessione; una cosa di questo tipo:

Codice: Seleziona tutto

while ! ping -c 1 www.google.com &>/dev/null; do
    <Messaggio d'errore con dialog o read>
    scelta=$?
    if [ $scelta -ne 0 ]; then
        exit
    fi
done
Riguardo alla interfaccia grafica: certo con le Qt è tutto più "bello" ma più laborioso.
Un compromesso potrebbe essere, invece di usare dialog, lasciare che lo script si serva di un dialogo grafico più integrato con il DE in uso. Io ho qualche script che fa questo:

Codice: Seleziona tutto

if [ $(which kdialog) ]; then
    DIALOG=kdialog
elif [ $(which zenity) ]; then
    DIALOG=zenity
else
    case $XDG_SESSION_DESKTOP in
        ubuntu|gnome|xfce|mate|LXDE|cinnamon|budgie-desktop)
            echo "installazione del pacchetto richiesto zenity..."
            sudo apt-get install --assume-yes zenity && DIALOG=zenity || exit
        ;;
        kde|lxqt)
            echo "installazione del pacchetto richiesto kdialog..."
            sudo apt-get install --assume-yes kdialog && DIALOG=kdialog || exit
        ;;
        *)
            echo "
Questo programma per funzionare richiede zenity oppure kdialog
Eseguire di nuovo questo script dopo averne fatto l'installazione con
sudo apt-get install libnotify-bin  # per sistemi basati su GTK
sudo apt-get install kdialog # per sistemi basati su Qt
"
            exit
    esac
fi
e poi gli script fanno uso della variabile $DIALOG assegnata prima, in un modo simile:

Codice: Seleziona tutto

if  [ $DIALOG == zenity ]; then
zenity --warning --text "$avviso" --title "$titolo"
else
kdialog --sorry "$avviso" --title "$titolo"
fi
Naturalmente questo comporterebbe lo sbattimento di scrivere la doppia sintassi sia per zenity che per kdialog
Avatar utente
GjMan78
Rampante Reduce
Rampante Reduce
Messaggi: 5131
Iscrizione: mercoledì 22 novembre 2006, 19:15
Desktop: KdePlasma
Distribuzione: EndeavourOS
Sesso: Maschile
Località: ~/Italia/Lazio/Viterbo/

Re: Nuovo script per la manutenzione di Ubuntu

Messaggio da GjMan78 »

@rai

Grazie mille dei preziosissimi consigli.
La modifica all'installazione delle dipendenze la preparo subito al prossimo step insieme al check per la connessione a cui proprio non avevo pensato.

Molto interessante il consiglio sulla grafica... ora controllo se zenity e kdialog hanno entrambi tutte le funzioni equivalenti a dialog pianifico il cambio una volta arrivato ad una versione stabile dello script.

Se ti viene in mente altro non esitare a scrivere.

:ciao:
MacBook Pro - Intel i5-3210 - 16 Gbyte Ram DDR3 - SSD 500 Gbyte x 2
»»» 𝗙𝗮𝗶 𝗶𝗹 𝗕𝗮𝗰𝗸𝘂𝗽! ¯\_(ツ)_/¯
Avatar utente
GjMan78
Rampante Reduce
Rampante Reduce
Messaggi: 5131
Iscrizione: mercoledì 22 novembre 2006, 19:15
Desktop: KdePlasma
Distribuzione: EndeavourOS
Sesso: Maschile
Località: ~/Italia/Lazio/Viterbo/

Re: Nuovo script per la manutenzione di Ubuntu

Messaggio da GjMan78 »

Alla fine ho ripiegato per integrare gli output dei comandi in una finestra generata con dialog.

Potrei dire che la scelta è stata fatta per trasparenza verso l'utente che può vedere di volta in volta cosa sta accadendo e bla bla bla ma in realtà data la variabilità degli output e la loro durata non prevedibile era un casino metterci una barra di progresso che non sembrasse appiccicata lì a caso. :D

Quindi per me va bene così e se qualcuno non è d'accordo può sempre clonarsi il codice e modificarlo. :lol:

:birra:
MacBook Pro - Intel i5-3210 - 16 Gbyte Ram DDR3 - SSD 500 Gbyte x 2
»»» 𝗙𝗮𝗶 𝗶𝗹 𝗕𝗮𝗰𝗸𝘂𝗽! ¯\_(ツ)_/¯
korda
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1650
Iscrizione: giovedì 24 dicembre 2020, 15:58

Re: Nuovo script per la manutenzione di Ubuntu

Messaggio da korda »

GjMan78 ha scritto:
venerdì 1 dicembre 2023, 7:23
Alla fine ho ripiegato per integrare gli output dei comandi in una finestra generata con dialog.

Potrei dire che la scelta è stata fatta per trasparenza verso l'utente che può vedere di volta in volta cosa sta accadendo e bla bla bla ma in realtà data la variabilità degli output e la loro durata non prevedibile era un casino metterci una barra di progresso che non sembrasse appiccicata lì a caso. :D

Quindi per me va bene così e se qualcuno non è d'accordo può sempre clonarsi il codice e modificarlo. :lol:

:birra:
Bella zio :birra:

Non mi è ancora chiara nei dettagli la mitragliata di purge clean e autoclean nel passaggio di pulizia: mi rileggerò meglio nei dettagli quel chunck per comprenderne il razionale che ci sta dietro...
Io non sono Bagheera né Akela, io non frequento la Rupe.
Io sono Kaa: faccio ballare le scimmie alle Tane Fredde.
Avatar utente
tokijin
Moderatore Globale
Moderatore Globale
Messaggi: 4604
Iscrizione: mercoledì 3 giugno 2009, 23:10
Desktop: plasma 5.27.4
Distribuzione: Kubuntu 23.04
Località: Abruzzo

Re: Nuovo script per la manutenzione di Ubuntu

Messaggio da tokijin »

Ho spostato la discussione nella sezione Progetti della Comunità; la sezione Programmazione è più per risolvere un singolo e ben definito problema tecnico mentre questa discussione ha tutte le caratteristiche per stare qui in Progetti.

Auguri di buon lavoro all'ideatore e a tutti i contributori :)

Ciao
Sei abbruzzese se dopo che ti sei strafogato un chilogrammo di pasta, hai il coraggio di dire alla cuoca "cacc ch'è cott" - Se entra un piccione in casa..chiudi le finestre!
Ubuntu User #28657 - Il mio vecchio hardware - Tag Codice
Avatar utente
GjMan78
Rampante Reduce
Rampante Reduce
Messaggi: 5131
Iscrizione: mercoledì 22 novembre 2006, 19:15
Desktop: KdePlasma
Distribuzione: EndeavourOS
Sesso: Maschile
Località: ~/Italia/Lazio/Viterbo/

Re: Nuovo script per la manutenzione di Ubuntu

Messaggio da GjMan78 »

@tokijin
Grazie!

@korda
Non c'è una vera e propria logica dietro, ho soltanto preso i comandi per la pulizia dalla wiki https://wiki.ubuntu-it.org/Amministrazi ... grammi/Apt

E' probabile ci siano comandi da togliere o da migliorare...

Edit: Piccolo appunto personale

Ricontrollando il codice mi sono reso conto di un errore grossolano.
Quando si ha a che fare con un comando costituito da pipe | la variabile $? che dovrebbe restituire l'exit status è relativa soltanto all'ultimo comando concatenato, quindi è inutile se si è interessati al primo comando eseguito come in questo caso:

Codice: Seleziona tutto

apt-get update | sudo -u ${utente} tee -a ${logfile} 2>&1 | \
    dialog \
      --title "Aggiornamento del sistema" \
      --backtitle "Script Manutenzione Ubuntu" \
      --progressbox 25 90
Oggi ho imparato che esiste la variabile ${PIPESTATUS[0]} che restituisce esattamente l'exit status di apt-get update.
:ciao:
MacBook Pro - Intel i5-3210 - 16 Gbyte Ram DDR3 - SSD 500 Gbyte x 2
»»» 𝗙𝗮𝗶 𝗶𝗹 𝗕𝗮𝗰𝗸𝘂𝗽! ¯\_(ツ)_/¯
Avatar utente
GjMan78
Rampante Reduce
Rampante Reduce
Messaggi: 5131
Iscrizione: mercoledì 22 novembre 2006, 19:15
Desktop: KdePlasma
Distribuzione: EndeavourOS
Sesso: Maschile
Località: ~/Italia/Lazio/Viterbo/

Re: [Progetto] Nuovo script per la manutenzione di Ubuntu

Messaggio da GjMan78 »

@neolinux ha proposto di cambiare nome al progetto e di chiamarlo Varechina.

L'idea è molto carina, ma non vorrei che si pensasse che questo script possa essere una valida alternativa a BleachBit perché di fatto non lo è.

Però suona bene: "Varechina, il BleachBit de'noantri"

:rotfl:
MacBook Pro - Intel i5-3210 - 16 Gbyte Ram DDR3 - SSD 500 Gbyte x 2
»»» 𝗙𝗮𝗶 𝗶𝗹 𝗕𝗮𝗰𝗸𝘂𝗽! ¯\_(ツ)_/¯
Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4428
Iscrizione: sabato 12 dicembre 2009, 20:58
Desktop: Mate
Distribuzione: Ubuntu Mate 22.04.1 LTS
Sesso: Maschile
Contatti:

Re: [Progetto] Nuovo script per la manutenzione di Ubuntu

Messaggio da UbuNuovo »

Bel lavoro :birra: ma ... mi sono perso i driver nvidia.
Occhio con deborphan!
A me disinstallerebbe i driver nvidia, guarda la simulazione che ho fatto ora:

Codice: Seleziona tutto

8-) deborphan
apt-transport-https:all
gstreamer1.0-pipewire:amd64
libavahi-compat-libdnssd1:amd64
libmagickcore-dev:all
libproxy1-plugin-gsettings:amd64
libproxy1-plugin-networkmanager:amd64
libreoffice-ogltrans:all
libreoffice-pdfimport:all
libu2f-udev:all
libwmf0.2-7-gtk:amd64
linux-modules-nvidia-510-generic:amd64
nvidia-driver-510:amd64
qt5-gtk2-platformtheme:amd64
qt5-xdgdesktopportal-platformtheme:amd64
come vedi mette in elenco nvidia-driver-510:amd64
che è il driver che ho installato all'inizio, poi aggiornato al 525

messo l'output in pipe a apt-get -s purge (la -s per la simulazione) ottengo:

Codice: Seleziona tutto

8-) deborphan | xargs apt-get -s purge
Nota: questa è solo una simulazione.
      apt-get necessita dei privilegi di root per la normale esecuzione.
      Inoltre, il meccanismo di blocco non è attivato e non è quindi
      utile dare importanza a tutto ciò per una situazione reale.
Lettura elenco dei pacchetti... Fatto
Generazione albero delle dipendenze... Fatto
Lettura informazioni sullo stato... Fatto   
I seguenti pacchetti sono stati installati automaticamente e non sono più richiesti:
  libnvidia-cfg1-525 libnvidia-common-525 libnvidia-decode-525
  libnvidia-decode-525:i386 libnvidia-egl-wayland1 libnvidia-encode-525
  libnvidia-encode-525:i386 libnvidia-extra-525 libnvidia-fbc1-525
  libnvidia-gl-525 libnvidia-gl-525:i386 linux-modules-nvidia-525-generic
  nvidia-compute-utils-525 nvidia-dkms-525 nvidia-driver-525
  nvidia-kernel-source-525 nvidia-settings nvidia-utils-525
  screen-resolution-extra xserver-xorg-video-nvidia-525
Usare "apt autoremove" per rimuoverli.
I seguenti pacchetti saranno RIMOSSI:
  apt-transport-https* gstreamer1.0-pipewire* libavahi-compat-libdnssd1*
  libmagickcore-dev* libproxy1-plugin-gsettings*
  libproxy1-plugin-networkmanager* libreoffice-ogltrans*
  libreoffice-pdfimport* libu2f-udev* libwmf0.2-7-gtk*
  linux-modules-nvidia-510-generic* nvidia-driver-510* qt5-gtk2-platformtheme*
  qt5-xdgdesktopportal-platformtheme*
0 aggiornati, 0 installati, 14 da rimuovere e 2 non aggiornati.
Purg apt-transport-https [2.4.11]
Purg gstreamer1.0-pipewire [0.3.48-1ubuntu3]
Purg libavahi-compat-libdnssd1 [0.8-5ubuntu5.2]
Purg libmagickcore-dev [8:6.9.11.60+dfsg-1.3ubuntu0.22.04.3]
Purg libproxy1-plugin-gsettings [0.4.17-2]
Purg libproxy1-plugin-networkmanager [0.4.17-2]
Purg libreoffice-ogltrans [1:7.3.7-0ubuntu0.22.04.3]
Purg libreoffice-pdfimport [1:7.3.7-0ubuntu0.22.04.3]
Purg libu2f-udev [1.1.10-3build2]
Purg libwmf0.2-7-gtk [0.2.12-5ubuntu1]
Purg linux-modules-nvidia-510-generic [5.15.0-89.99+1]
Purg nvidia-driver-510 [525.147.05-0ubuntu0.22.04.1]
Purg qt5-gtk2-platformtheme [5.0.0+git23.g335dbec-4build3]
Purg qt5-xdgdesktopportal-platformtheme [5.15.3+dfsg-2ubuntu0.2]
8-) 
già così elimina dei pacchetti che andrebbero lasciati, oltre a nvidia-driver-510
se poi eseguissi:

Codice: Seleziona tutto

apt autoremove
mi eliminerebbe:
libnvidia-cfg1-525 libnvidia-common-525 libnvidia-decode-525
libnvidia-decode-525:i386 libnvidia-egl-wayland1 libnvidia-encode-525
libnvidia-encode-525:i386 libnvidia-extra-525 libnvidia-fbc1-525
libnvidia-gl-525 libnvidia-gl-525:i386 linux-modules-nvidia-525-generic
nvidia-compute-utils-525 nvidia-dkms-525 nvidia-driver-525
nvidia-kernel-source-525 nvidia-settings nvidia-utils-525
screen-resolution-extra xserver-xorg-video-nvidia-525


tutti pacchetti nvidia-525 rendendo la scheda nvidia inutilizzabile.

io metterei una voce a parte per deborphan e proporrei prima una simulazione.

Consiglio per i log:
Per non avere nei log tutta la roba concernete "Ubuntu Pro with 'esm-apps' enabled"
Per esempio:
Get more security updates through Ubuntu Pro with 'esm-apps' enabled:
libmagickcore-6.q16-dev vlc-plugin-qt libvlc5 libimage-magick-perl vlc-data
libmagick++-dev libvlccore9 vlc imagemagick libavcodec-extra vlc-bin
libjs-jquery-ui vlc-l10n libopenexr-dev libavdevice58 ffmpeg libopenexr25
libmagick++-6.q16-8 libpostproc55 libmagickcore-dev
libmagickcore-6.q16-6-extra vlc-plugin-samba php-twig
libimage-magick-q16-perl libmagickwand-6.q16-6 libavcodec-extra58
vlc-plugin-notify libavutil56 imagemagick-6.q16 libswscale5
libmagickcore-6.q16-6 vlc-plugin-access-extra vlc-plugin-skins2 libgsl27
vlc-plugin-video-splitter libswresample3 imagemagick-6-common
vlc-plugin-video-output libmagickcore-6-arch-config libavformat58
libmagick++-6-headers libmagickwand-6-headers libgslcblas0
libmagick++-6.q16-dev libmagickwand-6.q16-dev libmagickcore-6-headers
libvlc-bin vlc-plugin-base vlc-plugin-visualization libavfilter7
invece di usare:

Codice: Seleziona tutto

apt -y dist-upgrade
potresti utilizzare

Codice: Seleziona tutto

apt-get -y dist-upgrade
Salva l'Ucraina! 🇺🇦
Scrivi risposta

Ritorna a “Progetti della Comunità”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 0 ospiti