Ubuntu Snappy

Ubuntu Snappy logó
Az Ubuntu 16.04 Xenial Xerus elhozta az Ubuntu snap csomagok telepítésének lehetőségét asztali rendszerekre is. A snap csomagok célja, hogy egy olyan környezetet teremtsenek az alkalmazásnak és az alkalmazás fejlesztőjének, amely mindig a rendelkezésére áll, mindig konzisztens és mindig pont az van benne (csakis az és csakis úgy), amit ő szeretne.

Ez elsősorban az IoT (dolgok internetje), illetve hordozható eszközöknél volt érdekes, ugyanis a snap csomag egy egységként képzelhető el. Minden cuccával, függőségével együtt, ő 1 db csomag. Ez a csomag, egy helyen, pont úgy, ahogy a fejlesztője megálmodta. Ha bárki kívülről módosítaná a snap alkalmazást (pl. rosszindulatú szoftver jutott a gépedre), akkor az alkalmazás el sem indul, hiszen nem egyezik az alkalmazás helyes és jelenlegi ujjlenyomata. Klassz nem?

Természetesen az adott programhoz korlátozások is járnak. Mert itt nem csak arról van szó, hogy van egy snap csomag, ami felfogható a .deb második iterációjának is, hanem itt lényegében minden program azokhoz az erőforrásokhoz kap hozzáférést, amihez kell és nem többhöz. A fő rendszerhez képest a snap alkalmazás egy elszigetelt környezetben fut. Nem mellékesen, az Ubuntu Core-ban még a kernel is snap, de ez most minket nem érdekel. :)

Tehát a snap egy izolált, biztonságos, ideális környezet mind neked, mind pedig a programodnak. Jelenleg asztali környezetben még a szárnyait bontogatja a dolog, de jól jelzi az előrehaladást, hogy az egyik legkomplexebb KDE alkalmazás, a Krita már fut!

Beszerzés

Snappy login
Na de ne szaladjunk ennyire előre, lássuk hogyan is szerezhetünk be egy snap alkalmazást:

  1. Ellenőrizd, hogy az Ubuntu 16.04 LTS Xenial Xerus verzió fut-e a gépeden. Ha nem tudod hogyan kell, lesd meg a kisokosunkat.
  2. Jelentkezz be a snap rendszerébe: snap login <email címed>.
    Ha még nincs Ubuntu azonosítód, akkor csinálj egyet pl. a Launchpad-re történő regisztrációval.
  3. Kérdezd le az elérhető alkalmazásokat: snap find.
    Jelenleg a lista nem túl hosszú, de ez természetesen idővel változni fog.
  4. Telepíts egy alkalmazást: snap install krita.
    Kisvártatva, javarészt csak a letöltésre várva, megjelenik a sikeres telepítésről szóló üzenet. Azért választottam ezt az alkalmazást, mert egy sok KDE függőséggel rendelkező progi. Ha az apt-get segítségével telepítenénk, akkor egy sztenderd Ubuntu rendszerre 200 új csomagot telepítene, amelyek összesen 493 MB-ot tesznek ki szemben a snap 97,84 MB-jával… Ez a nem mindegy, ugye? Ha pedig ehhez hozzávesszük, hogy a frissítések úgynevezett deltákban jönnek (azaz nem a teljes snap csomag frissül, hanem csak annyi belőle, amennyi ténylegesen változott) akkor még szebb a helyzet.
  5. Indítsd el! Ha a Unity nem tudna róla, hogy települt, akkor vagy a konzolba írd be a nevét (pl. Krita) vagy Alt+F2 és úgy írd be, hogy Krita.

Snap keresés

Krita telepítés

Mint az a képen is látható, csak a Krita fut. Semmilyen más „hasztalan” KDE alkalmazás nem nem aktív a rendszerben.
Krita fut

Nézzük tovább: Arról beszéltem néhány sorral fentebb, hogy izoláltan futnak az alkalmazások. Hogy ez mennyire így van, nézzük meg a htop snappy változatát:
snappy htop

