# Script "undo"

## rb34

Quando l'altro giorno stavo per upgradare gnome, ho pensato "se qua va male qualcosa vorrei rimetter tutto come stava". Sì, ma non è affatto facile, o meglio, breve e comodo.

Pensavo che sarebbe utile uno script di "undo", che, lanciato prima di emerge -u, lo lanci diciamo col pretend e veda quali pacchetti si stanno per aggiornare, faccia il quickpkg di tutti e crei uno script di ripristino. C'è mica in giro?

----------

## Scen

Penso possa fare al caso tuo:

```

* app-portage/demerge

     Available versions:  0.043 0.044 ~0.045

     Homepage:            http://download.mpsna.de/opensource/demerge/

     Description:         demerge - revert to previous installation states

```

----------

## flocchini

ma e' affidabile? Sarebbe davvero carino...

----------

## rb34

Beh, l'ho installato e dato una letta al man.

E' un po' diverso da quello che dicevo io, nel senso che lui memorizza tutti i pacchetti installati nel sistema a un certo istante, e non crea i pacchetti binari come dicevo io (anche perché sennò impacchetterebbe tutto il sistema)

Questo potrebbe essere un problema in alcuni casi, quando ad es stai upgradando pacchetti vecchi che non sono più in portage e che non possono essere quindi ripristinati se non precedentemente quickpkg-iati

Per me credo vada anche bene, ma mi sa che un giorno o l'altro mi ci metto a fare quello che dicevo io, perché secondo me è abb semplice, basta fare un attimo di parsing dell'output di emerge -pv

----------

## Kernel78

Stavo pensando di sviluppare qualcosa basandomi sull'idea di rb34 ma mi sono accorto che la cosa necessiterebbe anche, in caso di "rollover", di mascherare le nuove versioni e potenzialmente di mettere in nel overlay locale gli ebuild dei vecchi pacchetti ...

vedete altre controindicazioni o particolari da tenere presenti ?

----------

## rb34

 *Kernel78 wrote:*   

> Stavo pensando di sviluppare qualcosa basandomi sull'idea di rb34 ma mi sono accorto che la cosa necessiterebbe anche, in caso di "rollover", di mascherare le nuove versioni e potenzialmente di mettere in nel overlay locale gli ebuild dei vecchi pacchetti ...
> 
> vedete altre controindicazioni o particolari da tenere presenti ?

 

mmm, ma perché mascherare? non basterebbe un emerge "=pacchetto" per ogni pacchetto da downgradare?

Sull'overlay, in effetti hai ragione...

----------

## Kernel78

 *rb34 wrote:*   

>  *Kernel78 wrote:*   Stavo pensando di sviluppare qualcosa basandomi sull'idea di rb34 ma mi sono accorto che la cosa necessiterebbe anche, in caso di "rollover", di mascherare le nuove versioni e potenzialmente di mettere in nel overlay locale gli ebuild dei vecchi pacchetti ...
> 
> vedete altre controindicazioni o particolari da tenere presenti ? 
> 
> mmm, ma perché mascherare? non basterebbe un emerge "=pacchetto" per ogni pacchetto da downgradare?
> ...

 

se ti limiti a questo il successivo aggiornamento ti reinstallerebbe le nuove versioni che tu non vuoi ...

----------

## rb34

 *Kernel78 wrote:*   

>  *rb34 wrote:*   
> 
> mmm, ma perché mascherare? non basterebbe un emerge "=pacchetto" per ogni pacchetto da downgradare?
> 
>  
> ...

 

eh già, ci ho pensavo poco fa. Eh, sembrava più semplice di quello che è  :Smile: 

Ah, una cosa che volevo sottolineare è come le ebuild siano di fatto pensate solo per gli upgrade, perché riportano le versioni minime che gli servono, ma se installi, per dire, pacchetto-2.0 che richiede dip-2.0 e poi rimetti pacchetto-1.0 che richiede dip-1.0 la dipendenza da dip-1.0 sarà soddisfatta (perché è installata la 2.0), ma non sono affatto sicuro che le cose funzionino bene.

----------

