Forlink (eller hvordan man laver KDE-opstart på 3 sekunder)

Forlink er et program, hvis nytte er at få programmer til at åbne hurtigere. Selvom forklaringen på, hvordan det gør det, ville være værd at have en fuld artikel, kan vi på en grov måde sige, at den fortæller binæren, hvor man først skal se efter de dynamiske biblioteker, den har brug for at indlæse.

Lad os forestille os, at vi har en binær, der afhænger af QtCore-biblioteket, når vi først har udført prelink på den, vil den først søge i det rum, der er angivet af prelink, og i tilfælde af at den ikke finder den (en opdatering, for eksempel), vil den søge efter den på den traditionelle måde.

Prelink fungerer på ethvert POSIX-kompatibelt system som GNU / linux eller BSD'erne.

Sådan anvendes prelink

Optimering af systemet med prelink er ret simpelt, vi kan optimere en binær ved hjælp af (som root):

prelink binario

Men for at optimere hele systemet skal vi udføre:

prelink -amvR

Du vil se noget som dette:

Forlink

Forlink

Her er en detaljeret forklaring af betydningen af ​​parametrene:

  • a: er lig med –all, gør det gældende for hele systemet
  • m: svarende til –conserve-memory, forklaringen på, hvordan den fungerer, er kompleks, men sparer plads
  • v: svarende til –verbose, det giver os mulighed for at vide, hvilke biblioteker der er forbundne
  • A: Svarer til – tilfældig, øg sikkerheden ved at gøre en værdi tilfældig. Jeg kender ikke detaljerne i dens drift
Terminalen er Yakuake, hvis nogen er interesseret.

For at fjerne tilknytning (fjerne link) til en binær

prelink  -u

Hele systemet:

prelink -au

Mange distributioner som Ubuntu tilbyder en cron, der periodisk forbinder alle systembinarier, hvis prelink er installeret
Forlink kan forårsage problemer i flere proprietære binære filer, så de springes normalt over som standard. Alligevel skal du sørge for, at din /etc/prelink.conf-fil indeholder disse linjer:
# 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 / udvidelser / fglrx / -b /usr/lib/xorg/modules/linux/libfglrxdrm.so -b /usr/lib/xorg/modules/extensions/libglx.so

Optimer KDE

Hvad der er lovet, er gæld. Hvis du allerede havde forbundet dit system, bemærkede du sandsynligvis ingen forskel i KDE-indlæsningstider. Dette skyldes, at KDE fungerer som et værktøj kaldet kdeinit til at indlæse alle de nødvendige biblioteker. For at undgå at bruge dette værktøj skal vi lade KDE vide, at det er forbundne. For at gøre dette skal vi (som root) oprette en variabelfil:

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

I hvilken vi indsætter følgende linje

export KDE_IS_PRELINKED=1

Og vi giver det de rigtige tilladelser (vi vil ikke have nogen fræk at tilføje rm-rf /)

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

Og hvis du ikke tror på mig, her er en video af KDE, der starter op på mit system:

[specifikationer] Systemoplysninger:

  • HDD ved 7200 omdr./min
  • Gentoo
  • XFS
  • Ksplash deaktiveret (årsag til sort skærm på video
[/ specs]

Cron og prelink

Hvis du bruger et system som Archlinux, hvor opdateringer er meget hyppige, kan det være interessant at tilføje en cron, der kører prelink hver dag.

Således åbner vi cron-filen med nano (som root):

nano /etc/cron.daily/prelink

Og vi indsætter følgende:

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

Så giver vi det de relevante tilladelser (jeg nævnte allerede, at ingen vil have nogen til at tilføje ondsindet kode):
chmod 755 /etc/cron.daily/prelink

En god vane ved læsning af en artikel er at undersøge, hvad manuskriptet gør. En god vane, når man skriver det, er at forklare, hvad det er beregnet til. Her opdeling

  1. Den første linje bruges til at fortælle systemet, hvad et bash-script er, og hvor tolken befinder sig.
  2. Den anden får bash til at udføre en subshell i debug-tilstand, jeg ved ikke hvorfor, men det anbefales, det kan elimineres uden risiko. && betyder, at når kommandoen er færdig, skal du køre følgende.
  3. Udfør forlink med nogle allerede forklarede parametre, &> / dev / null omdirigerer ethvert output til / dev / null, dvs. forkaster det

Links af interesse


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   Ivan Barra sagde han

    Med det "strejke", du gav til [ENTER], de små dværge, som pc'en er blevet bange og begyndte at arbejde med dobbelt så hurtig som før, siger du, brug PRELINK, men dit system er baseret på terror ... hahaha!

    Hilsner og fremragende post

    Tak fordi du delte.

    1.    roader sagde han

      Umm, med den støj, det giver, ville jeg ikke blive overrasket, hvis der var en mine på min XD-computer.

    2.    djæger sagde han

      Episk vittighed, det er sandt, at han var ivrig efter at komme ind, hehe.

  2.   Sheosi sagde han

    Jeg vil gerne kommentere, at jeg for et stykke tid siden benchmarkede dette, og jeg kunne se, at forskellene næsten var nul (brug som test, tror jeg og synker firefox- og nautilus-bitene).
    Hvis der er interesserede, vil jeg offentliggøre filen (jeg offentliggjorde den ikke på det tidspunkt for dovenskab).

    1.    roader sagde han

      Umm, ikke alle filer kan ses som forbedrede, men i det mindste har systemet en tendens til at starte hurtigere.

  3.   dag sagde han

    Der var et tidspunkt, hvor jeg brugte e4rat, og det forbedrede opstarten i et par sekunder, fordi det er en hdd, det starter for hurtigt fra det, jeg ser, i øjeblikket har jeg en lille ssd med kaos og i xfs, og da jeg så opstarten tid kunne jeg ikke tro det.
    http://i.imgur.com/ds6WqIT.png

    1.    Joao sagde han

      Jeg kræver at kende det desktop-tema, du bruger, og ikonsættet (i gode vibes)

      1.    roader sagde han

        Jeg sværger, at temaet er helium.

      2.    dag sagde han

        Plasmatemaet og ikonerne kaldes Dynamo og det næste tynde vindue.
        http://sta.sh/02ful04ags1
        http://hombremaledicto.deviantart.com/art/Dynamo-Plasma-beta-473014317
        http://kde-look.org/content/show.php?content=164722

        Beklager forfatteren af ​​sangen til off 🙂

    2.    jose-stang sagde han

      Hvad hedder den applikationsstarter? 🙂

      1.    roader sagde han

        Jeg tror, ​​det er en kaldet simpel qml-launcher.

      2.    dag sagde han

        Som roader siger, er det QML

      3.    jose-stang sagde han

        Tak 😉

  4.   eliotime3000 sagde han

    Meget godt tip, selvom KDE kører vidundere på Arch og Slackware (jeg har prøvet dem, og de ser virkelig fantastiske ud).

  5.   Azureus sagde han

    Stor tak meget. Jeg prøvede det på min Arch, jeg gjorde en generel prelink og jeg må sige, at forbedringen er ganske god, og jeg føler mig meget komfortabel hehe

  6.   ianpocks sagde han

    Jeg ved ikke, om det er mig…. men jeg bemærker ingen forskel, og med systemd-analyse tager det stadig længere tid at starte ...

    1.    roader sagde han

      Der skal være noget problem i dit operativsystem, du ved, prelink -au og alt løst.

  7.   blablabla sagde han

    Så vidt jeg ved (fra min egen erfaring) behøver du i det mindste i Gentoo ikke oprette en ny fil for at overføre værdien af ​​variablen KDE_IS_PRELINKED. Fjern kun kommentaren til linjen KDE_IS_PRELINKED = 1 i /etc/env.d/43kdepaths (jeg er ikke sikker på, om det er den nøjagtige vej, da jeg ikke har min maskine i øjeblikket).

    Hver gang KDE er fuldstændigt kompileret, skal du kontrollere den fil, fordi nogle af de pakker, den installerer, overskriver den fil, jeg nævnte.

    1.    roader sagde han

      Og det er sandsynligvis i mange distributioner. men gør det som jeg har gjort det garanterer jeg, at denne konfiguration ikke ændres.

  8.   statisk sagde han

    Fremragende indlæg, tillykke

    Jeg foreslår, at du opretter en tutorial til installation af Gentoo

    1.    roader sagde han

      Jeg holder det i tankerne. tak skal du have

  9.   Cristianhcd sagde han

    meget godt værktøj, selvom det ikke tjener mig, fordi jeg har: modbydeligt for KDE

  10.   Xavier sagde han

    Vil delfiner blive hurtigere? Det har altid virket langsomt at starte

    1.    roader sagde han

      Det burde, jeg ved det ikke, jeg bruger det altid som standard. Jeg bruger gentoo, portage, hvis det registrerer, at prelink er installeret, forblinker det automatisk binærfilerne, så ingen idé.

  11.   pepo sagde han

    Interessant, tak!

    PD- Library = Bibliotek, ikke bibliotek 😉
    Nå, skrivebordet hedder Plasma Desktop, ikke KDE. Ok, jeg stopper xD

    1.    roader sagde han

      I computerjargon er det en accepteret fiasko, når alt kommer til alt er sprog pragmatiske, især i oversættelser.
      https://es.wikipedia.org/wiki/Librería_(desambiguación)

  12.   dtulf sagde han

    godt. Jeg var ved at teste det i ArchLinux KDE (base, ikke den komplette DE), og det giver mig «Fejl ved gemning '/etc/cron.daily/ Fejl ved gemning' /etc/cron.daily/prelink ': Prelink-filen eller biblioteket findes ikke ': Filen eller biblioteket findes ikke ». Jeg har ikke "cron" installeret, og på wiki [1] taler de om cronie, fcron og andre varianter. Hvad skal jeg installere eller gøre for at gennemføre vejledningen?

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