diff --git a/nl_NL.ISO8859-1/books/handbook/dtrace/Makefile b/nl_NL.ISO8859-1/books/handbook/dtrace/Makefile
new file mode 100644
index 0000000000..0a0e6e03dc
--- /dev/null
+++ b/nl_NL.ISO8859-1/books/handbook/dtrace/Makefile
@@ -0,0 +1,15 @@
+#
+# Build the Handbook with just the content from this chapter.
+#
+# $FreeBSD$
+#
+
+CHAPTERS= dtrace/chapter.sgml
+
+VPATH= ..
+
+MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
+
+DOC_PREFIX?= ${.CURDIR}/../../../..
+
+.include "../Makefile"
diff --git a/nl_NL.ISO8859-1/books/handbook/dtrace/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/dtrace/chapter.sgml
new file mode 100644
index 0000000000..99beb23c6d
--- /dev/null
+++ b/nl_NL.ISO8859-1/books/handbook/dtrace/chapter.sgml
@@ -0,0 +1,410 @@
+
+
+
+
+
+
+
+
+ Tom
+ Rhodes
+ Geschreven door
+
+
+
+
+ René
+ Ladan
+ Vertaald door
+
+
+
+
+ DTrace
+
+
+ Overzicht
+
+ DTrace
+
+
+ DTrace-ondersteuning
+
+ DTrace
+
+
+ DTrace, ook bekend als Dynamic Tracing, was ontwikkeld door
+ &sun; als een gereedschap om prestatie-bottlenecks in productie-
+ en preproductiesystemen op te sporen. Het is in geen enkel opzicht
+ een debug-gereedschap, maar een gereedschap voor real-time analyse
+ om prestatie- en andere zaken op te sporen.
+
+ DTrace is een opmerkelijk profileringsgereedschap, met een
+ indrukwekkende verzameling mogelijkheden om systeemzaken te
+ diagnosticeren. Het kan ook worden gebruikt om vooraf geschreven
+ scripts te draaien om zo voordeel te halen uit de mogelijkheden.
+ Gebruikers kunnen zelfs hun eigen middelen schrijven door gebruik
+ te maken van de DTrace D Language, wat ze in staat stelt om hun
+ profilering aan te passen aan hun specifieke behoeften.
+
+ Na het lezen van dit hoofdstuk weet u:
+
+
+
+ Wat DTrace is en welke mogelijkheden het biedt.
+
+
+
+ De verschillen tussen de DTrace-implementatie van
+ &solaris; en degene die door &os; wordt aangeboden.
+
+
+
+ Hoe DTrace op &os; aan te zetten en te gebruiken.
+
+
+
+ Voordat u dit hoofdstuk leest, dient u:
+
+
+
+ De beginselen van &unix; en &os; te begrijpen
+ ().
+
+
+
+ Bekend te zijn met de beginselen van kernelconfiguratie en
+ -compilatie ().
+
+
+
+ Wat bekendheid te hebben met beveiliging en hoe het zich
+ verhoudt tot &os; ().
+
+
+
+ Te begrijpen hoe de broncode van &os; te verkrijgen en te
+ herbouwen ().
+
+
+
+
+
+ Deze mogelijkheid wordt als experimenteel beschouwd. Van
+ sommige opties kan er functionaliteit ontbreken, andere delen
+ kunnen in het geheel niet werken. In de loop der tijd zal deze
+ mogelijkheid als productierijp worden beschouwd en zal deze
+ documentatie worden aangepast om die situatie te
+ representeren.
+
+
+
+
+ Implementatieverschillen
+
+ Hoewel DTrace in &os; erg lijkt op degene die in &solaris;
+ zit, zijn er verschillen die uitgelegd moeten worden voordat er
+ verder wordt gegaan. Het primaire verschil dat gebruikers zullen
+ zien is dat DTrace specifiek moet worden aangezet op &os;. Er
+ zijn kernelopties en modulen die aangezet moeten worden om DTrace
+ juist te laten werken. Deze zullen later worden uitgelegd.
+
+ Er is een kerneloptie DDB_CTF die gebruikt
+ wordt om ondersteuning voor het laden van
+ CTF-gegevens van kernelmodulen en de kernel
+ zelf. CTF is het Compact C Type Format van
+ &solaris; welke een beperkte vorm van debuginformatie bevat
+ die vergelijkbaar is met DWARF en de befaamde
+ stabs. Deze CTF-gegevens worden door de
+ bouwmiddelen ctfconvert en
+ ctfmerge aan de binairen toegevoegd. Het
+ hulpmiddel ctfconvert parst
+ DWARF-debug ELF-secties die
+ door de compiler zijn aangemaakt en ctfmerge
+ voegt CTF ELF-secties van
+ objecten samen in hun executables of gedeelde bibliotheken. Meer
+ informatie over hoe dit voor de bouw van de kernel en &os; aan te
+ zetten komt eraan.
+
+ Sommige aanbieders voor &os; verschillen van die voor
+ &solaris;. De meest opmerkelijke is de aanbieder
+ dtmalloc, welke het volgen van
+ malloc() op soort in de &os;-kernel
+ toestaat.
+
+ Alleen root mag DTrace op &os; gebruiken.
+ Dit heeft te maken met beveiligingsverschillen, &solaris; heeft
+ enkele beveiligingscontroles op laag niveau die nog niet bestaan
+ in &os;. Hierom is /dev/dtrace/dtrace
+ strikt beperkt tot root.
+
+ Tenslotte valt de DTrace-software onder de
+ CDDL-licentie van &sun;. De Common
+ Development and Distribution License wordt bij &os;
+ geleverd, zie
+ /usr/src/cddl/contrib/opensolaris/OPENSOLARIS.LICENSE
+ of bekijk het online op
+ .
+
+ Deze licentie houdt in dat een &os;-kernel met de
+ DTrace-opties nog steeds onder de BSD-licentie
+ valt; de CDDL komt echter op de proppen wanneer
+ de modulen in binaire vorm worden verspreid, of wanneer de
+ binairen zijn geladen.
+
+
+
+ Ondersteuning voor DTrace aanzetten
+
+ Voeg de volgende regels toe aan het kernelinstellingenbestand
+ om ondersteuning voor DTrace aan te zetten:
+
+ options KDTRACE_HOOKS
+options DDB_CTF
+
+
+ Gebruikers van de AMD64-architectuur zullen de volgende
+ regel aan hun kernelinstellingenbestand willen toevoegen:
+
+ options KDTRACE_FRAME
+
+ Deze optie biedt ondersteuning voor de mogelijkheid
+ FBT. DTrace zal zonder deze optie werken;
+ er zal echter beperkte ondersteuning zijn voor het volgen van
+ functiegrenzen.
+
+
+ Alle broncode moet herbouwd en geherinstalleerd worden met de
+ CTF-opties. Om deze taak te volbrengen, wordt
+ de &os;-broncode herbouwd met:
+
+
+
+ &prompt.root; cd /usr/src
+
+&prompt.root; make WITH_CTF=1 kernel
+
+
+ Het systeem moet opnieuw gestart worden.
+
+ Nadat opnieuw is opgestart en de nieuwe kernel in het geheugen
+ is geladen, dient ondersteuning voor de Korn-shell te worden
+ toegevoegd. Dit is nodig omdat de verschillende hulpmiddelen van
+ DTrace in ksh zijn geschreven. Installeer
+ shells/ksh93. Het is ook
+ mogelijk om deze hulpmiddelen in shells/pdksh of shells/mksh te draaien.
+
+ Als laatste dient de huidige DTrace-gereedschapskist verkregen
+ te worden. De huidige versie is beschikbaar op
+ .
+ Het bevat een installatiemechanisme; om gebruik te maken van de
+ bijgeleverde hulpmiddelen is installatie echter niet nodig.
+
+
+
+ DTrace gebruiken
+
+ Voordat er gebruik wordt gemaakt van de functionaliteit van
+ DTrace, moet het DTrace-apparaat bestaan. Geef het volgende
+ commando om het apparaat te laten:
+
+ &prompt.root; kldload dtraceall
+
+ Ondersteuning van DTrace zou nu beschikbaar moeten zijn. De
+ beheerder kan het volgende commando uitvoeren om alle sondes te
+ bekijken:
+
+ &prompt.root; dtrace -l | more
+
+ Alle uitvoer wordt aan het hulpmiddel more
+ doorgegeven omdat het snel de schermbuffer zal laten overstromen.
+ DTrace kan nu als werkend worden beschouwd. Het is nu tijd om de
+ gereedschapskist te bekijken.
+
+ De gereedschapskist is een verzameling van kant-en-klare
+ scripts die met DTrace gedraaid kunnen worden om informatie over
+ het systeem te verzamelen. Er zijn scripts om open bestanden,
+ geheugen, CPU-gebruik, en nog veel meer te
+ controleren. Pak de scripts uit met het volgende commando:
+
+ &prompt.root; gunzip -c DTraceToolkit* | tar xvf -
+
+ Ga naar die map met cd en zet de
+ uitvoerpermissies voor alle bestanden waarvan de naam uit kleine
+ letters bestaat, op 755.
+
+ De inhoud van al deze scripts moet veranderd worden. Degenen
+ die naar /usr/bin/ksh verwijzen dienen naar
+ /usr/local/bin/ksh te verwijzen, de anderen
+ die /usr/bin/sh gebruiken dienen gewijzigd te
+ worden om /bin/sh te gebruiken, en tenslotte
+ dienen degenen die /usr/bin/perl gebruiken
+ veranderd te worden om /usr/local/bin/perl te
+ gebruiken.
+
+
+ Op dit moment is het voorzichtig om de lezer eraan te
+ herinneren dat de ondersteuning voor DTrace in &os;
+ niet compleet en
+ experimenteel is. Veel van deze scripts
+ zullen niet werken omdat ze of te &solaris;-specifiek zijn of
+ omdat ze sondes gebruiken die momenteel niet ondersteund
+ worden.
+
+
+ Op het moment van schrijven worden slechts twee scripts van de
+ DTrace Toolkit volledig ondersteund in &os;: de scripts
+ hotkernel en
+ procsystime. Dit zijn de twee die we in de
+ volgende gedeelten van deze sectie zullen bekijken.
+
+ De hotkernel is ontworpen om te
+ identificeren welke functie de meeste kerneltijd gebruikt. Als
+ het normaal gedraaid wordt, zal het uitvoer die op de volgende
+ lijkt produceren:
+
+ &prompt.root; ./hotkernel
+Sampling... Hit Ctrl-C to end.
+
+ De systeembeheerder moet de toetsencombinatie CtrlC
+ gebruiken om het proces te stoppen. Nadat het gestopt is, zal het
+ script een lijst van kernelfuncties en timinginformatie weergeven,
+ waarbij de uitvoer in volgorde van toenemende tijd is
+ gesorteerd:
+
+ kernel`_thread_lock_flags 2 0.0%
+0xc1097063 2 0.0%
+kernel`sched_userret 2 0.0%
+kernel`kern_select 2 0.0%
+kernel`generic_copyin 3 0.0%
+kernel`_mtx_assert 3 0.0%
+kernel`vm_fault 3 0.0%
+kernel`sopoll_generic 3 0.0%
+kernel`fixup_filename 4 0.0%
+kernel`_isitmyx 4 0.0%
+kernel`find_instance 4 0.0%
+kernel`_mtx_unlock_flags 5 0.0%
+kernel`syscall 5 0.0%
+kernel`DELAY 5 0.0%
+0xc108a253 6 0.0%
+kernel`witness_lock 7 0.0%
+kernel`read_aux_data_no_wait 7 0.0%
+kernel`Xint0x80_syscall 7 0.0%
+kernel`witness_checkorder 7 0.0%
+kernel`sse2_pagezero 8 0.0%
+kernel`strncmp 9 0.0%
+kernel`spinlock_exit 10 0.0%
+kernel`_mtx_lock_flags 11 0.0%
+kernel`witness_unlock 15 0.0%
+kernel`sched_idletd 137 0.3%
+0xc10981a5 42139 99.3%
+
+
+
+ Het script werkt ook met kernelmodules. Draai het script met
+ de vlag om deze mogelijkheid te
+ gebruiken:
+
+ &prompt.root; ./hotkernel -m
+Sampling... Hit Ctrl-C to end.
+^C
+MODULE COUNT PCNT
+0xc107882e 1 0.0%
+0xc10e6aa4 1 0.0%
+0xc1076983 1 0.0%
+0xc109708a 1 0.0%
+0xc1075a5d 1 0.0%
+0xc1077325 1 0.0%
+0xc108a245 1 0.0%
+0xc107730d 1 0.0%
+0xc1097063 2 0.0%
+0xc108a253 73 0.0%
+kernel 874 0.4%
+0xc10981a5 213781 99.6%
+
+
+
+ Het script procsystime vangt en beeldt
+ het tijdsgebruik van systeemaanroepen af voor een gegeven
+ PID of procesnaam. In het volgende voorbeeld
+ wordt er een nieuwe instantie van /bin/csh
+ gedraaid. Het procsystime werd uitgevoerd en
+ bleef wachten terwijl er enkele commando's op de andere instantie
+ van csh werden getypt. Dit zijn de resultaten
+ van deze test:
+
+ &prompt.root; ./procsystime -n csh
+Tracing... Hit Ctrl-C to end...
+^C
+
+Elapsed Times for processes csh,
+
+ SYSCALL TIME (ns)
+ getpid 6131
+ sigreturn 8121
+ close 19127
+ fcntl 19959
+ dup 26955
+ setpgid 28070
+ stat 31899
+ setitimer 40938
+ wait4 62717
+ sigaction 67372
+ sigprocmask 119091
+ gettimeofday 183710
+ write 263242
+ execve 492547
+ ioctl 770073
+ vfork 3258923
+ sigsuspend 6985124
+ read 3988049784
+
+ Zoals te zien is, lijkt de systeemaanroep
+ read() de meeste tijd in nanoseconden te
+ gebruiken en gebruikte de systeemaanroep
+ getpid() de minste hoeveelheid tijd.
+
+
+
+ De taal D
+
+ De DTrace-gereedschapskist bevat vele scripts in de speciale
+ taal van DTrace. Deze taal wordt de taal D genoemd
+ door de documentatie van &sun;, en lijkt sterk op C++. Een
+ diepgaande discussie over de taal valt buiten het bereik van dit
+ document. Het wordt uitgebreid behandeld op
+ .
+
+
+
+
diff --git a/nl_NL.ISO8859-1/books/handbook/updating/Makefile b/nl_NL.ISO8859-1/books/handbook/updating/Makefile
new file mode 100644
index 0000000000..42d0c10e65
--- /dev/null
+++ b/nl_NL.ISO8859-1/books/handbook/updating/Makefile
@@ -0,0 +1,15 @@
+#
+# Build the Handbook with just the content from this chapter.
+#
+# $FreeBSD$
+#
+
+CHAPTERS= updating/chapter.sgml
+
+VPATH= ..
+
+MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
+
+DOC_PREFIX?= ${.CURDIR}/../../../..
+
+.include "../Makefile"
diff --git a/nl_NL.ISO8859-1/books/handbook/updating/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/updating/chapter.sgml
new file mode 100644
index 0000000000..e3e1511108
--- /dev/null
+++ b/nl_NL.ISO8859-1/books/handbook/updating/chapter.sgml
@@ -0,0 +1,566 @@
+
+
+
+
+
+
+ Tom
+ Rhodes
+ Geschreven door
+
+
+
+
+ Colin
+ Percival
+ Gebaseerd op notities geleverd door
+
+
+
+
+ René
+ Ladan
+ Vertaald door
+
+
+
+
+ &os; bijwerken
+
+
+ Overzicht
+
+ FreeBSD bijwerken
+
+
+ freebsd-update
+ Bijwerken
+
+
+ Door de tijd heen is een primair aspect van het
+ besturingssysteem &os; hetzelfde gebleven. Dit is de eis om
+ applicaties en gereedschappen te gebruiken om grote en kleine
+ systeemupdate te verkrijgen.
+
+ Voor vele jaren waren gebruikers die hun systeem wilden
+ upgraden, beveiligingspatches wilden verzamelen, en updates voor
+ ports en pakketten wilden verkrijgen zonder de Portscollectie
+ kapot te maken verplicht om het gereedschap
+ CVSup te gebruiken.
+
+ Hoewel het gebruik van CVSup nog
+ steeds wordt ondersteund, en er een ware versie geprogrammeerd in
+ de taal C aan &os; is toegevoegd, zijn er nieuwe methoden om
+ systeemupdates te verkrijgen.
+
+ Gereedschappen zoals &man.portsnap.8; en
+ &man.freebsd-update.8; hebben het upgradeproces gestroomlijnd.
+ Deze nieuwe methoden verhogen de productiviteit terwijl ze een
+ eenvoudigere interface voor gebruikers bieden. Sommige nieuwe
+ gereedschappen kunnen vanuit &man.cron.8; worden gedraaid waardoor
+ de handmatige tussenkomst van de systeembeheerder wordt
+ verminderd; een voordeel voor degenen die honderden &os;-machines
+ in de gaten houden.
+
+ Dit hoofdstuk zal deze nieuwe methoden uitleggen, en vertellen
+ hoe gebruikers alsmede systeembeheerders voordeel kunnen halen uit
+ hun praktische en eenvoudige gebruik.
+
+ Na het lezen van dit hoofdstuk weet u:
+
+
+
+ Welke gereedschappen gebruikt kunnen worden om het systeem
+ en de Portscollectie te updaten.
+
+
+
+ Hoe freebsd-update te gebruiken om
+ beveiligingspatches toe te passen en grote en kleine upgrades
+ van &os; uit te voeren.
+
+
+
+ Hoe de toestand van een geïnstalleerd systeem met een
+ bekende maagdelijke kopie te vergelijken.
+
+
+
+ Voor het lezen van dit hoofdstuk dient u:
+
+
+
+ De beginselen van &unix; en &os; te begrijpen
+ ().
+
+
+
+ Bekend te zijn met de beginselen van het instellen en
+ compileren van de kernel ().
+
+
+
+ Enigszins bekend te zijn met de Portscollectie en het
+ installeren van applicaties van derde partijen op &os;
+ ().
+
+
+
+ Bekend te zijn met de verschillende broncomponenten
+ waaruit &os; bestaat en hoe het gereedschap
+ &man.mergemaster.8; te gebruiken
+ ().
+
+
+
+
+
+ FreeBSD Update
+
+ Het toepassen van beveiligingspatches is een belangrijk
+ onderdeel van het beheren van computersoftware, met name het
+ besturingssysteem. Dit was voor een lange tijd geen gemakkelijk
+ proces op &os;. Er moesten patches op de broncode worden
+ toegepast, de code moest herbouwd worden tot binairen, en daarna
+ moesten de binairen worden geherinstalleerd.
+
+ Dit is niet langer het geval aangezien &os; nu een gereedschap
+ heeft dat eenvoudigweg freebsd-update heet.
+ Dit gereedschap biedt twee gescheiden functies. Ten eerste
+ voorziet het in het toepassen van binaire beveiligings- en
+ errata-updates op het basissysteem van &os; zonder de eis om te
+ bouwen en te installeren. Ten tweede ondersteunt het gereedschap
+ kleine en grote uitgave-upgrades.
+
+
+ Binaire updates zijn beschikbaar voor alle architecturen en
+ uitgaven die momenteel door het beveiligingsteam worden
+ ondersteund; voor sommige eigenschappen, zoals de upgrades van
+ het besturingssysteem &os;, zijn de laatste uitgave van
+ &man.freebsd-update.8; en &os; 6.3 nodig. Voordat naar
+ een nieuwe uitgave wordt ge-updated, dienen de huidige
+ uitgaveaankondigingen gelezen te worden aangezien ze belangrijke
+ informatie over de gewenste uitgave kunnen bevatten. De
+ aankondigingen kunnen op de volgende koppeling bekeken worden:
+ .
+
+
+ Als er een crontab bestaat die de
+ mogelijkheden van freebsd-update gebruikt, moet
+ het uitgeschakeld worden voordat aan de volgende operatie wordt
+ begonnen. De nieuwste versie van
+ freebsd-update kan geïnstalleerd worden
+ door het getarde en gegzipte
+ pakket van de bovenstaande URL te downloaden en
+ het te installeren met de volgende commando's:
+
+ &prompt.root; gunzip -c freebsd-update-upgrade.tgz | tar xvf -
+&prompt.root; mv freebsd-update.sh /usr/sbin/freebsd-update
+&prompt.root; mv freebsd-update.conf /etc
+
+ Het downloaden is niet nodig voor alle huidige
+ uitgaven.
+
+
+ Het configuratiebestand
+
+ Sommige gebruikers willen het configuratiebestand tweaken,
+ waardoor het proces beter gecontroleerd kan worden. De opties
+ zijn goed gedocumenteerd, maar voor de volgenden is wat extra
+ uitleg nodig:
+
+ # Componenten van het basissysteem die bijgewerkt moeten blijven
+Components src world kernel
+
+ Deze parameter bepaalt welke delen van &os; bijgewerkt
+ blijven. Standaard wordt de broncode bijgewerkt, het hele
+ basissysteem, en de kernel. Dezelfde componenten als tijdens de
+ installatie zijn beschikbaar, het toevoegen van bijvoorbeeld
+ "world/games" zou de spelpatches toepassen. Het gebruik van
+ "src/bin" zou de broncode in src/bin bijgewerkt houden.
+
+ Het beste kan dit op de standaardwaarde blijven aangezien
+ het veranderen hiervan om specifieke items te bevatten de
+ gebruiker dwingt om alle items die bijgewerkt dienen te worden
+ op te noemen. Dit kan rampzalige gevolgen hebben aangezien de
+ broncode en de binairen asynchroon kunnen raken.
+
+ # Paden die beginnen met iets wat overeenkomt met een regel in een IgnorePaths
+# statement zullen genegeerd worden.
+IgnorePaths
+
+ Voeg paden, zoals
+ /bin of
+ /sbin toe om deze
+ specifieke mappen ongemoeid te laten tijdens het updateproces.
+ Deze optie kan gebruikt worden om te voorkomen dat
+ freebsd-update lokale wijzigingen
+ overschrijft.
+
+ # Paden die beginnen met iets wat overeenkomt met een regel in een UpdateIfUnmodified
+# statement zullen alleen worden bijgewerkt als de inhoud van het bestand niet is
+# gewijzigd door de gebruiker (tenzij veranderingen zijn samengevoegd; zie beneden).
+UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profile
+
+ Werk configuratiebestanden in de aangegeven mappen alleen
+ bij als ze niet zijn gewijzigd. Alle veranderingen die door de
+ gebruiker zijn gemaakt maken het automatisch bijwerken van deze
+ bestanden ongeldig. Er is een andere optie,
+ KeepModifiedMetadata, die
+ freebsd-update instrueert om de veranderingen
+ tijdens het samenvoegen te bewaren.
+
+ # Wanneer naar een nieuwe uitgave van &os; wordt ge-upgraded, worden lokale veranderingen van bestanden die overeenkomen met MergeChanges
+# samengevoegd in de versie van de nieuwe uitgave.
+MergeChanges /etc/ /var/named/etc/
+
+ Lijst van mappen met instellingenbestanden waar
+ freebsd-update moet proberen om in samen te
+ voegen. Het proces van bestanden samenvoegen is een serie
+ van &man.diff.1;-patches die ongeveer gelijk is aan
+ &man.mergemaster.8; met minder opties, de samenvoegingen worden
+ ofwel geaccepteerd, of openen een tekstverwerker, of zorgen
+ ervoor dat freebsd-update afbreekt. Maak in
+ geval van twijfel een reservekopie van /etc en accepteer de
+ samenvoegingen. In staat meer
+ informatie over het commando mergemaster.
+
+ # Map waarin de gedownloade updates en tijdelijke
+bestanden
+# die door een &os; Update worden gebruikt worden worden opgeslagen.
+# WorkDir /var/db/freebsd-update
+
+ Dit is de map waarin alle patches en tijdelijke bestanden
+ worden geplaatst. In het geval dat de gebruiker een
+ versie-upgrade uitvoert, dient deze locatie tenminste een
+ gigabyte aan vrije schijfruimte te hebben.
+
+ # Wanneer tussen uitgaven wordt ge-upgraded, dient de lijst van Componenten dan
+# strikt gelezen te worden (StrictComponents yes) of slechts als een lijst van componenten
+
+# die geïnstalleerd *kunnen* worden en waarvan &os; Update uit dient te zoeken
+# welke daadwerkelijk zijn geïnstalleerd en die te upgraden (StrictComponents no)?
+# StrictComponents no
+
+ Wanneer ingesteld op yes, zal
+ freebsd-update aannemen dat de lijst
+ Components compleet is en zal het niet
+ proberen om wijzigingen buiten de lijst te maken. Effectief zal
+ freebsd-update proberen om elk bestand bij te
+ werken dat op de lijst Components staat.
+
+
+
+ Beveiligingspatches
+
+ Beveiligingspatches staan op een verre machine en kunnen met
+ het volgende commando gedownload en geïnstalleerd
+ worden:
+
+ &prompt.root; freebsd-update fetch
+&prompt.root; freebsd-update install
+
+ Als er kernelpatches zijn toegepast moet het systeem opnieuw
+ opgestart worden. Als alles goed is gegaan dient het systeem
+ gepatcht te zijn en kan freebsd-update als
+ een nachtelijke &man.cron.8;-taak gedraaid worden. Een regel
+ in /etc/crontab zou genoeg moeten zijn om
+ deze taak te volbrengen:
+
+ @daily root freebsd-update cron
+
+ Deze regel verklaart dat eenmaal per dag het commando
+ freebsd-update gedraaid zal worden. Op deze
+ manier, door het argument te gebruiken,
+ zal freebsd-update alleen kijken of er
+ updates bestaan. Als er patches bestaan, zullen ze automatisch
+ worden gedownload naar de plaatselijke schijf maar niet worden
+ toegepast. Er zal een email aan de gebruiker
+ root worden verstuurd zodat ze handmatig
+ geïnstalleerd kunnen worden.
+
+ Als er iets misging, heeft freebsd-update
+ de mogelijkheid om de laatste verzamelingen veranderingen terug
+ te draaien met het volgende commando:
+
+ &prompt.root; freebsd-update rollback
+
+ Eenmaal voltooid, dient het systeem herstart te worden als
+ de kernel of enige kernelmodule is gewijzigd. Dit stelt &os; in
+ staat om de nieuwe binairen in het geheugen te laden.
+
+
+ De freebsd-update werkt alleen met de
+ kernel GENERIC. Als er wijzigingen aan
+ de kernel GENERIC zijn gemaakt of er een
+ eigen kernel is geïnstalleerd, wordt
+ freebsd-update niet voltooid —
+ het zal falen in het eerste geval en een fout produceren in
+ het laatste.
+
+
+
+
+ Grote en kleine upgrades
+
+ Dit proces ruimt oude objectbestanden en bibliotheken op
+ waardoor de meeste applicaties van derde partijen kapot gaan.
+ Het wordt aangeraden dat alle geïnstalleerde poorten ofwel
+ verwijderd en geherinstalleerd worden of later ge-upgraded
+ worden met het hulpmiddel ports-mgmt/portupgrade. De meeste
+ gebruikers zullen willen proefdraaien met het volgende
+ commando:
+
+ &prompt.root; portupgrade -af
+
+ Dit zorgt ervoor dat alles juist wordt geherinstalleerd.
+ Merk op dat het instellen van de omgevingsvariabele
+ BATCH op yes het antwoord
+ yes zal geven op alle prompts tijdens dit
+ proces, waardoor het niet nodig is om handmatig in het
+ bouwproces in te grijpen.
+
+ Updates van grote en kleine versies kunnen worden uitgevoerd
+ door een uitgaveversie als doel aan
+ freebsd-update op te geven, het volgende
+ commando zal bijvoorbeeld updaten naar &os; 6.3:
+
+ &prompt.root; freebsd-update -r 6.3-RELEASE upgrade
+
+ Nadat het commando is ontvangen, zal
+ freebsd-update het instellingenbestand en het
+ huidige systeem evalueren in een poging om de benodigde
+ informatie te verzamelen om het systeem te updaten. Een lijst
+ op het scherm zal aangeven welke componenten zijn gedetecteerd
+ en welke niet. Bijvoorbeeld:
+
+ Looking up update.FreeBSD.org mirrors... 1 mirrors found.
+Fetching metadata signature for 6.3-BETA1 from update1.FreeBSD.org... done.
+Fetching metadata index... done.
+Inspecting system... done.
+
+The following components of FreeBSD seem to be installed:
+kernel/smp src/base src/bin src/contrib src/crypto src/etc src/games
+src/gnu src/include src/krb5 src/lib src/libexec src/release src/rescue
+src/sbin src/secure src/share src/sys src/tools src/ubin src/usbin
+world/base world/info world/lib32 world/manpages
+
+The following components of FreeBSD do not seem to be installed:
+kernel/generic world/catpages world/dict world/doc world/games
+world/proflibs
+
+Does this look reasonable (y/n)? y
+
+ Nu zal freebsd-update proberen om alle
+ bestanden die nodig zijn voor de upgrade te downloaden. In
+ sommige gevallen kan de gebruiker worden gevraagd wat te
+ installeren of hoe verder te gaan.
+
+ Nadat alle patches zijn gedownload naar het plaatselijke
+ systeem zullen ze worden toegepast. Dit proces kan afhankelijk
+ van de snelheid en werklast van de machine even duren. Hierna
+ zullen instellingenbestanden worden samengevoegd —
+ voor dit gedeelte van het proces is enige tussenkomst van de
+ gebruiker nodig aangezien een bestand kan worden samengevoegd of
+ omdat er een tekstverwerker op het scherm kan verschijnen om het
+ bestand handmatig samen te voegen. Het resultaat van elke
+ succesvolle samenvoeging zal aan de gebruiker worden getoond
+ naarmate het proces verder gaat. Een mislukte of genegeerde
+ samenvoegpoging zal het proces afbreken. Het is mogelijk voor
+ gebruikers om een reservekopie van /etc te maken en belangrijke
+ bestanden, zoals master.passwd of
+ group, later samen te voegen.
+
+
+ Het systeem is nog niet veranderd, al het patchen en
+ samenvoegen gebeurt in een andere map. Wanneer alle patches
+ succesvol zijn toegepast, alle instellingenbestanden zijn
+ samengevoegd en het erop lijkt dat het proces soepel verloopt,
+ dienen de veranderingen verzegeld te worden door de
+ gebruiker.
+
+
+ Als dit proces eenmaal voltooid is, kan de upgrade aan de
+ schijf toevertrouwd worden met het volgende commando.
+
+ &prompt.root; freebsd-update install
+
+ De kernel en kernelmodules zullen als eerste gepatcht
+ worden. Nu moet de machine opnieuw opgestart worden. Het
+ volgende commando kan gegeven worden om de machine te herstarten
+ en dus de nieuwe kernel in het geheugen te laden:
+
+ &prompt.root; shutdown -r now
+
+ Als het systeem weer actief is, moet
+ freebsd-update nogmaals gestart worden.
+ De toestand van het proces is opgeslagen en dus zal
+ freebsd-update niet vooraan beginnen, maar
+ zal het alle oude gedeelde bibliotheken en objectbestanden
+ verwijderen. Geef het volgende commando om verder te gaan op
+ dit punt:
+
+ &prompt.root; freebsd-update install
+
+
+ Afhankelijk van het feit of er versienummers van
+ bibliotheken zijn opgehoogd, kunnen er slechts twee in plaats
+ van drie installatiefasen zijn.
+
+
+ Alle software van derde partijen dient nu opnieuw gebouwd en
+ geïnstalleerd te worden. Dit is nodig omdat
+ geïnstalleerde software van bibliotheken afhankelijk kan
+ zijn die tijdens het upgradeproces zijn verwijderd. Het
+ commando ports-mgmt/portupgrade kan gebruikt
+ worden om dit proces te automatiseren. Dit proces kan met de
+ volgende commando's gestart worden:
+
+ &prompt.root; portupgrade -f ruby
+&prompt.root; rm /var/db/pkg/pkgdb.db
+&prompt.root; portupgrade -f ruby18-bdb
+&prompt.root; rm /var/db/pkg/pkgdb.db /usr/ports/INDEX-*.db
+&prompt.root; portupgrade -af
+
+ Voltooi, nadat dit voltooid is, het upgradeproces met een
+ laatste aanroep naar freebsd-update. Geef
+ het volgende commando om alle losse eindjes in het upgradeproces
+ samen te knopen:
+
+ &prompt.root; freebsd-update install
+
+ Start de machine opnieuw op in de nieuwe &os;-versie. Het
+ proces is voltooid.
+
+
+
+ Het vergelijken van systeemtoestanden
+
+ Het gereedschap freebsd-update kan
+ gebruikt worden om de toestand van de geïnstalleerde versie
+ van &os; met een bekende goede kopie te vergelijken. Deze optie
+ evalueert de huidige versie van systeemgereedschappen,
+ bibliotheken, en instellingenbestanden. Geef het volgende
+ commando om met de vergelijking te beginnen:
+
+ &prompt.root; freebsd-update IDS >> uitvoerbestand.ids
+
+
+ Hoewel de commandonaam IDS is, is het
+ in geen geval een vervanging voor een indringdetectiesysteem
+ zoals security/snort.
+ Aangezien freebsd-update gegevens op schijf
+ opslaat, is de mogelijkheid om te knoeien duidelijk. Hoewel
+ deze mogelijkheid verminderd kan worden door de instelling
+ kern.securelevel te gebruiken en de
+ gegevens van freebsd-update op een
+ bestandssysteem dat alleen gelezen kan worden op te slaan
+ wanneer deze niet gebruikt worden, zou een betere oplossing
+ zijn om het systeem met een veilige schijf te vergelijken,
+ zoals een DVD of een veilig opgeslagen
+ externe USB-schijf.
+
+
+ Het systeem zal nu geïnspecteerd worden, en er zal een
+ lijst van hun &man.sha256.1;-hashwaarden, zowel de bekende
+ waarde in de uitgave en de huidige geïnstalleerde waarde,
+ afgebeeld worden. Hierom wordt de uitvoer naar het bestand
+ uitvoerbestand.ids gezonden. Het scrollt
+ te snel voorbij om het met het oog te vergelijken, en het vult
+ al snel de gehele consolebuffer op.
+
+ Deze regels zijn ook extreem lang, maar het uitvoerformaat
+ kan vrij eenvoudig geparsed worden. Geef, om bijvoorbeeld een
+ lijst van alle bestanden te krijgen die verschillen van die in
+ de uitgave, het volgende commando:
+
+ &prompt.root; cat uitvoerbestand.ids | awk '{ print $1 }' | more
+/etc/master.passwd
+/etc/motd
+/etc/passwd
+/etc/pf.conf
+
+ Deze uitvoer is afgekapt, er bestaan veel meer bestanden.
+ Sommige van deze bestanden hebben natuurlijke veranderingen, het
+ /etc/passwd is gewijzigd omdat er
+ gebruikers aan het systeem zijn toegevoegd. In sommige gevallen
+ kunnen er andere bestanden zijn, zoals kernelmodules, die
+ verschillen aangezien freebsd-update ze
+ ge-updated kan hebben. Voeg, om bepaalde bestanden of mappen
+ uit te sluiten, deze toe aan de optie
+ IDSIgnorePaths in
+ /etc/freebsd-update.conf.
+
+ Dit systeem kan gebruikt worden als deel van een uitgebreide
+ upgrademethode, afgezien van de eerder besproken versie.
+
+
+
+
+ Portsnap: een updategereedschap voor de Portscollectie
+
+ Het basissysteem van &os; bevat ook een gereedschap om de
+ Portscollectie bij te werken: het hulpmiddel &man.portsnap.8;.
+ Wanneer het wordt uitgevoerd, zal het een verbinding maken met een
+ verre site, de veilige sleutel controleren, en een nieuwe kopie
+ van de Portscollectie downloaden. De sleutel wordt gebruikt om de
+ integriteit van alle gedownloade bestanden te controleren, om er
+ zeker van te zijn dat ze niet tijdens het downloaden zijn
+ gewijzigd. Geef het volgende commando om de nieuwste versie van
+ de bestanden van de Portscollectie te downloaden:
+
+ &prompt.root; portsnap fetch
+Looking up portsnap.FreeBSD.org mirrors... 3 mirrors found.
+Fetching snapshot tag from portsnap1.FreeBSD.org... done.
+Fetching snapshot metadata... done.
+Updating from Wed Aug 6 18:00:22 EDT 2008 to Sat Aug 30 20:24:11 EDT 2008.
+Fetching 3 metadata patches.. done.
+Applying metadata patches... done.
+Fetching 3 metadata files... done.
+Fetching 90 patches.....10....20....30....40....50....60....70....80....90. done.
+Applying patches... done.
+Fetching 133 new ports or files... done.
+
+ Dit voorbeeld laat zien dat &man.portsnap.8; verscheidene
+ patches heeft gevonden en deze met de huidige portsgegevens heeft
+ gecontroleerd. Het geeft ook aan dat het gereedschap eerder is
+ gedraaid, als het voor de eerste keer was gedraaid, had het
+ simpelweg de collectie gedownload.
+
+ Wanneer &man.portsnap.8; succesvol een
+ fetch-operatie afrondt, bestaan de
+ Portscollectie en de vervolgpatches die de verificatie doorstaan
+ hebben op het plaatselijke systeem. De bijgewerkte bestanden
+ kunnen geïnstalleerd worden door het volgende te
+ typen:
+
+ &prompt.root; portsnap extract
+/usr/ports/.cvsignore
+/usr/ports/CHANGES
+/usr/ports/COPYRIGHT
+/usr/ports/GIDs
+/usr/ports/KNOBS
+/usr/ports/LEGAL
+/usr/ports/MOVED
+/usr/ports/Makefile
+/usr/ports/Mk/bsd.apache.mk
+/usr/ports/Mk/bsd.autotools.mk
+/usr/ports/Mk/bsd.cmake.mk
+...
+
+ Het proces is nu compleet, en applicaties kunnen met de
+ bijgewerkte Portscollectie worden geïnstalleerd of worden
+ bijgewerkt.
+
+