# pulizie di primavere profonde

## FreeManAtomic

Ciao,

ho un server in cui vorrei fare pulizia di pacchetti, in quanto prima era presente un ambiente grafico (lo usavamo come terminal per gli altri server) ma adesso non mi serve piu'.

Vorrei tornare all'origine (senza reinstallare!!) sistema base piu' i vari pacchetti che mi necessitano..

Qualche consiglio avverteza?

grazie

----------

## neryo

intanto come use potresti mettere..

```
USE="-X -gnome -kde"
```

poi eliminare tutto quello che non ti serve.. appoggiandoti magari unclepine.. e poi fare un ricompilazione totale con le nuove use.

----------

## Onip

aggiungerei anche -gtk e -qt alle USE

----------

## FreeManAtomic

gia messe... il punto e tirare via quello che c'e' gia' a partire dalla radice!  :Very Happy: 

----------

## Ic3M4n

per fare una cosa mirata di conviene facendo attenzione togliere il config protect. almeno non ti rimane /etc smerdata.

----------

## FreeManAtomic

 *Ic3M4n wrote:*   

> per fare una cosa mirata di conviene facendo attenzione togliere il config protect. almeno non ti rimane /etc smerdata.

 

cos'e' config protect?

----------

## misterwine

CONFIG_PROTECT è una variabile presente in /etc/make.conf. Il suo compito è quello di impedire che durante l' aggioranamento dei pacchetti non vengano sovrascritti i file di configurazione corrispondenti che risiedono in /etc. Infatti, l' aggiornamento dei file di configurazione, se ritenuto necessario, lo si fa con etc-update.

Correggetemi se sbaglio!

----------

## .:deadhead:.

leva le use inutili e fai un primo passaggio con l'opzione -N di emerge , così ricompili levando il supporto a cose non + utili. Poi inizi a lavorare con unclepine e depclean [okkio però].

----------

## FreeManAtomic

grazie a tutti, altri consigli?

----------

## neryo

 *FreeManAtomic wrote:*   

> grazie a tutti, altri consigli?

 

in bocca al lupo   :Laughing:   :Wink: 

----------

## .:chrome:.

 *FreeManAtomic wrote:*   

> grazie a tutti, altri consigli?

 

ovviamente dopo avere cambiato le flag come ti è già stato suggerito va fatto l'emerge -uDN world

dopo questo, io farei un emerge --depclean

se sei disposto a rischiare, perché è una procedura altamente sconsigliata, io editerei a mano il file world, eliminando tutto quello che non mi interessa da lì (riroda che ledipendenze non devono comparire in quel file, nemmeno quelle di system, come openssh e baselayout). dopo di ché farei il depclean. vedrai che verrà fatta fuori un bel po' di roba inutile.

----------

## =DvD=

ho letto da qualche parte (forse ma emerge) che --depclean dovrebbe funzionare bene se prima fai un emerge -e world, ma (pare) solo per avere tutto il sistema compilato con le stesse use; quindi anche un emerge -uDN world dovrebbe andare bene, ma visto che fai le pulizie di primavera una ricompilata in toto prima del --deplcean io ce la metterei  :Smile: 

----------

## .:chrome:.

 *=DvD= wrote:*   

> ho letto da qualche parte (forse ma emerge) che --depclean dovrebbe funzionare bene se prima fai un emerge -e world, ma (pare) solo per avere tutto il sistema compilato con le stesse use; quindi anche un emerge -uDN world dovrebbe andare bene, ma visto che fai le pulizie di primavera una ricompilata in toto prima del --deplcean io ce la metterei 

 

io lo uso regolarmente. faccio sempre attenzione a non far andare nel file world cose che non ci dovrebbero essere, e ho sempre il sistema pulitissimo.

non vedo quale possa essere il nesso con le flag di compilazione. sebbene sia dichiarato come tool pericoloso, io non ho mai riscontrato malfunzionamenti, e c'è da dire che lo uso ovunque

----------

## FreeManAtomic

 *k.gothmog wrote:*   

