UPT: strumento universale di gestione dei pacchetti software

UPT: strumento universale di gestione dei pacchetti software

Il mondo dei pacchetti software su Linux e altri sistemi basati su Unix è una vera giungla: ogni sistema ha il suo approccio singolare alla loro gestione rendendo un inferno la vita di chi ha a che fare con più piattaforme.

I gestori di pacchetti software (Package Manager) sono strumenti essenziali per la gestione dei software su sistemi Linux. Ogni distribuzione GNU/Linux ha il proprio gestore di pacchetti software preferito.

Ecco alcuni dei principali:

APT(Advanced Package Tool )/DPKG (Debian Package Manager)/Aptitude:
Distribuzioni: Debian, Ubuntu e altre derivate dalle stesse.
Descrizione: DPKG offre un ottimo supporto multiarch e permette di aggiungere facilmente nuove architetture e Aptitude un front-end per APT utilizzato per gestire pacchetti software nel formato .deb.

Snap/Snapcraft:
Distribuzioni: Creato da Ubuntu e supportato su diverse distribuzioni per lo più derivate.
Descrizione: Snap è un sistema di gestione dei pacchetti software che offre il confinamento delle applicazioni e facilità di distribuzione e Snapcraft la sua piattaforma di distribuzione.

YUM (Yellowdog Updater Modified):
Distribuzioni: Red Hat, Fedora, CentOS e altre basate su Red Hat.
Descrizione: YUM è utilizzato per gestire pacchetti software nel formato .rpm.

DNF (Dandified YUM):
Distribuzioni: Fedora e CentOS 8+.
Descrizione: DNF è una versione migliorata di YUM, con migliorate prestazioni e una sintassi più intuitiva.

Pacman:
Distribuzione: Arch Linux.
Descrizione: Pacman è il gestore di pacchetti software predefinito per Arch Linux. È noto per la sua velocità e semplicità.

Zypper:
Distribuzione: openSUSE.
Descrizione: Zypper è il gestore di pacchetti software di openSUSE, noto per la sua efficienza.

Emerge:
Distribuzione: Gentoo Linux.
Descrizione: Emerge è un gestore di pacchetti software che consente di personalizzare le dipendenze tramite i cosiddetti USE flags. Queste parole chiave indicano quali funzionalità si desidera supportare.

Nix/nix-env:
Distribuzione: NixOS.
Descrizione: nix-env è un sistema di gestione dei pacchetti software puramente funzionale.

Inoltre Alpine Package Keeper (aka APK) in Alpine Linux, Slackpkg in Slackware e guix in Guix … me ne sono dimenticato qualcuno?

Poi in altri sistemi operativi come Pkg per FreeBSD, Homebrew per macOS e Scoop per Windows e ognuno di questi ha il proprio modo di gestire le cose costringendoti a imparare modi diversi per fare la stessa operazione.

Insomma, è davvero un casino… o no?
Del resto per rendersene conto basta leggere all’inizio di questo file del progetto la relativa lista.

La soluzione UPT

Uno sviluppatore chiamato sigoden ha creato uno strumento universale chiamato Universal Package-management Tool, o UPT, in grado di sistemare le cose in questa giungla. Una volta installato, non avrai bisogno di imparare di nuovo altri comandi per la gestione dei pacchetti software perché questo strumento unifica l’interfaccia dei comandi per la loro gestione su qualsiasi sistema operativo. In pratica, UPT si basa sugli strumenti di gestione dei pacchetti software specifici di ogni piattaforma per eseguire le operazioni, agendo come un alias.

UPT è scritto in Rust quindi devi installare Rust e Cargo sulla tua distribuzione GNU/Linux per poterlo utilizzare. Ti consiglio di installare il pacchetto software rustup perché le distribuzioni GNU/Linux di solito hanno questo pacchetto software disponibile nei loro repository. Ecco come procedere da Terminale con i privilegi di amministratore:

Su Debian e le sue derivate:

apt install gcc make rustup

Su Arch Linux e le sue derivate:

packman -S gcc make rustup

Su Alpine:

apk add gcc make rustup
rustup-init
source ~/.cargo/env

Su sistemi basati su RPM:

yum install gcc make rustup

Su macOS con Homebrew:

brew install clang make rustup

Dopo l’installazione del pacchetto software rustup devi aggiungere il nuovo percorso di ricerca dei comandi $HOME/.cargo/bin alla variabile di sistema PATH.

Se stai usando Bash come shell, aggiungi la seguente riga al file ~/.bash_profile:

export PATH=$HOME/.cargo/bin:$PATH

Se stai usando Zsh, aggiungi la stessa riga al file ~/.zshrc. Ricarica quindi la shell.

Ora puoi installare UPT:

rustup default stable
cargo install upt

Tutto fatto e adesso possiamo usare il nuovo strumento UPT.

Come utilizzare UPT

Quelli che seguono sono comandi che suonano in maniera familiare ma questa volta sono universali per ogni distribuzione GNU/Linux e non solo. Ora disponi di un unico strumento di gestione dei pacchetti software che puoi utilizzare allo stesso modo su tutti i tuoi sistemi.

