[RISOLTO] Pulizia pacchetti

Ho fedora 27 aggiornata dalla 22 e sulla quale ho installato / disinstallato molta roba, ho già fatto una pulizia con bleachbit e chiedo se per fedora c’è un programma per verificare la presenza di eventuali pacchetti inutili (orfani).
So che tutto ciò non incide sulle prestazioni e che fedora non necessita di pulizie e manutenzioni oltre i normali aggiornamenti.
Grazie per l’attenzione.

programma non so, ma forse il comando dnf autoremove è quello che fa per te…è un comando che controlla le eventuali dipendenze inutilizzate e le rimuove.

ovviamente controlla sempre cosa rimuovere nel caso ci sia qualcosa che non ti quadra…

dnf autoremove cancella mezzo Gnome. :white:

ok allora lascio la palla a chi ne sa più di me :slight_smile:

In realtà è difficile tenere sempre le cose tutte a mente, specie comandi
che non si usano molto di frequente. L’ideale sarebbe di avere sempre le
documentazioni ufficiali a portata di mano quando si lavora da terminale:
http://dnf.readthedocs.io

Si, dnf soffre ancora di diversi https://bugzilla.redhat.com/buglist.cgi?component=dnf&order=changeddate%20DESC%2Cbug_status%2Cpriority%2Cassigned_to%2Cbug_id&product=Fedora&query_based_on=&query_format=advanced, e quelli che poi riguardano proprio
dnf autoremove sono piuttosto insidiosi.

Diciamo che in linea di massima ti serve verificare la presenza ed eventualmente eliminare
pacchetti inutili che, secondo la terminologia di Fedora (e non solo), non sono solo i pacchetti
cosiddetti orfani. In passato il comando package-cleanup, utilità di yum, possedeva opzioni
che portavano lo stesso nome dei termini anche ora in uso per indicare le diverse categorie
di pacchetti. Tuttavia, gli equivalenti comandi con dnf hanno un nome diverso e sono opzioni
del comando repoquery. La nomenclatura (vecchia e nuova) principale è la seguente:

orphan:
pacchetti che non hanno più repo di riferimento, nel senso che non possono più
essere aggiornati perché non sono presenti in nessuno dei repo attualmente disponibili.

dnf repoquery --extras

leaf:
pacchetti che erano stati installati come dipendenze e di cui però nessun altro pacchetto
ha più bisogno, sono questi in sostanza quelli di cui si dovrebbe occupare dnf autoremove.

dnf repoquery --unneeded

duplicates:
pacchetti di cui esistono più versioni con lo stesso nome e architettura
(a questi però non a partengono i cosiddetti pacchetti installonly),

dnf repoquery --duplicates

installonly:
pacchetti che possono solo essere installati, mai aggiornati (vedi kernel).

dnf repoquery --installonly

Questi quindi sono comandi utili per elencare i pacchetti che cadono in quelle categorie.
Se poi vuoi anche rimuovere i pacchetti di una di queste liste (prendiamo per esempio gli orphan),
puoi usare (da root) la solita pipe:

dnf repoquery --extras | xargs dnf -y remove

Da notare che il vecchio comando per rimuovere tutti i kernel tranne l’ultimo:
package-cleanup --oldkernels --count=1, ora diventa:

dnf remove $(dnf repoquery --installonly --latest-limit=-1)

e così via.

Io, per precauzione, lo trasformerei così

dnf repoquery --extras | xargs dnf --assumeno remove in modo da poter controllare cosa effettivamente verrebbe rimosso e, se non ci sono sorprese, in un secondo momento dare dnf repoquery --extras | xargs dnf -y remove per rimuovere i pacchetti.

[quote=andreamal]
Io, per precauzione, lo trasformerei così

dnf repoquery --extras | xargs dnf --assumeno remove[/code] in modo da poter controllare cosa effettivamente verrebbe rimosso e, se non ci sono sorprese, in un secondo momento dare [code]dnf repoquery --extras | xargs dnf -y remove

Come dicevo, le opzioni di repoquery sono di per sè, come per altro dice il nome,
solo delle query. La possibilità di controllare cosa viene rimosso è quindi già offerta
dal primo comando: dnf repoquery --extras
che altro non fa che dare una lista di possibili pacchetti da rimuovere. In questo senso,
aggiungere in pipe anche xargs dnf --assumeno remove è ridondante.

Grazie a vinlinux ed a tutti.
Ho pulito un bel po’ di roba con quei comandi. :slight_smile:

[quote=gius71.71]Grazie a vinlinux ed a tutti.
Ho pulito un bel po’ di roba con quei comandi. :)[/quote]

Bene. Naturalmente devi fare attenzione ai pacchetti che poi decidi
di rimuovere. Considera che se hai del software installato da un rpm
scaricato manualmente da un sito (esempio tipico: Master PDF Editor),
questo sarà elencato fra gli orphan in quanto non proviene da nessun
repository. Ma questo non implica che sia un bene rimuoverlo.