>  *=DvD= wrote:*   ho letto da qualche parte (forse ma emerge) che --depclean dovrebbe funzionare bene se prima fai un emerge -e world, ma (pare) solo per avere tutto il sistema compilato con le stesse use; quindi anche un emerge -uDN world dovrebbe andare bene, ma visto che fai le pulizie di primavera una ricompilata in toto prima del --deplcean io ce la metterei  
> 
> io lo uso regolarmente. faccio sempre attenzione a non far andare nel file world cose che non ci dovrebbero essere, e ho sempre il sistema pulitissimo.
> 
> non vedo quale possa essere il nesso con le flag di compilazione. sebbene sia dichiarato come tool pericoloso, io non ho mai riscontrato malfunzionamenti, e c'è da dire che lo uso ovunque

 

scusa, non far andare qualche cosa nel file world equivare a nascondere ad emerge il fatto che il pacchetto sia installato?

grazie

----------

## neryo

 *FreeManAtomic wrote:*   

> 
> 
> scusa, non far andare qualche cosa nel file world equivare a nascondere ad emerge il fatto che il pacchetto sia installato?
> 
> 

 

no, gli fai semplicemente capire a portage, che tutto quello che NON e' nel file world e' una dipendenza di quello che e' elencato nel file world oppure fa parte di dipendenze "vecchie" di pacchetti eliminati.... e quindi quando pulisci sa cosa eliminare xche' NON fa parte delle dipendenze dei pacchetti installati elencati nel world.   :Wink:  un po' contorto..   :Laughing: 

----------

## emix

 *k.gothmog wrote:*   

> io lo uso regolarmente. faccio sempre attenzione a non far andare nel file world cose che non ci dovrebbero essere, e ho sempre il sistema pulitissimo.

 

Stessa cosa vale per me, lo uso praticamente da sempre e non mi ha mai deluso. Lo considero uno degli strumenti "indispensabili" di gentoo  :Wink: 

----------

## neryo

 *=DvD= wrote:*   

> ho letto da qualche parte (forse ma emerge) che --depclean dovrebbe funzionare bene se prima fai un emerge -e world, ma (pare) solo per avere tutto il sistema compilato con le stesse use; quindi anche un emerge -uDN world dovrebbe andare bene, ma visto che fai le pulizie di primavera una ricompilata in toto prima del --deplcean io ce la metterei 

 

 *Quote:*   

> Note that changes  in  USE  flags
> 
>               can drastically affect the output of --depclean.

 

----------

## .:chrome:.

 *neryo wrote:*   

>  *=DvD= wrote:*   ho letto da qualche parte (forse ma emerge) che --depclean dovrebbe funzionare bene se prima fai un emerge -e world, ma (pare) solo per avere tutto il sistema compilato con le stesse use; quindi anche un emerge -uDN world dovrebbe andare bene, ma visto che fai le pulizie di primavera una ricompilata in toto prima del --deplcean io ce la metterei  
> 
>  *Quote:*   Note that changes  in  USE  flags can drastically affect the output of --depclean. 

 

beh... in quel senso è ovvio. è proprio per quello che esiste quel tool ed è così comodo

----------

## =DvD=

 *k.gothmog wrote:*   

> io lo uso regolarmente. faccio sempre attenzione a non far andare nel file world cose che non ci dovrebbero essere, e ho sempre il sistema pulitissimo.
> 
> non vedo quale possa essere il nesso con le flag di compilazione. sebbene sia dichiarato come tool pericoloso, io non ho mai riscontrato malfunzionamenti, e c'è da dire che lo uso ovunque

 

Come dice il post sopra, ne parla il man emerge, e piu' specificatamente qualche fonte che non mi ricordo. Se uno ha acuni pacchetti compilati con delle use e altri con altre allora potrebbe fallire.

Ovvio che dopo un emerge -uDN world dovrebbe essere  tutto a posto.

