Prelink (ou comment faire démarrer KDE en 3 secondes)

Prélien est un programme dont l'utilité est de rendre les programmes ouverts plus rapidement. Bien que l'explication de la façon dont il le fasse valoir un article complet, nous pouvons dire d'une manière approximative qu'elle indique au binaire où chercher en premier les bibliothèques dynamiques qu'il doit charger.

Ainsi, imaginons que nous ayons un binaire qui dépend de la librairie QtCore, une fois que nous avons exécuté le prélink dessus, il cherchera d'abord dans l'espace désigné par prélink, et dans le cas où il ne le trouverait pas (une mise à jour, pour exemple) il le recherchera de manière traditionnelle.

Prelink fonctionne sur n'importe quel système compatible POSIX, tel que GNU / linux ou les BSD.

Comment appliquer Prelink

Optimiser le système avec prélink est assez simple, nous pouvons optimiser un binaire en utilisant (en tant que root):

prelink binario

Mais pour optimiser l'ensemble du système, nous devons effectuer:

prelink -amvR

Vous verrez quelque chose comme ceci:

Prélien

Prélien

Voici une explication détaillée de la signification des paramètres:

  • a: égal à –all, le fait s'appliquer à l'ensemble du système
  • m: équivalent à –conserve-memory, l'explication de son fonctionnement est complexe, mais économise de l'espace
  • v: équivaut à –verbose, cela nous permet de savoir quelles sont les bibliothèques pré-liées
  • R: Équivalent à –random, augmentez la sécurité en rendant une valeur aléatoire. Je ne connais pas les détails de son fonctionnement
Le terminal est Yakuake, au cas où quelqu'un serait intéressé.

Pour annuler le pré-lien (dissocier) un binaire

prelink  -u

L'ensemble du système:

prelink -au

De nombreuses distributions comme Ubuntu proposent un cron qui pré-lie périodiquement tous les binaires système si le prélink est installé
Prelink peut causer des problèmes dans plusieurs binaires propriétaires, ils sont donc généralement ignorés par défaut. Quoi qu'il en soit, assurez-vous que votre fichier /etc/prelink.conf contient ces lignes:
# Skype -b / usr / lib32 / skype / skype -b / usr / lib / skype / skype # Plugin Flash Player -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- * # Catalyseur -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

Optimiser KDE

Ce qui est promis, c'est la dette. Si vous aviez déjà pré-lié votre système, vous n'avez probablement pas remarqué de différence dans les temps de chargement de KDE. En effet, KDE sert d'utilitaire appelé kdeinit pour charger toutes les bibliothèques nécessaires. Pour éviter l'utilisation de cet outil, nous devons informer KDE qu'il est pré-lié. Pour ce faire, nous devons (en tant que root) créer un fichier de variables:

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

Dans lequel nous collons la ligne suivante

export KDE_IS_PRELINKED=1

