GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Ist Snap auf andere Unix portierbar (Beispiel Macos)?

Ich liebe die Idee hinter Snap und habe damit auf einer Ubuntu-VM gespielt.

Snapcraft-Übersicht

Snapcraft ist ein Erstellungs- und Verpackungstool, mit dem Sie Ihre
Software im Handumdrehen verpacken können. Es macht es einfach, Komponenten aus
verschiedenen Quellen zu integrieren und Technologien oder Lösungen zu erstellen. Schlüsselkonzepte

Ein .snap-Paket für das Ubuntu Core-System enthält alle seine
Abhängigkeiten. Dies hat einige Vorteile gegenüber der traditionellen deb- oder
rpm-basierten Abhängigkeitsbehandlung, der wichtigste ist, dass ein
Entwickler immer sicher sein kann, dass es keine Regressionen gibt,
die durch Änderungen am darunter liegenden System ausgelöst werden ihre App.

Snapcraft vereinfacht das Bündeln dieser Abhängigkeiten, indem es Ihnen ermöglicht,
sie als „Teile“ in der Datei snapcraft.yaml anzugeben. Bissig

Snappy Ubuntu Core ist eine neue Version von Ubuntu mit transaktionalen
Updates – ein minimales Server-Image mit den gleichen Bibliotheken wie das heutige
Ubuntu, aber Anwendungen werden über einen einfacheren Mechanismus bereitgestellt.

Snappy-Apps und Ubuntu Core selbst können atomar aktualisiert und
bei Bedarf zurückgesetzt werden. Apps sind außerdem streng beschränkt und in einer Sandbox untergebracht,
um Ihre Daten und Ihr System zu schützen.

IoT ›Apps erstellen

Auf welchen Technologien basiert snap? Wie sehen Architektur und Toolkits aus? Hängt Snap von den Funktionen des Linux-Kernels ab?

Ich frage, weil ich mich frage, ob ich in Zukunft die gleichen Snap-Pakete auch auf macOS verwenden kann?

Klarstellung, nach erstem Kommentar:

Ich weiß, dass macOS und Ubuntu nicht binärkompatibel sind. Eine Neukompilierung ist erforderlich. Es gibt bereits fast jede Open Source für macOS mit Homebrew. Der Entwickler könnte auf macOS entwickeln und auf Ubuntu bereitstellen, wenn Snap (in Zukunft) für macOS verfügbar sein wird.

Akzeptierte Antwort:

Ja, dank der Stabilität der Linux-Syscall-Schnittstelle ist dies möglich.

Eine der großen Verpflichtungen von Linus Torvalds gegenüber Linux-Benutzern besteht darin, dass die vom Kernel angebotenen Schnittstellen stabil sind. Viele Menschen wissen nicht, wie wertvoll das ist oder wie herausfordernd es als Leiter eines offenen Projekts ist, dieses Engagement zu erreichen. Bedenken Sie zum Beispiel, wie unvorhersehbar Änderungen in den GNOME-APIs im Gegensatz dazu sind! Wenn Sie hören, dass Linus auf einer Mailingliste intensiv wird, liegt das fast immer daran, dass ein Committer für den Kernel beschlossen hat, eine solche Schnittstelle zu ändern, „weil sie eine bessere Idee hatten“. Linus sagt, dass Sie INNERHALB des Kernels wild innovativ sein können, aber bitte zerstören Sie nicht die „Userspace“-Apps, die von bestehenden Syscalls abhängen.

Verwandte:Wie installiere ich numpy auf Python 3.1?

Als Folge dieser Stabilität ist es für andere Kernel möglich, die gleichen Systemaufrufe anzubieten, sodass unter Linux erstellte Apps auf diesen anderen Kerneln ausgeführt werden können.

Ein Beispiel dafür ist das Joyent Triton-Projekt, das Linux-kompatible Systemaufrufe in Containern auf SmartOS (einem Abkömmling von IllumOS, einem Abkömmling von Solaris) anbietet.

Ein bekannteres Beispiel ist das neue Linux-Subsystem in Windows.

Natürlich ist die eigentliche Frage, wie viele der Systemaufrufe angeboten werden und wie Bug-für-Bug-kompatibel sie sind. Zumindest im Moment gibt es keine andere Umgebung, in der alle notwendigen Systemaufrufe vorhanden sind, da die von Snaps verwendeten relativ neu sind und tief in die Art und Weise einfließen, wie der Kernel über die Dinge nachdenkt, die er verwaltet.

Aber sie werden sicherlich mit der Zeit kommen, und ich denke, dass Snaps daher in einer Vielzahl von Kontexten verwendet werden können.

Was sehr cool ist, Patches willkommen 🙂


Ubuntu
  1. Verteilter Speicher auf vier Speicherknoten mit GlusterFS 3.2.x unter Ubuntu 12.10

  2. Verteilter replizierter Speicher über vier Speicherknoten mit GlusterFS 3.2.x auf Ubuntu 12.10

  3. Striping über vier Speicherknoten mit GlusterFS 3.2.x auf Ubuntu 12.10

  4. Automatische Dateireplikation (Mirror) über zwei Speicherserver mit GlusterFS 3.2.x auf Ubuntu 12.10

  5. Ubuntu Unity 21.10 Überprüfung

So starten Sie PowerShell als Snap auf Ubuntu

So installieren Sie Skype unter Ubuntu 21.04

So installieren Sie Snap unter Ubuntu 20.04 LTS

So installieren Sie Snap unter Ubuntu 22.04 LTS

Ubuntu 12.04 Windows Snap-Funktion?

FFmpeg auf Ubuntu installieren