Förlänk (eller hur man startar KDE på 3 sekunder)

Förlänk är ett program vars hjälp är att göra program öppna snabbare. Även om förklaringen om hur den gör det förtjänar en fullständig artikel kan vi på ett grovt sätt säga att den säger till binären var man ska leta först efter de dynamiska biblioteken som den behöver ladda.

Låt oss därför föreställa oss att vi har en binär som beror på QtCore-biblioteket, när vi väl har kört prelink på den, kommer den först att söka i det utrymme som anges av prelink, och om den inte hittar den (till exempel en uppdatering) kommer den att söka efter den på det traditionella sättet.

Prelink fungerar på alla POSIX-kompatibla system, som GNU / linux eller BSD.

Hur man ansöker prelink

Optimera systemet med prelink är ganska enkelt, vi kan optimera en binär med (som root):

prelink binario

Men för att optimera hela systemet måste vi utföra:

prelink -amvR

Du kommer att se något så här:

Förlänk

Förlänk

Här är en detaljerad förklaring av parametrarnas betydelse:

  • a: är lika med –all, gör att det gäller hela systemet
  • m: motsvarar –conserve-memory, förklaringen av hur den fungerar är komplex men sparar plats
  • v: motsvarar –verbose, det låter oss veta vilka som är de förlänkade biblioteken
  • A: Motsvarar –moment, öka säkerheten genom att göra ett värde slumpmässigt. Jag känner inte till detaljerna i dess verksamhet
Terminalen är Yakuake, om någon är intresserad.

För att avlänka en länk (avlänka) en binär

prelink  -u

Hela systemet:

prelink -au

Många distributioner som Ubuntu erbjuder en cron som periodiskt förbinder alla systembinarier om prelink är installerad
Förlänk kan orsaka problem i flera egna binära filer, så de hoppas vanligtvis över som standard. Hur som helst, se till att filen /etc/prelink.conf innehåller följande rader:
# 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 / tillägg / fglrx / -b /usr/lib/xorg/modules/linux/libfglrxdrm.so -b /usr/lib/xorg/modules/extensions/libglx.so

Optimera KDE

Vad som lovas är skuld. Om du redan hade förlänkat ditt system märkte du förmodligen ingen skillnad i KDE-laddningstider. Detta beror på att KDE fungerar som ett verktyg som kallas kdeinit för att ladda alla nödvändiga bibliotek. För att undvika att använda detta verktyg måste vi låta KDE veta att det är förlänkat. För att göra detta måste vi (som root) skapa en variabelfil:

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

I vilken vi klistrar in följande rad

export KDE_IS_PRELINKED=1

Och vi ger det rätt behörigheter (vi vill inte ha någon stygg att lägga till rm-rf /)

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

Och om du inte tror mig, här är en video av KDE som startar upp på mitt system:

[specifikationer] Systemdetaljer:
  • HDD vid 7200 varv / min
  • Gentoo
  • XFS
  • Ksplash inaktiverad (orsak till svart skärm för video
[/ specifikationer]

Cron och prelink

Om du använder ett system som Archlinux, där uppdateringar är mycket frekventa, kan det vara intressant att lägga till en cron som kör prelink varje dag.

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

nano /etc/cron.daily/prelink

Och vi klistrar in följande:

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

Sedan ger vi det rätt behörigheter (jag nämnde redan att ingen vill att någon ska lägga till skadlig kod):
chmod 755 /etc/cron.daily/prelink

En bra vana när man läser en artikel är att undersöka vad exakt manuset gör. En bra vana när man skriver är att förklara vad den är till för. Här uppdelningen

  1. Den första raden är att berätta för systemet vad ett bash-skript är och var tolken befinner sig.
  2. Den andra gör att bash kör en subshell i felsökningsläge, jag vet inte varför, men det rekommenderas, det kan elimineras utan risk. && betyder att när kommandot är klart kör du följande.
  3. Utför prelink med några redan förklarade parametrar, &> / dev / null omdirigerar alla utdata till / dev / null, det vill säga, det kastar det

Länkar av intresse


Innehållet i artikeln följer våra principer om redaktionell etik. Klicka på för att rapportera ett fel här.

27 kommentarer, lämna din

Lämna din kommentar

Din e-postadress kommer inte att publiceras.

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   Ivan Barra sade

    Med "strejken" du gav till [ENTER], de små dvärgarna som datorn har blivit rädd och började arbeta med dubbelt så hög hastighet som tidigare, säger du att du använder PRELINK, men ditt system är baserat på terror ... hahaha!

    Hälsningar och utmärkt inlägg

    Tack för att dela.

    1.    roader sade

      Umm, med bullret som det gör skulle jag inte bli förvånad om det fanns en gruva på min XD-dator.

    2.    djägare sade

      Episkt skämt, det är sant att han var ivrig att komma in, hehe.

  2.   Sheosi sade

    Jag skulle vilja kommentera att jag för ett tag sedan benchmarkade detta, och jag kunde se att skillnaderna var nästan noll (använd som tester tror jag och sänker Firefox och nautilusbitarna).
    Om det är intresserat kommer jag att publicera filen (jag publicerade den inte för latskap).

    1.    roader sade

      Umm, inte alla filer kan ses för att förbättras, men åtminstone tenderar systemet att starta snabbare.

  3.   dag sade

    Det var en tid då jag använde e4rat och det förbättrade uppstarten i några sekunder, eftersom det är en HDD det börjar för snabbt från vad jag ser, för närvarande har jag en liten SSD med kaos och i xfs och när jag såg starttiden kunde jag inte tro det.
    http://i.imgur.com/ds6WqIT.png

    1.    Joao sade

      Jag kräver att få veta skrivbordstemaet du använder och ikonuppsättningen (i bra vibbar)

      1.    roader sade

        Jag skulle svära att temat är helium.

      2.    dag sade

        Plasmatema och ikoner kallas Dynamo och nästa tunna fönster.
        http://sta.sh/02ful04ags1
        http://hombremaledicto.deviantart.com/art/Dynamo-Plasma-beta-473014317
        http://kde-look.org/content/show.php?content=164722

        Tyvärr författaren till låten för off 🙂

    2.    jose-rod sade

      Vad heter applikationsstartaren? 🙂

      1.    roader sade

        Jag tror att det är en som heter enkel qml-launcher.

      2.    dag sade

        Som roader säger är det QML

      3.    jose-rod sade

        Tack 😉

  4.   eliotime3000 sade

    Mycket bra tips, även om KDE driver underverk på Arch och Slackware (jag har provat dem och de ser verkligen fantastiska ut).

  5.   Azureus sade

    Stor tack så mycket. Jag försökte det på min Arch, jag gjorde en allmän prelink och jag måste säga att förbättringen är ganska bra och jag känner mig väldigt bekväm hehe

  6.   ianpocks sade

    Jag vet inte om det är jag .... men jag märker ingen skillnad och med systemd-analys tar det fortfarande längre tid att börja ...

    1.    roader sade

      Det måste finnas några problem i ditt operativsystem, du vet, prelink -au och allt löst.

  7.   blablabla sade

    Såvitt jag vet (från min egen erfarenhet) behöver du åtminstone i Gentoo inte skapa en ny fil för att klara värdet av variabeln KDE_IS_PRELINKED. Avmarkera bara raden KDE_IS_PRELINKED = 1 i /etc/env.d/43kdepaths (jag är inte säker på om det är den exakta vägen, eftersom jag inte har min maskin just nu).

    Varje gång KDE är fullständigt kompilerad måste du granska den filen, eftersom några av de paket som den installerar kommer att skriva över filen jag nämnde.

    1.    roader sade

      Och det är förmodligen i många distributioner. men gör det som jag har gjort det garanterar jag att denna konfiguration inte ändras.

  8.   statisk sade

    Utmärkt inlägg, Grattis

    Jag föreslår att du skapar en handledning för att installera Gentoo

    1.    roader sade

      Jag håller det i åtanke. Tack

  9.   Cristianhcd sade

    mycket bra verktyg, även om det inte tjänar mig, för jag har: motbjudande för KDE

  10.   Xavier sade

    Kommer delfiner att påskyndas? Det har alltid verkat långsamt att börja

    1.    roader sade

      Det borde, jag vet inte, jag använder det alltid som standard. Jag använder gentoo, portage, om det upptäcker att prelink är installerat förlinkar det automatiskt binärfilerna, så ingen aning.

  11.   Pepo sade

    Intressant, tack!

    PD- Bibliotek = Bibliotek, inte bibliotek 😉
    Skrivbordet heter Plasma Desktop, inte KDE. Okej, jag slutar xD

    1.    roader sade

      I datorjargong är det ett accepterat misslyckande, trots allt är språken pragmatiska, särskilt i översättningar.
      https://es.wikipedia.org/wiki/Librería_(desambiguación)

  12.   dtulf sade

    Bra. Jag var på väg att testa det i ArchLinux KDE (bas, inte hela DE) och det ger mig "Fel sparar '/etc/cron.daily/ Fel sparar' /etc/cron.daily/prelink ': Prelink-fil eller katalog gör existerar inte ': Filen eller katalogen finns inte ». Jag har inte "cron" installerat och på wiki [1] pratar de om cronie, fcron och andra varianter. Vad behöver jag installera eller göra för att slutföra självstudien?

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