{"id":555,"date":"2019-11-24T19:56:16","date_gmt":"2019-11-24T17:56:16","guid":{"rendered":"https:\/\/orditux.org\/floss\/?p=555"},"modified":"2026-02-03T23:10:40","modified_gmt":"2026-02-03T21:10:40","slug":"configurer-prelink-intelligemment","status":"publish","type":"post","link":"https:\/\/orditux.org\/floss\/2019\/11\/24\/configurer-prelink-intelligemment\/","title":{"rendered":"Configurer prelink intelligemment"},"content":{"rendered":"<p style=\"text-align: justify;\">Prelink est un programme en ligne de commande disponible dans les d\u00e9p\u00f4ts de la plupart des distributions GNU\/Linux. Il a pour r\u00f4le de permettre \u00e0 l&#8217;administrateur du syst\u00e8me de pr\u00e9lier les biblioth\u00e8que des applications install\u00e9es de sorte \u00e0 leur permettre de d\u00e9marrer plus rapidement lorsqu&#8217;on lance le programme d&#8217;une de ces applications.<\/p>\n<p style=\"text-align: justify;\">Une fois ces biblioth\u00e8ques pr\u00e9li\u00e9es, elles seront charg\u00e9es automatiquement durant le d\u00e9marrage du syst\u00e8me (tr\u00e8s probablement dans la phase 5 du d\u00e9marrage, c&#8217;est \u00e0 dire en \u201cinit 5\u201d). Cela permettra aux programmes concern\u00e9s de d\u00e9marrer plus rapidement lorsque l&#8217;utilisateur l&#8217;invoquera, ce qui sur certaines configurations mat\u00e9rielles pourra \u00eatre un avantage.<\/p>\n<p style=\"text-align: justify;\">Dans tous les tutoriels que j&#8217;ai lus sur le web, la ligne de commande qui est syst\u00e9matiquement indiqu\u00e9e est, en root, (avec sudo ou en passant la commande \u201csu\u201d dans votre console),<\/p>\n<pre>prelink -avmR<\/pre>\n<p style=\"text-align: justify;\">Je recommande de NE PAS utiliser cette m\u00e9thode.<\/p>\n<p style=\"text-align: justify;\">La raison en est que pour acc\u00e9l\u00e9rer le d\u00e9marrage de quelques programmes, on va pr\u00e9charger les biblioth\u00e8ques de tous les programmes sans que ce soit n\u00e9cessaire et en alourdissant consid\u00e9rablement la charge sur les ressources (m\u00e9moire, processeur, que sais-je ?).<\/p>\n<p style=\"text-align: justify;\">Une exp\u00e9rience avec \u201c-avmR\u201d fut r\u00e9alis\u00e9e sur un live CD contenant des applications ludiques \u00e9ducatives : dans le live CD, la suite gCompris prenait plus de 20 secondes \u00e0 se lancer, ce qui fit croire au testeur qu&#8217;il ne se lan\u00e7ait simplement pas, dans le live CD. Une fois l&#8217;image ISO reconstruite avec un prelink ne liant plus que quelques programmes et non pas tous, ce fut r\u00e9solu et gCompris se lan\u00e7ait alors avec un temps de latence de quelques secondes, tout \u00e0 fait raisonnable. (La cr\u00e9ation de son r\u00e9pertoire de configuration utilisateur avait aussi \u00e9t\u00e9 pr\u00e9vue au pr\u00e9alable).<\/p>\n<p style=\"text-align: justify;\">Donc voici comment proc\u00e9der. D&#8217;abord, prelink ne peut lier les biblioth\u00e8que d&#8217;un programme que si on l&#8217;invoque contre le binaire du dit programme. Par exemple, avec firefox, voici comment cela se passe:<\/p>\n<p style=\"text-align: justify;\">firefox est sous \/usr\/bin\/ mais c&#8217;est un script. Le binaire est ailleurs : il est sous \/usr\/lib\/firefox\/ et se nomme, firefox. Pour le v\u00e9rifier, il suffit de lancer <em>ls -l \/usr\/bin\/firefox<\/em>, puis de lire le contenu de <em>\/usr\/lib\/firefox\/firefox.sh<\/em>. Et aussi de lancer <em>file \/usr\/lib\/firefox\/firefox<\/em>, qui affichera que c&#8217;est un &#8220;ELF \u2026 blablabla&#8221;.<\/p>\n<p style=\"text-align: justify;\">Pour pr\u00e9lier firefox, et lui seulement, ce sera donc, en root:<\/p>\n<pre>prelink -vmR \/usr\/lib\/firefox\/firefox<\/pre>\n<p style=\"text-align: justify;\">Les programmes int\u00e9ressants \u00e0 pr\u00e9lier, dans l&#8217;usage courant d&#8217;un PC, sont principalement firefox, chromium-browser, libreoffice. Si vous les employez souvent, sont aussi un peu lourds et lents au d\u00e9marrage, Gimp, Inkscape, Scribus. Dans la distribution que j&#8217;utilise, le binaire libreoffice se nomme soffice.bin:<\/p>\n<pre>prelink -vmR \/usr\/lib\/libreoffice\/program\/soffice.bin<\/pre>\n<p style=\"text-align: justify;\">Enfin, vous pourrez \u00eatre surpris de voir tout votre syst\u00e8me \u00eatre pr\u00e9li\u00e9 de mani\u00e8re automatique, si vous ne supprimez pas le bit d&#8217;ex\u00e9cution sur le cron qui est g\u00e9n\u00e9ralement fourni avec le paquet. Rendez-vous dans \/etc\/cron.daily, et lancez &#8220;ls -l prelink&#8221;, vous devriez voir :<\/p>\n<pre>-rwxr-xr-x 1 root root 2379 mai 7 2013 prelink<\/pre>\n<p style=\"text-align: justify;\">S&#8217;il n&#8217;y est pas, il est peut-\u00eatre dans \/etc\/cron.weekly, ou *.monthly. Cela d\u00e9pend de ce qu&#8217;a pr\u00e9vu le responsable du paquet.<\/p>\n<p style=\"text-align: justify;\">je conseille de le d\u00e9sactiver. En se positionnant dans le r\u00e9pertoire o\u00f9 se trouve le cron prelink, en root:<\/p>\n<pre>chmod a-x prelink<\/pre>\n<p style=\"text-align: justify;\">Il existe sous \/etc un fichier <em>prelink.conf<\/em> qui contient et d\u00e9termine quels fichiers et dossiers devraient \u00eatre pris en compte. Si vous avez d\u00e9sactiv\u00e9 le cron relative \u00e0 prelink, vous pouvez ignorer ce fichier. Enfin sous \/etc\/default il y a aussi un fichier prelink pour les pr\u00e9f\u00e9rences. De la m\u00eame mani\u00e8re, si vous pr\u00e9liez uniquement quelques programmes lourds et lents \u00e0 d\u00e9marrer sur vos ordinateurs, vous n&#8217;avez pas besoin d&#8217;y toucher, d&#8217;autant qu&#8217;il n&#8217;est pas tr\u00e8s clair sur ce qu&#8217;il fait. Je soup\u00e7onne qu&#8217;il n&#8217;est en fait pas pris en compte lorsque le cron est actif, et parfaitement inutile lorsqu&#8217;on garde la ma\u00eetrise sur les programmes trait\u00e9s avec prelink.<\/p>\n<p style=\"text-align: justify;\">Pour l&#8217;utilit\u00e9 des options utilis\u00e9es, le man de prelink est assez clair. Celles que j&#8217;emploie, <em>-vmR<\/em> sont v=verbose (bavard), m=&#8211;conserve-memory est recommand\u00e9e pour gagner de l&#8217;espace et -R=&#8211;random accro\u00eet la s\u00e9curit\u00e9 dans le syst\u00e8me.<\/p>\n<p style=\"text-align: justify;\">Une fois vos programmes choisis pr\u00e9li\u00e9s, vous pouvez lancer la commande <em>prelink -p<\/em> pour v\u00e9rifier le contenu du cache de prelink.<\/p>\n<p style=\"text-align: justify;\">En conclusion, prelink est un excellent programme, qui a tout avantage \u00e0 \u00eatre utilis\u00e9 en s\u00e9lectionnant les options disponibles de mani\u00e8re fine, en ignorant les configurations par d\u00e9faut pr\u00e9judiciables \u00e0 une v\u00e9ritable optimisation du syst\u00e8me.<\/p>\n<p style=\"text-align: justify;\">\n","protected":false},"excerpt":{"rendered":"<p>Prelink est un programme en ligne de commande disponible dans les d\u00e9p\u00f4ts de la plupart des distributions GNU\/Linux. Il a pour r\u00f4le de permettre \u00e0 l&#8217;administrateur du syst\u00e8me de pr\u00e9lier les biblioth\u00e8que des applications install\u00e9es de sorte \u00e0 leur permettre de d\u00e9marrer plus rapidement lorsqu&#8217;on lance le programme d&#8217;une de ces applications. Une fois ces [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_s2mail":"","footnotes":""},"categories":[7],"tags":[14,16,17],"class_list":["post-555","post","type-post","status-publish","format-standard","hentry","category-tutoriels","tag-gnu-linux","tag-optimisation","tag-prelink"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/orditux.org\/floss\/wp-json\/wp\/v2\/posts\/555","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/orditux.org\/floss\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/orditux.org\/floss\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/orditux.org\/floss\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/orditux.org\/floss\/wp-json\/wp\/v2\/comments?post=555"}],"version-history":[{"count":4,"href":"https:\/\/orditux.org\/floss\/wp-json\/wp\/v2\/posts\/555\/revisions"}],"predecessor-version":[{"id":1457,"href":"https:\/\/orditux.org\/floss\/wp-json\/wp\/v2\/posts\/555\/revisions\/1457"}],"wp:attachment":[{"href":"https:\/\/orditux.org\/floss\/wp-json\/wp\/v2\/media?parent=555"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/orditux.org\/floss\/wp-json\/wp\/v2\/categories?post=555"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/orditux.org\/floss\/wp-json\/wp\/v2\/tags?post=555"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}