Pontosabban csak néznénk, ha lenne mit, ugye. Tök üres. Bár ez nem teljesen egyedülálló funkciója a snap csomagoknak, ugyanis eddig is volt rá kernel konfigurációs opció, hogy a felhasználó csak a saját folyamatait lássa, az teljesen egyértelmű, hogy a snap megoldása fejlettebb ennél. Ami viszont (rövid távon) probléma lehet (és ami miatt még nem érett meg a technológia az egyszerű felhasználók tömeges használatára), azok az olyan alkalmazások, ahol külső anyagot kell/lehet betölteni. Pl. a Krita, ahol megnyithatunk egy internetről letöltött képet is utófeldolgozásra. Ilyenkor pont nem jön jól a szeparáció, hiszen teljesen logikus módon a Krita nem fér hozzá a dolgainkhoz. Ugyanakkor rengeteg olyan alkalmazás van, aminek nem is kell hozzáférnie a személyes fájlokhoz. Biztos vagyok benne, hogy rövid időn belül megoldódik valahogy ez a kérdés is.

apt install

Mi történik akkor, ha egy már meglévő csomagra telepítjük rá a snap változatot? Nos, megmarad mindkettő, bár nem teljesen egyértelmű a dolog. A rendszerben a prioritás úgy néz ki, hogy először a snap verziót indítjuk el, majd ha az nincs, akkor jöhet a „hagyományos”. A „régi” verzió elérése nem feltétlen egyértelmű: programtól függően a /usr/bin/ könyvtárból elindítható az „ódivatú”, de minden további kérvény nélkül megy:

Krita

Mint láthatjuk, teljesen jól működik együtt a hagyományosan telepített htop a „fancy” módon felrakott htoppal.
apt és snap htop

Néhány fontosabb parancs:

  • snap remove: csomagot tudunk törölni
  • snap list: kiírja a telepített csomagokat
  • snap refresh: snap csomagokat tudunk vele frissíteni
  • snap changes: a rendszerben történt változásokat tudjuk visszakövetni

Még nincs kész

Snappy
Hogy pontosabb legyek, a technológia már használható (hiszen egy Krita bonyolultságú alkalmazás szépen fut), de a „szoftverboltból” elérhető alkalmazások listája még igen soványka (64 alkalmazás, ideértve a minta feltöltéseket is). Ráadásul mivel a technológia asztali változata még csak most lett mindenki számára elérhető, a kezdeti szárnybontogatásokat láthatjuk. Más szóval a csomagolások minősége hagy némi kívánnivalót maga után, de ez idővel, ahogy egyre jobban megismerik a fejlesztők a rendszert, javulni fog. Jut eszembe, van Telegramm kliens is és még fut is. :)

Snappy architecture

Igen biztató!

A .snap csomagformátum és a köré épült eszközök igen biztatóak. Bőven van még mit dolgozni rajta természetesen, ugyanakkor talán ez lesz az az eszköz, ami forradalmasítja azt, ahogy az asztali verziójú Linuxra gondolunk. Ahogy Linus Torvalds is mondta az egyik konferencián, a Linux asztali gépeken történő terjedésének legnagyobb gátjai maguk a disztribúciókat előállítók: olyan sokszínű a rendszer, annyi különböző szoftververziót használnak, máshogy vannak a kulcsfontosságú könyvtárak fordítva vagy épp annyira eltérő verziót adnak, hogy nem kifizetődő mindre felkészíteni a programot. A snappy egy egységes platformot nyújt mindenki számára. Jól jár vele a felhasználó, mert gyorsan, egyszerűen és biztonságosan kezelheti a programjait. Apropó frissítés: itt már különbségi frissítést alkalmaznak, azaz nem kell a teljes programot letölteni, csak azt, ami változott benne.

Egy szónak is száz a vége, alig várom a folytatást!