# emerge unmerge gnome

## fatez

Ciao ragazzi... 

ho una domandina da farvi.. ma se do il comando emerge unmerge gnome, mica disinstallo completamente gnome e tutti i vari programmini che si era compilato...

c'è un comando per disinstallare tutto gnome o cmq tuto un programma senza fare danni ?  :Smile: 

ciao ciao e grazie

----------

## fedeliallalinea

 *fatez wrote:*   

> Ciao ragazzi... 
> 
> ho una domandina da farvi.. ma se do il comando emerge unmerge gnome, mica disinstallo completamente gnome e tutti i vari programmini che si era compilato...

 

No

 *fatez wrote:*   

> c'è un comando per disinstallare tutto gnome o cmq tuto un programma senza fare danni ? 
> 
> ciao ciao e grazie

 

No

Per disinstallare gnome completamente puoi usare emerge -depclean 

ma non e' per niente stabile. Io lo uso nel seguente modo (grazie lu_zero):

```
# emerge -C gnome

# emerge regen        // aggiorna il world file

# emerge depclean -p  // ti consiglio vivamente di usare il -p
```

Se con depclean vedi qualche pacchetto che vuoi che non disinstalli

basta che lo aggiungi nel file /var/cache/edb/world.

PS: non sono sicuro al 100% di quello che ho detto quindi aspetterei

smentite varie

----------

## fatez

hmm possibile che abbiano creato alla perfezione "emerge" ma non tanto bene "unmerge" ? o un programmino che faccia al caso mio =?  :Sad: 

----------

## fedeliallalinea

 *fatez wrote:*   

> hmm possibile che abbiano creato alla perfezione "emerge" ma non tanto bene "unmerge" ? o un programmino che faccia al caso mio =? 

 

Una mancanza, ihmo, grave in gentoo e' proprio questa della disinstallazione

recursiva (cioe' che toglie pacchetti e dipendenze non piu' usate).

----------

## sorchino

Beh non so quanto sia facile creare un unmerge buono.. che con emerge unmerge ti leva gnome e pacchetti affini.

Immagina.. installi gnome, che ti installa gkt+ gkt2 e poi installi mozilla che vuole le gtk2 ... se l'unmerge ti levasse tutto quello che ha messo gnome ti leverebbe anche le gtk2 no? e mozilla non andrebbe.

Il depclean è l'unico modo credo, ma ancora come diceva fedeliallalinea non è molto stabile

----------

## fedeliallalinea

 *[Alexi_Laiho] wrote:*   

> Beh non so quanto sia facile creare un unmerge buono.. che con emerge unmerge ti leva gnome e pacchetti affini.
> 
> Immagina.. installi gnome, che ti installa gkt+ gkt2 e poi installi mozilla che vuole le gtk2 ... se l'unmerge ti levasse tutto quello che ha messo gnome ti leverebbe anche le gtk2 no? e mozilla non andrebbe.
> 
> Il depclean è l'unico modo credo, ma ancora come diceva fedeliallalinea non è molto stabile

 

Io non dico che sia facile ma su debian questa cosa esiste e funziona

molto bene... comunque ora che ho imparato a usare abbastanza bene

depclean la cosa si e' risolta in parte.

----------

## shev

 *fedeliallalinea wrote:*   

> 
> 
> Io non dico che sia facile ma su debian questa cosa esiste e funziona
> 
> molto bene... 

 

Bhe, portage è ancora molto giovane rispetto a mostri sacri come dpkg e apt. Diamogli tempo e non ci deluderà nemmeno in questo  :Wink:  (imho)

 *Quote:*   

> comunque ora che ho imparato a usare abbastanza bene
> 
> depclean la cosa si e' risolta in parte.

 

Non ho ancora avuto modo di fare disinstallazioni "pesanti" (ci penso tre volte prima di installare qualsiasi cosa, soprattutto se ha varie dipendenze), cmq terrò a mente il tuo trick, thx  :Very Happy: 

----------

