summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'xml/htdocs/doc/nl/prelink-howto.xml')
-rw-r--r--xml/htdocs/doc/nl/prelink-howto.xml437
1 files changed, 0 insertions, 437 deletions
diff --git a/xml/htdocs/doc/nl/prelink-howto.xml b/xml/htdocs/doc/nl/prelink-howto.xml
deleted file mode 100644
index e95873b991..0000000000
--- a/xml/htdocs/doc/nl/prelink-howto.xml
+++ /dev/null
@@ -1,437 +0,0 @@
-<?xml version='1.0' encoding="UTF-8"?>
-<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
-
-<!--
- Sync: 1.21
--->
-
-<guide link="doc/nl/prelink-howto.xml">
-<title>Gentoo Linux Prelink Gids</title>
-<author title="Author"><mail link="cretin@gentoo.org">Stefan Jones</mail>
-</author>
-<author title="Editor"><!-- zhen@gentoo.org -->
-John P. Davis
-</author>
-<author title="Editor"><mail link="peesh@gentoo.org">Jorge Paulo</mail>
-</author>
-<author title="Editor"><mail link="swift@gentoo.org">Sven Vermeulen</mail>
-</author>
-<author title="Translator"><mail link="blubber@gentoo.org">Tiemo Kieft</mail>
-</author>
-
-<license/>
-
-<abstract>
-Deze gids legt je uit hoe je gebruik kan maken van de prelink ondersteuning in
-Portage 2.0.46 en later.
-</abstract>
-
-<version>1.4</version>
-<date>7 September 2003</date>
-
-<chapter>
-<title>Inleiding</title>
-<section>
-<title>Wat is prelinken en hoe kan het mij helpen?</title>
-<body>
-
-<p>
-De meest algemene programmas maken gebruik van gedeelde bibliotheekbestanden.
-Deze moeten tijdens de uitvoering in het geheugen geladen worden en de
-verschillende symbolische referenties dienen gemapped te worden naar hun
-werkelijke adreswaarden. Voor de meeste kleine programmas is dit dynamisch
-linken zeer snel. Maar programmas die geschreven zijn in C++ en die veel
-bibliotheek-afhankelijkheden hebben ondervinden een langdurige pauze tijdens
-het laden van deze bibliotheekbestanden.
-</p>
-
-<p>
-Op de meeste systemen worden deze bibliotheekbestanden niet vaak aangepast, en
-wanneer een programma uitgevoerd wordt zijn de operaties die moeten ondernomen
-worden om het programma te linken zeer vaak dezelfde. <c>prelink</c> maakt
-hiervan gebruik door deze linking-informatie op te slaan in het uitvoerbaar
-bestand, daarom ook de naam &quot;prelinking&quot;. Opdat de linker,
-ld-linux.so, prelinking ondersteunt moet je glibc &gt;= 2.3 hebben.
-</p>
-
-<p>
-Prelinking kan de opstarttijd van programma's verbeteren. Een typisch voorbeeld
-is een KDE programma wiens laadtijd tot 50% kan verbeterd worden. Het enige
-onderhoud die nodig is hiervoor is het heruitvoeren van prelink telkens een
-bibliotheek van een gepre-linked programma geupgrade is.
-</p>
-
-</body>
-</section>
-<section>
-<title>Samenvatting</title>
-<body>
-<ul>
-<li>
-Prelinking gebeurt via een programma genaamd <c>prelink</c>. Het verandert het
-bestand zodat deze sneller opstart.
-</li>
-
-<li>
-Indien een bibliotheekbestand aangepast werd na het prelinken moet je de
-applicatie opnieuw herprelinken, anders zal je geen snelheidswinst verkrijgen.
-</li>
-
-<li>
-De aanpassing in het bestand is volledig reversibel. <c>prelink</c> heeft een
-&quot;undo&quot; functie.
-</li>
-
-<li>
-Nieuwe versies van Portage herkennen de verandering van md5ums en mtimes van de
-binaries indien deze door <c>prelink</c> toegepast werden.
-</li>
-
-<li>
-Je moet glibc-2.3 of later hebben samen met de binaries van
-binutils-2.13.90.0.xx.
-</li>
-</ul>
-</body>
-</section>
-
-</chapter>
-
-<chapter>
-<title>Prelink instellen</title>
-<section>
-<title>De programmas installeren</title>
-<body>
-<note>
-We veronderstellen dat je een Gentoo-1.4 systeem hebt en dat deze gecompileerd
-werd met gcc-3.2 of later en via binutils-2.13.90.0.xx. Dit is vereist opdat de
-bestanden kunnen geprelinked worden.
-</note>
-
-<warn>
-Je <e>moet</e> glibc-2.3.1 of later hebben, anders zal <c>prelink</c> al je
-binaries naar de wip helpen!
-</warn>
-
-
-<p>
-Update eerst je Portage-structuur, aangezien veel van de nodige applicaties
-nieuw zijn en er constant patches toegevoegd worden.
-</p>
-<pre caption = "De Portage-structuur updaten">
-# <c>emerge sync</c>
-</pre>
-
-<p>
-Zorg er nu voor dat je Portage-2.0.46 of later geinstalleerd staan hebt. Dit is
-noodzakelijk opdat portage de geprelinkede bestanden herkent en deze correct
-verwijdert wanneer dat gevraagd wordt. Dit is omdat prelinking de md5sum's van
-de bestanden aanpast.
-</p>
-
-<pre caption = "De Portage versie controleren en indien nodig upgraden">
-# <c>emerge ">=portage-2.0.46"</c>
-</pre>
-
-<p>
-Nu kan je de prelinking-tool emergen. Het proces zal zelf controleren of je
-systeem veilig kan geprelinked worden.
-</p>
-
-<pre caption = "Prelink installeren">
-# <c>emerge prelink</c>
-</pre>
-
-<p>
-Een klein aantal mensen kregen errors tijdens het emergen van <c>prelink</c>
-wegens de falende tests. Deze testen zijn er voor veiligheidsredenen,
-<c>prelink</c>'s gedrag is namelijk niet controleerbaar indien je deze
-testen uitschakelt. De emerge errors zijn meestal enkel afhankelijk van de
-core packages; binutils, gcc en glibc. Probeer deze packages in die volgorde
-te heremergen.
-</p>
-
-<note>
-Tip: Indien je een fout krijgt probeer dan <c>prelink</c> zelf te compileren
-(./configure; make; make check). Indien dit faalt kan je de *.log bestanden in
-de testsuite directorie lezen. Deze kunnen interessante zaken bevatten.
-</note>
-
-<p>
-Indien je een aantal stappen hebt die je kan reproduceren op een ander systeem,
-gelieve deze dan door te mailen naar <mail link="cretin@gentoo.org">Stefan
-Jones</mail>.
-</p>
-
-</body>
-</section>
-
-<section>
-<title>Configuratie</title>
-<body>
-
-<p>
-Portage zal vanzelf het <path>/etc/prelink.conf</path> bestand aanmaken waarin
-vermeld wordt welke bestanden <c>prelink</c> mag prelinken.
-</p>
-<p>
-Jammergenoeg kan je geen programmas prelinken die door oudere versies van
-binutils zijn gecompileerd. Het merendeel van deze applicaties komen van
-voorgecompileerde, binaire packages die in /opt geinstalleerd staan. Het
-volgende bestand zal <c>prelink</c> vragen om niet aan die bestanden te komen.
-</p>
-
-<pre caption="/etc/env.d/99prelink">
-PRELINK_PATH_MASK="/opt"
-</pre>
-
-<note>
-Je kan extra directories toevoegen door ze onderling via &quot;:&quot; te
-scheiden.
-</note>
-
-</body>
-</section>
-</chapter>
-
-
-
-
-<chapter>
-<title>Prelinking</title>
-<section>
-<title>Prelink gebruik</title>
-<body>
-<p>
-De auteur gebruikt het volgende commando om alle binaries in de gegeven
-directories (vermeld in <path>/etc/prelink.conf</path>) te prelinken:
-</p>
-
-<pre caption = "De nodige bestanden prelinken">
-# <c>prelink -afmR</c>
-</pre>
-
-<warn>
-Men heeft al opgemerkt dat, indien je weinig vrije ruimte hebt op je schijf, en
-je begint met de bestanden te prelinken, dat sommige bestanden afgeknipt worden
-(en dus niet meer functioneren). Maak gebruik van het <c>file</c> of
-<c>readelf</c> commando om de status van een bestand te controleren. Of
-controleer van te voren hoeveel ruimte je vrij hebt op je harde schijf
-doormiddel van <c>df -h</c>.
-</warn>
-
-<p>
-Uitleg over de opties:
-</p>
-
-<p><b>-a</b></p><p>Allemaal, prelink alle binaries</p>
-
-<p><b>-f</b></p><p>
-Verplicht <c>prelink</c> om al geprelinkede binaries opnieuw te prelinken. Dit
-is nodig aangezien prelink stopt wanneer ze al geprelinkede binaries tegenkomt
-terwijl hun bibliotheekbestandafhankelijkheden veranderd zijn.
-</p>
-
-<p><b>-m</b></p><p>
-Hou rekening met de beschikbare virtuele ruimte. Dit is nodig indien je veel
-bibliotheekbestanden hebt die geprelinked dienen te worden.
-</p>
-
-<p><b>-R</b></p><p>
-Random, maak de adres-ordening random; dit verbetert de bescherming tegen
-buffre overflows
-</p>
-
-<p>
-Voor meer opties en details, zie <i>man prelink</i>.
-</p>
-
-</body>
-</section>
-</chapter>
-<chapter>
-<title>Gekende problemen en oplossingen</title>
-
-<section>
-<title>&quot;Kan niet prelinken tegen niet-PIC gedeelde bibliotheken&quot;</title>
-<body>
-<p>
-De reden hiervan zijn slecht gecompileerde bibliotheken die met gcc's -fPIC
-optie zijn gecompileerd.
-</p>
-
-<p>
-Het volgende is een lijst van probleembibliotheken en packages die je moet
-heremergen indien je bovenstaande fout krijgt:
-</p>
-
-<pre caption = "Oplossingen">
-<codenote>Voor de ORBit bibliotheek: /usr/lib/libIIOP.so.0.5.17</codenote>
-emerge ">=sys-apps/tcp-wrappers-7.6-r4" ORBit
-<codenote>Voor de libz bibliotheek: usr/lib/libz.so.1.1.4</codenote>
-emerge ">=sys-libs/zlib-1.1.4"
-<codenote>Voor svgalib: /usr/lib/libsvga.so.xx</codenote>
-emerge ">=media-libs/svgalib-1.9.16"
-<codenote>Voor de XFree openGL library: libGLU.so.1</codenote>
-emerge ">=x11-base/xfree-4.2.1-r2"
-<codenote>Voor libpcap.so.0.6</codenote>
-emerge ">=net-libs/libpcap-0.7.1-r2"
-<codenote>Voor de lcms library: /usr/lib/liblcms.so.1</codenote>
-emerge ">=media-libs/lcms-1.09"
-</pre>
-
-<note>
-Veel bibliotheken linken statisch tegen zlib en/of tcp-wrappers, dus moet je
-deze ook heremergen.
-</note>
-
-<p>
-Indien je problemen verkrijgt bij het prelinken van QT/KDE, upgrade dan eerst
-naar >=x11-base/xfree-4.2.1-r2 en >=x11-libs/qt-3.1.0-r1. Indien QT nog steeds
-faalt probeer dan QT te compileren zonder xinerama ondersteuning door
-myconf="-no-xinerama ${myconf}" in de qt ebuild toe te voegen.
-</p>
-
-<p>
-Hier is een lijst van bibliotheken die niet gefixed werden of kunnen gefixed
-worden:
-</p>
-<ul>
-<li>De bibliotheken in de Wine package, inclusief winex. Het zou de MS Windows uitvoerbare bestanden toch niet versnellen.</li>
-<li>De bibliotheek van media-video/mjpegtools, /usr/lib/liblavfile-1.6.so.0</li>
-</ul>
-
-<p>
-Indien je problemen ondervindt met een bibliotheek die hier niet vermeld werd,
-rapporteer deze dan met, indien mogelijk, een patch om <i>-fPIC</i> toe te
-voegen aan de relevante CFLAGS.
-</p>
-
-</body>
-</section>
-
-<section>
-<title>
-Gestopt tijdens prelinken van een bestand, zoals &quot;1631 Aborted ....&quot;
-</title>
-<body>
-
-<p>
-Je moet de <i>-f</i> optie meegeven aan <c>prelink</c>, ie reprelink het ganse
-systeem. Probeer <i>prelink -af</i>.
-</p>
-
-</body>
-</section>
-
-<section>
-<title>&quot;&lt;file&gt;: error while loading shared libraries: unexpected reloc type...&quot;</title>
-<body>
-<p>
-Dit is opgelost in <i>sys-libs/glibc-2.3.1-r2</i> op 2002/11/18, heremerge
-glibc indien jouw versie ouder is.
-</p>
-
-<p>
-Het uitvoeren van <i>prelink -u -a -m; prelink -a -m</i> helpt soms ook. Indien
-ook dit mislukt probeer dan gewoon <i>prelink -u &lt;file&gt;</i>
-</p>
-
-</body>
-</section>
-
-<section>
-<title>
-Ik heb problemen met NVidia OpenGL bibliotheken
-</title>
-<body>
-<p>
-De geaccelereerde OpenGL bibliotheken die bij nvidia-glx zitten zijn volgens
-een niet-standaard manier gecompileerd waardoor prelinken waarschuwingen geeft.
-Hier moet je je niet echt zorgen over maken - je kan het ook niet voorkomen,
-enkel de mensen van NVidia zelf kunnen dat. Je kan altijd terugkeren naar de
-xfree versie van libGL.so indien je geen 3D-acceleratie nodig hebt. De nvidia
-xfree driver werkt echter perfect.
-</p>
-</body>
-</section>
-
-<section>
-<title>
-Wanneer ik mijn systeem prelink werken sommige statische binaries niet meer
-</title>
-<body>
-
-<p>
-Voor zover we over glibc bezig zijn bestaat er niet zo iets als een 100%
-statische binarie. Indien je een programma statisch compileert met glibc dan
-kan/zal het nog steeds afhangen van andere systeembestanden. Hieronder vind je
-een (vertaalde) uitleg van Dick Howell.
-</p>
-<p>
-&quot;Ik veronderstel dat het idee is dat alles in dat ene bestand staat, dus
-dat er niets meer afhangt van lokale bibliotheken op het systeem. Jammergenoeg
-is dit bij Linux, en ik denk zelfs bij alles wat GLIBC gebruikt, niet het
-geval. Er is wat heet "libnss" (name service switch, sommige mensen noemen het
-network security system) die bepaalde functies aanbiedt voor het bereiken van
-verschillende databases voor identiteits verificatie, netwerkinformatie en
-andere zaken. De bedoeling ervan was om programmas onafhankelijk te maken van
-de apart geconfigureerde netwerkomgeving van de machine. Een goed idee, maar
-veranderingen aan GLIBC kunnen echter leiden tot problemen wanneer je dit
-laadt. En je kan "libnss" niet statisch linken, want het is individueel
-afhankelijk van systeem tot systeem. Ik denk dat de problemen komen van het
-statisch linken van andere GLIBC-bibliotheken, vooral "libpthread", "libm" en
-"libc", van waaruit incompatibele calls komen naar de "libnss" functies.&quot;
-</p>
-
-</body>
-</section>
-
-<section>
-<title>
-Prelink stopt met &quot;prelink: dso.c:306: fdopen_dos: Assertion `j == k'
-failed.&quot;
-</title>
-<body>
-<p>
-Dit is een gekend probleem wat mooi uitgelegd staat op <uri
-link="http://bugs.gentoo.org/show_bug.cgi?id=13878">deze pagina</uri>. Prelink
-kan niet werken met UPX-gecomprimeerde uitvoerbare bestanden. Vanaf
-prelink-20021213 is er geen oplossing behalve het verbergen van de bestanden
-terwijl je aan het prelinken bent. Zie de uitleg over de configuratie van
-prelink hierboven voor meer informatie over hoe je dat doet.
-</p>
-</body>
-</section>
-
-<section>
-<title>Ik gebruik grsecurity en het lijkt erop dat prelink niet werkt</title>
-<body>
-<p>Om een systeem te prelinken waar grsecurity op draait gebruikmakend van
-randomized mmap() base, is het nodig om &quot;randomized mmap() base&quot; uit
-te schakellen voor <path>/lib/lid-2.3.*.so</path>. Dit kan gedaan worden met
-<c>chpax</c>, maar moet gedaan worden zonder dat het bestand in gebruik is
-(m.a.w. starten van een liveCD).</p>
-</body>
-</section>
-
-</chapter>
-
-<chapter>
-<title>Conclusie</title>
-<section>
-<body>
-<p>
-Prelinken kan de start-tijd van verschillende grote programmas enorm
-verbeteren. Ondersteuning hiervoor zit in Portage. Prelinking is tevens veilig
-aangezien je altijd je aanpassingen kan terugschroeven voor eender welk
-bestand indien je op problemen stoot.
-Veel geluk nog!
-</p>
-
-</body>
-</section>
-
-</chapter>
-
-</guide>