Utility grafica di ricerca-installazione pacchetti F40

Ho appena scoperto che Fedora 40 non ha ancora una utility grafica per esplorare i repository dei pacchetti. Ci sono notizie in merito? Appena ce ne sono vorrei averle.

Oltre ad Apper che non è stato ancora portato sulla 40 c’è Discover e sotto GNOME Software.

Tra Discover e Software che differenze ci sono?

Discover è usato principalmente sotto KDE Plasma, Software sotto GNOME mentre la linea di comando è universale sotto i vari ambienti grafici, ricordiamoci che alcuni sono essenziali al massimo.

Ho appena visto che c’è già DNFDragora.
Ma tra Apper, DNFDragora, Discover e Software, ci sono differenze funzionali?

Tutti e quattro usano le funzionalità di dnf per le operazioni di aggiornamento, installazione e rimozione dei pacchetti ma Discover ha una funzionalità in più rispetto agli altri: permette di installare programmi sotto flatpack e snap ossia non si installano pacchetti sotto forma di RPM con le relative dipendenze risolte al volo ma l’intero ecosistema di un programma in un file unico con tutti i pro e i contro.
P.s: ovviamente bisogna abilitare snap e flatpack con la linea di comando, vedesi qui ( https://linuxconfig.org/how-to-install-and-use-snaps-on-fedora ; https://flatpak.org/setup/Fedora ; https://developer.fedoraproject.org/deployment/flatpak/flatpak-usage.html ).

Premetto che preferisco il terminale, ma se proprio devo avvalermi di un gestore di pacchetti con un’interfaccia grafica, tra tutti preferisco Yum Extender NG (NextGen).

Lo sviluppatore è Tim Lauridsen… chi usa Fedora da tempo dovrebbe conoscerlo bene, come dovrebbe ricordare bene Yum Extender. Yumex-NG è una versione migliorata di Yumex-DNF (anche se presenta ancora qualche lacuna).

Purtroppo non è presente nei repository ufficialy perché, stando a quanto affermato dallo stesso Lauridsen qualche anno fa, non riesce a star dietro allo sviluppo del pacchetto a tempo pieno.

Lo sviluppo è comunque costante, tanto che sul repository copr è già presente anche la versione compatibile con DNF5

timlau/ yumex-ng

Con Yumex-NG è possibile gestire anche i pacchetti flatpak.

E quali sono i pro ed i contro di flatpack e snap?

oStile, cosa ti fa preferire yumex-ng?

Gli *nix hanno sempre fatto uso delle librerie condivise per risparmiare spazio su disco e comandi e programmi come up2date, yum, dnf e microdnf ed altri derivati hanno cercato sempre di risolvere i problemi legati ad esse. Con flatpak et similia per certi versi si torna all’antico: un’unica immagine che contiene l’eseguibile e tutto l’ecosistema necessario. Faccio un esempio: Eclipse. Eclipse è un IDE multi linguaggio che fin dalla sua prima apparizione è parte di Linux. Fino alla 38, se non ricordo male, era possibile installarlo con yum e dnf: erano normali pacchetti RPM. Dalla 38 in poi Eclipse è sotto flatpack e ciò significa che l’intero IDE più Java e le librerie collegate possono essere installate sotto quel formato. Occupano più spazio rispetto al solito e qualche problema è sorto qua e là…

Significa che installando un pacchetto flatpak si reinstallano anche file che non dovrebbe servire reinstallare? O che vengono installati due volte?

In un certo senso sì… anche se i file i file necessari al programma pacchettizzato in flatpak vengono installati su un percorso differente.

Per quanto riguarda Snap, IMHO, ha solo dei contro :rofl: sinceramente non installerei mai un pacchetto snap su Fedora (non è consigliabile).

Per quanto riguarda i pacchetti flatpak possono essere utili per installare programmi che non sono presenti sui repository ufficiali o se usi una distro immutabile come la versione Silverblue di Fedora, per preservare il sistema.

Poi non dimentichiamo che esistono anche gli AppImage, ma sono più una sorta di versione portatile dei vari pacchetti.

Comunque, per quanto riguarda i gestori di pacchetti grafici, ho già premesso che prevalentemente preferisco far tutto da terminale…secondo me si fa molto prima, anche se mi rendo conto che possa essere una valutazione soggettiva.

Ad ogni modo, utilizzando prevalentemente le spin di Fedora (Xfce fino a qualche anno fa, Cinnamon attualmente, passando anche brevemente da Mate-Compiz) ho avuto modo di odiare profondamente dnfdragora e tutti i bug che hanno afflitto quel gestore di pacchetti.

Ho provato a cercare qualche alternativa e con sorpresa ho scoperto che Lauridsen aveva ripreso lo sviluppo di yumex-dnf e provandolo mi era sembrato molto più usabile di dnfdragora. C’è da dire che, tra l’altro, Lauridsen è lo sviluppatore che ha sviluppato e mantenuto per anni il package manager yum (almeno fino a quando non è stato sostituito da dnf) ed il suo frontend grafico yumex che personalmente usavo già anni fa su Xfce.

Probabilmente è più che altro per una motivazione nostalgica, ma in fin dei conti tutto sommato è usabile… anche se, come premesso, se devo installare, cercare, aggiornare uno o più pacchetti, sono più portato ad aprire il terminale e ad utilizzare direttamente dnf.

Ho provato a dare una occhiata alla pagina linkata per yumex-ng, ma non ho capito cosa dovrei installare.
Sono versioni diverse? Yumex-dnf5 è alternativo a Yumex, o aggiunge qualcosa?

Ho anche abilitato i repository RPM Fusion.
Qualche altro repository potrebbe essere interessante?

Sono versioni diverse, possono coesistere sul sistema ma ha un senso installare yumex-dnf5 solo se hai già installato dnf5 sul sistema… attualmente la versione predefinita di dnf è la 4

~> dnf list installed dnf
Pacchetti installati
dnf.noarch                        4.19.2-1.fc40                         @updates

~> dnf list installed yumex
Pacchetti installati
yumex.noarch 4.99.5-0.1.git20240504.fc40 @copr:copr.fedorainfracloud.org:timlau:yumex-ng

Sicuramente dnf5 sarà presente come versione predefinita a partire Fedora 41.

Ho provato a seguire le istruzioni

sudo dnf copr enable timlau/yumex-ng
sudo dnf install yumex

ma il risultato non è utilizzabile.
Cioè, ho in “Strumenti di Sistema” Yum Extender, ma se provo a lanciarlo mi compare un lungo messagio di errore. Dice “Unchaught Exception” e tanti bla, bla sotto.

Così su due piedi non saprei cosa dirti… prova a postare uno screen della finestra di avviso o prova ad avviarlo da terminale per vedere dall’output gli specifici errori che causano il problema.

Usa copr con attenzione. Non puoi sapere chi c’è dietro a un repository, vedilo come aur o ppa di ubuntu. Visti gli ultimi avvenimenti (caso XZ, caso snapstore) ci andrei piano con le fonti non certificate.

Avviato da terminale, mi da questi messaggi:

08:18:42 DEBUG : (yumex) - Version: 4.99.4-git20240504 (DNF4)
08:18:42 DEBUG : (yumex) - executable : /bin/yumex
08:18:42 DEBUG : (yumex) - commmand-line : Namespace(debug=False, exit=False)
08:18:42 CRITICAL: (yumex) - Uncaught exception: g-io-error-quark: While opening repository /var/lib/flatpak/repo: opening repo: opendir(/var/lib/flatpak/repo): File o directory non esistente (1)
Traceback (most recent call last):
File “/usr/lib/python3.12/site-packages/yumex/main.py”, line 57, in do_activate
self.win = YumexMainWindow(
^^^^^^^^^^^^^^^^
File “/usr/lib/python3.12/site-packages/yumex/ui/window.py”, line 78, in init
self.setup_gui()
File “/usr/lib/python3.12/site-packages/yumex/ui/window.py”, line 106, in setup_gui
self.setup_flatpaks()
File “/usr/lib/python3.12/site-packages/yumex/ui/window.py”, line 109, in setup_flatpaks
self.flatpak_view = YumexFlatpakView(self.presenter)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3.12/site-packages/yumex/ui/flatpak_view.py”, line 43, in init
self.reset()
File “/usr/lib/python3.12/site-packages/yumex/ui/flatpak_view.py”, line 49, in reset
for elem in self.backend.get_installed(location=FlatpakLocation.BOTH):
^^^^^^^^^^^^
File “/usr/lib/python3.12/site-packages/yumex/ui/flatpak_view.py”, line 59, in backend
return self.presenter.flatpak_backend
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3.12/site-packages/yumex/backend/presenter.py”, line 87, in flatpak_backend
self._fp_backend = FlatpakBackend(self._win)
^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3.12/site-packages/yumex/backend/flatpak/backend.py”, line 35, in init
self.system: Flatpak.Installation = Flatpak.Installation.new_system()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
gi.repository.GLib.GError: g-io-error-quark: While opening repository /var/lib/flatpak/repo: opening repo: opendir(/var/lib/flatpak/repo): File o directory non esistente (1)
08:18:42 DEBUG : (yumex) - traceback written to /home/unknown/.local/share/yumex/traceback_05-14-2024_081842.txt
Adwaita-Message: 08:18:42.883: AdwMessageDialog mapped without a transient parent. This is discouraged.
08:18:43 DEBUG : (yumex) - search changed :

Mi sembra voglia un altro repository.

Jack, come si fa ad usare un repo con attenzione?
Non conosco aur e ppa di ubuntu e non so di che avvenimenti parli. Ma se un repo può essere pericoloso allora faccio marcia indietro e mi accontento di dnfdragora senza guardare come sono altri.

A proposito, per fare marcia indietro come si fa?

Per rimuovere il pacchetto basta un semplice:

sudo dnf remove yumex

Una nota: mi sono installato anch’io yumex ma con la versione 5 di dnf e sembra funzionare bene.