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é pojmyBalíč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. SnappySnappy 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 🙂