Meet hívás és az Üzleti email: info@blackpanther.hu

Programcsomag-, rendszer-konzisztencia

blackPanther Projekt Alkalmazások Programcsomag-, rendszer-konzisztencia

Programcsomag-, rendszer-konzisztencia

Szerző: Adminisztrátor

Itt vagy most:

Bármilyen operációs rendszer stabilitásának, biztonságos működésének az alapja az, hogy a rendszerben használt programcsomag összetevők, programok, szolgáltatások egymással tökéletes harmóniában együttműködjenek. Ehhez nem elegendőek csak a jó minőségű szoftverek.

A Linux alapú rendszereknél úgy épül fel az egész rendszer, hogy az adott szoftverkomponensek, hierarchikus módon egymásra épülnek, tehát függnek a másiktól (szoftver, illetve a csomagfüggőség néven ismerhetjük). Ez a Windows esetében részben van így, és csak az alaprendszerre igaz, egyébként a Windows rendszerekben számos azonos statikus vagy dinamikus komponens (DLL) előfordulhat különböző helyeken, amelyek egy program futtatásához szükségesek. Ezért is van a Windows alapú rendszereknek olyan brutális helyigényük.

A Linux alapú rendszereknél ez kissé másképp van.

A rendszer úgy épül fel, hogy GLIBC-től a futó programig, megosztott programkönyvtárak  (LIBRARY) sorának felhasználásával kerül lefordításra (forrásból->bináris) egy alkalmazás. Tehát egy, már konzisztens rendszeren a forrásból fordított alkalmazás (és a megosztott programkönyvtárak megtartása mellett), nem csak konzisztens az alaprendszerrel, de teljes mértékben függ is az alaprendszerben elérhető komponensektől (library-któl  /libektől/).

A konzisztenciát a lefordított program összes komponensének tömörítésével és egyetlen „önkicsomagoló” állományba tárolásával tartjuk fenn.

A blackPanther OS esetében az RPM csomagformátumot használjuk és LZMA/XZ használatával tömörítjük a programokat, a tároláshoz.  A csomagformátum gyakorlatilag mindegy, hogy RPM vagy DEB, TGZ, ezeknek a fejlesztő szemszögéből van nagy jelentősége, mert a kezelésük, információkészségük, és a méretük meghatározó a rendszer építéskor. Az összes közül az RPM formátum messze fejlettebb és több lehetőséget biztosít mint a többi csomagformátum.

Egy példa, egy egyszerű programcsomag információinak lekérésére

Nem utolsó sorban az eredeti forráscsomagokat is RPM-ben tárolja! Tehát bármikor elővehető, és telepítésük megoldja egyúttal a chroot környezet függőségkezelését is, hogy a forráskód azonnal binárissá fordítható legyen.

A konzisztencia, és ezáltal a rendszer stabilitás fenntartása, a ‘hegesztés’ nélküli használat alapja nem más, mint a tökéletes alkalmazáscsomagok elkészítése. Azoknak a felépítésére és legyártására a blackPanther-projekt egy teljesen egyedi, külön policy-t dolgozott ki.

A csomagalapú konzisztencia fenntartása nagyon összetett feladat, mert egy adott program nem csak rendszer-összetevőkre, hanem más programcsomagokra, azok pedig újabbakra, hivatkoznak.  Egy program felépítése nem csak abból áll, hogy vagy telepítjük a GIMP-et (példa) – vagy nem -, hanem, a telepítéssel exponenciális folyamatokat indítunk el, és ezen folyamatok együttműködésének a végeredménye, ha telepíthető lesz az adott szoftver.

Figyelem, türelem, precizitás

A programcsomag készítés folyamatának a bonyolultságát, és a fejlesztéshez szükséges precizitást az alábbi képi példában is szereplő, és mindenki által ismert GIMP alkalmazással prezentálom! Kattints a képre, tovább nagyítható 4K-s kép.

Legfelül a piros pont a GIMP amit te csak egy ikonként ismersz! A háló a programcsomag kapcsolatokat mutatja a telepíŧett rendszeren… Ha ezek a kapcsolatok megvannak, csak akkor működig a program.

