![]() | ![]() |
![]() |
| ![]() |
| ||||||||||||
Pogled u budućnost
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
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Ć |
| ||||||||||||||
![]()
|
![]() | |
![]() | ![]() |
Home / Novi broj | Arhiva • Opšte teme | Internet | Test drive | Test run | PD kutak | CeDeteka | WWW vodič • Svet igara Svet kompjutera Copyright © 1984-2018. Politika a.d. • Redakcija | Kontakt | Saradnja | Oglasi | Pretplata • Help • English | |
SKWeb 3.22 |