# Rimuovere dipendenze, ideaozia

## pingoo

Ciao,

la sparo grosso, spero non me ne vogliate...

Uso il pc in maniera un po' troppo disinvolta, nel senso che a volte installo roba che magari rimuovo dopo qualche tempo e ho pacchetti mascherati e smascherati. A volte non ho tempo/voglia di aggiornare tutto il sistema, specie quando si tratta di aggiornamenti lunghi o delicati. 

Insomma mi ritrovo con un sistema un po' zozzo... e depclean e revdep mi complicano la vita (lo so che è colpa mia   :Wink: 

Vabbè, facciamo che oggi c'ho voglia di essere insultato per cui vado ad esporvi l'idiozia (bozza):

per facilitare la rimozione di dipendenze orfane, vorrei associare ad ogni pacchetto un contatore che indica quanti sono i pacchetti che ne hanno bisogno, ovvero che lo installerebbero se non ci fosse. Quindi, per ogni pacchetto che viene installato, vengono incrementati i contatori di tutti i pacchetti che sono dipendenze dirette (event. più se stesso); in maniera speculare alla rimozione, i contatori vengono decrementati. Alla fine tutti i pacchetti che hanno contatore uguale a 0 possono essere rimossi.

Spero di poter continuare ad usare il forum    :Wink: 

----------

## lucapost

 *pingoo wrote:*   

> Quindi, per ogni pacchetto che viene installato, vengono incrementati i contatori di tutti i pacchetti che sono dipendenze dirette (event. più se stesso); in maniera speculare alla rimozione, i contatori vengono decrementati. Alla fine tutti i pacchetti che hanno contatore uguale a 0 possono essere rimossi.
> 
> 

 

quindi non rimuoverai nessun pacchetto!

installa ubuntu che è meglio   :Twisted Evil: 

----------

## Meconiotronic

Mi associo alla richiesta, magari riesco a capire perchè se dò depclean portage vorrebbe rimuovermi l'intero sistema (è un tentativo di suicidio?)

Vuole davvero disinstallarmi ad esempio gnome, kde, gcc, e tante librerie necessarie...

Magari se ci fosse modo di contare come dici le dipendenze potrei rimuovere i pacchetti manualmente

----------

## bandreabis

 *Meconiotronic wrote:*   

> Mi associo alla richiesta, magari riesco a capire perchè se dò depclean portage vorrebbe rimuovermi l'intero sistema (è un tentativo di suicidio?)
> 
> Vuole davvero disinstallarmi ad esempio gnome, kde, gcc, e tante librerie necessarie...
> 
> Magari se ci fosse modo di contare come dici le dipendenze potrei rimuovere i pacchetti manualmente

 

Me ce l'hai ancora /var/lib/portage/world???

----------

## Onip

depclean fa esattamente quello che chiedi, cioè rimuove le dipendenze orfane. se non ti da un output corretto allora è necessario che sistemi il tuo world file.

1) farne un backup

2) editarlo con molta attenzionein modo da lasciare dentro (o aggiungere) solo i pacchetti che esplicitamente si vogliono nel sistema e non le loro dipendenze. (eventualmente per aggiungere un pacchetto si può anche utilizzare emerge --noreplace <pacchetto>)

3) 

```
# emerge --depclean -a
```

----------

## pingoo

 *Onip wrote:*   

> depclean fa esattamente quello che chiedi, cioè rimuove le dipendenze orfane. se non ti da un output corretto allora è necessario che sistemi il tuo world file.
> 
> 

 

Sì utilizzo depclean, il package world ogni tanto cerco di metterlo a posto (dep -w) e poi uso revdep-rebuild. Però mi sembra che manchi qualcosa, ora non so fare un esempio mirato ma a volte emerge --depclean mi rimuove pacchetti che poi mi reinstalla revdep-rebuild. La mia era più un'idea per vedere se c'era un modo più immediato di ottenere lo stesso risultato

 *lucapost wrote:*   

