„Project Crostini“ dėka „Linux“ programos netrukus bus pasiekiamos „Chrome“ OS, pradedant „Google Pixelbook“. Kas yra Crostini ir kodėl jis toks svarbus? Pasineriame į didžiausią „Chrome“ OS pakeitimą po „Android“ programos integravimo.
Štai viskas, ką jums reikia žinoti apie metus trukusį „Google“ slaptą „Linux“ programos funkcijų kūrimą „Chrome“ OS, taip pat žinomą kaip „Project Crostini“.
Trumpai tariant, tai yra būdas paleisti įprastas „Linux“ programas „Chrome“ OS nepakenkiant saugumui ir neįjungiant kūrėjo režimo. (dar nepasiekiamas) oficialios nuostatos kad jis skirtas „Paleisti Linux įrankius, redagavimo priemones ir IDE savo Chromebook“.
„Crostini“ yra kelerių metų kūrimo kulminacija, kuri leido funkcijoms veikti pakankamai saugiai, kad atitiktų aukštus „Chrome“ OS saugumo standartus. Norint suprasti, kodėl tai tik pasirodo, geriausia pažvelgti į tai, kas buvo anksčiau.
„Crostini“ įtraukimas į kontekstą – tamsieji „Chrome“ OS amžiai
Prieš pasirodant „Android“ programoms, „Chrome“ OS funkcionalumo neprisijungus nebuvo daug, jau nekalbant apie naudingas produktyvumo programas. Kodėl bet kuris sveiko proto žmogus turėtų pirkti „Chromebook“? „Tai tik žiniatinklio naršyklė“, – tokia buvo kiekvienos „Chromebook“ apžvalgos baigiamoji pastaba. „Chrome“ internetinės parduotuvės buvo tiek, kiek galite gauti, tačiau programų pasirinkimas buvo gana prastas ir retai atnaujinamas. Nuotykių ieškotojai galėtų pabandyti paleisti „Android“ programas naudodami įrankį, vadinamą
ARC suvirintojas, bet tai buvo netikėta, o našumas buvo prastas.Kad išvengtų neprisijungus taikomų apribojimų, nusivylę naudotojai išvalė „Chrome“ OS ir įdiegė „Linux“ arba naudojo atvirojo kodo įrankį Krutonas nustatyti vienu metu veikiančią darbalaukio aplinką [pvz., Ubuntu Unity], veikiančią „Chrome“ OS branduolio viršuje.
Norint paleisti pakaitinį GNU/Linux distribuciją arba Crouton, reikėjo nemažai žinių ir dažnai buvo apstu klaidų – ir nė viena parinktis nebuvo ypač patogi ar saugi. Paspauskite neteisingą klavišą ir nuvalysite įrenginį arba jį užblokuosite, o jei palikote savo Crouton aplinką nešifruotą, bet kuris svečias vartotojas galės jį pasiekti.
„Android“ programos integravimas, sukuriantis precedentą
2016 m. „Android“ programos buvo įdiegtos „Chrome“ OS ir buvo didžiulis šuolis neprisijungus veikiančių funkcijų srityje, tačiau šios funkcijos įgalinimas nebuvo tik „plug-and-play“. Vienintelis būdas, kaip jis galėtų veikti naudojant OS, kuri vertina saugumą, buvo veiksmingai pritaikyta smėlio dėžei.
Naujas sprendimas, kurį pasirinko „Chrome“ OS kūrėjai konteinerizavimas, būdas sujungti programas į atskirus vykdomuosius paketus. Naudodami konteinerį ir daugiau nei keletą pakeitimų, jiems pavyko gauti visą Android aplinką ir viskas jos priklausomybės veikia konteineryje, atskirtame nuo likusios „Chrome“ OS, tačiau veikia toje pačioje branduolys.
Tačiau „Android“ programos paprastai nėra kuriamos atsižvelgiant į stalinio / nešiojamojo kompiuterio formos veiksnį. Įtraukite į „Chrome“ OS prastą prisilietimą ir gausite varginantį produktyvumo seansą, jei programos apskritai veikė.
Nors iki šiol „Android“ programos padėjo užpildyti produktyvumo atotrūkį, vis tiek buvo trokšta didžiulės visų darbalaukio programų bibliotekos. Kaip ir su pradine „Android“ problema, tiesiog atversite galimybę paleisti „Linux“ programas padidinti „Chrome“ OS atakos paviršių, nes kenkėjiškos programos gali pasiekti viską, kas yra pagrindinio kompiuterio OS. Taigi šį kartą kūrėjai suprojektavo „Linux“ programos funkcionalumą kuo labiau sumažintą, papildydami tai, ką jau išmoko naudodami „Android“.
Gynyba giliai
Kaip rodo pavadinimas, „Crostini“ yra kaip „Crouton“, tačiau užuot turėjusią nesaugią vartotojo erdvę šalia „Chrome“ OS, tarp jų yra dvi sienos. Pirmoji siena yra „Termina VM“, „Chrome“ OS KVM (branduolinės virtualios mašinos) diegimas. Paleidus VM, ji pastato antrą sieną – konteinerį, kuriame yra programa, kurią iš tikrųjų norite paleisti. Taigi, kai norite paleisti visavertę „Klondike“ darbalaukio programą, ji veikia talpykloje VM.
Kūrėjai nepadarė viešai prieinamos dokumentacijos ypač lengvai virškinamos ne techniniu požiūriu, bet mano neoficialaus profesionalo supratimu, programinė įranga „Chrome“ OS architektūra dabar tikriausiai atrodo taip [pastaba: viskas veikia mano, tikrai ne oficialus „Chrome“ OS komandos dokumentas, tikriausiai visiškai netiesa, prašau ne įskaudink mane]:
Trumpai tariant, VM komponentas turi atskirą vartotojo erdvę ir virtualius įrenginius (vCPU, IP, MAC ir kt.), o konteineris yra supakuota programa, kuri naudoja tuos išteklius. Šiuo metu turėčiau pridėti įspėjimą, kad VM komponentas iš tikrųjų nemėgdžioja jokios aparatinės įrangos.
Tik turtingi žmonės... kol kas
Kai kurie, pavyzdžiui, „Reddit“ bendruomenė /r/Crostini, jau pradėjo dirbti su Crostini „Google Pixelbooks“.. Deja, „Pixelbook“ yra vienintelis įrenginys, turintis „Crostini“ funkcijas, tačiau ženklai rodo, kad kiti įrenginiai, net ir tie, kuriuose yra ARM sistemos mikroschemos, ateityje sulauks palaikymo. Bet galbūt dar ne visai 32 bitų mašinoms. Taip pat yra užuominų, kad kai kurios VM funkcijų dalys reikalingos norint paleisti „Crostini“. nebus pasiekiamas įrenginiuose su senesnėmis branduolio versijomis.
Jei pasiekėte taip toli, tikriausiai kyla klausimas: ką aš galiu bėgti? Sėkmė buvo ribota. „Chrome“ kūrėjai užsiminė, kad juose veikia „Visual Studio“. „Reddit“ naudotojai pradėjo veikti WINE ir „Android Studio“, o „ChromeUnboxed“ padėjo vaizdo demonstracija. Tačiau tikriausiai nesužinosime visų galimybių ir apribojimų, kol „Google“ iš tikrųjų ką nors nepademonstruos. Ką mes žinome, tai programos yra nuolatinės, tai reiškia, kad galite tęsti ten, kur baigėte, o kūrėjai stengiasi, kad jos būtų pasiekiamos jūsų naujausių programų sąraše.
Kas toliau? Keletas punktų, į kuriuos reikia atsižvelgti
Jei naudojate kūrėjo kanalą naudodami ne „Pixelbook“, o „Chromebook“, gali būti, kad „Chromebook“ įrenginyje buvo įdiegta terminalo programa. Galite matyti klaidą „Nepavyko paleisti konsjeržo“. Taip yra todėl, kad VM funkcijos dar nebuvo įjungtos kituose įrenginiuose, išskyrus „Pixelbook“.
Dar nežinome, kaip paskirstomi ištekliai ir kokias pridėtines išlaidas sukuria šios įdėtos programos. Idėja žaisti su „Linux“ suderinamuose „Steam“ žaidimuose yra viliojanti, tačiau jei GPU spartinimo funkcija nepasiekiama, kol kas tai nėra verta.
Nežinome, kokius apribojimus sukurs pagrindinio / konteinerio oro tarpas (jei toks bus). Ryšys tarp sudėtinio rodinio ir „Chrome“ OS yra valdomas, taigi, tai įves delsą ar net išjungs kai kuriuos išorinius įrenginius?
Turime daug neatsakytų klausimų, ir tik laiko klausimas, kol viskas bus atskleista. Daugelis įsitikinę „Google I/O“, 2018 m po kelių savaičių bus didelis atskleidimas – tai prasminga, nes tai kūrėjų konferencija. Tuo tarpu sekite informaciją apie Crostini.
Šaltiniai:
Maksim Lin – „Chrome“ OS konteineriai
Chromium Git – ARC konteinerių paketas, vm_tools, projektas-terminalas, crosvm