Tudtad?! A blackPanther OS verziókban ~25.000 konzisztens programcsomag van! Ezt a konzisztenciát kb, 70.000 csomag legyártásával érhetjük el…

blackPanther varázsló
Grafikus információk

A csomagkészítés egy összetett és nagy figyelmet igénylő feladat!

A megosztott programkönyvtárak miatt csak olyan rendszerrel lehet kompatibilis egy megosztott programkönyvtárakra épülő programcsomag, amely azonos verziójú programkönyvtárakat használ, és azok a rendszerben vagy a tárolóban elérhetőek. Egyébként érvénytelen függőségi vagy fájlkonfliktus alakul ki. Ezek a csomagok csak kényszerítéssel telepíthetőek, de az ilyen művelt a teljes rendszer összeomlását is okozhatja!

Hibás, idegen, inkonzisztens programcsomagok

Egy idegen rendszer programcsomagja, inkonzisztens a rendszerrel, és érvénytelen függőségi hibák sorozatát produkálja

Az ilyen programokat fejlesztői háttérismeretek nélkül semmiképp se telepítsük.

Egy szabályosan feltelepíthető programcsomag ilyen „választ” ad!

Ezt telepíthetjük

Hivatalos, hitelesített csomagok

A kész, tehát biztonságosnak és konzisztensnek jelölt csomagokat digitális aláírással látjuk el, és a saját hitelesítőkulcsunkkal írjuk alá. Amennyien egy programcsomag nincs hitelesített kulccsal ellátva, akkor a telepítőprogram értesítést küld a felhasználónak, hogy különös figyelemmel kell kezelnie az adott programot, mert azt a blackPanther Projektnél nem ellenőrizték, és nem kapott digitális aláírást. Az ilyen programok a harmadik féltől származó: RPM, AppImage, Flatpak, Snap csomagok, illetve a tömörített archívumokban, vagy bin állományokból futtatható bináris programok.

És ennél a telepítési részletnél három lényeges dologra hívnám fel a laikusok figyelmét! Összevetve a Debian vonallal:

  1. Az RPM csomag, és csomagkezelő motor által felkínált csomaglista áttekinthetősége (feljebb), és a lejjebb látható képen az Ubuntu (Debian, LinuxMint káosz) telepítő által kínált információk közti különbségeket
  2. A blackPanther OS-re majd miden esetben jellemző egyediséget is tükröző csomagméretbeli (265MB) különbségeket az alább látható Ubuntu telepítés méretével szemben (109MB).
  3. Az összmennyiség tömörítési arányára! Ez rendszer szinten óriási méret különbség amiben a Debian alapú rendszerek messze lemaradnak.
Ubuntu- programcsomag
Ubuntu-ra telepítés nézete…

Ebből is láthatod, hogy a blackPanther OS alapprogramjai mennyivel több szolgáltatást, kényelmet és lehetőséget biztosítanak számodra.

A megosztott (shared library) felépítés hátránya, hogy egy olyan kompones cseréje amely fontos összetevőket biztosít, a teljes rendszer működésére kihathat. Ezért sok esetben nem lehet „bűntelenül csak úgy” kiemelni egyetlen library-t vagy akár háttérprogramot sem. Persze van minimális tolerancia a programok tekintetében, de hozzáértés nélkül rendszer-állományokat piszkálni, rendszer-összeomláshoz vezet.

Firefox: forrásból -> binárist tartalmazó, telepíthető RPM csomaggá

Egy óra egy percben!

Hegyjegyzés: Ez a tudásanyag nem parancsokról, parancs nevekről, főleg nem ‘alias’-ról szól, hanem arról, hogy a rendszerbe hogyan illeszkednek a programok, hogy áll össze egy disztribúció, és hogy tartható kézben a rendszered! Ha ezt nem tudod értelmezni, számodra az alábbi oldalt tudom javasolni: Alapok

Hozzászólások lezárva

Megújult márkaoldalunk a Facebook-on! Hírekkel, értesítésekkel, különlegességekkel..

Látogatás oda

Error: Please enter a valid email address

Error: Invalid email

Error: Please enter your first name

Error: Please enter your last name

Error: Please enter a username

Error: Please enter a password

Error: Please confirm your password

Error: Password and password confirmation do not match