Evidentemente non controlla le use di compilazione dei pacchetti (come invece unclepine puo' fare) ma solo le use globali.

Ovvio anche che in un sistema ben gestito non dovrebbe dare errori, ma qui si parla di dare consigli che leggono tutti, e non mi aspetto che tutti abbiano le use di compilazione dei pacchetti sincronizzate con quelle globali.

 :Smile:  se ti interessa mi vado a cercare la fonte...

EDIT:  *http://www.gentoo.org/doc/it/handbook/handbook-x86.xml?part=2&chap=1 wrote:*   

> Portage ha anche la funzionalità di rimozione delle dipendenze orfane, ma dato che la disponibilità del software è dinamicamente dipendente, occorre prima aggiornare completamente l'intero sistema, includendo, se ci sono state, le modifiche alle flag USE. Quindi sarà possibile eseguire emerge --depclean per rimuovere le dipendenze orfane. Fatto ciò, ci sarà bisogno di ricompilare le applicazioni che erano dinamicamente linkate al software rimosso ma non più richiesto. 
> 
>  Tutto ciò può essere fatto con un seguenti tre comandi: 
> 
> Codice 16: Rimozione delle dipendenze orfane
> ...

 

Fine  :Smile: 

----------

## .:chrome:.

uhm... ti direi di provarlo. se vedi con i tuoi occhi come funziona lo capisci subito.

cerco di fare un esmepio pratico:

installo apache. vengono disinstallati anche apr e apr-util, ma questi due non entrano nel file world. quando disinstallo apache, le due due dipendenze rimangono nel sistema, e a meno che non mi ricordi tutti i pacchetti che sono installati, singolarmente o come dipendenza, non c'è modo di torglierle. depclean fa proprio questo lavoro: elimina le dipendenze ormai "broken"; in questo caso andrebbe a rimuovere apr e apr-util

faccio un altro esempio per chiarire la questione delle USE:

installo apache con supporto LDAP. giustamente viene installato anche openldap. domani decido che il supporto a openldap non mi serve più, tolgo la USE relativa, e ricompilo apache. openldap rimane però nel sistema anche se inutilizzato.

depclean rileva che openldap è ancora una volta una dipendenza "broken" e lo elimina, se non è richiesto da altri pacchetti

EDIT: ho visto il tuo edit.

a questo punto non ho capito se non ti è chiaro come funziona depclean, o se stiamo dicendo le stesse cose senza capirci a vicendaLast edited by .:chrome:. on Sun Jun 11, 2006 9:12 am; edited 1 time in total

----------

## emix

 *=DvD= wrote:*   

> Se uno ha acuni pacchetti compilati con delle use e altri con altre allora potrebbe fallire.

 

Non credo sia così. E' vero che "depclean" non controlla le use effettivamente usate in fase di compilazione bensì quelle presenti nel make.conf e in package.use al momento dell'uso del comando, ma io posso benissimo avere use uguali attivate per un pacchetto e disattivate per un altro, e depclean non dovrebbe fallire. L'importante è che il risultato di "emerge -uDN world" sia un insieme vuoto, ovvero che i vari pacchetti siano stati compilati con le use presenti in make.conf e in package.use.

Edit: mi associo all'edit di k.gothmog  :Smile: 

----------

## .:chrome:.

 *emix wrote:*   

> ...e depclean non dovrebbe fallire

 

confermo che non fallisce. altrimenti io non avrei una sola macchina funzionante, ma sarebbero tutte distrutte  :Very Happy: 

----------

## =DvD=

 *k.gothmog wrote:*   

> EDIT: ho visto il tuo edit.
> 
> a questo punto non ho capito se non ti è chiaro come funziona depclean, o se stiamo dicendo le stesse cose senza capirci a vicenda

 

Stiamo dicendo la stessa cosa: se emerge -uDN world ritorna lista vuota allora --depclean funziona.

Io stavo solo dicendo che a non tutti ritorna vuoto =D

----------

## Ic3M4n

il prerequisito per un utilizzo profiquo di tool come depclean sono l'avere un sistema coerente. se modifichi le use on-the-fly compili le dipendenze una ad una e le butti nel file di world e cose del genere nessun tool di pulizia ti potrÃ  mai aiutare, io utilizzo da sempre depclean, non ho mai avuto problemi in quanto hai la possibilitÃ  di controllare i pacchetti che vuole rimuovere con l'opzione -p. comunque l'aggiornamento ormai ho preso il vizio di farlo sempre con emerge -uDN world.

----------

## FreeManAtomic

grazie gente, non si finisce mai di imparare

----------

## funkoolow

scusate l'intromissione, io pure faccio sempre l'emerge del world con -uD ma riguardo al parametro N... voi cambiate così spesso le flags use??  :Shocked: 

----------

## Ic3M4n

no, perÃ² puÃ² succedere che occasionalmente aggiorno dei pacchetti che hanno implementato nuove flag use e che magari richiedono delle aggiunte da altre parti. visto che mi Ã¨ successo in passato di avere dei problemi per pacchetti che dovevano necessariamente essere compilati con dipendenze con determinate use (vedi pango, cairo, gtk) preferisco abituarmi ad utilizzare anche la N oltre che uD.

----------

## .:chrome:.

 *funkoolow wrote:*   

> scusate l'intromissione, io pure faccio sempre l'emerge del world con -uD ma riguardo al parametro N... voi cambiate così spesso le flags use?? 

 

no. però capita che ci metta mano, e visto che un carattere in più non costa niente, metto sempre anche quell'opzione ogni volta ch efaccio un aggiornamento, così non c'è pericolo che mi dimentichi niente

----------

## funkoolow

immaginavo, era giusto per verificare  :Razz:   :Rolling Eyes: 

----------

## ilconte

Buonasera a tutti! Vorrei eliminare completamente Kde e sostituirlo con Gnome... Vorrei cancellare ogni file legato al DE in questione... Come posso fare? Esiste un modo per visualizzare tutti i pacchetti "emersi"? Grazie infinite!

----------

## =DvD=

cerca meglio sul forum, c'e' pieno di riposte a questa domanda.

----------

## ilconte

Grazie, adesso controllo meglio... Avevo già fatto una ricerca ma non ho trovato nulla...

----------

## =DvD=

C'e' un post che ancora dovrebbe essere in prima pagina sul forum che tratta proprio di questo!!

https://forums.gentoo.org/viewtopic-t-470148.html

e ce ne sono millemila altri vecchi

https://forums.gentoo.org/viewtopic-t-466057-highlight-rimuovere+kde.html

https://forums.gentoo.org/viewtopic-t-471043-highlight-rimuovere+kde.html

https://forums.gentoo.org/viewtopic-t-249828-highlight-rimuovere+kde.html

https://forums.gentoo.org/viewtopic-t-308981-highlight-rimuovere+kde.html

e lo spiega il man di emerge, e lo spiega la doc sul sito, cmq  in breve:

 se hai il sistema ammodo, e il file world fatto bene, basta un emerge -C kde e poi emerge --depclean

----------

## ilconte

Che cos'è il file word? Dove lo posso visualizzare?

----------

## .:chrome:.

 *ilconte wrote:*   

> Che cos'è il file word? Dove lo posso visualizzare?

 

/var/lib/portage/world

da NON EDITARE MAI A MANO, a meno che tu non sappia esattamente cosa stai facendo

----------

## Cazzantonio

caro conte temo che tu abbia bisogno di leggere attentamente la documentazione prima di fare certe domande...

nella pagina principale del forum gentoo c'è un link a tutta la documentazione che ti serve, inoltre leggi i seguenti man:

```
man portage

man emerge

man make.conf
```

oltre alla documentazione leggiti ben bene i primi punti delle linee guida di questo forum....

P.S. faccio il merge dei thread

----------

## ilconte

Grazie e tutti! Siete molto gentili! Con voi e Gentoo sto imparando qualcosa di Linux!

----------

## FreeManAtomic

 *k.gothmog wrote:*   

>  *ilconte wrote:*   Che cos'è il file word? Dove lo posso visualizzare? 
> 
> /var/lib/portage/world
> 
> da NON EDITARE MAI A MANO, a meno che tu non sappia esattamente cosa stai facendo

 

Risollevo la discussione, perche' ho proprio intenzione di fare questa operazione.  :Smile: 

Visto i caratteri cubitali, direi che e molto pericoloso. Ma se fatto con criterio lo e'?

Attualmente il mio file world e il seguente, e vorrei farlo diventera (rimane solo cio' che e in bold)

 *Quote:*   

> 
> 
> sys-fs/devfsd
> 
> app-admin/usbview
> ...

 

A vostra opinione quanto rischio?   :Confused: 

----------

## Luca89

Io non ci vedo nulla di male ad editare il file world, in alcuni casi credo sia la migliore soluzione. Per quanto riguarda il tuo caso FreeManAtomic, credo che dovrebbe andarti tutto bene.

----------

## Ic3M4n

all'interno del file di world non dovrebbe esserci nulla del tipo libs e simili. anche alcuni programmi sono in effetti delle dipendenze di altri, soprattutto se utilizzi dei metapacchetti come gnome o xorg-x11. in ogni caso rimuovi tutto quello che sai essere superfluo o dipendenza di qualcos'altro. quelli che sei incerto puoi sempre utilizzare equery per vedere se possono essere rimossi. cmq una copia di backup non fa mai male ed i pacchetti che rimuovi prima di farlo comprimili con quickpkg, almeno il ripristino è immediato.

----------

## FreeManAtomic

La procedura corretta e:

1)pulitura world

2)revdep-rebuild

