Prelink (o com fer que el KDE arrencada en 3 segons)

Prelink és un programa la utilitat és fer que els programes s'obrin més ràpid. Encara que l'explicació de com ho fa es mereixeria un article sencer, podem dir d'una manera tosca que li diu a l'binari on buscar primer les llibreries dinàmiques que necessita carregar.

Així, imaginem-nos que tenim un binari que depèn de la llibreria QtCore, un cop haguem executat prelink sobre el mateix, busqués primer a l'espai designat per prelink, i en el cas que no la trobi (una actualització, per exemple) la busqués de la manera tradicional.

Prelink funciona en qualsevol sistema que compleixi l'estàndard POSIX, com GNU / Linux o els BSD.

Com aplicar prelink

Optimitzar el sistema amb prelink és bastant senzill, podem optimitzar un binari mitjançant (com a root):

prelink binario

Però per optimitzar el sistema sencer hem de realitzar:

prelink -amvR

Veureu una cosa així:

Prelink

Prelink

Aquí una explicació detallada de l'significat dels paràmetres:

  • a: equival a -all, fa que s'apliqui a tot el sistema
  • m: equival a -conserve-memory, l'explicació del seu funcionament és complexa, però estalvia espai
  • v: equival a -verbose, ens permet saber quines són les llibreries pre-enllaçades
  • R: equival a -random, augmenta la seguretat fent un valor sigui aleatori. Desconec els detalls del seu funcionament
La terminal és Yakuake, per si a algú li interessa.

Per des-pre-enllaçar (desprelinkar) un binari

prelink  -u

Tot el sistema:

prelink -au

Moltes distribucions com Ubuntu ofereixen un cron que pre-enllaça periòdicament tots els binaris de sistema si prelink aquesta instal·lat
Prelink pot causar problemes en diversos binaris privatius, pel que normalment són omesos per defecte. De totes maneres, assegura't que el teu arxiu /etc/prelink.conf contingui aquestes línies:
# 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

optimitzar KDE

El promès és deute. Si ja havies pre-enllaçat el teu sistema probablement no vas notar cap diferència en els temps de càrrega del KDE. Això és així perquè KDE ser serveix d'una utilitat anomenada kdeinit per carregar totes les llibreries necessàries. Per evitar l'ús d'aquesta eina hem de fer-li saber al KDE que aquesta pre-enllaçat. Per fer això hem de (com a root) crear un arxiu de variable:

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

En el qual enganxem la següent línia

export KDE_IS_PRELINKED=1

I li donem els permisos adequats (no volem que cap entremaliat li afegeixi rm -rf /)

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

I per si no em creieu, aquí un vídeo del KDE arrencant en el meu sistema:

[Especificacions] Detalls de sistema:
  • HDD a 7200 RPM
  • Gentoo
  • XFS
  • Ksplash desactivat (causa de la pantalla negra de el vídeo
[/ Especificacions]

Cron i prelink

Si fas servir un sistema com Archlinux, en el qual les actualitzacions són molt freqüents, pot ser interessant afegir un cron que executi prelink cada dia.

Així, vam obrir amb nano l'arxiu cron (com a root):

nano /etc/cron.daily/prelink

I enganxem el següent:

#! / Bin / bash
[[-X / usr / bin / prelink]] &&
/ Usr / bin / prelink -amR &> / Dev / null

Després li donem els permisos adequats (ja he esmentat que ningú vol que es algú li afegeixi codi maliciós):
chmod 755 /etc/cron.daily/prelink

Un bon hàbit a l'hora de llegir un article és investigar que fa exactament el script. Un bon hàbit a l'hora d'escriure-ho és explicar perquè serveix. Aquí l'especejament

  1. La primera línia serveix per dir-li a el sistema que és un script en bash i la localització de l'intèrpret.
  2. La segona fa que bash executi un subshell en mode debug, desconec el perquè, però és el recomanable, es pot eliminar sense risc. El && vol dir que quan la comanda acabi, executeu el següent.
  3. Executa prelink amb uns paràmetres ja explicats, el &> / dev / null redirigeix ​​qualsevol sortida a / dev / null, això és, la rebutja

Links d'interès


El contingut d'l'article s'adhereix als nostres principis de ètica editorial. Per notificar un error punxa aquí.

27 comentaris, deixa el teu

Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà.

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   Iván Barra va dir

    Amb el «strike» que li vas donar a l'[ENTER], es van espantar els nans que té el pc i van començar a treballar a l'doble de la velocitat d'abans, dius utilitzar PRELINK, però el teu sistema es basa en el terror ... jajajaa !!

    Salutacions i Excel·lent post

    Gràcies per compartir.

    1.    roader va dir

      Umm, amb el soroll que fa no m'estranyaria que hi hagués una mina al meu ordinador XD.

    2.    caçador va dir

      Epic l'acudit, veritat que li va ficar amb ganes a l'enter, jeje.

  2.   Sheosi va dir

    M'agradaria comentar que fa un temps vaig realitzar un benchmark d'això, i vaig poder notar que les diferències eren gairebé nul·les (usi com a proves crec que i enfonsa i bits firefox i nautilus).
    Si hi ha interessats publicaré l'arxiu (no ho vaig publicar al seu dia per mandra).

    1.    roader va dir

      Umm, no en tots els arxius es pot percebre milloria, però, com a mínim, el sistema sol arrencar més ràpid.

  3.   jomada va dir

    Hi va haver un temps que usava el e4rat i millorava uns segons de l'inici, per ser un hdd arrenca massa ràpid pel que veig, actualment tinc un petit ssd amb kaos i en xfs i quan vaig veure el temps d'arrencada no ho podia creure.
    http://i.imgur.com/ds6WqIT.png

    1.    Joao va dir

      Exigeixo saber el tema d'escriptori que estàs utilitzant i el set de icones (en bona ona)

      1.    roader va dir

        Juraria que el tema és helium.

      2.    jomada va dir

        El tema plasma i les icones es diuen Dynamo i la finestra Next thin.
        http://sta.sh/02ful04ags1
        http://hombremaledicto.deviantart.com/art/Dynamo-Plasma-beta-473014317
        http://kde-look.org/content/show.php?content=164722

        Perdó a l'autor del tema per l'off 🙂

    2.    jose-rod va dir

      Com es diu aquest llançador d'aplicacions? 🙂

      1.    roader va dir

        Crec que és un d'anomenat simple QML launcher.

      2.    jomada va dir

        Com diu roader, és el QML

      3.    jose-rod va dir

        gràcies 😉

  4.   eliotime3000 va dir

    Molt bon tip, encara que KDE corre de meravelles en Arch i Slackware (els he provat i en veritat és que caminen espectaculars).

  5.   Azureus va dir

    Genial, moltes gràcies. El vaig provar en el meu Arch, vaig fer un prelink general i he de dir que la millora és bastant bona i em sento molt a gust jeje

  6.   ianpocks va dir

    No se si sóc jo .... però jo no noto cap diferència i amb systemd-analyze encara triga més a arrencar ...

    1.    roader va dir

      Bé, algun problema hi ha d'haver en el teu SO, ja saps, prelink -au i tot resolt.

  7.   blablabla va dir

    Fins on sé (per experiència pròpia), almenys en Gentoo no cal crear un arxiu nou per passar el valor de la variable KDE_IS_PRELINKED. Només cal descomentar la línia KDE_IS_PRELINKED = 1 a /etc/env.d/43kdepaths (No estic segur si aquesta és la ruta exacta, ja que no tinc la meva màquina en el moment).

    Cada vegada que es compila completament KDE cal revisar aquest arxiu, ja que algun dels paquets que instal torna a sobreescriure l'arxiu que he esmentat.

    1.    roader va dir

      I probablement sigui així en moltes distribucions. però fer-ho de la manera que ho he fet jo garanteix que aquesta configuració no sigui canviada.

  8.   Statick va dir

    Excel·lent post, Felicitacions

    Suggereixo elaboris XNUMX tut per instal·lar Gentoo

    1.    roader va dir

      El tendre en compte. gràcies

  9.   cristianhcd va dir

    boníssima utilitat, encara que no em serveix, perquè li tinc: fàstic a KDE

  10.   Javier va dir

    ¿Accelerarà dolphin? Sempre m'ha semblat lent a l'arrencada

    1.    roader va dir

      Hauria, no, jo sempre el faig servir per defecte. Ús gentoo, portage, si detecta que prelink aquesta instal · lat, automàticament preenlaza els binaris, així que, ni idea.

  11.   Pepo va dir

    ¡Interessant, gràcies!

    PD- Library = Biblioteca, no llibreria 😉
    Bé, i l'escriptori es diu Plasma Desktop, no KDE. Ok, ja atur xD

    1.    roader va dir

      En l'argot informàtica és un error acceptat, a la fi i al el cap, les llengües són pragmàtiques, més en traduccions.
      https://es.wikipedia.org/wiki/Librería_(desambiguación)

  12.   dtulf va dir

    bones. Estava per provar-ho en ArchLinux KDE (base, no el D'complet) i em posa «Error guardant '/etc/cron.daily/ Error guardant' /etc/cron.daily/prelink ': No existeix el fitxer o directori prelink' : No existeix el fitxer o directori ». No tinc «cron» instal·lat i en la wiki [1] parlen de cronie, fcron i altres variants. Què he d'instal·lar o de fer per poder completar el tutorial?

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