Et nous lui donnons les autorisations appropriées (nous ne voulons pas qu'un vilain ajoute rm-rf /)

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

Et si vous ne me croyez pas, voici une vidéo du démarrage de KDE sur mon système:

[spécifications] Détails du système:

  • Disque dur à 7200 tr / min
  • Gentoo
  • XFS
  • Ksplash désactivé (cause de l'écran noir de la vidéo
[/ specs]

Cron et prélink

Si vous utilisez un système comme Archlinux, dans lequel les mises à jour sont très fréquentes, il peut être intéressant d'ajouter un cron qui exécute le prélink tous les jours.

Ainsi, nous ouvrons le fichier cron avec nano (en tant que root):

nano /etc/cron.daily/prelink

Et nous collons ce qui suit:

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

Ensuite, nous lui donnons les autorisations appropriées (j'ai déjà mentionné que personne ne veut que quelqu'un y ajoute du code malveillant):
chmod 755 /etc/cron.daily/prelink

Une bonne habitude lors de la lecture d'un article est de rechercher ce que fait exactement le script. Une bonne habitude lors de l'écriture est d'expliquer à quoi il sert. Ici la ventilation

  1. La première ligne indique au système ce qu'est un script bash et l'emplacement de l'interpréteur.
  2. Le second fait que bash exécute un sous-shell en mode débogage, je ne sais pas pourquoi, mais c'est recommandé, il peut être éliminé sans risque. Le && signifie que lorsque la commande se termine, exécutez ce qui suit.
  3. Exécuter la liaison préliminaire avec certains paramètres déjà expliqués, le &> / dev / null redirige toute sortie vers / dev / null, c'est-à-dire la supprime

Liens d'intérêt


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   Ivan Barra dit

    Avec la "grève" que vous avez donnée à [ENTER], les petits nains que le pc a eu peur et ont commencé à travailler deux fois plus vite qu'auparavant, vous dites utiliser PRELINK, mais votre système est basé sur la terreur ... hahaha!

    Salutations et excellent message

    Merci pour le partage.

    1.    routier dit

      Euh, avec le bruit que ça fait, je ne serais pas surpris s'il y avait une mine sur mon ordinateur XD.

    2.    chasseur dit

      Epic la blague, c'est vrai qu'il avait hâte d'entrer, hehe.

  2.   Sheosi dit

    Je voudrais commenter qu'il y a quelque temps, j'ai évalué cela, et j'ai pu voir que les différences étaient presque nulles (utiliser comme tests je pense et couler les bits firefox et nautilus).
    S'il y a des intéressés je publierai le fichier (je ne l'ai pas publié à l'époque par paresse).

    1.    routier dit

      Euh, tous les fichiers ne s'améliorent pas, mais à tout le moins, le système a tendance à démarrer plus rapidement.

  3.   journée dit

    Il fut un temps où j'utilisais l'e4rat et cela améliorait le démarrage pendant quelques secondes, car c'est un hdd ça démarre trop vite de ce que je vois, actuellement j'ai un petit ssd avec kaos et en xfs et quand j'ai vu le démarrage temps, je ne pouvais pas y croire.
    http://i.imgur.com/ds6WqIT.png

    1.    Joao dit

      J'exige de connaître le thème de bureau que vous utilisez et le jeu d'icônes (dans de bonnes vibrations)

      1.    routier dit

        Je jurerais que le thème est l'hélium.

      2.    journée dit

        Le thème et les icônes du plasma sont appelés Dynamo et la fenêtre mince suivante.
        http://sta.sh/02ful04ags1
        http://hombremaledicto.deviantart.com/art/Dynamo-Plasma-beta-473014317
        http://kde-look.org/content/show.php?content=164722

        Désolé pour l'auteur de la chanson pour le off 🙂

    2.    jose-tige dit

      Comment s'appelle ce lanceur d'applications? 🙂

      1.    routier dit

        Je pense que c'est un lanceur appelé simple qml.

      2.    journée dit

        Comme le dit roader, c'est le QML

      3.    jose-tige dit

        Merci 😉

  4.   éliotime3000 dit

    Très bon conseil, bien que KDE fasse des merveilles sur Arch et Slackware (je les ai essayés et ils sont vraiment spectaculaires).

  5.   Azureus dit

    Super, merci beaucoup. Je l'ai essayé sur mon Arch, j'ai fait un prélink général et je dois dire que l'amélioration est assez bonne et je me sens très à l'aise hehe

  6.   ianpocks dit

    Je ne sais pas si c'est moi…. mais je ne remarque aucune différence et avec systemd-analyser, il faut encore plus de temps pour démarrer ...

    1.    routier dit

      Eh bien, il doit y avoir un problème dans votre système d'exploitation, vous savez, prélink -au et tout est résolu.

  7.   blablabla dit

    Autant que je sache (d'après ma propre expérience), au moins dans Gentoo, vous n'avez pas besoin de créer un nouveau fichier pour transmettre la valeur de la variable KDE_IS_PRELINKED. Décommentez simplement la ligne KDE_IS_PRELINKED = 1 dans /etc/env.d/43kdepaths (je ne suis pas sûr que ce soit le chemin exact, car je n'ai pas ma machine pour le moment).

    Chaque fois que KDE est complètement compilé, vous devez revoir ce fichier, car certains des packages qu'il installe écraseront le fichier que j'ai mentionné.

    1.    routier dit

      Et c'est probablement le cas dans de nombreuses distributions. mais en le faisant comme je l'ai fait, je vous garantis que cette configuration n'est pas modifiée.

  8.   Statique dit

    Excellent message, félicitations

    Je vous propose de créer un tutoriel pour installer Gentoo

    1.    routier dit

      J'en tiendrai compte . Je vous remercie

  9.   Cristianhcd dit

    très bon utilitaire, même si ça ne me sert pas, car je l'ai: dégoûtant pour KDE

  10.   Xavier dit

    Le dauphin va-t-il accélérer? Ça a toujours semblé lent à démarrer

    1.    routier dit

      Il devrait, je ne sais pas, je l'utilise toujours par défaut. J'utilise gentoo, portage, s'il détecte que le prélink est installé, il prélink automatiquement les binaires, donc, aucune idée.

  11.   Pepo dit

    Intéressant, merci!

    PD- Bibliothèque = Bibliothèque, pas bibliothèque 😉
    Eh bien, le bureau s'appelle Plasma Desktop, pas KDE. Ok, j'arrête xD

    1.    routier dit

      Dans le jargon informatique, c'est un échec reconnu, après tout, les langues sont pragmatiques, en particulier dans les traductions.
      https://es.wikipedia.org/wiki/Librería_(desambiguación)

  12.   dtulf dit

    bien. J'étais sur le point de le tester dans ArchLinux KDE (base, pas le DE complet) et cela me donne «Erreur lors de l'enregistrement '/etc/cron.daily/ Erreur lors de l'enregistrement' /etc/cron.daily/prelink ': Le fichier ou le répertoire de prélink n'existe pas ': Le fichier ou le répertoire n'existe pas ». Je n'ai pas installé "cron" et sur le wiki [1] ils parlent de cronie, fcron et d'autres variantes. Que dois-je installer ou faire pour suivre le didacticiel?

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