Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Tool "rimuovi pacchetti non utilizzati da tanto"
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian)
View previous topic :: View next topic  
Author Message
rb34
Guru
Guru


Joined: 03 Oct 2004
Posts: 361
Location: Rome, italy

PostPosted: Mon Dec 24, 2007 12:11 pm    Post subject: Tool "rimuovi pacchetti non utilizzati da tanto" Reply with quote

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
View user's profile Send private message
skypjack
l33t
l33t


Joined: 05 Aug 2006
Posts: 884
Location: Italia - Firenze

PostPosted: Mon Dec 24, 2007 1:51 pm    Post subject: Reply with quote

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
View user's profile Send private message
Jisaw
n00b
n00b


Joined: 14 Dec 2007
Posts: 15
Location: Torino

PostPosted: Mon Dec 24, 2007 2:02 pm    Post subject: Reply with quote

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
View user's profile Send private message
rb34
Guru
Guru


Joined: 03 Oct 2004
Posts: 361
Location: Rome, italy

PostPosted: Mon Dec 24, 2007 3:41 pm    Post subject: Reply with quote

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
View user's profile Send private message
Onip
Advocate
Advocate


Joined: 02 Sep 2004
Posts: 2912
Location: Parma (Italy)

PostPosted: Mon Dec 24, 2007 4:02 pm    Post subject: Reply with quote

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
View user's profile Send private message
Cazzantonio
Bodhisattva
Bodhisattva


Joined: 20 Mar 2004
Posts: 4514
Location: Somewere around the world

PostPosted: Mon Dec 24, 2007 5:58 pm    Post subject: Reply with quote

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
View user's profile Send private message
Jisaw
n00b
n00b


Joined: 14 Dec 2007
Posts: 15
Location: Torino

PostPosted: Mon Dec 24, 2007 7:49 pm    Post subject: Reply with quote

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
View user's profile Send private message
=DvD=
Veteran
Veteran


Joined: 25 Mar 2004
Posts: 1353

PostPosted: Tue Dec 25, 2007 12:38 am    Post subject: Reply with quote

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
View user's profile Send private message
Kernel78
Moderator
Moderator


Joined: 24 Jun 2005
Posts: 3654

PostPosted: Tue Dec 25, 2007 8:53 am    Post subject: Reply with quote

=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
View user's profile Send private message
rb34
Guru
Guru


Joined: 03 Oct 2004
Posts: 361
Location: Rome, italy

PostPosted: Tue Dec 25, 2007 2:20 pm    Post subject: Reply with quote

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
View user's profile Send private message
=DvD=
Veteran
Veteran


Joined: 25 Mar 2004
Posts: 1353

PostPosted: Tue Dec 25, 2007 11:20 pm    Post subject: Reply with quote

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
View user's profile Send private message
Kernel78
Moderator
Moderator


Joined: 24 Jun 2005
Posts: 3654

PostPosted: Wed Dec 26, 2007 7:53 am    Post subject: Reply with quote

=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
View user's profile Send private message
rb34
Guru
Guru


Joined: 03 Oct 2004
Posts: 361
Location: Rome, italy

PostPosted: Wed Dec 26, 2007 2:57 pm    Post subject: Reply with quote

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
View user's profile Send private message
mcvash
Tux's lil' helper
Tux's lil' helper


Joined: 15 Oct 2003
Posts: 119

PostPosted: Thu Dec 27, 2007 6:27 pm    Post subject: Reply with quote

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
View user's profile Send private message
rb34
Guru
Guru


Joined: 03 Oct 2004
Posts: 361
Location: Rome, italy

PostPosted: Thu Dec 27, 2007 7:20 pm    Post subject: Reply with quote

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
View user's profile Send private message
skypjack
l33t
l33t


Joined: 05 Aug 2006
Posts: 884
Location: Italia - Firenze

PostPosted: Thu Dec 27, 2007 7:47 pm    Post subject: Reply with quote

Via, allora il linguaggio lo abbiamo già scelto o no? :lol:
Back to top
View user's profile Send private message
rb34
Guru
Guru


Joined: 03 Oct 2004
Posts: 361
Location: Rome, italy

PostPosted: Thu Dec 27, 2007 8:39 pm    Post subject: Reply with quote

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
View user's profile Send private message
skypjack
l33t
l33t


Joined: 05 Aug 2006
Posts: 884
Location: Italia - Firenze

PostPosted: Thu Dec 27, 2007 10:17 pm    Post subject: Reply with quote

ehm ... immagino che perl sia bocciato da tutti ...
Back to top
View user's profile Send private message
lordalbert
l33t
l33t


Joined: 26 Nov 2006
Posts: 840
Location: Italy

PostPosted: Thu Dec 27, 2007 10:45 pm    Post subject: Reply with quote

in c no? :D
Back to top
View user's profile Send private message
Kernel78
Moderator
Moderator


Joined: 24 Jun 2005
Posts: 3654

PostPosted: Fri Dec 28, 2007 6:22 am    Post subject: Reply with quote

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 !!! :lol: )
_________________
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
View user's profile Send private message
rb34
Guru
Guru


Joined: 03 Oct 2004
Posts: 361
Location: Rome, italy

PostPosted: Fri Dec 28, 2007 10:14 am    Post subject: Reply with quote

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
View user's profile Send private message
Kernel78
Moderator
Moderator


Joined: 24 Jun 2005
Posts: 3654

PostPosted: Fri Dec 28, 2007 10:33 am    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum