Nel 2021, ci sono più ragioni per cui le persone amano Linux che mai. In questa serie, condividerò 21 diversi motivi per utilizzare Linux. Oggi parlerò di ciò che rende il packaging per Linux ideale per i programmatori.
I programmatori amano programmare. Probabilmente sembra un'affermazione ovvia, ma è importante capire che lo sviluppo di software implica molto di più della semplice scrittura di codice. Include compilazione, documentazione, gestione del codice sorgente, script di installazione, impostazioni predefinite di configurazione, file di supporto, formato di consegna e altro ancora. Passare da una schermata vuota a un programma di installazione del software disponibile richiede molto più della semplice programmazione, ma la maggior parte dei programmatori preferisce programmare piuttosto che creare pacchetti.
Cos'è l'imballaggio?
Quando il cibo viene inviato ai negozi per essere acquistato, viene confezionato. Quando acquisti direttamente da un agricoltore o da un negozio ecologico di prodotti sfusi o di contenitori, l'imballaggio è qualsiasi contenitore che hai portato con te. Quando si acquista in un negozio di alimentari, l'imballaggio può essere una scatola di cartone, un sacchetto di plastica, un barattolo di latta e così via.
Più risorse Linux
- Comandi Linux cheat sheet
- Cheat sheet sui comandi avanzati di Linux
- Corso online gratuito:Panoramica tecnica RHEL
- Cheat sheet della rete Linux
- Cheat sheet di SELinux
- Cheat sheet dei comandi comuni di Linux
- Cosa sono i container Linux?
- I nostri ultimi articoli su Linux
Quando il software viene reso disponibile agli utenti di computer in generale, deve anche essere impacchettato. Come il cibo, ci sono diversi modi in cui il software può essere impacchettato. Il software open source può essere lasciato decompresso perché gli utenti, avendo accesso al codice grezzo, possono compilarlo e impacchettarlo da soli. Tuttavia, i pacchetti presentano vantaggi, quindi le applicazioni vengono comunemente fornite in un formato specifico per la piattaforma dell'utente. Ed è qui che iniziano i problemi, perché non esiste un solo formato per i pacchetti software.
Per l'utente, i pacchetti semplificano l'installazione del software poiché tutto il lavoro viene svolto dal programma di installazione del sistema. Il software viene estratto dal suo pacchetto e distribuito nelle posizioni appropriate all'interno del sistema operativo. Ci sono poche possibilità che qualcosa vada storto.
Per lo sviluppatore di software, tuttavia, la creazione di pacchetti significa che devi imparare a creare un pacchetto e non solo un pacchetto, ma un pacchetto unico per ogni sistema operativo su cui desideri che il tuo software sia installabile. A complicare le cose, ci sono più formati e opzioni di packaging per ogni sistema operativo e talvolta anche per il linguaggio di programmazione utilizzato.
Imballaggio su Linux
Le opzioni di packaging per Linux sono sembrate tradizionalmente piuttosto opprimenti. Le distribuzioni Linux derivate da Fedora, come Red Hat e CentOS, per impostazione predefinita sono .rpm
Pacchetti. Debian e Ubuntu (e simili) per impostazione predefinita .deb
Pacchetti. Altre distribuzioni possono utilizzare l'una o l'altra o nessuna delle due, optando per un formato personalizzato. Quando gli viene chiesto, molti utenti Linux affermano che idealmente, un programmatore non impacchetta affatto il proprio software per Linux, ma si affida invece ai manutentori dei pacchetti di ciascuna distribuzione per creare il pacchetto. Tutto il software installato su qualsiasi sistema Linux dovrebbe provenire dal repository ufficiale di quella distribuzione. Tuttavia, non è chiaro come ottenere il tuo software impacchettato e incluso in modo affidabile da una distribuzione, per non parlare di tutte le distribuzioni.
Flatpak per Linux
Il sistema di packaging Flatpak è stato introdotto per unificare e decentralizzare Linux come obiettivo di consegna per gli sviluppatori. Con Flatpak, uno sviluppatore o chiunque altro (un membro di una comunità Linux, uno sviluppatore diverso, un membro del team Flatpak o chiunque altro) è libero di creare pacchetti di software. Possono quindi inviare il pacchetto a Flathub o scegliere di ospitare autonomamente il pacchetto e offrirlo praticamente a qualsiasi distribuzione Linux. Il sistema Flatpak è disponibile per tutte le distribuzioni Linux, quindi prendere di mira una equivale a prenderle tutte.
Come funziona la tecnologia Flatpak
Il segreto del fascino universale di Flatpak è una base standard. Il sistema Flatpak consente agli sviluppatori di fare riferimento a un insieme comune di moduli Software Developer Kit (SDK). Questi sono impacchettati e gestiti dai manutentori del sistema Flatpak. Gli SDK vengono inseriti secondo necessità ogni volta che installi un Flatpak, garantendo la compatibilità con il tuo sistema. Un determinato SDK è richiesto solo una volta perché le librerie che contiene possono essere condivise su qualsiasi Flatpak che lo richieda.
Se uno sviluppatore richiede una libreria non già inclusa in un SDK esistente, lo sviluppatore può aggiungere quella libreria nel Flatpak.
I risultati parlano da soli. Gli utenti possono installare centinaia di pacchetti su qualsiasi distribuzione Linux da un repository centrale, chiamato Flathub.
Come gli sviluppatori utilizzano i Flatpak
I flatpak sono progettati per essere riproducibili, quindi il processo di creazione è facilmente integrabile in un flusso di lavoro CI/CD. Un Flatpak è definito in un file manifest YAML o JSON. Puoi creare il tuo primo Flatpak seguendo il mio articolo introduttivo e puoi leggere la documentazione completa su docs.flatpak.org.
Linux lo rende facile
Creare software su Linux è facile e confezionarlo per Linux è semplice e automatizzabile. Se sei un programmatore, Linux ti consente di dimenticare facilmente la creazione di pacchetti mirando a un sistema e integrandolo nel processo di compilazione.