# [ DISCUSSIONE ] - Proposta di tool snapToo

## xchris

Visto che al momento rimuovere pacchetti inutilizzati non e' la cosa + semplice che ci sia in gentoo  (provero' a fare un howto + avanti) mi sono detto:

"perche' non fare un tool stupido che puo' essere d'aiuto senza provocare traumi?"

idea: fare degli snapshot del sistema e avere idea di come tornare indietro. (disinstallare)

supponiamo che oggi mi sono svegliato con voglia pazza di provare tutto su PHP.

ok lancio lo script e gli faccio fare uno snapshottino.

```

./snaptoo --make base

```

lavoro tutto il giorno e compilo come un dannato. (butto su una cinquantina di pkt tra dipendende e non)

arriva la sera e mi dico... naaaa... togliamo tutto!

```

snapToo --now base

```

e mi elenca tutti i cambiamenti fatti a livello packages,world file,virtuals

Ho fatto uno script di prova.

E' evidente che e' solo l'inizio e che se qc avra' voglia di partire da questa idea per fare un tool + avanzato posso essere solo felice (io per un mesetto non potro' toccare gentoo)

Questo e' solo di prova!Ha bug,parsa male l'input utente,ha pochi checks e probabilmente dovrebbe snapshottare altra roba (non solo i pkt,world file,virtuals)

vi posto un minimo di usage per chi sara' cosi' paziente da provarlo:

 *snapToo wrote:*   

> 
> 
> Usage: 
> 
> snapToo -m name
> ...

 

se usate noversion usatelo sempre in fondo! (bel parsing eh  :Very Happy:  )

Voi che ne dite? (dell'idea... non dello script  :Very Happy:  )

ciao

snaptool -> http://www.xchris.net/download.php?file=files/snapToo.tar.gz

P.S.:dovesse gia' esistere qc del genere mi scuso con lo spreco di risorse forum!

----------

## FonderiaDigitale

te ormai sei tarantolato. FERMATI! sei troppo prolifico!   :Cool: 

comunque, l'idea e' buona.

il nome parecchio meno: portsnap?portagebackup?

usi una nomenclatura che per me e' di difficile comprensione  :Smile: 

forse sarebbe piu indicato una cosa di questo genere:

```
-d|--dump: come ora make

-r|--restore: l'inverso

-c|--compare: come adesso

```

credo che potrei riutilizzare molto del codice di depcleaner per far funzionare la carretta. anzi a dire la verita' ci somiglia molto anche come funzioni... non sarebbe una pessima idea fonderli.

oggi ci do un occhio.

ps. a questo punto direi che serve un repository subversion o qualcosa del genere.

----------

## xchris

sono contento che l'idea te gusti  :Smile: 

il nome deriva da snapshot-gentoo

Come dicevo questa era solo una prova veloce.

Senza pretese!

Dovessi portarlo avanti lo scriverei tutto.

Se tu ha voglia,tempo... fai pure  :Smile: 

Io purtroppo per ora non posso portare avanti il discorso.

Fonderlo con depcleaner e' una buona idea ma a tal proposito ti consiglierei un diff-snapshot su emerge -p --depclean (che era l'idea originale)

Lascerei anche pero' l'utilizzo semplice (questo riscritto per bene).

ciao

----------

## fedeliallalinea

Ottimissima idea io facevo la stessa cosa (piu' o meno) a mano. Praticamente creo sempre un file .dep che mi riporta l'output di emerge -p cosi' se il programma non mi gusta posso togliere le varie dipendenze.

----------

## xchris

l'idea di base e' la stessa...segna che poi cancello!  :Smile: 

diciamo che al momento attuale lo scriptino torna comodo proprio per questo.(e anche per il fatto che l'output mostra le differenze)

si potrebbe anche mettere in cronjob ogni giorno  :Smile: 

ogni giorno crea una snapshot con nome "date...."

e poi eventualmente un tool analizzatore ci restituisce la storia.

sono solo idee  :Smile: 

----------

## codadilupo

io di solito procedo cosi':

emerge -UDpv --tree >programma.log

emerge -UD programma

poi se non mi piace vado a leggere programma.log per togliere tutto.

L'unica (fondamentale) pecca é che funziona solo un programma alla volta.

Se, ad esempio, installa programma1 programma2 e programma3, e programma3 chiede una dipendenza di programma1, in programma3.log non trovero' questa dipendenza, di conseguenza, se non vado a togliere solo programma1 e programma2, programma3 si trovera' senza una dipendenza... e non ho ancora trovato una soluzione valida, anche manuale...

Coda

----------

## fedeliallalinea

Con il comando diff il problema di codadilupo si potrebbe risolvere

----------

## xchris

 *fedeliallalinea wrote:*   

> Con il comando diff il problema di codadilupo si potrebbe risolvere

 

non credo,oppure non ho capito cosa intendi.

se PKT1 dipende da PKT4,PKT5,PKT6

se PKT2 dipende da PKT4,PKT7,PKT8

se installo PKT1 avro' log con PKT4,PKT5,PKT6

se installo PKT2 avro' log con PKT7,PKT8 (PKT4 non viene segnato)

quindi se disinstallo PKT1 togliendo PKT4,5,6 tolgo PKT4 necessario a PKT1

come rilevi che PKT4 non e' da togliere?

----------

## codadilupo

quella che continuo a vedere come unica via (ma é anche la piu' dispendiosa in termini di tempo e stress dell'hd) é sempre la stessa:

ricerca del pacchetto da eliminare e di TUTTE le sue dep (che significa anche le dep delle dep!).

Ricerca, per ogni dep, di altri pacchetti da cui possano dipendere ed eliminazione di solo quelle dep che riportano risultati zero (ovvero, non sono dep di nessun altro pacchetto e non hanno nessun pacchetto dipendente da loro che serve a qualche altro pacchetto ancora... un casino !).

Coda

----------

## fedeliallalinea

 *xchris wrote:*   

> non credo,oppure non ho capito cosa intendi.

 

Effettivamente ho detto una cazzata... lasciamo stare

----------

## FonderiaDigitale

ok, sto guardando un po' il codice.

da quel che vedo ci sono molte funzioni simili a usetool e a depcleaner.

a sto punto credo sia piu consono scrive api e funzioni comuni. ci sto lavorando su  :Smile:  vediamo se partorisco qualcosa di utile o solo un aborto.

----------

## Marculin

sarebbe utile che elimini specialmente i file di configurazione (forse sono SOLO nella home?) io ho provato molti programmi e ho un casino nella home  :Smile: 

----------

## FonderiaDigitale

eh?

----------

## Marculin

se installi xmms e lo lanci nella cartella di home ti crea .xmms

sarebbe carino fare anche in modo che la elimini quando unemergi il pacchetto...

----------

## FonderiaDigitale

apparte che il tutto e; facile a dirsi ma molto difficile a farsi, specie discriminare cosa e' giusto tenere e cosa no, ma poi cosa c'entra coi programmi suddetti?

----------

## randomaze

 *Marculin wrote:*   

> se installi xmms e lo lanci nella cartella di home ti crea .xmms
> 
> sarebbe carino fare anche in modo che la elimini quando unemergi il pacchetto...

 

Non mi sognerei mai di usare un programma che vada a ravanare nelle home degli utenti cercando dei files che "forse" sono stati creati automaticamente da programmi terzi per rimuoverli  :Rolling Eyes: 

...a meno di casi particolari, ovviamente.

----------

