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