Rimuovere i pacchetti "inutili" automaticamente

Proseguo qui l’argomento inerente alla discussione che vi propongo nel link:

http://www.fedoraonline.it/modules/newbb/viewtopic.php?topic_id=3661&forum=2

In particolare in questa discussione mi riferisco alla possibiltà di ripulire automaticamente il sistema da software necessario per questioni di dipendenze, installato con yum.

In altre parole:

1- installo i pacchetto pippo con yum
2- vengono installati automaticamente anche paperino e pluto, in quanto sono pacchetti dai quali pippo dipende.
3- installo paperone che dipende da paperino, pluto, qui, quo e qua
4- mettiamo che un giorno disinstallo paperone e pippo.
5- sul sistema restano paperino, pluto, qui, quo e qua. Sono inutili perché non c’è nessun altro pacchetto che ne ha bisogno per dipendenza.

Esiste un metodo automatico per rilevare ed eliminare i pacchetti “residui” inutilizzati da nessun altro pacchetto?

Ti rispondo in questo modo non so se esista una cosa del genere ma se tu oltre all’appliactivo che vuoi eliminare disinstalli le sue dipendenze c’è il rischio che altri applicativi abbiano di queste ultime e si rischia di non capirci più nulla!!!

Che ne dici!!!

Ne sei sicuro? Se ne sei sicuro con yum remove disinstalli anche quelli…
Scusa, ma sapendo che che paperino pluto ecc… sono “inutili”, vuol dire che l’hai verificato. Per cui puoi disinstallarli con yum remove (o rpm -e).
Inoltre, come fai ad avere verificato la loro inutilità? Magari due mesi dopo hai installato “nonna papera” che aveva bisogno proprio di paperino & c. ma tu non puoi saperlo perché erano già presenti nel sistema.
O ti analizzi le dipendenze e gli incroci dei pacchetti installati nel sistema ad ogni aggiornamento o rimozione usando, come consigliato da zod, il comando rpm, o ti accontenti di quel che yum fa per te.
Tieni presente che linux non sparge quantità astronomiche di files inutili tipo win, e che tutto è ben ordinato e facilmente recuperabile.

Non ci siamo capiti del tutto:

Io non voglio disinstallare un programma assaieme alle sue dipendenze.
Voglio ripulire il sistema da tutti quei pacchetti che sono inutili per il software installato attualmente.

E’ ben diverso!

Ciò comporta che yum conosca i pacchetti “accessori” cioè sappia che sono installati e a chi servono. Se e solo se un software che ne ha bisogno è presente sul sistema non dovrebbero essere toccati, altrimenti potrebbero essere rimossi.
Io intendevo un comportamento del genere che di contro ha solo l’obbligo di doverli riscaricare e reinstallare all’eventuale occorenza futura.

Se ne conoscete l’esistenza dite pure. :slight_smile:

in linea di massima, è un discorso non attuabile.

in base a quale parametro si dovrebbe definire un file “inutile”?
io non ne trovo nessuno che vada bene sempre e comunque, almeno nessuno che sia diverso da quello già attuato da yum, il quale segue un complesso meccanismo basato su pacchetto/dipendenze:

al massimo, trovo dei contesti per i quali alla bisogna si possano fare degli script per il “purging” dei file di configurazione, per la rimozione di broken-links, etc…

ma sono sempre situazioni a sè stanti e non accomunabili.

apparentemente, ci sono situazioni, contesti delimitati e circoscritti, come la compilazione del kernel, in cui un make-clean sembra che funga in tal senso, ma è un discorso che di fatto ha piu’ un’utilità pratica, ai fini cioè del buon esito della compilazione stessa, piuttosto che per una effettiva liberazione di spazio sul disco.

Se ne fossi sicuro questa discussione non avrebbe senso… :wink:
Il punto è proprio questo, mettiamola così:

quando installo pippo yum VEDE che sul sistema non sono presenti pluto e paperino dai quali però pippo dipende.
Il vantaggio è che fa tutto da solo, non c’è bisogno che io sappia (o sia sicuro) da quali pacchetti dipente pippo.
Immagino che a quel fine il meccanismo coinvolga l’incrocio di un database di sistema in cui sono riconoscibili i pacchetti presenti e un database “esterno” (forse) dove stà scritto che pippo ha bisogno anche di pluto e paperino…

Per questo pensavo che esistesse un metodo analogo, diciamo in negativo in grado di incrociare l’eventuale database contenente i pacchetti installati e le loro dipendenze.
Da questo incrocio, mi pare abbastanza evidente che “avanzeranno” pacchetti che non servono come dipendenza di altri pu essendo installati. E’ chiaro che però in questo modo se fosse automatico questo procedimento rischierei di rimuovere dei pacchetti che magari mi servono anche se non sono dipendeza di altri pacchetti. Quindi alla fine non ha molto senso tutto ciò…

Invece ritornando all’esempio “disney”, sarebbe utile a tenere pulito il sistema la seguente situazione.

1- installo pippo
2- yum installa automaticamente pluto, paperino
3- disinstallo pippo
4- Yum mi dice:
“ainstallazione di pippo ho installato anche pluto e paperino, attualmente non servono a nessun altro pacchetto, li rimuovo?”

In tal caso potrei scegliere se rimuoverli oppure lasciarli perché potrebbero essere utili in vista di una installazione futura di, per esempio, paperone che ne necessita òa presenza.

Altra situazione:

1- installo pippo
2- yum installa automaticamente pluto, paperino
3- installo paperone (che immaginiamo dioenda da pluto, paperino e da qui quo qua)
4- yum installa automaticamente anche qui, quo, qua
5- disinstallo pippo
6- Yum mi dice:
“all’installazione di pippo ho installato automaticamente pluto e paperino che attualmente occorrono a paperone installato sul sistema: non li rimuovo”

Ecco, in questo caso, le dipendenze non verrebbero intralciate, ma verrebbe disinstallato solo pippo.

Da questi ultimi esempi, si capisce che in realtà non sarebbe poi una cosa impossibile o senza senso…
Inoltre non risulta neanche rischiosa…

secondo me come vedi sopra, basterebbe limitare la rimozione a quei pacchetti installati automaticamente all’installazione di “nonna papera”:
se quando ho installato “nonna papera” yum non ha aggiunto nulla in automatico non dovrebbe essere rimosso nulla in automatico, perché le dipendenze di nonna papera coincidono con le dipendenze di altri software installati prima di nonna papera…
Viceversa se disinstallassi pippo o paperone, mi aspetterei
che yum non disinstalli paperino & co.perché servono a nonna papera.
Quindi direi che in realtà, sarebbe sufficiente che yum ricordasse ciò che ha aggiunto a ciascun pacchetto intallato e lo rimuovesse automaticamente in fase di disinstallazione di cisacun pacchetto, AMMENOCHE’ ciò non sia di dipendenza di altri pacchetti.

Probabilmente qui stà il nodo della questione…

[quote]
Tieni presente che linux non sparge quantità astronomiche di files inutili tipo win, e che tutto è ben ordinato e facilmente recuperabile.[/quote]

Certo, la mia era solo curiosità :slight_smile:

In questa ottica potrei definirlo così:
un pacchetto risulta inutile (attualmente) se non è un software utilizzato dall’utente direttamente (tipo firefox o simili) e allo stesso tempo non serve a nessun altro software per soddisfarne le dipendenze.
Ho in mente librerie di vari genere o simili…ma detta così sarebbe difficile convincerne yum :wink:

In ogni caso la definizione più giusta forse potrebbe essere:

in fase di disinstallazione di un software risulta inutile cio’ che alla sua installazione era stato aggiunto automaticamente e che al contempo NON è attualmente necessario ad ulteriore software per soddisfarne le eventuali dipendenze. :smiley:
Direi proprio che può andare… :wink:

Va bè ci si risente. A presto. :stuck_out_tongue:

:hammer: :hammer:

Non pensavo che con i miei “fantastici” (!!!) esempi dell’altro post avrei portato su fedoraonline tutta la famiglia di paperino… Ahahah!

Il tuo discorso è sensato, però tieni anche presente che ai fini pratici per la maggior parte dei pacchetti si tratta di poche dipendenze che spesso e volentieri sono richieste -prima o poi- da altri pacchetti, quindi il problema a mio avviso si pone ma in maniera comunque limitata. Inoltre yum nelle ultime versioni è migliorato in termini di velocità, ma è comunque abbastanza lento quando deve risolvere dipendenze (soprattutto per fare ricerche in rete) e non credo valga la pena di fargli fare ulteriori “sforzi” ampliando il database locale inserendo in esso anche la cronostoria dei pacchetti installati “da chi e perché” (ma questo è un mio punto di vista del tutto personale e perfettamente contestabile).
Il consiglio che posso darti è semplice: quando installi un pacchetto che richiede parecchie nuove dipendenze, annotale da qualche parte o semplicemenente salvati la porzione del file /var/log/yum.log che ti interessa, così quando poi avrai necessità di disinstallarlo potrai decidere tu -manualmente- quali dipendenze a suo tempo installate eliminare.

Concordo, la mia voleva essere solo una discussione speculativa utile a rendere noti alcuni dettagli dell’installazione dei pacchetti.

capisco

Francamente non credo ne valga la pena, alla luce di quanto detto. Grazie comunque del consiglio.

Ok, penso che la discussione possa finire qua per quanto mi riguarda.
colgo l’occasione per ringraziarvi degli interventi e spero che gli argomenti tirati in ballo possano essere di aiuto a tutti, anche solo per capire parte dei meccanismi che stanno dietro l’installazione di un pacchetto.

Arrisentirci :stuck_out_tongue:

Che confusione, volevo eliminare anche io i pacchetti inutilizzati (non installati s’intende)… ma mi sa che qui per capirci qualcosa ci vuole Pico De Paperis con tutte le sue lauree!!! :hammer: :roll:
facciamo che li lascio risiedere li dove stanno…i pacchetti intendo!!! :thumbup:

Vai qui:

http://fedoraproject.org/wiki/YumUpgradeFaq

se ho capito bene sei interessato in particolare al punto
“2. Clean Stuff”
Find and review “unused” packages

Va da se’…
Da leggere attentamente e comprendere prima dell’uso.

Ciao

Sarà che sono pigro, sarà che mi piace avere tutto sotto mano ma io piuttosto che rimuovere preferisco aggiungere sempre nuovi pacchetti.

Nei processi automatici in questi casi credo poco l’unica secondo me è fare come i bravi giardinieri e potare fogliolina per fogliolina.

Per Fedora c’è http://rpmorphan.sourceforge.net/ che mette a disposizioni utili strumenti per fare ciò senza rischiare la pelle.

Un paio di anni fa scrissi una guida sull’argomento che trovi http://www.mandrakeitalia.org/guide/guide/eliminiamo-i-pacchetti-inutilizzati. Non è proprio per Fedora ma più o meno dovrebbe andare bene

Ciao Ciao, Moreno