PERFORCE change 157001 for review
Rene Ladan
rene at FreeBSD.org
Sun Feb 1 11:10:12 PST 2009
http://perforce.freebsd.org/chv.cgi?CH=157001
Change 157001 by rene at rene_self on 2009/02/01 19:09:55
MFen handbook/cutting-edge 1.239 -> 1.240
Affected files ...
.. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/cutting-edge/chapter.sgml#20 edit
Differences ...
==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/cutting-edge/chapter.sgml#20 (text+ko) ====
@@ -5,7 +5,7 @@
$FreeBSDnl: doc/nl_NL.ISO8859-1/books/handbook/cutting-edge/chapter.sgml,v 1.47 2006/01/07 11:27:42 siebrand Exp $
%SOURCE% en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml
- %SRCID% 1.239
+ %SRCID% 1.240
-->
<chapter id="updating-upgrading">
@@ -1722,10 +1722,217 @@
<sect2 id="canonical-build">
<title>De universele wijze om een systeem bij te werken</title>
- <para>Een systeem bijwerken kan met de volgende procedure, nadat
- <filename>/usr/src/UPDATING</filename> is geraadpleegd om te
- controleren of er voor buildworld voor de gebruikte versie van
- de broncode nog acties zijn uit te voeren:</para>
+ <para>Om uw systeem bij te werken, dient u
+ <filename>/usr/src/UPDATING</filename> te controleren op
+ eventuele pre-buildworld stappen die nodig zijn voor uw versie
+ van de broncode en daarna de procedure te gebruiken die hier
+ beschreven staat.</para>
+
+ <para>Deze bijwerkstappen nemen aan dat u nu een oude versie van
+ &os; gebruikt, die uit een oude compiler, een oude kernel, een
+ oude wereld en oude instellingenbestanden bestaat. Onder
+ <quote>wereld</quote> worden de binairen, bibliotheken, en
+ programmeerbestanden van het kernsysteem verstaan. De compiler
+ is deel van <quote>wereld</quote>, maar heeft enkele speciale
+ aandachtspunten.<para>
+
+ <para>We nemen ook aan dat u reeds de broncode van een nieuwer
+ systeem heeft verkregen. Bekijk, als de bronnen op een bepaald
+ systeem ook oud zijn, <xref linkend="synching"> voor uitgebreide
+ hulp over het synchroniseren ervan naar een nieuwere
+ versie.</para>
+
+ <para>Het bijwerken van het systeem vanaf de broncode is wat
+ subtieler dan het op het eerste gezicht lijkt, en de
+ ontwikkelaars van &os; vonden het in de loop der jaren nodig om
+ de aangeraden methode redelijk drastisch te veranderen met het
+ aan het licht komen van nieuwe soorten onontwijkbare
+ afhankelijkheden. De rest van deze sectie beschrijft de
+ rationale achter de huidige aanbevolen bijwerkmethode.</para>
+
+ <para>Elke succesvolle bijwerkmethode krijgt te maken met de
+ volgende punten:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Het kan voorkomen dat de oude compiler de nieuwe kernel
+ niet kan compileren. (Oude compilers bevatten soms bugs.)
+ De nieuwe kernel dient dus met de nieuwe compiler gebouwd te
+ worden. In het bijzonder moet de nieuwe compiler gebouwd
+ worden voordat de nieuwe kernel gebouwd wordt. Dit betekent
+ niet per se dat de nieuwe compiler
+ <emphasis>geïnstalleerd</emphasis> moet worden voordat
+ de nieuwe kernel gebouwd wordt.</para>
+ </listitem>
+
+ <listitem>
+ <para>De nieuwe wereld kan afhankelijk zijn van mogelijkheden
+ van de nieuwe kernel. Dus moet de nieuwe kernel worden
+ geïnstalleerd voordat de nieuwe wereld wordt
+ geïnstalleerd.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>De eerste twee gevallen zijn de basis voor de methode
+ <maketarget>buildworld</maketarget>,
+ <maketarget>buildkernel</maketarget>,
+ <maketarget>installkernel</maketarget>,
+ <maketarget>installworld</maketarget> die we in de volgende
+ paragrafen beschrijven. Dit is geen uitputtende lijst van alle
+ redenen waarom het huidige aanbevolen bijwerkproces de voorkeur
+ verdient. Wat minder voor de hand liggende redenen worden
+ hieronder genoemd:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Het kan zijn dat de oude wereld niet correct draait op
+ de nieuwe kernel, dus moet de nieuwe wereld onmiddellijk na
+ het installeren van de nieuwe kernel geïnstalleerd
+ worden.</para>
+ </listitem>
+
+ <listitem>
+ <para>Sommige instellingen moeten veranderd worden voordat de
+ nieuwe wereld wordt geïnstalleerd, maar anderen kunnen
+ de oude wereld kapot maken. Vandaar dat over het algemeen
+ twee verschillende bijwerkstappen voor de instellingen nodig
+ zijn.</para>
+ </listitem>
+
+ <listitem>
+ <para>Voor het grootste gedeelte houdt het bijwerkproces zich
+ alleen bezig met het vervangen of toevoegen van bestanden;
+ bestaande oude bestanden worden niet verwijderd. Dit kan in
+ sommige gevallen problemen geven. Als een gevolg zal de
+ bijwerkprocedure soms aangeven dat bepaalde bestanden
+ tijdens bepaalde stappen handmatig verwijderd dienen te
+ worden. Dit kan in de toekomst eventueel geautomatiseerd
+ worden.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Deze zorgen hebben tot het volgende aanbevolen bijwerkproces
+ geleid. Merk op dat het gedetailleerde proces voor bepaalde
+ updates aanvullende stappen nodig kan hebben, maar dit
+ kernproces zou de komende tijd ongewijzigd moeten
+ blijven:</para>
+
+ <orderedlist>
+ <listitem>
+ <para><command>make <maketarget>buildworld</maketarget></command></para>
+
+ <para>Dit compileert eerst de nieuwe compiler en enkele
+ aanverwante gereedschappen, daarna wordt de nieuwe compiler
+ gebruikt om de rest van de nieuwe wereld te compileren. Het
+ resultaat komt in <filename
+ class="directory">/usr/obj</filename> te staan.</para>
+ </listitem>
+
+ <listitem>
+ <para><command>make <maketarget>buildkernel</maketarget></command></para>
+
+ <para>In tegenstelling tot de oude aanpak, die &man.config.8;
+ en &man.make.1; gebruikt, gebruikt dit de
+ <emphasis>nieuwe</emphasis> compiler die in <filename
+ class="directory">/usr/obj</filename> verblijft. Dit
+ beschermt u tegen mismatches tussen de compiler en de
+ kernel.</para>
+ </listitem>
+
+ <listitem>
+ <para><command>make <maketarget>installkernel</maketarget></command></para>
+
+ <para>Plaatst de nieuwe kernel en kernelmodules op de schijf,
+ waardoor het mogelijk wordt om met de nieuw bijgewerkte
+ kernel op te starten.</para>
+ </listitem>
+
+ <listitem>
+ <para>Start opnieuw op in enkele-gebruikersmodus.</para>
+
+ <para>De enkele-gebruikersmodus minimaliseert problemen met
+ het bijwerken van software die al draait. Het minimaliseert
+ ook problemen die opduiken door een oude wereld op een
+ nieuwe kernel te draaien.</para>
+ </listitem>
+
+ <listitem>
+ <para><command>mergemaster <option>-p</option></command></para>
+
+ <para>Dit voert wat initiële updates aan
+ instellingenbestanden uit ter voorbereiding op de nieuwe
+ wereld. Het kan bijvoorbeeld nieuwe gebruikersgroepen aan
+ het systeem, of nieuwe gebruikersnamen aan de
+ wachtwoorddatabase toevoegen. Dit is vaak nodig wanneer er
+ nieuwe groepen of speciale accounts voor systeemgebruikers
+ zijn toegevoegd sinds de laatste keer bijwerken, zodat de
+ stap <maketarget>installworld</maketarget> zonder problemen
+ de nieuw geïnstalleerde namen van systeemgebruikers of
+ systeemgroepen kan gebruiken.</para>
+ </listitem>
+
+ <listitem>
+ <para><command>make <maketarget>installworld</maketarget></command></para>
+
+ <para>Kopieert de wereld van <filename
+ class="directory">/usr/obj</filename>. U heeft nu een
+ nieuwe kernel en een nieuwe wereld op schijf staan.</para>
+ </listitem>
+
+ <listitem>
+ <para><command>mergemaster</command></para>
+
+ <para>Nu kunt u de overgebleven instellingenbestanden
+ bijwerken, aangezien u een nieuwe wereld op schijf heeft
+ staan.</para>
+ </listitem>
+
+ <listitem>
+ <para>Start opnieuw op.</para>
+
+ <para>Een volledige nieuwe start van de machine is nodig om de
+ nieuwe kernel en de nieuwe wereld met nieuwe
+ instellingenbestanden te laden.</para>
+ </listitem>
+ </orderedlist>
+
+ <para>Merk op dat als u van de ene uitgave van dezelfde tak van
+ &os; bijwerkt naar een recentere uitgave van dezelfde tak, i.e.
+ van 7.0 naar 7.1, dat deze procedure dan niet absoluut nodig is,
+ aangezien het onwaarschijnlijk is dat u serieuze problemen
+ krijgt met de compiler, kernel, gebruikersland en
+ instellingenbestanden. De oudere aanpak met <command>make
+ <maketarget>world</maketarget></command> gevolgd door het
+ bouwen en installeren van een nieuwe kernel kan voor kleine
+ updates goed genoeg zijn.</para>
+
+ <para>Maar mensen die deze procedure niet volgen tijdens het
+ bijwerken tussen grote uitgaven kunnen wat problemen
+ verwachten.</para>
+
+ <para>Het is ook goed om op te merken dat veel upgrades (i.e.
+ 4.<replaceable>X</replaceable> naar 5.0) wat specifieke
+ aanvullende stappen nodig hebben (bijvoorbeeld het hernoemen of
+ verwijderen van specifieke bestanden voorafgaand aan
+ installworld). Lees het bestand
+ <filename>/usr/src/UPDATING</filename> zorgvuldig, met name het
+ einde, waar het huidig aangeraden bijwerkproces expliciet wordt
+ beschreven.</para>
+
+ <para>Deze procedure is in de loop der tijd veranderd aangezien de
+ ontwikkelaars zagen dat het onmogelijk was om bepaalde
+ mismatch-problemen volledig te voorkomen. Hopelijk blijft de
+ huidige procedure voor een lange tijd stabiel.</para>
+
+ <note>
+ <para>Het bijwerken van &os; 3.<replaceable>X</replaceable> of
+ eerdere uitgaven is wat lastiger; lees
+ <filename>UPDATING</filename> zorgvuldig door als u zo'n soort
+ upgrade moet uitvoeren.</para>
+ </note>
+
+ <para>Samengevat is de huidige aanbevolen manier om &os; vanaf
+ broncode bij te werken:</para>
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>make buildworld</userinput>
More information about the p4-projects
mailing list