3) depclean

? oppure prima 3 e poi 2?

grazie

----------

## Luca89

 *FreeManAtomic wrote:*   

> La procedura corretta e:
> 
> 1)pulitura world
> 
> 2)revdep-rebuild
> ...

 

prima depclean e poi revdep-rebuild.

----------

## syntaxerrormmm

Per pulire il worldfile, consiglio anche un ottimo

```
dep -w
```

oppure

```
dep -s
```

Dep è disponibile nel pacchetto app-portage/udept.

Ciao.

----------

## FreeManAtomic

 *syntaxerrormmm wrote:*   

> Per pulire il worldfile, consiglio anche un ottimo
> 
> ```
> dep -w
> ```
> ...

 

Figooo  :Smile: 

Grazie

----------

## FreeManAtomic

Pulizie fatte, ho tirato via quasi 250 pacchetti   :Shocked:   :Smile: 

Adesso revdep-rebuild mi dice che ho questi pacchetti rotti:

 *Quote:*   

> 
> 
>  broken /usr/bin/pdftoppm (requires  libt1.so.5)
> 
>   broken /usr/bin/xpdf (requires  libICE.so.6 libSM.so.6 libX11.so.6 libXext.so.6 libXm.so.3 libXp.so.6 libXpm.so.4 libXt.so.6 libt1.so.5)
> ...

 

