GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Snap è portatile su altri Unix (esempio Macos)?

Adoro l'idea alla base di snap e ci ho giocato su una macchina virtuale Ubuntu.

Panoramica di Snapcraft

Snapcraft è uno strumento di creazione e confezionamento che ti aiuta a creare il pacchetto del tuo software
in un attimo. Semplifica l'integrazione di componenti da
diverse fonti e la creazione di tecnologie o soluzioni. Concetti chiave

Un pacchetto .snap per il sistema Ubuntu Core contiene tutte le sue
dipendenze. Questo ha un paio di vantaggi rispetto alla tradizionale gestione delle dipendenze basata su deb o
rpm, il più importante è che uno
sviluppatore può sempre essere certo che non ci sono regressioni
innescate da modifiche al sistema sottostante la loro app.

Snapcraft semplifica il raggruppamento di queste dipendenze consentendo di
specificarle come "parti" nel file snapcraft.yaml. scattante

Snappy Ubuntu Core è una nuova versione di Ubuntu con aggiornamenti
transazionali:un'immagine server minima con le stesse librerie di Ubuntu di oggi
, ma le applicazioni vengono fornite tramite un meccanismo più semplice.

Le app scattanti e lo stesso Ubuntu Core possono essere aggiornati atomicamente e
ripristinati se necessario. Le app sono inoltre rigorosamente confinate e sandbox
per salvaguardare i tuoi dati e il tuo sistema.

IoT ›Crea app

Su quali tecnologie si basa lo snap? Come appaiono l'architettura e i toolkit? Snap dipende dalle funzionalità del kernel Linux?

Chiedo, perché mi chiedo se in futuro potrò utilizzare gli stessi pacchetti snap anche su macOS?

Chiarimento, dopo il primo commento:

So che macOS e Ubuntu non sono binari compatibili. È necessaria una ricompilazione. Esistono già quasi tutti gli Open Source disponibili per macOS con Homebrew. Lo sviluppatore potrebbe sviluppare su macOS e distribuire su Ubuntu quando Snap sarà (in futuro) disponibile per macOS.

Risposta accettata:

Sì, grazie alla stabilità dell'interfaccia syscall di Linux, questo è possibile.

Uno dei grandi impegni di Linus Torvalds nei confronti degli utenti Linux è che l'insieme di interfacce offerte dal kernel sia stabile. Molte persone non apprezzano il valore di questo, o quanto sia difficile come leader di un progetto aperto raggiungere tale impegno. Considera ad esempio quanto siano imprevedibili i cambiamenti nelle API di GNOME! Quando si sente parlare di Linus che è diventato intenso su una mailing list, è quasi sempre perché alcuni committenti del kernel hanno deciso di cambiare tale interfaccia "perché avevano un'idea migliore". Linus dice che puoi innovare selvaggiamente ALL'INTERNO del kernel, ma per favore non rompere le app "spazio utente" che dipendono dalle chiamate di sistema esistenti.

Correlati:come installare numpy su Python 3.1?

Come conseguenza di tale stabilità, è possibile che altri kernel offrano le stesse syscall, consentendo alle app basate su Linux di funzionare su quegli altri kernel.

Un esempio è il progetto Joyent Triton, che offre syscall compatibili con Linux in container su SmartOS (un discendente di IllumOS, un discendente di Solaris).

Un esempio più noto è il nuovo sottosistema Linux in Windows.

Naturalmente, la vera domanda è quante syscall vengono offerte e quanto siano compatibili bug per bug. Almeno per ora, non esiste un altro ambiente in cui siano presenti tutte le chiamate di sistema necessarie, perché quelle utilizzate dagli snap sono relativamente nuove e profonde nel modo in cui il kernel pensa alle cose che gestisce.

Ma sicuramente arriveranno, col tempo, e penso che gli snap saranno quindi utilizzabili in un'ampia gamma di contesti.

Il che è molto interessante, le patch sono benvenute 🙂


Ubuntu
  1. Archiviazione distribuita su quattro nodi di archiviazione con GlusterFS 3.2.x su Ubuntu 12.10

  2. Archiviazione replicata distribuita su quattro nodi di archiviazione con GlusterFS 3.2.x su Ubuntu 12.10

  3. Striping su quattro nodi di archiviazione con GlusterFS 3.2.x su Ubuntu 12.10

  4. Replica automatica dei file (mirror) su due server di archiviazione con GlusterFS 3.2.x su Ubuntu 12.10

  5. Recensione di Ubuntu Unity 21.10

Come avviare PowerShell in un attimo su Ubuntu

Come installare Skype su Ubuntu 21.04

Come installare Snap su Ubuntu 20.04 LTS

Come installare Snap su Ubuntu 22.04 LTS

Ubuntu 12.04 Funzionalità Snap di Windows?

Installazione di FFmpeg su Ubuntu