> quindi non rimuoverai nessun pacchetto!

 

Non mi son spiegato benissimo, con " alla rimozione, i contatori vengono decrementati. Alla fine .." indicavo che c'è un primo "atto di rimozione" volontario al quale seguono gli aggiornamenti e controlli sui contatori ed eventuali successive rimozioni.

Non commento la seconda frase*   :Twisted Evil: 

(in realtà ubuntu è in dual boot  :Very Happy:  )

----------

## djinnZ

--with-bdeps y/n leggere, leggere.

----------

## randomaze

 *Onip wrote:*   

> editarlo con molta attenzionein modo da lasciare dentro (o aggiungere) solo i pacchetti che esplicitamente si vogliono nel sistema e non le loro dipendenze. (eventualmente per aggiungere un pacchetto si può anche utilizzare emerge --noreplace <pacchetto>)

 

e per rimuoverlo "emerge -C <pacchetto", in modo da evitare comunque l'editing diretto  :Wink: 

----------

## Onip

 *randomaze wrote:*   

> e per rimuoverlo "emerge -C <pacchetto", in modo da evitare comunque l'editing diretto 

 

Insomma....

Se hai una dipendenza utile in world è sbagliato, ma con -C poi la devi ricompilare. Eliminandola dal world e basta poi ci pensa --depclean a toglierla se è di troppo.

----------

## lucapost

[semi OT]

dall'ultima installazione che ho fatto sul mio portatile, mantenendo pressoche' inalterati i "mattoni essenziali" (gimp, openoffice, firefox, texlive, ecc), ho ridotto il mio world da 475 a 380.

che dire: una bella pulizia!

[/semi OT]

si si... sara' anche bello e divertente editare a mano il file di world, ma il risultato che ottieni con una nuova e pulita reinstallazione e' difficile da ottenere in quel modo, e se fai un po' il conto di tempo ed energia...

----------

## table

 *lucapost wrote:*   

> [semi OT]
> 
> dall'ultima installazione che ho fatto sul mio portatile, mantenendo pressoche' inalterati i "mattoni essenziali" (gimp, openoffice, firefox, texlive, ecc), ho ridotto il mio world da 475 a 380.
> 
> che dire: una bella pulizia!
> ...

 

Io ho installato gentoo da 2 settimane con kde 4 e mi ritrovo con 475 pacchetti nel world, mi spiegheresti meglio cosa intendi? Intendi che con un'installazione pulita hai eliminato molti pacchetti inutili?

----------

## riverdragon

Quattrocentosettantacinque voci in world? Sono enormemente tante, io ho 119 voci in world (con 911 pacchetti installati), e quando avevo anche kde4 non ero a più di 130, con 1100 pacchetti installati nel sistema.

----------

## lucapost

Intendo che bisogna imparare ad usare l'opzione di emerge:

```
       --oneshot (-1)

         Emerge as normal, but do not add the packages to the world file for later updating.
```

Comunque questa è la mia situazione attuale:

```
#> eix --world -c |grep matches

Found 62 matches.

#> eix -Ic |grep matches

Found 428 matches.
```

----------

## table

```

stealth / # eix --world -c |grep matches

Found 63 matches.

stealth / # eix -Ic |grep matches

Found 474 matches.

```

----------

## riverdragon

 *table wrote:*   

> 
> 
> ```
> 
> stealth / # eix --world -c |grep matches
> ...

 Ah ma allora non hai 475 pacchetti in world, 475 sono quelli installati!   :Wink: 

----------

## Kernel78

diamine io in world ho 201 pacchetti e 36 sono di kde-base ...

ok ok, mi metto a fare pulizia  :Very Happy: 

----------

## pingoo

Sono rimasto un po' impressionato   :Shocked: 

```
emerge -p --depclean

Packages installed:   839

Packages in world:    162

Packages in system:   51

Required packages:    839

Number to remove:     0

```

Per il momento il sistema è "pulito", ma tanto è come in casa...    :Wink: 

----------