Ad esempio per scaricare gli elenchi dei pacchetti software aggiornati da tutte le fonti configurate:

sudo upt update

Per installare un pacchetto software:

sudo upt install nome_pacchetto_software

Per aggiornare un pacchetto software:

sudo upt upgrade nome_pacchetto_software

Per aggiornare tutti i pacchetti software installati:

sudo upt upgrade

Per rimuovere un pacchetto software:

sudo upt remove nome_pacchetto_software

Per cercare un pacchetto software come rustup:

sudo upt search rustup

Se lo stesso pacchetto software è disponibile sia in apt (.deb), Snap, Flatpak ecc., quale dovrebbe scegliere UPT durante l’installazione? Ad esempio, per preferire un pacchetto software Snap rispetto ad un altro sistema, puoi impostare variabile d’ambiente UPT_TOOL come impostato precedentemente:

export UPT_TOOL='snap'

Ora, se esegui l’installazione di un pacchetto software qualsiasi vedrai che verrà prelevato dal repository Snap come ricerca principale.

Se vuoi configurare tutte le fonti, queste fonti possono essere repository ufficiali, repository personalizzati o URL remoti, puoi configurare le fonti nel file di configurazione di UPT. Il file di configurazione di UPT si trova in diverse posizioni a seconda del sistema operativo:

  • Linux: Il file di configurazione di UPT è generalmente situato in /etc/upt/upt.toml.
  • macOS: Su macOS, puoi trovare il file di configurazione di UPT in /usr/local/etc/upt/upt.toml.
  • Windows: Se stai utilizzando UPT su Windows, il file di configurazione dovrebbe essere in C:\ProgramData\UPT\upt.toml

In questo file, definisci le diverse fonti e le loro priorità. Quando cerchi un pacchetto software, UPT esamina le fonti in base alla loro priorità. Se un pacchetto software è disponibile in più fonti, UPT seleziona la versione dalla fonte con la priorità più alta o da quella come impostato in precedenza. Ad esempio, se hai configurato sia il repository ufficiale che un repository personale, UPT darà la precedenza alla fonte con la priorità maggiore.

Quando esegui un comando per la ricerca di un pacchetto software, UPT lo cerca in tutte le fonti configurate.
In pratica UPT esegue una query su ciascuna fonte per trovare il pacchetto software corrispondente e se viene trovato in più fonti, UPT seleziona la versione dalla fonte con la priorità più alta.

Inoltre, periodicamente, UPT aggiorna le informazioni sui pacchetti software da ciascuna fonte.

In questo aggiornamento successivo a questo articolo delle utili tabelle riepilogative di opzioni e comandi:

Conclusione

Come puoi vedere, UPT richiede uno sforzo iniziale per l’installazione, il che non è molto per gli utenti Linux esperti ma potrebbe creare qualche complicazione ai principianti.

Sfortunatamente, sebbene UPT sia lo stesso su sistemi diversi, è comunque un front-end per il gestore pacchetti software predefinito di ciascun sistema. Ciò significa che i nomi dei pacchetti sono sempre gli stessi utilizzati da ciascuna distribuzione e non è possibile utilizzare un singolo nome di pacchetto per sistemi diversi. Non sempre è così ma in molti casi sì.

Comunque l’idea è buona e la speranza è che venga accettata dalla comunità se non altro nella creazione di nomi univoci per i pacchetti software e rendere così tutto più semplice.

Fonte: https://github.com/sigoden/upt
Fonte: https://itsfoss.com/upt/

Visited 22 times, 1 visit(s) today
Se vuoi sostenerci, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che abbiamo nel nostro sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul nostro negozio online, quelle mancanti possono essere comunque richieste, e su cui trovi anche PC, NAS e il ns ServerOne. Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!

Hai dubbi o problemi? Ti aiutiamo noi!

Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.
Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.
Amazon Music
Scopri le ultime offerte per dischi ssd su Acquista su Amazon
Scopri le ultime offerte per memorie RAM DDR su Acquista su Amazon
Scopri le ultime offerte per Chromebook su Acquista su Amazon
Scopri le ultime offerte per Raspberry su Acquista su Amazon

Potrebbero interessarti anche...

4 risposte

  1. Daniele Piaggesi ha detto:

    Ok, praticamente è dire: il package manager con la sintassi più intuitiva e “umana” è APT. Creiamo un wrapper che ti fa usare qualsiasi package manager come usi APT. Io quoto tutta la vita ovviamente…

  1. 15 Marzo 2024

    […] UPT (Universal Package-management Tool) ho scritto ieri questo articolo, descrivendo tanto il progetto, quante le sue peculiarità, la prima delle quali è la più […]

  2. 12 Maggio 2024

    […] In pratica, Pacman può installare, aggiornare e rimuovere pacchetti ovvero è un gestore di pacchetti e ogni distribuzione GNU/Linux ha il suo gestore predefinito come descritto in questo articolo. […]

  3. 14 Maggio 2024

    […] utenti più esperti sapranno già che per aggiornare è sufficiente aprire Pamac (il Package Manager grafico di Manjaro) e installare tutti i pacchetti che compaiono nella sezione aggiornamenti. Può […]

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.