## fedeliallalinea

 *Shev wrote:*   

>  *fedeliallalinea wrote:*   
> 
> Io non dico che sia facile ma su debian questa cosa esiste e funziona
> 
> molto bene...  
> ...

 

Questo e' sicuro che non ci deludera' era solo per dire a [Alexi_Laiho]

che la cosa non e' impossibile.

 *Shev wrote:*   

>  *Quote:*   comunque ora che ho imparato a usare abbastanza bene
> 
> depclean la cosa si e' risolta in parte. 
> 
> Non ho ancora avuto modo di fare disinstallazioni "pesanti" (ci penso tre volte prima di installare qualsiasi cosa, soprattutto se ha varie dipendenze), cmq terrò a mente il tuo trick, thx 

 

Disinstallazioni pesanti neanche io ne ho mai fatte pero' ho voluto

provare depclean e debbo dire che non e' male.

----------

## maur8

Io ho provato emerge regen ma mi indicava da rimuovere programmi che ho installatodirettamente (e quindi, se non sbaglio, aggiunti al world file automaticamente). Allora ho dato un regenworld e mi ha aggiunto anche quelli. Ma che differenza c'è tra i due programmi? Io credevo che fossero lo stesso script. Voi ne sapete qualcosa?

----------

## fedeliallalinea

 *maur8 wrote:*   

> Io ho provato emerge regen ma mi indicava da rimuovere programmi che ho installatodirettamente (e quindi, se non sbaglio, aggiunti al world file automaticamente). Allora ho dato un regenworld e mi ha aggiunto anche quelli. Ma che differenza c'è tra i due programmi? Io credevo che fossero lo stesso script. Voi ne sapete qualcosa?

 

Effettivamente mi sono dimenticato di dire che faccio anche un regen 

regenworld (che differenza ci sia non lo so). Ricapirolando la procedura

che uso per depclean e'

```
# emerge regen

# regenworld

# emerge depclean -p

Aggiungere al world file (/var/cache/edb/world) quelli che non voglio disinstallare

#emerge depclean
```

----------

## BlueRaven

 *fedeliallalinea wrote:*   

> Io non dico che sia facile ma su debian questa cosa esiste e funziona molto bene... comunque ora che ho imparato a usare abbastanza bene depclean la cosa si e' risolta in parte.

 

Scusa, ma da quando in qua, su Debian, dpkg e apt tolgono di mezzo anche le dipendenze?

A me risulta che l'unico tool in grado di farlo decentemente è aptitude che, se le cose non sono cambiate, NON fa parte dell'installazione standard.

----------

## shev

 *BlueRaven wrote:*   

> 
> 
> Scusa, ma da quando in qua, su Debian, dpkg e apt tolgono di mezzo anche le dipendenze?

 

Io uso dselect e con dselect levo le dipendenze quando disinstallo un pacchetto. Considerando che dselect non è che un frontend grafico ai due tool di Debian, la conclusione segue in modo logico. Senza contare che dselect mi pare sia parte dell'installazione base.

----------

## cerri

E cmq gestire un qc per dipendenze a ritroso e' sempre difficile...

----------

## The Katta

Prova con dep-clean che è in gentoolkit

Fino ad ora a me non ha creato casini

----------

## Benve

Il problema non sono i tool per rimuovere le dipendenze ma gli ebuild che portano a volte dipendenze sbagliare. Ad esempio xine non ha in RDEPEND cose necessarie al suo funzionamento, e che quindi vengono tolte da un emerge depclean

----------

## BlueRaven

 *Benve wrote:*   

> Il problema non sono i tool per rimuovere le dipendenze ma gli ebuild che portano a volte dipendenze sbagliare. Ad esempio xine non ha in RDEPEND cose necessarie al suo funzionamento, e che quindi vengono tolte da un emerge depclean

 

Concordo, da me addirittura indica che si possono rimuovere le fileutils, vale a dire cp, rm, chown e buona parte dei comandi fondamentali...   :Shocked: 

