Zhvilluesit e projektit openSUSE publikuan lëshimin e instaluesit Agama 10, i cili po zhvillohet për të zëvendësuar ndërfaqen klasike të instalimit të SUSE dhe openSUSE, dhe është i njohur për ndarjen e ndërfaqes së përdoruesit nga komponentët e brendshëm YaST. Agama ofron mundësinë e përdorimit të frontend-eve të ndryshëm, për shembull, një frontend për menaxhimin e instalimit përmes ndërfaqes web. Për testimin e instaluesit të ri janë formuar build-e live për arkitekturat x86_64, ppc64le, s390x dhe ARM64, që mbështetin instalimin e versionit alfa të openSUSE Leap 16, ndërtimit të vazhdueshëm të openSUSE Tumbleweed dhe edicionit MicroOS mbi bazën e kontejnerëve. Kodi i komponentëve të instaluesit shpërndahet nën licencën GPLv2 dhe është shkruar në gjuhët Ruby, Rust dhe JavaScript/TypeScript.

Qëllimet kryesore të zhvillimit të Agama-s janë eliminimi i kufizimeve të pranishme në ndërfaqen grafike, zgjerimi i mundësive për përdorimin e funksionalitetit YaST në aplikacione të tjera, shmangia e varësisë nga një gjuhë programimi dhe inkurajimi i krijimit të cilësimeve alternative nga anëtarët e komunitetit. Instaluesi përmban funksione si zgjedhja e një grupe fillestar aplikacionesh, konfigurimi i lidhjes rrjetore, gjuhës, tastierës, zonës kohore dhe parametrave të lokalizimit, përgatitja e paisjeve të ruajtjes dhe ndarja e partiicioneve, shtimi i përdoruesve në sistem.
Për instalimin e pakove, kontrollin e pajisjeve, ndarje të disqeve dhe funksioneve të tjera të nevojshme gjatë instalimit në Agama vazhdojnë të përdoren biblioteka YaST, mbi të cilat janë implementuar shërbimet ndërmjetëse që abstragojnë aksesin në biblioteka përmes një protokolli komunikimi të unifikuar mbi bazën e HTTP. Në instalues përdoret një arkitekturë shumëprocesore, e cila mundëson që ndërfaqja e ndërveprimit me përdoruesin të mos bllokohet gjatë ekzekutimit të punëve të tjera. Ndërfaqja bazë për menaxhimin e instalimit është ndërtuar duke përdorur teknologji web. Ndërfaqja web është shkruar në JavaScript duke përdorur kuadrin React dhe komponente PatternFly. Shërbimi për shkëmbimin e mesazheve, si dhe serveri http i ndërtuar, janë shkruar në Ruby.
Në këtë version të ri:
- Shtuar mundësia e gjenerimit të QR kodit, që përmban një lidhje për të hapur ndërfaqen web të instaluesit në shfletues, e cila thjeshton lidhjen me instaluesin nga smartfoni.

- Shtuar komponentë për ndriçimin e sintaksës, të përdorura gjatë redaktimit nga ekipi «agama config edit» të skedarit të konfigurimit në formatin JSON. Për redaktim të paracaktuar thirret Vim (përmes variablës së mjedisit EDITOR mund të caktohet ndonjë redaktor tjetër).

- NĂ« modin e instalimit automatik Ă«shtĂ« realizuar mundĂ«sia pĂ«r krijimin e grupeve tĂ« pjesĂ«ve LVM, pjesĂ«ve logjike LVM, si dhe pĂ«r rezervat dhe pjesĂ«t LVM me ndarje dinamike tĂ« hapĂ«sirĂ«s nĂ« ruajtje (thin provisioning). PĂ«rdorimi i pjesĂ«ve logjike dhe grupeve ekzistuese ende nuk mbĂ«shtetet. Shtuar dy mĂ«nyra pĂ«r fshirjen automatike tĂ« pjesĂ«ve â fshirje e pakushtĂ«zuar dhe fshirje vetĂ«m kur ka nevojĂ« (kur nuk ka mjaft hapĂ«sirĂ« pĂ«r krijimin e pjesĂ«ve tĂ« specifikuara).
- Shtuar parametri i ngarkesës «agama.install_url», përmes të cilit mund të caktohet URL e depove për instalimin e paketave, ndryshe nga depoja e caktuar në konfigurim.
- Ofrohet mundësia për zhvillimin e komponentëve të ndërfaqes web të instaluesit në gjuhën Typescript. Në të ardhmen, zhvilluesit kanë në plan të transferojnë gradualisht kodin nga JavaScript në Typescript sipas nevojës.
- Në ndërfaqen e web-it për menaxhimin e statusit në modin asinkron, përdoret framework-u TanStack Query.
- Madhësia e depozitës së disponueshme për instalimin e paketave të tjera pas ngarkimit në modin Live është zgjeruar nga 500 MB në 3.5 GB.
- Për testimin automatizuar të ndërfaqes web, në vend të sistemit Playwright, është përdorur biblioteka JavaScript Puppeteer.
- Komponentët e kontrollit të instaluesit, që aktivizohen nga linja e komandës, janë transferuar nga DBus në përdorimin e klientit HTTP, që lidhet me serverin HTTP të integruar në instalues.
Burimi: opennet.ru


