Prelink (of hoe KDE in 3 seconden opstart)

pre-link is een programma waarvan het nut is om programma's sneller te openen. Hoewel de uitleg van hoe het dit doet een volledig artikel waard zou zijn, kunnen we op een ruwe manier zeggen dat het het binaire bestand vertelt waar het eerst moet zoeken naar de dynamische bibliotheken die het moet laden.

Laten we ons dus voorstellen dat we een binair bestand hebben dat afhankelijk is van de QtCore-bibliotheek, zodra we er een prelink op hebben uitgevoerd, zal het eerst zoeken in de ruimte die is aangegeven door prelink, en in het geval dat het het niet kan vinden (bijvoorbeeld een update), zal het ernaar zoeken op de traditionele manier.

Prelink werkt op elk POSIX-compatibel systeem, zoals GNU / linux of de BSD.

Hoe prelink aan te brengen

Het systeem optimaliseren met prelink is vrij eenvoudig, we kunnen een binair bestand optimaliseren met (als root):

prelink binario

Maar om het hele systeem te optimaliseren, moeten we het volgende doen:

prelink -amvR

Je zult zoiets als dit zien:

pre-link

pre-link

Hier is een gedetailleerde uitleg van de betekenis van de parameters:

  • a: is gelijk aan –all, maakt het van toepassing op het hele systeem
  • m: equivalent aan –conserve-memory, de uitleg van hoe het werkt is complex, maar bespaart ruimte
  • v: equivalent aan –verbose, het stelt ons in staat te weten welke vooraf gekoppelde bibliotheken zijn
  • A: Gelijk aan –willekeurig, verhoog de beveiliging door een waarde willekeurig te maken. Ik ken de details van de werking ervan niet
De terminal is Yakuake, voor het geval iemand geïnteresseerd is.

Om een ​​binair bestand te ontkoppelen (ontkoppelen)

prelink  -u

Het hele systeem:

prelink -au

Veel distributies zoals Ubuntu bieden een cron die periodiek alle systeembinaire bestanden vooraf koppelt als prelink is geïnstalleerd
Prelink kan problemen veroorzaken in verschillende propriëtaire binaire bestanden, dus deze worden meestal standaard overgeslagen. Zorg er in ieder geval voor dat uw /etc/prelink.conf-bestand deze regels bevat:
# Skype -b / usr / lib32 / skype / skype -b / usr / lib / skype / skype # Flash Player-plug-in -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

Optimaliseer KDE

Wat wordt beloofd, is schulden. Als u uw systeem al vooraf had gekoppeld, merkte u waarschijnlijk geen verschil in KDE-laadtijden. Dit komt omdat KDE dient als een hulpprogramma genaamd kdeinit om alle benodigde bibliotheken te laden. Om het gebruik van deze tool te vermijden, moeten we KDE laten weten dat het vooraf is gekoppeld. Om dit te doen moeten we (als root) een variabel bestand aanmaken:

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

Waarin we de volgende regel plakken

export KDE_IS_PRELINKED=1

En we geven het de juiste machtigingen (we willen niet dat een ondeugend iemand toevoegt rm-rf /)

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

En als je me niet gelooft, is hier een video van het opstarten van KDE op mijn systeem:

