LAKI PINGVINI<>
102015<><>

Snappy Ubuntu Core

Pogled u budućnost

U poslednjih pet i više godina, u svetu računarskih servera sve je u znaku „oblaka”, odnosno virtuelizacije. Svi „cloud” provajderi koriste virtuelne mašine kao način izolacije resursa i okruženja za rad svojih ili klijentskih servisa, uz pomoć brojnih VM hipervizora kao što su KVM (Linux Kernel-based Virtual Machine), VMware ESXi, Hyper-V ili Xen.

Oblak u kontejneru

Najnovija moda, koja bi trebalo da ima dug životni vek jer rešava neke od nagomilanih problema, jeste distribuiranje softvera u vidu izolovanih „kontejnera” koji se mogu izvršavati bez uticaja na ostatak operativnog sistema. Ovim se smanjuje overhead u zauzeću procesora i memorije u odnosu na pokretanje procesa u odvojenim virtuelnim mašinama, što direktno povećava performanse. Tehnologija koja je ovo znatno olakšala na Linuxu poznata je kao Docker, i oslanja se na mogućnost kernela da izoluje resurse računara određenim procesima ili grupama procesa (na primer: procesorsko vreme, memoriju, pristup disku i mreži). Canonical, kompanija koja stoji iza familije Ubuntu distribucija, predstavila je novu varijantu svog operativnog sistema namenjenu „cloud” primeni, čija se upotreba zasniva na izolovanim softverskim kontejnerima, ali je podignuta na viši nivo.

Snap

Originalni Ubuntu Core dostupan je više od godinu i po dana u formi minimalističkog root fajl-sistema, a dodatni softver instalira se koristeći uobičajeni APT sistem. Za razliku od toga, nova Snappy Ubuntu Core varijanta ne koristi APT, već novi format instalacionih paketa (sa ekstenzijom .snap) kojim se sistem dopunjuje odgovarajućim softverskim „imidžima” različitog tipa. Podržana su tri tipa snap paketa: app (softver ili servis, odnosno daemon), oem (prilagođava sam Ubuntu sistem klijentu ili hardverskoj platformi), i framework (proširuje operativni sistem bibliotekama ili frejmvorkom koji mogu da koriste aplikativni snap paketi; štaviše, Docker za Snappy Ubuntu Core se distribuira upravo kao framework snap).

Zanimljivo je da je koncept na kome je zasnovan Snappy originalno osmišljen za Ubuntu Phone. Podsetimo kako ovo funkcioniše na Androidu sa njegovim APK paketima: instaliraju se tako da ne mogu da ugroze druge aplikacije ili operativni sistem tokom rada (naravno, ovo važi u slučaju kada niste „rutovali” vaš Android uređaj). Iako su na Ubuntu Phone korišćeni drugačiji mehanizmi, suština je ista – potrebno je izolovati aplikacije i omogućiti njihov rad i ažuriranje bez ugrožavanja ostatka sistema.

Snap paket zapravo predstavlja kompresovanu arhivu koja će, tokom instalacije, biti raspakovana u sistemski folder /apps/<paket>/<verzija>, čime je moguće imati instalirano više verzija istog paketa. Samo jedna verzija može biti trenutno aktivna, i na nju ukazuje prečica /apps/<paket>/current. Ovi folderi i njihov sadržaj su read-only (o čemu se brine kernelski mehanizam AppArmor), pa čak ni samoj Snappy aplikaciji nije dozvoljeno menjanje sopstvenog sadržaja. Ako aplikaciji treba prostor za skladištenje fajlova, na raspolaganju su folderi /var/lib/apps/<paket>/current (na sistemskom nivou) i /home/<korisnik>/apps/<paket>/current (na nivou korisnika). Kada se radi o aplikaciji, korisnik ne brine o tome gde je instalirana i može da je pokrene iz bilo kog foldera.

