Discussione Altro Sistemi di pacchettizzazione alternativa sotto Linux

nfvblog

Moderatore
9 Dicembre 2021
664
67
327
450
Ultima modifica:

Sistemi di pacchettizzazione alternativa sotto Linux​

Visto che al giorno d'oggi la stragrande maggioranza degli utenti Linux utilizza in modo più o meno consapevole dei sistemi di pacchettizzazione alternativa è giusto parlare di quelli più diffusi. Qui prendo in esame flatpak, snap, AppImage e Nix. Qui di seguito sono riportati i principali aspetti.

1    Cosa sono?

Per sistemi di pacchettizzazione alternativa si intendono tutti quei sistemi di distribuzione software che sono esterni al repository main della propria distribuzione, essi tipicamente sono pensati per esser svincolati da una distribuzione Linux specifica ed essere asettici.

1.1    flatpak

Flatpak è un utility per distribuzione software e la gestione dei pacchetti per Linux. Viene pubblicizzato come un ambiente sandbox in cui gli utenti possono eseguire in modo isolato dal resto del sistema la proprie app. Questo sistema è stato spinto tantissimo da Red Hat nella sua distro Fedora Linux, sicuramente è uno dei migliori sistemi di distribuzione alternativa al momento.

1.2    snap

Snap è un utility per la distribuzione software e la gestione dei pacchetti per Linux. Viene pubblicizzato da Canonical come un ambiente sandbox in cui gli utenti possono eseguire software in modo isolato rispetto al sistema. Visto che è un progetto canonical è stato implementato su Ubuntu e le sue derivate.

1.2.1    Controversie

Snap è stato più volte criticato per il fatto che lo store è Closed source, mossa non proprio brillante da parte di Canonical che ha portato molti utenti a favorire soluzioni alternative e più pratiche visto che flatpak garantisce un elevato livello di sicurezza ma non soffre di questo limite (ora qualunque sistema di pacchettizzazione permette al distributore di avere un certo controllo sul sistema utente).

1.3    Appimage

AppImage è un formato per la distribuzione software stand alone molto simile al .app di Apple Mac Os X, questo formato viene utilizzato per tutti quegli applicativi che tipicamente sono auto distribuiti e non rientrano in altri store (alle volte pure app proprietarie). Per funzionare utilizza fuse2 per fare il montaggio di un file sistem virtuale (simula un ambiente simile al .dmg).

1.4    Nix

Nix è un gestore di pacchetti multi piattaforma che utilizza un modello distribuzione in cui i software viene installato in directory univoche generate tramite hash. È anche il nome del linguaggio di programmazione dello strumento. L'hash di un pacchetto tiene conto delle dipendenze, come alternativa alla tipica soluzione di installare più versioni di una dipendenze contemporaneamente. Questo modello di gestione dei pacchetti è più affidabile, riproducibili e portabili.

2    Quanto son pratiche?

Sistema di distribuzioneComodità di utilizzo (⭐⭐⭐⭐⭐) 0/5
flatpak(⭐⭐⭐⭐) 4.5
snap(⭐⭐⭐) 3
AppImage(⭐⭐⭐) 3.5
Nix(⭐⭐⭐⭐) 4

3    Video dedicato

 
Ultima modifica:
Molto interessante il video, anche esplicativo.
Mi chiedo se flatpak sia utilizzabile anche con strumenti di patching e deploy automatico come satellite, i clienti per cui lavoro utilizzano il package manager classico(yum in questo caso, avendo in genere parchi macchine RHEL o Oracle Linux Exadata/SE per il backend).

Comunque sempre interessanti i tuoi video, al tempo mi sono scoppiato anche quelli che hai fatto su docker, tempo una settimana mi sono spazzolato tutte le guide che ho trovato sulla rete. :rofl:
 
  • Mi piace
Reazioni: nfvblog
Ultima modifica:
Molto interessante il video, anche esplicativo.
Mi chiedo se flatpak sia utilizzabile anche con strumenti di patching e deploy automatico come satellite, i clienti per cui lavoro utilizzano il package manager classico(yum in questo caso, avendo in genere parchi macchine RHEL o Oracle Linux Exadata/SE per il backend).

Comunque sempre interessanti i tuoi video, al tempo mi sono scoppiato anche quelli che hai fatto su docker, tempo una settimana mi sono spazzolato tutte le guide che ho trovato sulla rete. :rofl:
Grazie mille, onestamente quello è lo scopo dei video divulgare e provare ad aggiornare quella che è la mentalità media riguardo la produttività e gli strumenti di sviluppo. sicuramente nel caso di flatpak c'è molto da dire ma soprattutto da vedere per il futuro le premesse sono buone
 
  • Mi piace
