Prelink (vagy hogyan lehet 3 másodperc alatt elindítani a KDE-t)

Előhivatkozás olyan program, amelynek segédprogramja a programok gyorsabb megnyitása. Bár ennek magyarázata egy teljes cikket megérne, nagyjából azt mondhatjuk, hogy megmondja a binárisnak, hogy hol keresse meg először a betölteni kívánt dinamikus könyvtárakat.

Képzeljük el, hogy van egy bináris fájlunk, amely a QtCore könyvtártól függ, miután végrehajtottunk rajta egy előzetes linket, először a prelink által kijelölt helyen keres, és abban az esetben, ha nem találja meg (egy frissítés, például példa) a hagyományos módon fogja megkeresni.

Az előcsatlakozás bármely POSIX-kompatibilis rendszeren működik, például a GNU / linuxon vagy a BSD-ken.

Hogyan alkalmazzuk az előlinket

A rendszer prelinkkel történő optimalizálása meglehetősen egyszerű, optimalizálhatunk egy bináris fájlt (root-ként):

prelink binario

De a teljes rendszer optimalizálásához végre kell hajtanunk:

prelink -amvR

Valami ilyesmit fog látni:

Előhivatkozás

Előhivatkozás

Itt van egy részletes magyarázat a paraméterek jelentésére:

  • a: egyenlő –minden, az egész rendszerre alkalmazhatóvá teszi
  • m: egyenértékű a –konzerv-memóriával, működésének magyarázata összetett, de helyet takarít meg
  • v: egyenértékű a –verbose értékkel, lehetővé teszi számunkra, hogy megtudjuk, melyek az előre összekapcsolt könyvtárak
  • V: A -véletlen értékkel egyenértékű, növelje a biztonságot azáltal, hogy egy értéket véletlenszerűen tesz. Nem tudom a működésének részleteit
A terminál Yakuake, hátha valakit érdekel.

A bináris fájl előzetes összekapcsolásának visszavonása (leválasztása)

prelink  -u

Az egész rendszer:

prelink -au

Számos disztribúció, mint például az Ubuntu, kínál egy olyan cront, amely időszakosan előre összekapcsolja az összes rendszer bináris fájlját, ha az előlinket telepítik
Az előcsatlakozás problémákat okozhat több saját bináris fájlban, ezért ezeket alapértelmezés szerint kihagyják. Mindenesetre ellenőrizze, hogy az /etc/prelink.conf fájl a következő sorokat tartalmazza:
# Skype -b / usr / lib32 / skype / skype -b / usr / lib / skype / skype # Flash Player beépülő modul -b /usr/lib/mozilla/plugins/libflashplayer.so # NVIDIA -b / usr / lib / libGL .so * -b /usr/lib32/libGL.so* -b //usr/lib/libOpenCL.so* -b //usr/lib32/libOpenCL.so* -b / usr / lib32 / vdpau / -b / usr / lib / vdpau / -b /usr/lib/xorg/modules/drivers/nvidia_drv.so -b /usr/lib/xorg/modules/extensions/libglx.so* -b / usr / lib / libnvidia- * - b / usr / lib32 / libnvidia- * # Catalyst -b / usr / lib / libati * -b / usr / lib / fglrx * -b / usr / lib / libAMDXvBA * -b /usr/lib/libGL.so* - b / usr / lib / libfglrx * -b /usr/lib/xorg/modules/dri/fglrx_dri.so -b /usr/lib/xorg/modules/drivers/fglrx_drv.so -b / usr / lib / xorg / modules / extensions / fglrx / -b /usr/lib/xorg/modules/linux/libfglrxdrm.so -b /usr/lib/xorg/modules/extensions/libglx.so

Optimalizálja a KDE-t

Amit ígérnek, az az adósság. Ha már előre összekapcsolta a rendszerét, akkor valószínűleg nem észlelt különbséget a KDE betöltési idejében. Ez azért van így, mert a KDE a kdeinit nevű segédprogramként szolgál az összes szükséges könyvtár betöltéséhez. Az eszköz használatának elkerülése érdekében tudatnunk kell a KDE-vel, hogy előre összekapcsolt. Ehhez (rootként) létre kell hoznunk egy változó fájlt:

nano /etc/profile.d/kde-prelink.sh

Amelybe beillesztjük a következő sort

export KDE_IS_PRELINKED=1

És megadjuk neki a megfelelő engedélyeket (nem akarunk semmiféle rosszat hozzáadni rm-rf /)

chmod 755 /etc/profile.d/kde-prelink.sh

És ha nem hiszel nekem, itt van egy videó a KDE rendszerről történő indításáról:

[specifikációk] A rendszer részletei:
  • HDD 7200 ford / perc sebességgel
  • Gentoo
  • XFS
  • A Ksplash letiltva (a videó fekete képernyőjének oka
[/specifikációk]

Cron és előlink

Ha olyan rendszert használ, mint az Archlinux, ahol a frissítések nagyon gyakoriak, érdekes lehet egy olyan cron hozzáadása, amely minden nap futtatja az előlinket.

Így megnyitjuk a cron fájlt nano-val (root-ként):

nano /etc/cron.daily/prelink

És beillesztjük a következőket:

#! / bin / bash
[[-x / usr / bin / prelink]] &&
/ usr / bin / prelink -amR &> / dev / null

Ezután megadjuk a megfelelő engedélyeket (már említettem, hogy senki sem akarja, hogy valaki rosszindulatú kódot adjon hozzá):
chmod 755 /etc/cron.daily/prelink

A cikk olvasása során jó szokás azt kutatni, hogy a forgatókönyv pontosan mit csinál. Jó szokás, amikor megírja, hogy elmagyarázza, mire szolgál. Itt a bontás

  1. Az első sor arra szolgál, hogy megmondja a rendszernek, mi az a bash szkript, és a tolmács helyét.
  2. A második miatt a bash végrehajt egy alhéjat debug módban, nem tudom miért, de ajánlott, kockázat nélkül megszüntethető. Az && azt jelenti, hogy amikor a parancs befejeződik, futtassa a következőket.
  3. Végezze el az előlinket néhány már megmagyarázott paraméterrel, a &> / dev / null minden kimenetet átirányít a / dev / null helyre, azaz elveti

Érdekes kapcsolatok


Hozzáadás előnyben részesített forrásként