Pero' non vuole emergere niente per sistemarli.

Il mio obiettivo e proprio spazzare via i pacchetti!! Ho provato con equery belongs nomefile per vedere a chi appartiene ma senza risultati.

Qualche soluzione alternativa?

Grazie

----------

## Luca89

Quei file probabilmente sono orfani, credo che puoi eliminarli tranquillamente (magari prima fatti un backup).

----------

## syntaxerrormmm

 *FreeManAtomic wrote:*   

> Adesso revdep-rebuild mi dice che ho questi pacchetti rotti:
> 
> [...]
> 
> Pero' non vuole emergere niente per sistemarli.

 IMHO è un tipico comportamento di revdep-rebuild: i files riportati vengono chiamati 'cruft', ovverosia files rimasti sul sistema che appartenevano a pacchetti ora rimossi; ogni tanto emerge fa cilecca e non toglie files che appartenevano a determinati pacchetti. Questi sono proprio quei files rimasti.

Il consiglio che ti posso dare è: elimina i files indicati (solo quelli indicati con 'broken' e prima della parentesi) e rilancia un 'revdep-rebuild' alla fine.

Ciao  :Smile: 

----------

## FreeManAtomic

 *syntaxerrormmm wrote:*   

>  *FreeManAtomic wrote:*   Adesso revdep-rebuild mi dice che ho questi pacchetti rotti:
> 
> [...]
> 
> Pero' non vuole emergere niente per sistemarli. IMHO è un tipico comportamento di revdep-rebuild: i files riportati vengono chiamati 'cruft', ovverosia files rimasti sul sistema che appartenevano a pacchetti ora rimossi; ogni tanto emerge fa cilecca e non toglie files che appartenevano a determinati pacchetti. Questi sono proprio quei files rimasti.
> ...

 

Si fatto cosi, infatti quei file non avevano senso in quanto ho tirato via tutto cio' che e interfaccia grafica!  :Smile: 

----------

## lucapost

ciao a tutti, qualcuno mi sa indicare se c'è un modo automatico per rimuovere gli initscript e le relative configurazioni di pacchetti ormai rimossi dal sistema?

Luca