Reazioni: Psychonaut
Ritengo che tutti questi sistemi di pacchettizzazione, uniti ad rpm, deb etc per le varie distro, oltre alla miriade di ambienti desktop, sia gtk che qt siano tutto cio che impedisce a linux di essere un sistema operativo competitivo in ambito desktop. Dovrebbero accordarsi su una cosa standard per tutti di default: un DE, un sistema pacchetti, gtk o qt niente altro. In modo che se una casa vuole rilasciare un software commerciale per linux ha una cosa univoca da tenere in considerazione in fase di sviluppo e non mille variabili. Un sistema standard e basta. Poi pvviamente se una persona vuole cambiarsi tutto lo puó ovviamente fare, ma deve esserci uno standard de facto. Il gaming per linux cosi non arriverà mai, e software commerciali a stento.
 
Ultima modifica:
Ritengo che tutti questi sistemi di pacchettizzazione, uniti ad rpm, deb etc per le varie distro, oltre alla miriade di ambienti desktop, sia gtk che qt siano tutto cio che impedisce a linux di essere un sistema operativo competitivo in ambito desktop. Dovrebbero accordarsi su una cosa standard per tutti di default: un DE, un sistema pacchetti, gtk o qt niente altro. In modo che se una casa vuole rilasciare un software commerciale per linux ha una cosa univoca da tenere in considerazione in fase di sviluppo e non mille variabili. Un sistema standard e basta. Poi pvviamente se una persona vuole cambiarsi tutto lo puó ovviamente fare, ma deve esserci uno standard de facto. Il gaming per linux cosi non arriverà mai, e software commerciali a stento.
il gaming per linux non arriverà mai?? Ma che dici.
La steam Deck gira su linux, moltissimi giochi su steam grazie a proton e vulcan girano su linux, grazie a wine puoi emulare molti programmi e giochi windows su linux, su qualsiasi distro.
Tanto per dirne una, a cyberpunk 2077 puoi giocarci anche su linux:

Cyberpunk 2077 2.0 Update: Phantom Liberty | Linux VS Windows Performance Tested

tho te lo spiega pure zio morro và:

"Eh ma su Linux non si può giocare..." | Gaming su Linux 1x01

c'è anche una guida sul forum:

Guida Guida alla migliore configurazione per giocare su desktop con Linux


Non capisco sta sparata da dove arrivi, inoltre gli sviluppatori quasi sempre distribuisono il loro software con sistemi di pacchettizzazione diversi, pure i fornitori enterprise lo fanno, sinceramente non capisco di cosa tu stia parlando.

Senza contare i container con docker che rendono portabile qualsiasi software indipendentemente dalla distro utilizzata, o gli ambienti virtuali nella programmazione, ad esempio con python.

In pratica sembra che tu non conosca gli ultimi 10(a stare larghi) anni di evoluzione del pinguino.:coniglio:
P.S. Linux quest'anno ha riaggiunto il numero più alto in tutta la sua storia di utenti Desktop.
 
  • Mi piace
Reazioni: DispatchCode
Ritengo che tutti questi sistemi di pacchettizzazione, uniti ad rpm, deb etc per le varie distro, oltre alla miriade di ambienti desktop, sia gtk che qt siano tutto cio che impedisce a linux di essere un sistema operativo competitivo in ambito desktop. Dovrebbero accordarsi su una cosa standard per tutti di default: un DE, un sistema pacchetti, gtk o qt niente altro. In modo che se una casa vuole rilasciare un software commerciale per linux ha una cosa univoca da tenere in considerazione in fase di sviluppo e non mille variabili. Un sistema standard e basta. Poi pvviamente se una persona vuole cambiarsi tutto lo puó ovviamente fare, ma deve esserci uno standard de facto. Il gaming per linux cosi non arriverà mai, e software commerciali a stento.

A parte il fatto che i giochi non sono scritti con le GTK lol
I giochi fanno uso di Vulkan o OpenGL normalmente, o DirectX. Non capisco tutto il discorso.

L'unica cosa che avrebbe avuto senso citare sarebbero stata i driver, ma anche qui la situazione è comunque migliorata.
 
I giochi ovviamente non centrano con le gtk o qt, ma non sono rilasciati su linux xke una casa non saprebbero come rilasciarlo con le miriadi di sistemi di pacchetti esistenti!
 
A parte il fatto che i giochi non sono scritti con le GTK lol
I giochi fanno uso di Vulkan o OpenGL normalmente, o DirectX. Non capisco tutto il discorso.

L'unica cosa che avrebbe avuto senso citare sarebbero stata i driver, ma anche qui la situazione è comunque migliorata.
che sono i giochi? Campo Fiorito per esser scritto in GTK o Qt? :asd:
 
  • Love
Reazioni: Psychonaut