GNU/Linux >> Znalost Linux >  >> Ubuntu

Je Snap přenosný přes jiný Unix (například Macos)?

Líbí se mi myšlenka za snapem a hrál jsem si s ním na virtuálním počítači Ubuntu.

Přehled Snapcraft

Snapcraft je nástroj pro vytváření a balení, který vám pomůže zabalit váš
software jako blesk. Usnadňuje začleňování komponent z
různých zdrojů a vytváření technologií nebo řešení. Klíčové pojmy

Balíček .snap pro systém Ubuntu Core obsahuje všechny jeho
závislosti. To má několik výhod oproti tradičnímu zpracování závislostí na základě deb nebo
otáček, z nichž nejdůležitější je, že
vývojář si může být vždy jistý, že nedochází k žádným regresím
spouštěným změnami v systému pod ním. jejich aplikace.

Snapcraft usnadňuje sdružování těchto závislostí tím, že je můžete
určit jako „části“ v souboru snapcraft.yaml. Snappy

Snappy Ubuntu Core je nová verze Ubuntu s transakčními
aktualizacemi – minimální bitovou kopií serveru se stejnými knihovnami jako dnešní
Ubuntu, ale aplikace jsou poskytovány pomocí jednoduššího mechanismu.

Snappy aplikace a samotné Ubuntu Core lze upgradovat atomicky a
v případě potřeby vrátit zpět. Aplikace jsou také přísně omezeny a v izolovaném prostoru
, aby byla chráněna vaše data a systém.

IoT ›Vytvářejte aplikace

Na jakých technologiích je snap založen? Jak vypadá architektura a sady nástrojů? Závisí snap na funkcích linuxového jádra?

Ptám se, protože mě zajímá, zda v budoucnu budu moci používat stejné balíčky snap také na macOS?

Vysvětlení po prvním komentáři:

Vím, že macOS a Ubuntu nejsou binárně kompatibilní. Je potřeba rekompilace. Pro macOS s Homebrew je již k dispozici téměř jakýkoli otevřený zdroj. Vývojář by mohl vyvíjet na macOS a nasazovat na Ubuntu, až bude snap (v budoucnu) dostupný pro macOS.

Přijatá odpověď:

Ano, díky stabilitě rozhraní syscall Linuxu je to možné.

Jedním z velkých závazků Linuse Torvaldse vůči uživatelům Linuxu je, že sada rozhraní nabízených jádrem je stabilní. Mnoho lidí si neuvědomuje hodnotu toho, ani to, jak náročné je pro vedoucího otevřeného projektu dosáhnout tohoto závazku. Zvažte například, jak nepředvídatelné jsou naopak změny v rozhraní API GNOME! Když slyšíte o Linusovi, jak je na mailing listu intenzivnější, je to téměř vždy proto, že se nějaký zadavatel jádra rozhodl změnit takové rozhraní, ‚protože měl lepší nápad‘. Linus říká, že můžete divoce inovovat UVNITŘ jádra, ale prosím nerozbíjejte aplikace „uživatelského prostoru“, které závisí na existujících systémových voláních.

Související:Jak nainstalovat numpy na Python 3.1?

V důsledku této stability je možné, že jiná jádra nabízejí stejná systémová volání, což umožňuje aplikacím postaveným na Linuxu běžet na těchto jiných jádrech.

Jedním z příkladů je projekt Joyent Triton, který nabízí systémová volání kompatibilní s Linuxem v kontejnerech na SmartOS (potomek IllumOS, potomek Solaris).

Široce známým příkladem je nový subsystém Linux ve Windows.

Samozřejmě, kolik systémových volání je nabízeno a jak jsou kompatibilní bug-for-bug, je skutečnou otázkou. Alespoň prozatím neexistuje jiné prostředí, kde by byla všechna nezbytná systémová volání na místě, protože ty, které používají snapy, jsou relativně nové a hluboké ve způsobu, jakým jádro přemýšlí o věcech, které spravuje.

Ale určitě časem přijdou a myslím, že snapy tak budou použitelné v široké škále kontextů.

Což je moc fajn, záplaty vítány 🙂


Ubuntu
  1. Distribuované úložiště mezi čtyřmi uzly úložiště s GlusterFS 3.2.x na Ubuntu 12.10

  2. Distribuované replikované úložiště mezi čtyři uzly úložiště s GlusterFS 3.2.x na Ubuntu 12.10

  3. Pruhování přes čtyři uzly úložiště s GlusterFS 3.2.x na Ubuntu 12.10

  1. Automatická replikace souborů (zrcadlení) přes dva úložné servery s GlusterFS 3.2.x na Ubuntu 12.10

  2. Je Snap Packaging Ubuntu opravdu bezpečný?

  3. Použití Správce balíčků Snap na Ubuntu

  1. Kompletní průvodce používáním balíčků Snap v Ubuntu a dalších distribucích Linuxu

  2. Recenze Ubuntu Unity 21.10

  3. Náhodně pomalé připojení Wifi na Ubuntu 16.04?