Zhvilluesit e projektit openSUSE publikuan versionin e instaluesit Agama 10, i cili po zhvillohet për të zëvendësuar ndërfaqen klasike të instalimit të SUSE dhe openSUSE, dhe që shquhet për ndarjen e ndërfaqes së përdoruesit nga komponentët e brendshëm YaST. Agama ofron mundësinë e përdorimit të front-eve të ndryshme, për shembull, një front për menaxhimin e instalimit përmes ndërfaqes web. Për testimin e instaluesit të ri janë formuar live-bashkime për arkitat x86_64, ppc64le, s390x dhe ARM64, që mbështesin instalimin e versionit alfa të openSUSE Leap 16, një ndërtime të përditësuar vazhdimisht të openSUSE Tumbleweed dhe edicionin MicroOS të bazuar në kontejnerë. 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 përfshijnë eliminimin e kufizimeve ekzistuese të ndërfaqes grafike, zgjerimin e mundësive për përdorimin e funksionalitetit YaST në aplikacione të tjera, largimin nga varësia në një gjuhë programimi dhe stimulimin e krijimit të konfigurimeve alternative nga përfaqësuesit e komunitetit. Instaluesi përmban funksione si zgjedhja e një grupi fillestar aplikacionesh, konfigurimi i lidhjes rrjet, gjuhës, tastierës, zonës kohore dhe parametrave të lokalizimit, përgatitja e pajisjes së ruajtjes dhe ndarja e disqeve, si dhe shtimi i përdoruesve në sistem.
Për instalimin e pakove, kontrollimin e pajisjeve, ndarjen e disqeve dhe funksione të tjera të nevojshme gjatë instalimit, Agama vazhdon të përdorë bibliotekat YaST, mbi të cilat janë implementuar shërbime-mesfuqie që abstrahojnë qasjen në biblioteka përmes një protokolli komunikimi të unifikuar mbi HTTP. Instaluesi përdor një arkitekturë shumë-procesore, duke siguruar që ndërfaqja e hyrjes së përdoruesit të mos bllokohet ndërkohë që ekzekutohen punë të tjera. Ndërfaqja kryesore për menaxhimin e instalimit është ndërtuar duke përdorur teknologji web. Ndërfaqja web është shkruar në JavaScript duke përdorur kuadri React dhe komponentët PatternFly. Një shërbim për shkëmbimin e mesazheve, si dhe një server http i integruar, i shkruar në gjuhën Ruby.
NĂ« versionin e ri:
- ĂshtĂ« shtuar mundĂ«sia e gjenerimit tĂ« njĂ« kodi QR qĂ« pĂ«rmban njĂ« lidhje pĂ«r hapjen e ndĂ«rfaqes web tĂ« instaluesit nĂ« shfletues, duke lehtĂ«suar lidhjen me instaluesin nga njĂ« smartphone.

- Shtohen komponentet për theksimin e sintaksës, të përdorura kur redaktohet skedari i konfigurimit në formatin JSON me komandën «agama config edit». Për editim, për defaut, thirret Vim (mund të specifikohet çdo editor tjetër përmes variablit mjedisor EDITOR).

- NĂ« modin e instalimit automatik, Ă«shtĂ« implementuar mundĂ«sia pĂ«r tĂ« krijuar grupe volumin LVM, pjesĂ« logjike LVM, si dhe pishina dhe pjesĂ« LVM me ndarje dinamike tĂ« hapĂ«sirĂ«s nĂ« ruajtje (thin provisioning). PĂ«rdorimi i pjesĂ«ve logjike dhe grupeve volumin tĂ« ekzistuara nuk mbĂ«shtetet ende. JanĂ« shtuar dy moda pĂ«r fshirjen automatike tĂ« pjesĂ«ve â fshirje pa kushte dhe fshirje vetĂ«m kur Ă«shtĂ« e nevojshme (kur sâka mjaft hapĂ«sirĂ« pĂ«r tĂ« krijuar kĂ«to pjesĂ« tĂ« specifikuara).
- Një parametër ngarkimi «agama.install_url» është shtuar, përmes të cilit mund të specifikohet URL i repo-s për instalimin e paketave, të ndryshëm nga repoja e specifikuar në konfigurim.
- ĂshtĂ« dhĂ«nĂ« mundĂ«sia e zhvillimit tĂ« componenteve tĂ« ndĂ«rfaqes web tĂ« instilatorit nĂ« gjuhĂ«n Typescript. NĂ« tĂ« ardhmen, zhvilluesit kanĂ« pĂ«r qĂ«llim tĂ« transferojnĂ« gradualisht kodin nga JavaScript nĂ« Typescript sipas nevojĂ«s.
- Në ndërfaqen web për menaxhimin e gjendjes në mënyrë asinkrone, është përdorur framework-u TanStack Query.
- Masa e ruajtjes, e disponueshme për instalimin e paketeve shtesë pas ngarkimit në modin Live, është zgjeruar nga 500 MB në 3.5 GB.
- Për testimin automat të ndërfaqes web, në vend të sistemit Playwright është përdorur biblioteka JavaScript Puppeteer.
- Komponentët e menaxherit të instilatorit, të thirrur nga linja e komandës, janë transferuar nga DBus në përdorimin e klientit HTTP, i cili komunikon me serverin HTTP të integruar në instilator.
Burimi: opennet.ru