Pored strukture foldera koja će biti prekopirana u /apps/<paket>/<verzija>, instalaciona snap arhiva sadrži i specijalni „meta” folder u kojoj se nalaze metafajlovi potrebni instalacionom programu. Najznačajniji je konfiguracioni fajl package.yaml koji potpuno opisuje svrhu i tip paketa, podržane procesorske arhitekture, frejmvorke od kojih zavisi (npr. Docker), izvršne fajlove ili servise koje nudi, i slično.

Sva administracija (uključujući kreiranje instalacionih snap paketa i biranje aktivne verzije među instaliranima) vrši se alatom snappy. Štaviše, pokušaj izdavanja komande apt-get na Snappy Ubuntu Core rezultovaće porukom da se APT ovde ne koristi, i da treba otkucati snappy --help da biste videli šta vam je činiti. Čak i osnovu operativnog sistema predstavlja instalirani snap paket (konkretno, ubuntu-core) i ažurira se na isti način kao i bilo koji drugi snap paket na sistemu. Ključni deo funkcionalnosti je što se svo instaliranje i ažuriranje vrši u vidu transakcija koje se računaju kao uspele samo ako su obavljene u celosti. U slučaju bilo kakvih problema, ili po želji administratora, sistem je sposoban da uradi „premotavanje” na prethodnu verziju paketa, tako da je nemoguće imati nehotično referenciranje pogrešnih verzija biblioteka ili konfiguracionih fajlova, i slično.

Zašto baš tako?

Prednosti ovog pristupa su manje ili više očigledne. Teoretski je moguće sastaviti potpuno samostalni aplikativni paket koji ne zavisi ni od kakvih specijalnih biblioteka u okviru samog operativnog sistema, jer ih je moguće uključiti u sam paket. Naravno, nećete uključivati Docker i esencijalne sistemske biblioteke u vaš snap, jer je logično da se deljeni frejmvorkovi instaliraju odvojeno, a sistemske biblioteke su već uključene u „ubuntu-core” snap i ažuriraju se sa samim operativnim sistemom. Sa druge strane, ako aplikacija zavisi od tačno određene verzije neke egzotičnije biblioteke, ubacićete je u snap i time korisniku znatno olakšati instalaciju. Ovo će ceniti svi koji su iskusili probleme sa instalacijom programa koji zahtevaju previše novu ili previše staru verziju neke biblioteke, a koju nije moguće jednostavno instalirati na konkretnoj Linux distribuciji jer bi to izazvalo konflikt sa ostalim aplikacijama u sistemu. Posledično tome, distribuiranje softvera postaće daleko brže jer su snap paketi samosadržani, ne ugrožavaju druge aplikacije ili operativni sistem, i nije potrebno da prolaze kontrolu od strane ljudi koji održavaju operativni sistem i objavljuju ažuriranja za njega.

Canonical nagoveštava da će snap paketi kad-tad postati podrazumevan način instalacije dodatnog softvera na svim postojećim varijantama Ubuntua. To se svakako neće desiti u sledećih nekoliko godina, barem kada su u pitanju standardne Ubuntu Desktop ili server verzije, ali će za to vreme ceo koncept biti dobro testiran i usavršen na „oblačnoj” verziji ovog operativnog sistema i biti spreman za ostatak sveta kada dođe pravi trenutak.

Ivan TODOROVIĆ

 
Snappy Ubuntu Core
Šta mislite o ovom tekstu?
Q4OS 1.4
Trelby 2.2
VeraCrypt 1.13

Adresa:
developer .ubuntu .com /en /snappy /
Home / Novi brojArhiva • Opšte temeInternetTest driveTest runPD kutakCeDetekaWWW vodič • Svet igara
Svet kompjutera Copyright © 1984-2018. Politika a.d. • RedakcijaKontaktSaradnjaOglasiPretplata • Help • English
SKWeb 3.22
Opšte teme
Internet
Test Drive
Test Run
PD kutak
CeDeteka
WWW vodič
Svet igara



Naslovna stranaPrethodni brojeviOpšte informacijeKontaktOglašavanjePomoćInfo in English

Svet kompjutera