Prelink (oder wie man KDE in 3 Sekunden booten lässt)

Vorverlinkung ist ein Programm, dessen Dienstprogramm darin besteht, Programme schneller zu öffnen. Obwohl die Erklärung, wie dies funktioniert, einen vollständigen Artikel wert wäre, können wir grob sagen, dass sie der Binärdatei sagt, wo sie zuerst nach den dynamischen Bibliotheken suchen soll, die sie laden muss.

Stellen wir uns also vor, wir haben eine Binärdatei, die von der QtCore-Bibliothek abhängt. Sobald wir den Prelink ausgeführt haben, sucht sie zuerst in dem durch Prelink angegebenen Bereich und für den Fall, dass sie nicht gefunden wird (ein Update, z Beispiel) wird auf herkömmliche Weise danach gesucht.

Prelink funktioniert auf jedem POSIX-kompatiblen System wie GNU / Linux oder BSD.

So wenden Sie Prelink an

Die Optimierung des Systems mit Prelink ist recht einfach. Wir können eine Binärdatei mit (als Root) optimieren:

prelink binario

Aber um das gesamte System zu optimieren, müssen wir Folgendes ausführen:

prelink -amvR

Sie werden so etwas sehen:

Vorverlinkung

Vorverlinkung

Hier ist eine detaillierte Erklärung der Bedeutung der Parameter:

  • a: gleich –all, gilt für das gesamte System
  • m: Entspricht –konservieren des Speichers. Die Erklärung der Funktionsweise ist komplex, spart jedoch Platz
  • v: Entspricht –verbose und ermöglicht es uns zu wissen, welche Bibliotheken vorverknüpft sind
  • A: Entspricht –random. Erhöhen Sie die Sicherheit, indem Sie einen zufälligen Wert festlegen. Ich kenne die Einzelheiten seiner Funktionsweise nicht
Das Terminal ist Yakuake, falls jemand interessiert ist.

Zum Aufheben der Verknüpfung (Aufhebung der Verknüpfung) einer Binärdatei

prelink  -u

Das ganze System:

prelink -au

Viele Distributionen wie Ubuntu bieten einen Cron an, der regelmäßig alle System-Binärdateien vorverknüpft, wenn Prelink installiert ist
Prelink kann Probleme in mehreren proprietären Binärdateien verursachen, daher werden diese normalerweise standardmäßig übersprungen. Stellen Sie auf jeden Fall sicher, dass Ihre Datei /etc/prelink.conf die folgenden Zeilen enthält:
# 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- * # Katalysator -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

KDE optimieren

Was versprochen wird, ist Schulden. Wenn Sie Ihr System bereits vorverbunden haben, haben Sie wahrscheinlich keinen Unterschied in den KDE-Ladezeiten festgestellt. Dies liegt daran, dass KDE als Dienstprogramm namens kdeinit dient, um alle erforderlichen Bibliotheken zu laden. Um die Verwendung dieses Tools zu vermeiden, müssen wir KDE darüber informieren, dass es vorverknüpft ist. Dazu müssen wir (als root) eine variable Datei erstellen:

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

In die wir die folgende Zeile einfügen

export KDE_IS_PRELINKED=1

Und wir geben ihm die richtigen Berechtigungen (wir möchten nicht, dass jemand Unartiges hinzufügt rm-rf /)

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

Und wenn Sie mir nicht glauben, sehen Sie hier ein Video, in dem KDE auf meinem System hochfährt:

[Spezifikationen] Systemdetails:
  • Festplatte mit 7200 U / min
  • Gentoo
  • XFS
  • Ksplash deaktiviert (Ursache des schwarzen Videobildschirms
[/ specs]

Cron und Prelink

Wenn Sie ein System wie Archlinux verwenden, bei dem Aktualisierungen sehr häufig sind, kann es interessant sein, einen Cron hinzuzufügen, der jeden Tag einen Prelink ausführt.

Daher öffnen wir die Cron-Datei mit Nano (als Root):

nano /etc/cron.daily/prelink

Und wir fügen Folgendes ein:

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

Dann geben wir ihm die entsprechenden Berechtigungen (ich habe bereits erwähnt, dass niemand möchte, dass jemand bösartigen Code hinzufügt):
chmod 755 /etc/cron.daily/prelink

Eine gute Angewohnheit beim Lesen eines Artikels ist es, zu untersuchen, was genau das Skript tut. Eine gute Angewohnheit beim Schreiben ist es, zu erklären, wofür es ist. Hier die Aufteilung

  1. In der ersten Zeile erfahren Sie, was ein Bash-Skript ist und wo sich der Interpreter befindet.
  2. Die zweite bewirkt, dass bash eine Subshell im Debug-Modus ausführt. Ich weiß nicht warum, aber es wird empfohlen, sie kann ohne Risiko entfernt werden. Das && bedeutet, dass Sie nach Beendigung des Befehls Folgendes ausführen.
  3. Führen Sie den Prelink mit einigen bereits erläuterten Parametern aus. &> / Dev / null leitet alle Ausgaben nach / dev / null um, dh verwirft sie

Links von Interesse