Prelink (sau cum se face pornirea KDE în 3 secunde)

pre-link este un program al cărui utilitar este de a face programele să se deschidă mai repede. Deși explicația cu privire la acest lucru ar merita un articol complet, putem spune într-un mod aproximativ că spune binarului unde trebuie să caute mai întâi bibliotecile dinamice pe care trebuie să le încarce.

Astfel, să ne imaginăm că avem un binar care depinde de biblioteca QtCore, odată ce am executat prelinkul pe acesta, acesta va căuta mai întâi în spațiul desemnat de prelink și în cazul în care nu îl va găsi (o actualizare, pentru exemplu) o va căuta în mod tradițional.

Prelink funcționează pe orice sistem compatibil POSIX, cum ar fi GNU / linux sau BSD-urile.

Cum se aplică prelink

Optimizarea sistemului cu prelink este destul de simplă, putem optimiza un binar folosind (ca root):

prelink binario

Dar pentru a optimiza întregul sistem trebuie să realizăm:

prelink -amvR

Veți vedea așa ceva:

pre-link

pre-link

Iată o explicație detaliată a semnificației parametrilor:

  • a: este egal cu -toate, îl face să se aplice întregului sistem
  • m: echivalent cu –conserve-memory, explicația modului în care funcționează este complexă, dar economisește spațiu
  • v: echivalent cu –verbose, ne permite să știm care sunt bibliotecile pre-conectate
  • R: Echivalent cu -aleatoriu, creșteți securitatea făcând o valoare aleatorie. Nu cunosc detaliile funcționării sale
Terminalul este Yakuake, în caz că cineva este interesat.

Pentru a deconecta (deconecta) un binar

prelink  -u

Întregul sistem:

prelink -au

Multe distribuții precum Ubuntu oferă un cron care pre-leagă periodic toate binarele de sistem dacă este instalat prelink
Prelink poate provoca probleme în mai multe binare proprietare, astfel încât acestea sunt de obicei omise în mod implicit. Oricum, asigurați-vă că fișierul dvs. /etc/prelink.conf conține următoarele linii:
# Skype -b / usr / lib32 / skype / skype -b / usr / lib / skype / skype # Flash Player Plugin -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

Optimizați KDE

Ceea ce se promite este datoria. Dacă v-ați conectat deja sistemul, probabil că nu ați observat nicio diferență în timpul de încărcare KDE. Acest lucru se întâmplă deoarece KDE servește ca un utilitar numit kdeinit pentru a încărca toate bibliotecile necesare. Pentru a evita utilizarea acestui instrument, trebuie să anunțăm KDE că este pre-legat. Pentru a face acest lucru, trebuie (ca root) să creăm un fișier variabil:

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

În care lipim următoarea linie

export KDE_IS_PRELINKED=1

Și îi oferim permisiunile corespunzătoare (nu vrem să adăugăm nicio obraznicie rm-rf /)

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

Și dacă nu mă credeți, iată un videoclip cu pornirea KDE pe sistemul meu:

[specificații] Detalii sistem:

  • HDD la 7200 RPM
  • Gentoo
  • XFS
  • Ksplash dezactivat (cauza ecranului video negru
[/ specificații]

Cron și prelink

Dacă utilizați un sistem precum Archlinux, în care actualizările sunt foarte frecvente, ar putea fi interesant să adăugați un cron care rulează prelink în fiecare zi.

Astfel, deschidem fișierul cron cu nano (ca root):

nano /etc/cron.daily/prelink

Și lipim următoarele:

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

Apoi îi acordăm permisiunile corespunzătoare (am menționat deja că nimeni nu dorește ca cineva să adauge un cod rău intenționat):
chmod 755 /etc/cron.daily/prelink

Un obicei bun atunci când citești un articol este să cercetezi ce face exact scenariul. Un obicei bun atunci când îl scrii este să explici la ce folosește. Aici defalcarea

  1. Prima linie este de a spune sistemului ce este un script bash și locația interpretului.
  2. Al doilea face ca bash să execute un subshell în modul de depanare, nu știu de ce, dar este recomandat, poate fi eliminat fără risc. && înseamnă că atunci când comanda se termină, rulați următoarele.
  3. Executați prelink cu câțiva parametri deja explicați, &> / dev / null redirecționează orice ieșire către / dev / null, adică o elimină

Link-uri de interes


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   Ivan Barra el a spus

    Odată cu „greva” pe care i-ai dat-o [ENTER], micii pitici pe care i-a speriat computerul și au început să lucreze cu viteza dublă decât înainte, zici că folosești PRELINK, dar sistemul tău se bazează pe teroare ... hahaha!

    Salutări și postare excelentă

    Vă mulțumim pentru distribuire.

    1.    rutier el a spus

      Umm, cu zgomotul pe care îl face nu aș fi surprins dacă ar exista o mină pe computerul meu XD.

    2.    dhunter el a spus

      Epic gluma, este adevărat că a fost dornic să intre, hehe.

  2.   Sheosi el a spus

    Aș dori să comentez că, în urmă cu ceva timp, am comparat acest lucru și am putut vedea că diferențele erau aproape nule (folosesc ca teste cred și scufundă firefox și biturile nautilus).
    Dacă sunt interesați, voi publica fișierul (nu l-am publicat la vremea aceea pentru lene).

    1.    rutier el a spus

      Umm, nu toate fișierele pot fi îmbunătățite, dar cel puțin sistemul tinde să pornească mai repede.

  3.   zi el a spus

    A fost o vreme când am folosit e4rat și a îmbunătățit startup-ul pentru câteva secunde, deoarece este un hdd începe prea repede din ceea ce văd, în prezent am un ssd mic cu kaos și în xfs și când am văzut startup-ul de timp nu mi-a venit să cred.
    http://i.imgur.com/ds6WqIT.png

    1.    Joao el a spus

      Cer să știu tema desktop pe care o utilizați și setul de pictograme (în vibrații bune)

      1.    rutier el a spus

        Aș jur că tema este heliul.

      2.    zi el a spus

        Tema cu plasmă și pictogramele se numesc Dynamo și fereastra subțire Next.
        http://sta.sh/02ful04ags1
        http://hombremaledicto.deviantart.com/art/Dynamo-Plasma-beta-473014317
        http://kde-look.org/content/show.php?content=164722

        Ne pare rău pentru autorul melodiei pentru off off

    2.    jose-rod el a spus

      Cum se numește acel lansator de aplicații? 🙂

      1.    rutier el a spus

        Cred că este unul numit lansator simplu qml.

      2.    zi el a spus

        După cum spune roader, este QML

      3.    jose-rod el a spus

        Mulțumiri 😉

  4.   eliotime3000 el a spus

    Sfat foarte bun, deși KDE rulează minuni pe Arch și Slackware (le-am încercat și arată cu adevărat uimitor).

  5.   Azureus el a spus

    Grozav, multumesc mult. Am încercat-o pe Arch, am făcut un prelink general și trebuie să spun că îmbunătățirea este destul de bună și mă simt foarte confortabil hehe

  6.   ianpocks el a spus

    Nu știu dacă sunt eu ... dar nu observ nici o diferență și cu systemd-analysis încă mai durează mai mult pentru a începe ...

    1.    rutier el a spus

      Ei bine, trebuie să existe o problemă în sistemul dvs. de operare, știți, prelink -au și totul este rezolvat.

  7.   blablabla el a spus

    Din câte știu (din propria mea experiență), cel puțin în Gentoo nu este nevoie să creați un fișier nou pentru a transmite valoarea variabilei KDE_IS_PRELINKED. Decomentați doar linia KDE_IS_PRELINKED = 1 în /etc/env.d/43kdepaths (nu sunt sigur dacă este exact calea, deoarece nu am mașina mea în acest moment).

    De fiecare dată când KDE este complet compilat, trebuie să verificați acel fișier, deoarece unele dintre pachetele pe care le instalează vor suprascrie fișierul pe care l-am menționat.

    1.    rutier el a spus

      Și probabil este în multe distribuții. dar făcând-o așa cum am făcut-o, garantez că această configurație nu este modificată.

  8.   static el a spus

    Post excelent, Felicitări

    Vă sugerez să creați un tutorial pentru a instala Gentoo

    1.    rutier el a spus

      Îl voi ține cont. Mulțumesc

  9.   Cristianhcd el a spus

    utilitate foarte bună, deși nu mă servește, pentru că am: dezgustător față de KDE

  10.   Xavier el a spus

    Vor accelera delfinii? Întotdeauna mi s-a părut lent să începem

    1.    rutier el a spus

      Ar trebui, nu știu, să îl folosesc întotdeauna în mod implicit. Folosesc gentoo, portage, dacă detectează că prelink este instalat, pre-leagă automat binarele, deci, nici o idee.

  11.   pepo el a spus

    Interesant, mulțumesc!

    PD- Library = Library, not library 😉
    Ei bine, desktop-ul se numește Plasma Desktop, nu KDE. Ok, opresc xD

    1.    rutier el a spus

      În jargonul computerizat este un eșec acceptat, la urma urmei, limbile sunt pragmatice, în special în traduceri.
      https://es.wikipedia.org/wiki/Librería_(desambiguación)

  12.   dtulf el a spus

    bun. Am fost pe punctul de a-l testa în ArchLinux KDE (bază, nu DE completă) și îmi dă „Eroare la salvarea '/etc/cron.daily/ Eroare la salvarea' /etc/cron.daily/prelink ': fișierul sau directorul Prelink face nu există ': Fișierul sau directorul nu există ». Nu am instalat „cron” și pe wiki [1] vorbesc despre cronie, fcron și alte variante. Ce trebuie să instalez sau să fac pentru a finaliza tutorialul?

    [1] https://wiki.archlinux.org/index.php/cron#Installation