----------

## BlueRaven

 *Shev wrote:*   

> Io uso dselect e con dselect levo le dipendenze quando disinstallo un pacchetto. Considerando che dselect non è che un frontend grafico ai due tool di Debian, la conclusione segue in modo logico. Senza contare che dselect mi pare sia parte dell'installazione base.

 

Siamo già OT, <mode lecchino on>speriamo nella pietà dei graziosissimi et illuminatissimi moderatori<mode off>   :Laughing: 

Ieri, complice anche il fatto che sono piuttosto arrugginito su Debian, ho preso per buona la risposta.

Poi, però, mi è venuto il dubbio e ho fatto una prova, andando a marcare per il purge un pacchetto che ero sicuro si fosse portato dietro una dipendenza.

Se vuoi controllare, il pacchetto in questione è afbackup e la dipendenza tcsh.

Ebbene, il pacchetto l'ha marcato e se provo a uscire e dare un apt-get -u dselect-upgrade vedo che effettivamente lo vuole rimuovere, ma non mi ha assolutamente chiesto di rimuovere la dipendenza.

Inoltre, sono sicuro che tcsh non è richiesta da nessun altro pacchetto, in quanto è stata installata contestualmente ad afbackup.

A questo punto, mi piacerebbe sapere come fai tu.   :Wink: 

----------

## codadilupo

 *cerri wrote:*   

> E cmq gestire un qc per dipendenze a ritroso e' sempre difficile...

 

questo lo immagino, pero' la logica mi sembra semplice: 

- voglio disinstallare X e le le sue dips

- controllo le dips di X

- controllo le dips di tutto il resto

- le dips di X che non sono dips di nient'altro si possono disinstallare...

la teoria é semplice, no ? Ho perso qualcosa ?

Coda

----------

## fedeliallalinea

 *codadilupo wrote:*   

>  *cerri wrote:*   E cmq gestire un qc per dipendenze a ritroso e' sempre difficile... 
> 
> questo lo immagino, pero' la logica mi sembra semplice: 
> 
> - voglio disinstallare X e le le sue dips
> ...

 

La logica sara' anche semplice ma l'implementazione..... E' anche facile

per te fare 2+3+5/2 ma fallo interpretare al computer l'implementazione

non e' semplicissima (neanche impossibile).

----------

## codadilupo

 *fedeliallalinea wrote:*   

> La logica sara' anche semplice ma l'implementazione..... E' anche facile
> 
> per te fare 2+3+5/2 ma fallo interpretare al computer l'implementazione
> 
> non e' semplicissima (neanche impossibile).

 

Sì, sì ! Sono d'accordo (e contento)... non volevo certo mettere in dubbio le capacità degli sviluppatori, perdinci!  :Wink: 

Mi chiedevo solo se i problemi fossero più tecnici, o di approccio.... 

... e non sono certo la persona più adatta ad affrontare i primi, visto che ho già le mie belle lacune sui secondi  :Wink: 

Coda

----------

## shev

 *BlueRaven wrote:*   

> 
> 
> A questo punto, mi piacerebbe sapere come fai tu.  

 

Ieri proprio per non scrivere cacchiate mi sono loggato sul mio serverino debian per provare ciò che dicevo (come ruggine credo siamo lì  :Very Happy:  ) ed ho provato a simulare la disinstallazione di uno dei pacchetti importanti del sistema, che si sarebbe portato dietro non ti dico quanti pacchetti (al contrario di emerge che avrebbe eliminato il pacchetto in questione e basta). Che poi non sia un sistema perfetto e  che qualche dipendenza magari non troppo rigida venga a volte dimenticata è un altro paio di maniche, esistono apposta anche in debian pacchetti come deborphan e simili che vanno a raccatare i pacchetti privi di dipendenze e inutilizzati per eliminarli (ciò presuppone che se ci sono qualcuno li aveva voluti come dipendenza, ma allora perchè quando chi li ha voluti è stato tolto non s'è portato dietro anche l'orfanello?).