[specificaties] Systeemdetails:

  • HDD met 7200 RPM
  • Gentoo
  • XFS
  • Ksplash uitgeschakeld (oorzaak van zwart videoscherm
[/ specificaties]

Cron en prelink

Als u een systeem als Archlinux gebruikt, waar updates zeer frequent zijn, kan het interessant zijn om een ​​cron toe te voegen die elke dag prelink uitvoert.

Dus openen we het cron-bestand met nano (als root):

nano /etc/cron.daily/prelink

En we plakken het volgende:

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

Vervolgens geven we het de juiste machtigingen (ik zei al dat niemand wil dat iemand kwaadaardige code toevoegt):
chmod 755 /etc/cron.daily/prelink

Een goede gewoonte bij het lezen van een artikel is om te onderzoeken wat het script precies doet. Een goede gewoonte bij het schrijven is om uit te leggen waar het voor is. Hier de uitsplitsing

  1. De eerste regel is om het systeem te vertellen wat een bash-script is en de locatie van de interpreter.
  2. De tweede laat bash een subshell uitvoeren in de foutopsporingsmodus, ik weet niet waarom, maar het wordt aanbevolen, het kan zonder risico worden geëlimineerd. De && betekent dat wanneer de opdracht is voltooid, u het volgende uitvoert.
  3. Voer prelink uit met enkele parameters die al zijn uitgelegd, de &> / dev / null stuurt elke uitvoer om naar / dev / null, dat wil zeggen, verwijdert deze

Interessante links


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   Ivan Barra zei

    Met de "strike" die je aan [ENTER] gaf, de dwergen dat de pc bang was geworden en met dubbel zo snel ging werken als voorheen, gebruik je PRELINK, maar je systeem is gebaseerd op terreur ... hahaha!

    Groeten en uitstekende post

    Bedankt voor het delen.

    1.    roader zei

      Umm, met het geluid dat het maakt, zou het me niet verbazen als er een mijn op mijn XD-computer stond.

    2.    djager zei

      Episch de grap, het is waar dat hij graag wilde binnenkomen, hehe.

  2.   Sheosi zei

    Ik zou graag willen opmerken dat ik dit een tijdje geleden heb gebenchmarked, en ik kon zien dat de verschillen bijna nihil waren (gebruik als tests denk ik en zink de firefox- en nautilus-bits).
    Als er interesse is, zal ik het bestand publiceren (ik heb het destijds niet gepubliceerd voor luiheid).

    1.    roader zei

      Umm, niet alle bestanden kunnen worden verbeterd, maar het systeem neigt in ieder geval sneller op te starten.

  3.   dag zei

    Er was een tijd dat ik de e4rat gebruikte en het verbeterde het opstarten voor een paar seconden, omdat het een hdd is, start hij te snel van wat ik zie, momenteel heb ik een kleine ssd met kaos en in xfs en toen ik de opstarttijd zag, kon ik het niet geloven.
    http://i.imgur.com/ds6WqIT.png

    1.    Joao zei

      Ik vraag om het bureaubladthema dat u gebruikt en de pictogrammenset (in goede vibes) te kennen

      1.    roader zei

        Ik zou zweren dat het thema helium is.

      2.    dag zei

        Het plasma-thema en de pictogrammen worden Dynamo en het volgende dunne venster genoemd.
        http://sta.sh/02ful04ags1
        http://hombremaledicto.deviantart.com/art/Dynamo-Plasma-beta-473014317
        http://kde-look.org/content/show.php?content=164722

        Sorry voor de auteur van het nummer voor de off 🙂

    2.    Jose Rod zei

      Hoe heet dat app-opstartprogramma? 🙂

      1.    roader zei

        Ik denk dat het een eenvoudige qml-launcher is.

      2.    dag zei

        Zoals roader zegt, het is de QML

      3.    Jose Rod zei

        Bedankt 😉

  4.   eliotime3000 zei

    Zeer goede tip, hoewel KDE wonderen doet op Arch en Slackware (ik heb ze geprobeerd en ze zijn echt spectaculair).

  5.   Azureus zei

    Geweldig, heel erg bedankt. Ik heb het op mijn boog getest, ik heb een algemene voorlink gedaan en ik moet zeggen dat de verbetering redelijk goed is en ik voel me erg op mijn gemak hehe

  6.   ianpokken zei

    Ik weet niet of ik het ben…. maar ik merk geen verschil en met systemd-analyse duurt het nog steeds langer om te beginnen ...

    1.    roader zei

      Welnu, er moet een probleem zijn in uw besturingssysteem, weet u, prelink -au en alles is opgelost.

  7.   blablabla zei

    Voor zover ik weet (uit mijn eigen ervaring), hoef je in Gentoo tenminste geen nieuw bestand aan te maken om de waarde van de KDE_IS_PRELINKED variabele door te geven. Verwijder gewoon het commentaar op de regel KDE_IS_PRELINKED = 1 in /etc/env.d/43kdepaths (ik weet niet zeker of dat het exacte pad is, aangezien ik mijn machine momenteel niet heb).

    Elke keer dat KDE volledig is gecompileerd, moet u dat bestand controleren, omdat sommige pakketten die het installeert het bestand dat ik noemde overschrijven.

    1.    roader zei

      En het is waarschijnlijk zo in veel distributies. maar als ik het doe zoals ik het heb gedaan, garandeer ik dat deze configuratie niet wordt gewijzigd.

  8.   statisch zei

    Uitstekende post, gefeliciteerd

    Ik stel voor dat je een tutorial maakt om Gentoo te installeren

    1.    roader zei

      Ik zal het onthouden . Dank je

  9.   Cristianhcd zei

    zeer goed nut, hoewel het mij niet van dienst is, want ik heb: walgelijk voor KDE

  10.   Xavier zei

    Zal dolfijn versnellen? Het begon altijd traag te beginnen

    1.    roader zei

      Het zou moeten, ik weet het niet, ik gebruik het altijd standaard. Ik gebruik gentoo, portage, als het detecteert dat prelink is geïnstalleerd, worden de binaire bestanden automatisch geprelinkt, dus geen idee.

  11.   pepo zei

    Interessant, bedankt!

    PD- Bibliotheek = Bibliotheek, niet bibliotheek 😉
    Welnu, de desktop heet Plasma Desktop, niet KDE. Oké, ik stop xD

    1.    roader zei

      In computerjargon is het een geaccepteerde mislukking, talen zijn immers pragmatisch, vooral in vertalingen.
      https://es.wikipedia.org/wiki/Librería_(desambiguación)

  12.   dtulf zei

    mooi zo. Ik stond op het punt het te testen in ArchLinux KDE (basis, niet de volledige DE) en het geeft me "Fout bij opslaan '/etc/cron.daily/ Fout bij opslaan' /etc/cron.daily/prelink ': Prelink-bestand of map bestaat niet' ' : Het bestand of de map bestaat niet ». Ik heb "cron" niet geïnstalleerd en op de wiki [1] praten ze over cronie, fcron en andere varianten. Wat moet ik installeren of doen om de tutorial te voltooien?

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