View previous topic :: View next topic |
Author |
Message |
rb34 Guru
Joined: 03 Oct 2004 Posts: 361 Location: Rome, italy
|
Posted: Mon Dec 24, 2007 12:11 pm Post subject: Tool "rimuovi pacchetti non utilizzati da tanto" |
|
|
Dopo l'idea dello script "undo" (https://forums.gentoo.org/viewtopic-t-622781-highlight-.html), me ne è venuta un'altra per la manutenzione della nostra cara Gentoo.
Non so voi, ma a volte installo pacchetti che poi non uso più e che mi dimentico. e che contribuiscono a occupare lo spazio disco e ad allungare i tempi di un eventuale emerge -u world.
Pertanto quello che mi piacerebbe avere, e che non credo esista, è un tool che, dicendogli "voglio che mi indichi i pacchetti che non utilizzo da più di x giorni", me ne faccia un elenco, per poi decidere se rimuoverli.
La mia idea è sfruttare la data di accesso ai file che compongono i pacchetti, assegnando poi i file ai pacchetti in modo efficiente e indicando ad esempio la percentuale di file del pacchetto non usati, indicativa del "non uso" del pacchetto (se pari a 100% il pacchetto non è utilizzato per niente).
Prob.te si dovrebbe procedere in modo analogo a quanto fa revdep-rebuild.
Esiste già per caso tale attrezzo? Avete idee in proposito? _________________ rb |
|
Back to top |
|
|
skypjack l33t
Joined: 05 Aug 2006 Posts: 884 Location: Italia - Firenze
|
Posted: Mon Dec 24, 2007 1:51 pm Post subject: |
|
|
Scusa, ma accedere a tutti i singoli file di tutti i singoli pacchetti è un bel lavoro! In termini di prestazioni, intendo, non è il massimo ... L'idea è buona, non fraintendere, non critico la proposta, ma forse andrebbe pensato un miglior criterio per vlassificare i pacchetti come usati o meno, piuttosto che controllare uno per uno i file che li compongono ... Non trovi?? |
|
Back to top |
|
|
Jisaw n00b
Joined: 14 Dec 2007 Posts: 15 Location: Torino
|
Posted: Mon Dec 24, 2007 2:02 pm Post subject: |
|
|
skypjack wrote: | Scusa, ma accedere a tutti i singoli file di tutti i singoli pacchetti è un bel lavoro! In termini di prestazioni, intendo, non è il massimo ... L'idea è buona, non fraintendere, non critico la proposta, ma forse andrebbe pensato un miglior criterio per vlassificare i pacchetti come usati o meno, piuttosto che controllare uno per uno i file che li compongono ... Non trovi?? |
Il come classificare i pacchetti è una scelta di implementazione che mi sembra un po' precoce criticare Soprattutto se fatta pensando a delle ipotetiche basse prestazioni...solitamente le ottimizzazioni si fanno dopo aver scritto un software, non prima. Comunque, a me l' idea piace |
|
Back to top |
|
|
rb34 Guru
Joined: 03 Oct 2004 Posts: 361 Location: Rome, italy
|
Posted: Mon Dec 24, 2007 3:41 pm Post subject: |
|
|
caro skypjack... tu hai ragione, il lavorio su disco ci sarebbe, ma un pacchetto, una volta installato, non è altro che i suoi file, e allora come fare a determinare l'uso di un pacchetto se non accedendo alle statistiche dei suoi file?
Ma non trovo tutto questo così pazzesco, primo perché tutto ciò sarebbe una operazione di manutenzione saltuaria, secondo perché quando si lancia updatedb per locate di fatto si fa la stessa cosa che ho descritto io (assegnazione ai pacchetti a parte) _________________ rb |
|
Back to top |
|
|
Onip Advocate
Joined: 02 Sep 2004 Posts: 2912 Location: Parma (Italy)
|
Posted: Mon Dec 24, 2007 4:02 pm Post subject: |
|
|
molto più semplicemente basta aprirsi il world file ( /var/lib/portage/world ) e cancellare le righe relative ai programmi che non si usano (basta un'occhiata, non c'è bisogno delle statistiche secondo me.)
e poi un bel
Code: | # emerge --depclean -a |
e passa la paura! _________________ Linux Registered User n. 373835
Titus Lucretius Carus, De Rerum Natura - Tantum religio potuit suadere malorum |
|
Back to top |
|
|
Cazzantonio Bodhisattva
Joined: 20 Mar 2004 Posts: 4514 Location: Somewere around the world
|
Posted: Mon Dec 24, 2007 5:58 pm Post subject: |
|
|
In ogni caso sarebbe un tool carino per collezionare statistiche sul sistema (quali sono le librerie che vengono usate più di frequente, quelle inutilizzate, quali programmi vengono utilizzati e con che frequenza...).
Trovo complesso farlo per tutta una serie di problematiche relative ai tempi di accesso, ma se fosse fattibile (semplicemente) sarebbe un tool carino. _________________ Any mans death diminishes me, because I am involved in Mankinde; and therefore never send to know for whom the bell tolls; It tolls for thee.
-John Donne |
|
Back to top |
|
|
Jisaw n00b
Joined: 14 Dec 2007 Posts: 15 Location: Torino
|
Posted: Mon Dec 24, 2007 7:49 pm Post subject: |
|
|
Cazzantonio wrote: | In ogni caso sarebbe un tool carino per collezionare statistiche sul sistema (quali sono le librerie che vengono usate più di frequente, quelle inutilizzate, quali programmi vengono utilizzati e con che frequenza...).
Trovo complesso farlo per tutta una serie di problematiche relative ai tempi di accesso, ma se fosse fattibile (semplicemente) sarebbe un tool carino. |
Beh si potrebbe pensare di sviluppare un primo tool simile ad equery che crei statistiche su un singolo pacchetto e poi vedere come si comporta quando viene invocato sull' intero sistema. In ogni caso penso che si possano fare diverse ottimizzazioni in modo da evitare di scansire tutti i file di un singolo pacchetto (per esempio, se ho un pacchetto con eseguibili+librerie+share prima di tutto testo le date degli eseguibili e poi eventualmente estendo la ricerca). |
|
Back to top |
|
|
=DvD= Veteran
Joined: 25 Mar 2004 Posts: 1353
|
Posted: Tue Dec 25, 2007 12:38 am Post subject: |
|
|
Io non lo userei: in caso leggo il world rimuovendo quello che non mi serve. emerge --depclean a seguire.
Ricordo che usando propriamente --oneshot il file world rimane pulito. |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Tue Dec 25, 2007 8:53 am Post subject: |
|
|
=DvD= wrote: | Io non lo userei: in caso leggo il world rimuovendo quello che non mi serve. emerge --depclean a seguire.
Ricordo che usando propriamente --oneshot il file world rimane pulito. |
un tool del genere potrebbe aiutarti a notare che magari una libreria che hai installato per una USE di un pacchetto non viene mai usata, quindi potresti togliere la USE da quel pacchetto e rimuovere una libreria inutile. _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
rb34 Guru
Joined: 03 Oct 2004 Posts: 361 Location: Rome, italy
|
Posted: Tue Dec 25, 2007 2:20 pm Post subject: |
|
|
Kernel78 ha colto il punto: il world senza dubbio è abbastanza piccolo e si potrebbero togliere a mano pacchetti non usati, ma ci sono miriadi di dipendenze che, a meno di non fare un tuning maniacale delle USE flag, rimangono lì a occupare solo spazio disco e tempo cpu in compilazione.
Il tool che ho proposto secondo me dovrebbe, per essere efficiente, operare a livello globale, cioè:
1) creare una lista di tutti i pacchetti con i relativi file associati
2) leggere le date di accesso di tutti i file su disco
3) aggiungere alle informazioni create al punto (1) quelle collezionate al punto (2)
4) tirare fuori qualche bella indicazione e/o statistica
ho idea che leggere da disco le informazioni sui file relativi a un pacchetto, per poi passare al pacchetto successivo, non sfrutti la cache o le ottimizzazioni hardware della lettura disco, per quello ho in mente una lettura delle info di tutti i file in un colpo solo. Poi ovviamente si potrebbe eliminare la dir dei doc e tante altre, e il tutto si snellirebbe parecchio.
Tuttavia le mie conoscenze a livello di tool e strutture gentooistiche sono un po' carenti: per esempio, per avere la lista di tutti i file dei pacchetti col nome del pacchetto relativo in modo efficiente, quale è il modo migliore? io al momento conosco equery files, ma richiamarlo tante volte non mi pare proprio il caso _________________ rb |
|
Back to top |
|
|
=DvD= Veteran
Joined: 25 Mar 2004 Posts: 1353
|
Posted: Tue Dec 25, 2007 11:20 pm Post subject: |
|
|
Kernel78 wrote: | un tool del genere potrebbe aiutarti a notare che magari una libreria che hai installato per una USE di un pacchetto non viene mai usata, quindi potresti togliere la USE da quel pacchetto e rimuovere una libreria inutile. |
Scusate se faccio il bastian contrario
Ma se io mi compilo mplayer con xvid e' perche' voglio che il mio mplayer legga gli xvid.
Poi puo' anche passare un mese o un anno senza che ne legga uno, ma -se- ho compilato con la use xvid e' -perche'- voglio che mplayer legga gli xvid.
Stessa cosa vale per le altre use.
Ho l'impressione che usando correttamente gli strumenti che ci sono gia' non si ponga il problema.
IMHO se uno vuole installare un pacchetto, prima si spara un emerge -pv e si legge le use disponibili, poi, anche con tools come ufed, guarda quelle use cosa fanno, a questo punto decide se abilitarla globalmente o solo per quel singolo pacchetto con i files in /etc/portage/.
Questo e' il modo di gestire gentoo, se qualcuno fa diversamente e se la sporca, la soluzione e' fare nel modo corretto che esiste gia', non creare altri tools (che sono cmq benvenuti, pero' butterei le forze su altri problemi di gentoo).
Umilmente |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Wed Dec 26, 2007 7:53 am Post subject: |
|
|
=DvD= wrote: | Scusate se faccio il bastian contrario
Ma se io mi compilo mplayer con xvid e' perche' voglio che il mio mplayer legga gli xvid.
Poi puo' anche passare un mese o un anno senza che ne legga uno, ma -se- ho compilato con la use xvid e' -perche'- voglio che mplayer legga gli xvid.
|
Io capisco il tuo punto di vista ma ovviamente prendo in considerazione anche il mio.
Quando installo mi controllo tutte le USE e in genere dico :"Wow che figata, supporta anche questo e quello, aspetta che li abilito e quando trovo il tempo li studio e li configuro per bene" e poi mi ritrovo con ldap e postgres installati da più di un anno e mai nemmeno imparati ad utilizzare per mancanza di tempo.
Ormai li ho già tolti ma anche l'analista migliore può compiere degli errori e osservare l'utilizzo che viene fatto delle risorse può aiutare a rifinire meglio il sistema. _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
rb34 Guru
Joined: 03 Oct 2004 Posts: 361 Location: Rome, italy
|
Posted: Wed Dec 26, 2007 2:57 pm Post subject: |
|
|
Addendum (da commenti di kernel78): il tool, analizzando le USE flag dei pacchetti, potrebbe addirittura elencare in ordine di "uso recente" le dipendenze (almeno dirette) che ogni flag si porta appresso, consentendo magari anche di disattivarle ).
Sì, a me piace, peccato che ora non ho tanto tempo, ma bisogna assolutamente farlo. Secondo me con una bella occhiata a equery si ha già un ottimo punto di partenza.
edit: aggiunto
in ordine di "uso recente" _________________ rb |
|
Back to top |
|
|
mcvash Tux's lil' helper
Joined: 15 Oct 2003 Posts: 119
|
Posted: Thu Dec 27, 2007 6:27 pm Post subject: |
|
|
statistiche... magari ti cancella un programma che non si usa quasi mai, ma una volta al mese serve..
meglio far manuale per me _________________ contro questo conformismo che si tinge d'oppressione, noi saremo con orgoglio l'eresia la ribellione |
|
Back to top |
|
|
rb34 Guru
Joined: 03 Oct 2004 Posts: 361 Location: Rome, italy
|
Posted: Thu Dec 27, 2007 7:20 pm Post subject: |
|
|
mcvash wrote: | statistiche... magari ti cancella un programma che non si usa quasi mai, ma una volta al mese serve..
meglio far manuale per me |
ma infatti la decisione finale è a mano, ci mancherebbe, o al massimo configurabile se automatico.
Il tool darebbe supporto mostrando qualcosa tipo dei pulsanti "metti a off use flag e disinstalla dipendenza" o similare... _________________ rb |
|
Back to top |
|
|
skypjack l33t
Joined: 05 Aug 2006 Posts: 884 Location: Italia - Firenze
|
Posted: Thu Dec 27, 2007 7:47 pm Post subject: |
|
|
Via, allora il linguaggio lo abbiamo già scelto o no? |
|
Back to top |
|
|
rb34 Guru
Joined: 03 Oct 2004 Posts: 361 Location: Rome, italy
|
Posted: Thu Dec 27, 2007 8:39 pm Post subject: |
|
|
Mah, io personalmente andrei sul python, mi pare che gentoo abbia già librerie per la gestione del portage, e poi mi è molto simpatico (peccato che l'ultima volta che ci ho programmato è stato due anni fa ) )
Più che altro poi permette ottima modularità, realizzabile in modo più complicato in bash, in cui ho visto che hanno scritto revdep-rebuild!! pazzia secondo me.... con tanto di cappello agli shell-script... _________________ rb |
|
Back to top |
|
|
skypjack l33t
Joined: 05 Aug 2006 Posts: 884 Location: Italia - Firenze
|
Posted: Thu Dec 27, 2007 10:17 pm Post subject: |
|
|
ehm ... immagino che perl sia bocciato da tutti ... |
|
Back to top |
|
|
lordalbert l33t
Joined: 26 Nov 2006 Posts: 840 Location: Italy
|
Posted: Thu Dec 27, 2007 10:45 pm Post subject: |
|
|
in c no? |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Fri Dec 28, 2007 6:22 am Post subject: |
|
|
se io mi metto a scrivere qualcosa o scrivo per bash o con ruby (il C mi ha annoiato al lavoro e gli altri liguaggi non hanno le potenzialità di ruby ... FLAME !!! ) _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
rb34 Guru
Joined: 03 Oct 2004 Posts: 361 Location: Rome, italy
|
Posted: Fri Dec 28, 2007 10:14 am Post subject: |
|
|
il ruby non lo conosco ma ne ho sentito parlare bene. Beh, io per ora non faccio nulla, per cui fate un po' voi _________________ rb |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Fri Dec 28, 2007 10:33 am Post subject: |
|
|
io nei ritagli di tempo sto buttando giù alcune prove per bash, giusto per farmi un'idea.
nulla di nemmeno lontanamente utilizzabile ma almeno mi rendo conto in maniera più concreta del lavoro che ci sarebbe da fare (e non sono sicuro di avere il tempo per farlo). _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
|