Insomma, non sarà perfetto ma funziona cmq molto bene.

----------

## cerri

codadilupo, il problema e':

TASK: devo disinstallare GNOME.

- disinstallare GNOME

- controllare dipendenza di GNOME (elenco, tra cui kernel, glibc, gcc...)

- come faccio a sapere a che punto fermarmi?

CMQ: in Debian mi dicono che e' possibile disinstallare un pacchetto E LE SUE dipendenze... ma non le dipendenze di quel pacchetto...

----------

## BlueRaven

 *Shev wrote:*   

> Ieri proprio per non scrivere cacchiate mi sono loggato sul mio serverino debian per provare ciò che dicevo (come ruggine credo siamo lì  ) ed ho provato a simulare la disinstallazione di uno dei pacchetti importanti del sistema, che si sarebbe portato dietro non ti dico quanti pacchetti (al contrario di emerge che avrebbe eliminato il pacchetto in questione e basta).

 

Il tutto con il solo dselect? Boh... sono veramente rimasto indietro!

Comunque dai, siamo OT, magari mi installo una Debian al volo e faccio un test selvaggio per conto mio.   :Wink: 

Grazie per la risposta e per la pazienza!

----------

## codadilupo

 *cerri wrote:*   

> codadilupo, il problema e':
> 
> TASK: devo disinstallare GNOME.
> 
> - disinstallare GNOME
> ...

 

l'idea era: se querl pacchetto non é richiesto da nessun altro, allora posso toglierlo... altrimenti no: il problema, secondo me, é semmai un'altro: 

voglio disinstallare vlc. vlc richiede come dipendenza mplayer.

mplayer, funziona benissimo anche da se, e magari, voglio disinstallare vlc, proprio perché preferisco usare mplayer. Il punto, quindi, é far capire al sistema, cosa si é espressamente installato, e cosa é stato installato come dipendenza, e cosa, in definitiva, si vuol tenere a tutti i costi.....

'nsomma.... é un casino !   :Shocked: 

Coda

----------

## BlueRaven

 *codadilupo wrote:*   

> Il punto, quindi, é far capire al sistema, cosa si é espressamente installato, e cosa é stato installato come dipendenza, e cosa, in definitiva, si vuol tenere a tutti i costi.....

 

Magari, se fosse così il problema sarebbe già risolto.  :Smile: 

In /var/cache/edb/world ci sono già tutti i pacchetti installati espressamente, basterebbe aggiungere - come ha detto fedeliallalinea - quelli che vuoi tenere a tutti i costi.

Il problema vero si ha, come ha puntualizzato Benve, che non sempre gli ebuild indicano dipendenze precise.

A dire il vero, da alcune prove fatte, io ho la netta impressione che gli script facciano un po' ognuno come gli pare: qualcuno guarda DEPEND, qualcuno RDEPEND, altri /var/db/pkg...

Ma, come dice Shev (e così ho citato proprio tutti  :Wink:  ), Portage è ancora giovane e sicuramente migliorerà anche in questo aspetto.

----------

## BlueRaven

 *BlueRaven wrote:*   

> Il tutto con il solo dselect? Boh... sono veramente rimasto indietro!
> 
> Comunque dai, siamo OT, magari mi installo una Debian al volo e faccio un test selvaggio per conto mio.  
> 
> Grazie per la risposta e per la pazienza!

 

Come promesso, ho provato e credo che ci sia un malinteso di fondo.

Se tu elimini un pacchetto da dselect, lui ti propone di eliminare anche tutti quelli che da esso dipendono, ma NON - ed è questo che si vuole ottenere - quelli che si è portato dietro come dipendenza.

Una rapida ricerca negli archivi delle liste Debian mi ha confermato che l'unico tool a fare una cosa del genere è aptitude (aptitude purge <pacchetto>) e sembra che lo faccia pure bene, a patto di usarlo fin da subito.

