Linux könyvtárak

Majdnem minden Linux program használja ugyanazt a szabványos funkciók, például a fájl eléréséhez, megjelenik a kép a képernyőn, támogatja a Hit. . Stb lenne praktikus rögzíteni az összes ezeket a funkciókat közvetlenül a kód nem a legnagyobb programot -, akkor a program files válna óriási. Ehelyett a legtöbb Linux szoftver utal az úgynevezett megosztott könyvtárakat: amikor a program automatikusan betölti és a szükséges könyvtárakat. Mi az előnye? Ha több program használja a funkciókat az ugyanabban a könyvtárban, a könyvtár kell letölteni csak egyszer.

A könyvtárak fontos szerepet játszanak, amikor meghatározzák, hogy mely programokat lehet futtatni a számítógépen. Ha nincs egyetlen könyvtárból (vagy csak egy régebbi verzió), akkor mindjárt az elején a program hibaüzenetet jelenít meg. Ebben az esetben, ha nem hagyjuk magukra a mélyben Linux, ebben a részben alapvető információkat fog nyújtani a könyvtáraknak.

Dynamic Link programok segítségével linkeket. A legtöbb Linux munkahelyi programok fordul a megosztott könyvtárakat. Tehát mentse lemezterület (bináris fájlok tömörek programok) és a memória terhelés kisebb (mert ugyanaz a kód nem szükséges, hogy a hajó több alkalommal). Megjegyzés programozók dolgoznak használható Windows: megosztott könyvtár hasonló a DLL - dinamikus csatolású könyvtárak.

Formátumok és változatai könyvtárak


Története során többször módosított Linux a könyvtárban, amely éppoly alapvető azok nem állnak egymással. Az ilyen változások közé tartozik például, cseréje a.out formátum ELF vagy csere könyvtár libc 5-ös verzióját a glibc-t 2.p, és az utóbbi lehet kezelni és hogyan kell libc 6 (jelenleg releváns változata glibc 2.10).

Mindkét esetben a csere könyvtár műszakilag indokolt. Új formátumok vagy változat lehetővé teszi, hogy könnyebben kezelheti a könyvtárak és funkciók minél teljesebb körű interoperabilitást a különböző Linux platformon (Intel, a Sun-Sparc, december-alfa) és így tovább.

Azonban, ha felváltja a problémákat, amelyek a tény, hogy a bináris lehet végrehajtani, ha a rendszer rendelkezik a szükséges könyvtárak és a rendszer meg tudja találni őket. Ha megpróbálja futtatni a programot, a régi glibc és forgalmazás, amely nem támogatja a glibc, akkor kap rejtélyes hibaüzenetek az alábbiak szerint:

Megjegyzés


Tekintettel arra, hogy jelenleg a problémákat támogatásával glibc, a közelgő változata Debian Squeeze várhatóan használni nem eredeti glibc könyvtárral és teljes mértékben kompatibilis könyvtár eglibc.

Automatikus betöltés könyvtárak


Ha működik a Linux csak a felhasználó, és nem mint egy programozó, akkor a találkozás a könyvtárak csak akkor, amikor egy részük nem lesz megvalósítható. Általában ezek a problémák merülnek fel, amikor új programot telepít fokozatosan. Amikor megpróbál futtatni egy hibaüzenetet jelenít hiányáról adott könyvtárban. Gyakran a legújabb változat a program hivatkozik a legújabb verzióra az érintett könyvtárak, hogy esetleg még nincs telepítve. A régebbi programok valószínűleg az ellenkező esetben. Talán még mindig olvassa el a régebbi könyvtárat, amely nem támogatja a forgalmazás.

Meghatározása a könyvtár lista


ldd parancs átadva paraméterként, amely hozzáadódik a teljes nevét a program. Erre válaszul ldd felsorolja az összes könyvtárat, amelyek szükségesek a program futtatásához. Ezen kívül azt jelzi, ha van egy megfelelő könyvtárat, és milyen könyvtárak állnak rendelkezésre csak a régebbi verzió.


Mivel a program X- KDE- és Gnome, itt van egy lista a könyvtárak sokkal kiterjedtebb. Ez az oka, hogy ezek a programok futnak sokáig.

nevét könyvtárak

Egy összefoglaló a nevét a könyvtárak: a záró .so azt jelzi, hogy van dolgunk egy megosztott könyvtár, okonchanie.a meghatározza egy statikus könyvtár. Az alábbi ábra mutatja a fő verziószám. Pl ls igényli a könyvtár libc 6-os verzió.

Katalógusok, amelyek általában található könyvtár (például / lib, / usr / lib, / usr / local / lib, / usr / XHR6 / lib és / opt / lib), gyakran tartalmaznak kapocs az alapváltozat a könyvtárban, hogy a számítógépre telepített. Így cp (cm. Fent) szükséges könyvtár LD-Linux-x68-64.so.2. Valójában azonban a számítógépen futó változata ld-2.9.so, kompatibilis „alulról felfelé”.

futó programok

Amikor futtatja a programot meg kell találni, és töltse le az összes könyvtárat - felelős az úgynevezett futásidejű linker. Ez figyelembe veszi az összes könyvtárat meghatározott környezeti változó LD elérési úton. Ezek a könyvtárak kettősponttal elválasztva.