----------

## syntaxerrormmm

Dai un'occhiata allo script 'cruft' di Ed Catmur, lo trovi sul forum (ma non credo su portage). Non risponde esattamente alle tue richieste, ma fa anche quello. Va utilizzato con attenzione, però...

Ciao.

----------

## lucapost

Ho dato una letta alla doc sia di emerge che di eix, ma non ho trovato nessuna combinazione di opzioni che facesse quello che cerco.

Quello che voglio ottenere Ã¨ salvare in un file (... >> file.txt) un'elenco di tutti i pacchetti installati che non sono dipendenze di altri pacchetti, in modo da rimuovere quelli che non mi servono piÃ¹.

La mia idea Ã¨ verificare su tutti i pacchetti installati le dipendenze

```
equery d [nome_pacchetto]
```

e quelli che non dipendono da nulla, salvarne il nome in un file.

Qualche consiglio per lo scriptino?

----------

## Ic3M4n

emerge --depclean -p > file.txt

logicamente devi avere un sistema coerente altrimenti esce con un'errore.

----------

## lucapost

No, emerge --depclean mi pulisce le dipendenze orfane, cioÃ¨ quei pacchetti che sono stati installati come dipendenze di altri pacchetti rimossi.

Ad esempio, guardiamo questo output:

```
jarod ~ # emerge -p mozilla

These are the packages that would be merged, in order:

Calculating dependencies... done!

[ebuild  N    ] dev-libs/pth-2.0.6  

[ebuild  N    ] dev-libs/libassuan-1.0.1  

[ebuild  N    ] dev-libs/libksba-1.0.0  

[ebuild  N    ] media-gfx/xloadimage-4.1-r4  USE="jpeg png -tiff" 

[ebuild  N    ] app-crypt/gnupg-1.4.6  USE="X nls readline zlib -bindist -bzip2 -curl -ecc -idea -ldap (-selinux) -smartcard -static -usb" LINGUAS="-ru" 

[ebuild  N    ] app-crypt/gnupg-1.9.94  USE="X nls -doc -gpg2-experimental -ldap -openct -pcsc-lite (-selinux) -smartcard" 

[ebuild  N    ] www-client/mozilla-1.7.13  USE="crypt ssl -debug -gnome -ipv6 -java -ldap -mozcalendar -mozdevelop -moznocompose -moznoirc -moznomail -moznopango -moznoxft -mozsvg -postgres -truetype -xinerama -xprint"

 jarod ~ # equery d mozilla 

[ Searching for packages depending on mozilla... ]

jarod ~ # 

```

Se mozilla, fosse installato nel mio sistema, sarebbe uno dei pacchetti che cerco.

Infatti Ã¨ un pacchetto che si porta dietro altri pacchetti, ma non Ã¨ richiesto da nessun pacchetto.

Faccio questa domanda perchÃ¨ mi capita assai spesso di installare, per prova, molti software che fanno la stessa cosa (esempio diversi server dns) che poi mi dimentico di rimuovere.

Mi accorgo di ciÃ² solamente quando esce una nuova versione in portage, mi chiede l'aggiornamento, e quindi li rimuovo.

Ma intanto il mio hardisk si riempe.

Capisco che la faccenda sia un pÃ² contorta, ho cercato  di essere il piÃ¹ chiaro possibile.

----------

## Ic3M4n

io di solito edito a mano il file di world, rimuovo quello che non mi serve e poi faccio un depclean. che per l'appunto rimuove le dipendenze orfane.

secondo me utilizziamo due approcci differenti... tu vuoi come output tutti i pacchetti che non sono dipendenze di altro (quindi in generale su un sistema ben tenuto il file world) che se anche fosse sporcato con dei pacchetti che sono dipendenze di altro potrei comunque rimuoverli dal file.

quindi con una situazione del genere:

```
x11-themes/gdm-themes

gnome-base/gdm

gnome-base/gnome
```

per rimuovere dal tuo sistema gdm-themes puoi semplicemente rimuovere la riga corrispondente dal file, inoltre nel caso che ti ho proposto anche gdm è superfluo in quanto dipendenza di gnome, quindi potresti rimuovere pure lui.

----------

## djinnZ

 :Twisted Evil: 

----------