Non che sia una questione importante, eh, è solo che mi sembrava strano!  :Wink: 

----------

## Gandalf98

Un'idea per questo tipo di problemi potrebbe essere il creare un file che tenga conto di quante volte le dipendenze sono state usate.

Mi spiego meglio:

-) installo gimp ----> gtk 2.2=1

-) installo mozilla ----> gtk 2.2=2

................

Quando disinstallo procedo a ritroso 3,2,1,.. quando arrivo a zero posso disinstallare anche gtk 2.2. Come implementazione non mi sembra difficile.

C'è qualche uteriore problema che mi sfugge??

Cià!!

----------

## shev

 *BlueRaven wrote:*   

> 
> 
> Se tu elimini un pacchetto da dselect, lui ti propone di eliminare anche tutti quelli che da esso dipendono, ma NON - ed è questo che si vuole ottenere - quelli che si è portato dietro come dipendenza.

 

Ma probabilmente facevamo due discorsi differenti (o mi sono espresso male io). Ciò che io dicevo è che mentre emerge lascia disinstallare pacchetti necessari per il corretto funzionamento di altri programmi senza dire nulla o toccare dipendenze, dpkg o chi per lui non te lo lascia fare, dicendoti che tutti i pacchetti che dipendono da quello che si vuole eliminare se ne andranno con lui (salvo costrizioni varie). In questo modo non si avranno programmi non funzionanti senza accorgersene.

Il discorso che fai tu è un pelino diverso, guardi all'altro lato della faccenda: se installo un pacchetto che mi vuole altre dipendenze, quelle dipendenze resteranno quando levo il pacchetto che le ha volute. Ok, su questo siamo d'accordo.

Probabilmente è questione di abitudine mia: sapendo che le cose funzionano come sopra, di solito vado ad eliminare il pacchetto che è dipendenza dei pacchetti che non mi servono e così automaticamente mi si leva tutto (e con deborphan e compagni sistemo eventuali dimenticanze).

A parte tutti questi "dettagli", cmq ciò che serviva ai fini del discorso è: una qualche forma di controllo delle dipendenze è possibile (come testimonia debian), più o meno efficente e completo che sia. Un giorno anche portage potrà godere di simili funzionalità (imho). 

 *Quote:*   

> Non che sia una questione importante, eh, è solo che mi sembrava strano! 

 

Figurati, meglio fugare ogni dubbio e chiarire le cose piuttosto che continuare a sbagliare diffondendo oltretutto l'errore. Personalmente se mi fanno notare errori o mie imprecisioni non posso che esserne contento, servono per migliorare sempre più  :Wink: 

----------

## BlueRaven

OK, adesso è tutto chiaro.  :Smile: 

E soprattutto Portage si conferma come un ottimo strumento di gestione pacchetti, che è la cosa più importante.  :Cool: 

----------

## teknux

 *Gandalf98 wrote:*   

> Un'idea per questo tipo di problemi potrebbe essere il creare un file che tenga conto di quante volte le dipendenze sono state usate.
> 
> Mi spiego meglio:
> 
> -) installo gimp ----> gtk 2.2=1
> ...

 

beh sarebbe un'idea semplice e geniale. non sono un esperto degli internals del portage ma a occhio e croce non credo ci siano grossi problemi.

a pensarci bene però tu hai preso l'esempio di una libreria, che necessariamente è dipendenza di un programma sulla quale si poggia. ma in alcuni casi tra le dipendenze ci sono anche dei programmi, per esempio l'installazione di un frontend grafico per un'applicazione testuale, richiede l'installazione dell'applicazione come dipendenza.

al limite di dovrebbe studiare un sistema per chi crea un ebuild in grado di stabilire a priori se un pacchetto può essere considerato dipendenza oppure no, basterebbe una variabile...

tuttavia mi sembra strano che nessuno ci abbia pensato, evidentemente devono esserci altri problemi sotto...

saluti,

tek (che ha appena pulito il sistema dai pacchetti inutili... a mano)

----------