Ezen túlmenően, a kapcsoló értelmezi /etc/ld.so.cache fájlt. Ez egy bináris fájl, amely tartalmazza az összes fontos információt a könyvtárban (verziószám, hozzáférési lehetőség, és így tovább. D.). Ő csak akkor kell időt takarít meg, hogy a szerkesztő egyébként fordított keresési könyvtárak.

/etc/ld.so.cache fájl jön létre az ldconfig programot, ami viszont úgy értelmezi a /etc/ld.so.conf-ban. Ez a fájl általában tartalmaz egy listát az összes könyvtári katalógusok, illetve listáját linkeket más fájlokat könyvtárakat (könyvtárak / lib és / usr / lib figyelembe veszik minden esetben, és ezért hiányzik ld.so.conf vagy más konfigurációs fájlokat. Ha nem a / lib és / usr / lib nem kell figyelembe venni azokat a könyvtárakat, ld.so.conf általában elhagyható).

Néhány terjesztés ldconfig parancs végrehajtása a számítógép minden egyes indításakor, annak érdekében, hogy a legfrissebb állapotát a fájlba. Meg mindig el kell végezni azokban az esetekben, amikor kézzel telepíteni egy új könyvtárat, különben a rendszer nem fogja „látni” a könyvtárak. Ha a könyvtárak találhatók az új könyvtárat, meg kell, hogy megfelelően kiegészítik az / etc / ld.so.conf. Amikor telepíti a csomagot a könyvtárak e feladatok általában végzett a csomagkezelő.

32- és 64-bites könyvtárak

A leggyakoribb eloszlások jelenleg nem létezik legalább két szerelvény változatok: 32 bites processzorok kompatibilisek az Intel / AMD, mind a 64 bites processzorok, amelyek kompatibilisek az Intel / AMD. Természetesen, a 32 bites processzorok csak a 32-bites könyvtárakat. Azonban nem számít, mennyire sajnálom, ugyanez nem mondható el a 64 bites Linux disztribúciók: volt és marad a program, amely nem gyűjtötték össze a 64 bites rendszereket. A legismertebb program a maga nemében - Acrobat Reader az Adobe.

Elvégzésére a 32 bites programok 64 bites Linux disztribúció, akkor kell egy 32 bites könyvtárakat. Ahhoz, hogy elkerüljék, könyvtárak vannak telepítve különböző könyvtárakban. Szakemberek körében Linux, ezt a módszert nevezik multiarhitektura, vagy bi-architektúra által támogatott több párhuzamos (vagy kettő) architektúra processzorok. A legtöbb disztribúció előfordulhat katalógusok / lib32 vagy / I64, így nem keverednek könyvtárak különböző bit mélységben. Ez a kettősség természetesen együtt jár bizonyos hátrányai: ha telepíti számos könyvtár két példányban töltött több lemezterület, továbbá a bonyolult támogatást.

Prelinking

Amikor futtatja a programot, hogy hozzáfér egy dinamikus könyvtár, meg kell közötti kapcsolat létrehozása a program és a könyvtárak. Ezt a folyamatot nevezik kötődést. Amikor dolgozik komplex programok kötő tölteni egy csomó időt.

Ezt követően minden egyes ily módon előállított a program automatikusan a könyvtárak sokkal gyorsabb, és így gyorsabban fusson. Ez a gyorsulás Különösen figyelemre méltó az OpenOffice és a KDE programokat futtatni, ami most ritkábban, mint fele annyi idő alatt, mint korábban. Mindenesetre, az előzetes kötési adatok frissíteni kell minden frissítés könyvtárban.

Prelinking van egy másik hátránya - ez a művelet módosítja a futtatható fájlokat valamennyi program és a könyvtárak. Ezen felül, akkor nem lesz képes a integritását ezeket a fájlokat (vagyis nem lehet biztos abban, hogy a telepítés után a fájlok marad). Bármikor visszavonhatja bármilyen változás történik a pre-kötő keresztül prelink -ua csapat.

Debian, Ubuntu. Ahhoz, hogy a pre-kötő, telepíteni kell a prelink csomagot, és állítsa be az / etc / default / prelink konfiguráció PRELINKING = yes. Prelinking kerül sor naponta, mint az egyik Cron feladat.

Red Hat, Fedora. Pre-kötési funkció alapértelmezés szerint. Az adatokat rendszeresen frissítik (a feladat Cron /etc/cron.daily/prelink, a konfigurációs fájl / etc / sysconfig / prelink).

SUSE. Annak érdekében, hogy előre kötelező telepíteni kell a prelink csomagot, és adja meg a fájl a / etc / sys-config / prelink konfiguráció PRELINKING = yes. Akkor prelink fog futni YaST modul telepítése után az új program, vagy könyvtár (/sbin/conf.d/SuSEconfig forgatókönyv. Prelink).
Is olvasható:
Mint önálló összeállított programok

Kidolgozásával kapcsolatos szolgáltatások oldalak MODx

MODx olyan program, amit használni kell fejleszteni minden weboldalunkon.

MODx lehetővé teszi, hogy teljes mértékben ellenőrzése alatt a használt tartalom az oldalon, akkor hozzáadni, törölni, módosítani, és szerkesztheti a tartalmat, amit akar, akkor teljes mértékben kezelheti a honlapján.

Szakmai web fejlesztés MODx, finomítás és támogatása oldalak. létrehozása és befejezése online áruházak MODx.

Kapcsolódó cikkek