---
title: Bijlage A. FreeBSD verkrijgen
part: Deel V. Appendix
prev: books/handbook/partv
next: books/handbook/bibliography
showBookMenu: true
weight: 38
path: "/books/handbook/mirrors/"
---

[appendix]
[[mirrors]]
= FreeBSD verkrijgen
:doctype: book
:toc: macro
:toclevels: 1
:icons: font
:sectnums:
:sectnumlevels: 6
:sectnumoffset: A
:partnums:
:source-highlighter: rouge
:experimental:
:images-path: books/handbook/mirrors/

ifdef::env-beastie[]
ifdef::backend-html5[]
:imagesdir: ../../../../images/{images-path}
endif::[]
ifndef::book[]
include::shared/authors.adoc[]
include::shared/mirrors.adoc[]
include::shared/releases.adoc[]
include::shared/attributes/attributes-{{% lang %}}.adoc[]
include::shared/{{% lang %}}/teams.adoc[]
include::shared/{{% lang %}}/mailing-lists.adoc[]
include::shared/{{% lang %}}/urls.adoc[]
toc::[]
endif::[]
ifdef::backend-pdf,backend-epub3[]
include::../../../../../shared/asciidoctor.adoc[]
endif::[]
endif::[]

ifndef::env-beastie[]
toc::[]
include::../../../../../shared/asciidoctor.adoc[]
endif::[]

[[mirrors-cdrom]]
== CD-ROM en DVD uitgevers

=== Winkelproducten in doos

FreeBSD is beschikbaar in een doos (FreeBSD CD-ROMs, additionele software en gedrukte documentatie) bij verschillende verkopers:

* Frys Electronics +
WWW: http://www.frys.com/

=== CD-ROMs en DVD's

FreeBSD CD-ROMs en DVD's zijn te koop bij veel online winkels:

* FreeBSD Mall, Inc. +
700 Harvest Park Ste F +
Brentwood, CA 94513 +
Verenigde Staten +
Telefoon: +1 925 240-6652 +
Fax: +1 925 674-0821 +
E–mail: <info@freebsdmall.com> +
WWW: http://www.freebsdmall.com/

* Dr. Hinner EDV +
St. Augustinus-Str. 10 +
D-81825 München +
Duitsland +
Telefoon: (089) 428 419 +
WWW: http://www.hinner.de/linux/freebsd.html

* JMC Software +
Ierland +
Telefoon: 353 1 6291282 +
WWW: http://www.thelinuxmall.com

* Linux Distro UK +
42 Wharfedale Road +
Margate +
CT9 2TB +
Verenigd Koninkrijk +
WWW: https://linux-distro.co.uk/

* The Linux Emporium +
Hilliard House, Lester Way +
Wallingford +
OX10 9TA +
Verenigd Koninkrijk +
Telefoon: +44 1491 837010 +
Fax: +44 1491 837016 +
WWW: http://www.linuxemporium.co.uk/products/bsd/

* Linux+ DVD Magazine +
Lewartowskiego 6 +
Warsaw +
00-190 +
Polen +
Telefoon: +48 22 860 18 18 +
E–mail: <editors@lpmagazine.org> +
WWW: http://www.lpmagazine.org/

* Linux System Labs Australia +
21 Ray Drive +
Balwyn North +
VIC - 3104 +
Australië +
Telefoon: +61 3 9857 5918 +
Fax: +61 3 9857 8974 +
WWW: http://www.lsl.com.au

* LinuxCenter.Ru +
Galernaya Street, 55 +
Saint-Petersburg +
190000 +
Rusland +
Telefoon: +7-812-3125208 +
E–mail: <info@linuxcenter.ru> +
WWW: http://linuxcenter.ru/shop/freebsd

=== Distributeurs

Wederverkopers die FreeBSD CD-ROM producten willen verkopen kunnen contact opnemen met een distributeur:

* Ingram Micro +
1600 E. St. Andrew Place +
Santa Ana, CA +
92705-4926 Verenigde Staten +
Telefoon: 1 (800) 456-8000 +
WWW: http://www.ingrammicro.com/

* Kudzu, LLC +
7375 Washington Ave. S. +
Edina, MN 55439 +
Verenigde Staten +
Telefoon: +1 952 947-0822 +
Fax: +1 952 947-0876 +
E–mail: <sales@kudzuenterprises.com>

* LinuxCenter.Ru +
Galernaya Street, 55 +
Sint-Petersburg +
190000 +
Rusland +
Telefoon: +7-812-3125208 +
E–mail: <info@linuxcenter.ru> +
WWW: http://linuxcenter.ru/freebsd

[[mirrors-ftp]]
== FTP sites

De officiële broncode voor FreeBSD is beschikbaar via anoniem toegankelijke FTP in de hele wereld via vele mirrorsites. De site link:ftp://ftp.FreeBSD.org/pub/FreeBSD/[ftp://ftp.FreeBSD.org/pub/FreeBSD/] heeft een goede verbinding en staat veel verbindingen toe, maar het is waarschijnlijk beter om een mirrorsite te zoeken die "dichterbij" is (zeker als het doel is ook een soort mirrorsite op te zetten).

FreeBSD is beschikbaar via de onderstaande anonieme FTP mirror sites. Bij het kiezen van anonieme FTP voor het verkrijgen van FreeBSD wordt aangeraden een site die dichtbij ligt te kiezen. De mirrorsites die in de lijst staan als "Primaire Mirrorsites" hebben meestal het complete FreeBSD archief (alle beschikbare versies voor alle architecturen) maar downloads zijn waarschijnlijk sneller van een site die in het land of de regio van de gebruiker staat. De regionale sites hebben de meeste recente versies voor de meest populaire architecturen, maar hebben wellicht niet het complete archief. Alle sites geven toegang via anonieme FTP, maar een aantal sites hebben ook andere toegangsmogelijkheden. De toegangsmogelijkheden voor iedere site staan tussen haakjes achter de hostnaam.

<<central, {central}>>, <<primary, {mirrors-primary}>>, <<armenia, {mirrors-armenia}>>, <<australia, {mirrors-australia}>>, <<austria, {mirrors-austria}>>, <<brazil, {mirrors-brazil}>>, <<czech-republic, {mirrors-czech}>>, <<denmark, {mirrors-denmark}>>, <<estonia, {mirrors-estonia}>>, <<finland, {mirrors-finland}>>, <<france, {mirrors-france}>>, <<germany, {mirrors-germany}>>, <<greece, {mirrors-greece}>>, <<hong-kong, {mirrors-hongkong}>>, <<ireland, {mirrors-ireland}>>, <<japan, {mirrors-japan}>>, <<korea, {mirrors-korea}>>, <<latvia, {mirrors-latvia}>>, <<lithuania, {mirrors-lithuania}>>, <<netherlands, {mirrors-netherlands}>>, <<new-zealand, {mirrors-new-zealand}>>, <<norway, {mirrors-norway}>>, <<poland, {mirrors-poland}>>, <<russia, {mirrors-russia}>>, <<saudi-arabia, {mirrors-saudi-arabia}>>, <<slovenia, {mirrors-slovenia}>>, <<south-africa, {mirrors-south-africa}>>, <<spain, {mirrors-spain}>>, <<sweden, {mirrors-sweden}>>, <<switzerland, {mirrors-switzerland}>>, <<taiwan, {mirrors-taiwan}>>, <<ukraine, {mirrors-ukraine}>>, <<uk, {mirrors-uk}>>, <<usa, {mirrors-us}>>.

(as of UTC)

[[central]]
*{central}*

{central-ftp} (ftp / ftpv6 / {central-http} / {central-httpv6}) 

[[primary]]
*{mirrors-primary}*

In case of problems, please contact the hostmaster `<{mirrors-primary-email}>` for this domain.

* {mirrors-primary-ftp1} (ftp)
* {mirrors-primary-ftp2} (ftp)
* {mirrors-primary-ftp3} (ftp)
* {mirrors-primary-ftp4} (ftp / ftpv6 / {mirrors-primary-ftp4-http} / {mirrors-primary-ftp4-httpv6})
* {mirrors-primary-ftp5} (ftp)
* {mirrors-primary-ftp6} (ftp)
* {mirrors-primary-ftp7} (ftp)
* {mirrors-primary-ftp10} (ftp / ftpv6 / {mirrors-primary-ftp10-http} / {mirrors-primary-ftp10-httpv6})
* {mirrors-primary-ftp11} (ftp)
* {mirrors-primary-ftp13} (ftp)
* {mirrors-primary-ftp14} (ftp / {mirrors-primary-ftp14-http}) 

[[armenia]]
*{mirrors-armenia}*

In case of problems, please contact the hostmaster `<{mirrors-armenia-email}>` for this domain.

* {mirrors-armenia-ftp} (ftp / {mirrors-armenia-ftp-http} / rsync) 

[[australia]]
*{mirrors-australia}*

In case of problems, please contact the hostmaster `<{mirrors-australia-email}>` for this domain.

* {mirrors-australia-ftp} (ftp)
* {mirrors-australia-ftp2} (ftp)
* {mirrors-australia-ftp3} (ftp) 

[[austria]]
*{mirrors-austria}*

In case of problems, please contact the hostmaster `<{mirrors-austria-email}>` for this domain.

* {mirrors-austria-ftp} (ftp / ftpv6 / {mirrors-austria-ftp-http} / {mirrors-austria-ftp-httpv6}) 

[[brazil]]
*{mirrors-brazil}*

In case of problems, please contact the hostmaster `<{mirrors-brazil-email}>` for this domain.

* {mirrors-brazil-ftp2} (ftp / {mirrors-brazil-ftp2-http})
* {mirrors-brazil-ftp3} (ftp / rsync)
* {mirrors-brazil-ftp4} (ftp) 

[[czech-republic]]
*{mirrors-czech}*

In case of problems, please contact the hostmaster `<{mirrors-czech-email}>` for this domain.

* {mirrors-czech-ftp} (ftp / {mirrors-czech-ftpv6} / {mirrors-czech-ftp-http} / {mirrors-czech-ftp-httpv6} / rsync / rsyncv6)
* {mirrors-czech-ftp2} (ftp / {mirrors-czech-ftp2-http}) 

[[denmark]]
*{mirrors-denmark}*

In case of problems, please contact the hostmaster `<{mirrors-denmark-email}>` for this domain.

* {mirrors-denmark-ftp} (ftp / ftpv6 / {mirrors-denmark-ftp-http} / {mirrors-denmark-ftp-httpv6}) 

[[estonia]]
*{mirrors-estonia}*

In case of problems, please contact the hostmaster `<{mirrors-estonia-email}>` for this domain.

* {mirrors-estonia-ftp} (ftp) 

[[finland]]
*{mirrors-finland}*

In case of problems, please contact the hostmaster `<{mirrors-finland-email}>` for this domain.

* {mirrors-finland-ftp} (ftp) 

[[france]]
*{mirrors-france}*

In case of problems, please contact the hostmaster `<{mirrors-france-email}>` for this domain.

* {mirrors-france-ftp} (ftp)
* {mirrors-france-ftp1} (ftp / {mirrors-france-ftp1-http} / rsync)
* {mirrors-france-ftp3} (ftp)
* {mirrors-france-ftp5} (ftp)
* {mirrors-france-ftp6} (ftp / rsync)
* {mirrors-france-ftp7} (ftp)
* {mirrors-france-ftp8} (ftp) 

[[germany]]
*{mirrors-germany}*

In case of problems, please contact the hostmaster `<{mirrors-germany-email}>` for this domain.

* ftp://ftp.de.FreeBSD.org/pub/FreeBSD/ (ftp)
* ftp://ftp1.de.FreeBSD.org/freebsd/ (ftp / http://www1.de.FreeBSD.org/freebsd/ / rsync://rsync3.de.FreeBSD.org/freebsd/)
* ftp://ftp2.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp2.de.FreeBSD.org/pub/FreeBSD/ / rsync)
* ftp://ftp4.de.FreeBSD.org/FreeBSD/ (ftp / http://ftp4.de.FreeBSD.org/pub/FreeBSD/)
* ftp://ftp5.de.FreeBSD.org/pub/FreeBSD/ (ftp)
* ftp://ftp7.de.FreeBSD.org/pub/FreeBSD/ (ftp / http://ftp7.de.FreeBSD.org/pub/FreeBSD/)

[[greece]]
*{mirrors-greece}*

In case of problems, please contact the hostmaster `<{mirrors-greece-email}>` for this domain.

* {mirrors-greece-ftp} (ftp)
* {mirrors-greece-ftp2} (ftp) 

[[hong-kong]]
*{mirrors-hongkong}*

{mirrors-hongkong-ftp} (ftp) 

[[ireland]]
*{mirrors-ireland}*

In case of problems, please contact the hostmaster `<{mirrors-ireland-email}>` for this domain.

* {mirrors-ireland-ftp} (ftp / rsync) 

[[japan]]
*{mirrors-japan}*

In case of problems, please contact the hostmaster `<{mirrors-japan-email}>` for this domain.

* {mirrors-japan-ftp} (ftp)
* {mirrors-japan-ftp2} (ftp)
* {mirrors-japan-ftp3} (ftp)
* {mirrors-japan-ftp4} (ftp)
* {mirrors-japan-ftp5} (ftp)
* {mirrors-japan-ftp6} (ftp)
* {mirrors-japan-ftp7} (ftp)
* {mirrors-japan-ftp8} (ftp)
* {mirrors-japan-ftp9} (ftp) 

[[korea]]
*{mirrors-korea}*

In case of problems, please contact the hostmaster `<{mirrors-korea-email}>` for this domain.

* {mirrors-korea-ftp} (ftp / rsync)
* {mirrors-korea-ftp2} (ftp / {mirrors-korea-ftp2-http}) 

[[latvia]]
*{mirrors-latvia}*

In case of problems, please contact the hostmaster `<{mirrors-latvia-email}>` for this domain.

* {mirrors-latvia-ftp} (ftp / {mirrors-latvia-ftp-http}) 

[[lithuania]]
*{mirrors-lithuania}*

In case of problems, please contact the hostmaster `<{mirrors-lithuania-email}>` for this domain.

* {mirrors-lithuania-ftp} (ftp / {mirrors-lithuania-ftp-http}) 

[[netherlands]]
*{mirrors-netherlands}*

In case of problems, please contact the hostmaster `<{mirrors-netherlands-email}>` for this domain.

* {mirrors-netherlands-ftp} (ftp / {mirrors-netherlands-ftp-http} / rsync)
* {mirrors-netherlands-ftp2} (ftp) 

[[new-zealand]]
*{mirrors-new-zealand}*

* {mirrors-new-zealand-ftp} (ftp / {mirrors-new-zealand-ftp-http}) 

[[norway]]
*{mirrors-norway}*

In case of problems, please contact the hostmaster `<{mirrors-norway-email}>` for this domain.

* {mirrors-norway-ftp} (ftp / rsync) 

[[poland]]
*{mirrors-poland}*

In case of problems, please contact the hostmaster `<{mirrors-poland-email}>` for this domain.

* {mirrors-poland-ftp} (ftp)
* ftp2.pl.FreeBSD.org

[[russia]]
*{mirrors-russia}*

In case of problems, please contact the hostmaster `<{mirrors-russia-email}>` for this domain.

* {mirrors-russia-ftp} (ftp / {mirrors-russia-ftp-http} / rsync)
* {mirrors-russia-ftp2} (ftp / {mirrors-russia-ftp2-http} / rsync)
* {mirrors-russia-ftp5} (ftp / {mirrors-russia-ftp5-http} / rsync)
* {mirrors-russia-ftp6} (ftp) 

[[saudi-arabia]]
*{mirrors-saudi-arabia}*

In case of problems, please contact the hostmaster `<{mirrors-saudi-arabia-email}>` for this domain.

* {mirrors-saudi-arabia-ftp} (ftp) 

[[slovenia]]
*{mirrors-slovenia}*

In case of problems, please contact the hostmaster `<{mirrors-slovenia-email}>` for this domain.

* {mirrors-slovenia-ftp} (ftp) 

[[south-africa]]
*{mirrors-south-africa}*

In case of problems, please contact the hostmaster `<{mirrors-south-africa-email}>` for this domain.

* {mirrors-south-africa-ftp} (ftp)
* {mirrors-south-africa-ftp2} (ftp)
* {mirrors-south-africa-ftp4} (ftp) 

[[spain]]
*{mirrors-spain}*

In case of problems, please contact the hostmaster `<{mirrors-spain-email}>` for this domain.

* {mirrors-spain-ftp} (ftp / {mirrors-spain-ftp-http})
* {mirrors-spain-ftp3} (ftp) 

[[sweden]]
*{mirrors-sweden}*

In case of problems, please contact the hostmaster `<{mirrors-sweden-email}>` for this domain.

* {mirrors-sweden-ftp} (ftp)
* {mirrors-sweden-ftp2} (ftp / {mirrors-sweden-ftp2-rsync})
* {mirrors-sweden-ftp3} (ftp)
* {mirrors-sweden-ftp4} (ftp / {mirrors-sweden-ftp4v6} / {mirrors-sweden-ftp4-http} / {mirrors-sweden-ftp4-httpv6} / {mirrors-sweden-ftp4-rsync} / {mirrors-sweden-ftp4-rsyncv6})
* {mirrors-sweden-ftp6} (ftp / {mirrors-sweden-ftp6-http}) 

[[switzerland]]
*{mirrors-switzerland}*

In case of problems, please contact the hostmaster `<{mirrors-switzerland-email}>` for this domain.

* {mirrors-switzerland-ftp} (ftp / {mirrors-switzerland-ftp-http}) 

[[taiwan]]
*{mirrors-taiwan}*

In case of problems, please contact the hostmaster `<{mirrors-taiwan-email}>` for this domain.

* {mirrors-taiwan-ftp} (ftp / {mirrors-taiwan-ftpv6} / rsync / rsyncv6)
* {mirrors-taiwan-ftp2} (ftp / {mirrors-taiwan-ftp2v6} / {mirrors-taiwan-ftp2-http} / {mirrors-taiwan-ftp2-httpv6} / rsync / rsyncv6)
* {mirrors-taiwan-ftp4} (ftp)
* {mirrors-taiwan-ftp5} (ftp)
* {mirrors-taiwan-ftp6} (ftp / {mirrors-taiwan-ftp6v6} / rsync)
* {mirrors-taiwan-ftp7} (ftp)
* {mirrors-taiwan-ftp8} (ftp)
* {mirrors-taiwan-ftp11} (ftp / {mirrors-taiwan-ftp11-http})
* {mirrors-taiwan-ftp12} (ftp)
* {mirrors-taiwan-ftp13} (ftp)
* {mirrors-taiwan-ftp14} (ftp)
* {mirrors-taiwan-ftp15} (ftp) 

[[ukraine]]
*{mirrors-ukraine}*

* {mirrors-ukraine-ftp} (ftp / {mirrors-ukraine-ftp-http})
* {mirrors-ukraine-ftp6} (ftp / {mirrors-ukraine-ftp6-http} / {mirrors-ukraine-ftp6-rsync})
* {mirrors-ukraine-ftp7} (ftp) 

[[uk]]
*{mirrors-uk}*

In case of problems, please contact the hostmaster `<{mirrors-uk-email}>` for this domain.

* {mirrors-uk-ftp} (ftp)
* {mirrors-uk-ftp2} (ftp / {mirrors-uk-ftp2-rsync})
* {mirrors-uk-ftp3} (ftp)
* {mirrors-uk-ftp4} (ftp)
* {mirrors-uk-ftp5} (ftp) 

[[usa]]
*{mirrors-us}*

In case of problems, please contact the hostmaster `<{mirrors-us-email}>` for this domain.

* {mirrors-us-ftp} (ftp)
* {mirrors-us-ftp2} (ftp)
* {mirrors-us-ftp3} (ftp)
* {mirrors-us-ftp4} (ftp / ftpv6 / {mirrors-us-ftp4-http} / {mirrors-us-ftp4-httpv6})
* {mirrors-us-ftp5} (ftp)
* {mirrors-us-ftp6} (ftp)
* {mirrors-us-ftp8} (ftp)
* {mirrors-us-ftp10} (ftp)
* {mirrors-us-ftp11} (ftp)
* {mirrors-us-ftp13} (ftp / {mirrors-us-ftp13-http} / rsync)
* {mirrors-us-ftp14} (ftp / {mirrors-us-ftp14-http})
* {mirrors-us-ftp15} (ftp) 

[[mirrors-svn]]
== Subversion-sites

Sinds juli 2012 gebruikt FreeBSD http://subversion.apache.org/[Subversion] als het primaire versiebeheersysteem om alle broncode van FreeBSD, de documentatie, en de Portscollectie op te slaan.

[NOTE]
====
Subversion is hoofdzakelijk een gereedschap voor ontwikkelaars. De meeste gebruikers dienen crossref:cutting-edge[updating-upgrading-freebsdupdate,FreeBSD Update] te gebruiken om het basissysteem van FreeBSD bij te werken, en crossref:cutting-edge[updating-upgrading-portsnap,Portsnap] om de FreeBSD Portscollectie bij te werken.
====

Het spiegelsite-netwerk voor Subversion van FreeBSD bevindt zich nog in de beginfase en zal waarschijnlijk veranderen. Reken er niet op dat deze lijst van spiegelsites statisch is. In het bijzonder zullen de SSL-certificaten van de servers op een gegeven moment veranderen.

In Subversion worden URLs gebruikt om een depot aan te duiden in de vorm van `protocol://hostnaam/pad`. Spiegelsites kunnen verschillende protocollen ondersteunen zoals hieronder is gespecificeerd. Het eerste gedeelte van het pad is het FreeBSD-depot wat benaderd moet worden. Er zijn drie verschillende depots, `base` voor de broncode van het basissysteem van FreeBSD, `ports` voor de Portscollectie, en `doc` voor de documentatie. De URL `svn://svn0.us-east.FreeBSD.org/ports/head/` specificeert de hoofdtak van het ports-depot op de spiegelsite `svn0.us-east.FreeBSD.org`, gebruikmakend van het svn-protocol.

Alle spiegelsites bevatten alle depots.

De FreeBSD Subversion hoofdserver, `svn.FreeBSD.org`, is publiekelijk toegankelijk als alleen-lezen. Dit kan in de toekomst veranderen, dus gebruikers worden aangeraden om een van de officiële spiegelsites te gebruiken. Gebruik http://svnweb.FreeBSD.org/[http://svnweb.FreeBSD.org] om de Subversion-depots van FreeBSD met een webbrowser te bekijken.

[.informaltable]
[cols="1,1,1,1", options="header"]
|===
| Naam
| Protocollen
| Locatie
| SSL-vingerafdruk

|`svn0.us-west.FreeBSD.org`
|svn, http://svn0.us-west.FreeBSD.org/base/[http], https://svn0.us-west.FreeBSD.org/base/[https]
|Verenigde Staten, Californië
|SHA1 `79:35:8F:CA:6D:34:D9:30:44:D1:00:AF:33:4D:E6:11:44:4D:15:EC`

|`svn0.us-east.FreeBSD.org`
|svn, http://svn0.us-east.FreeBSD.org/base/[http], https://svn0.us-east.FreeBSD.org/base/[https]
|Verenigde Staten, New Jersey
|SHA1 `06:D1:23:DE:5E:7A:F7:2B:7A:7E:74:95:5F:54:8D:5C:B0:D6:2E:8F`
|===

[[anoncvs]]
== Anonieme CVS

[[anoncvs-intro]]
=== Inleiding

Anonieme CVS (of ook wel bekend als _anoncvs_) is een functie die beschikbaar is met de hulpprogramma's die bij FreeBSD zitten om te synchroniseren met een elders aanwezig CVS depot. Het staat gebruikers van FreeBSD onder andere toe om zonder bijzondere rechten alleen-lezen operaties uit te voeren op een van de officiële anoncvs servers van het FreeBSD project. Om het te kunnen gebruiken dient de omgevingsvariabele `CVSROOT` zo ingesteld te worden dat hij wijst naar de gewenste anoncvs server, dient het bekende wachtwoord "anoncvs" bij het commando `cvs login` opgegeven te worden en kan daarna man:cvs[1] gebruikt worden om het te benaderen als ieder lokaal aanwezig depot.

[NOTE]
====
Het commando `cvs login` slaat de wachtwoorden die voor aanmelden bij de CVS server op in een bestand met de naam [.filename]#.cvspass# in de map `HOME`. Als dit bestand niet bestaat, is het mogelijk dat er een foutmelding wordt gegeven als `cvs login` de eerste keer wordt gebruikt. Dat kan opgelost worden door een leeg bestand [.filename]#.cvspass# te maken en dan opnieuw aan te melden.
====

Hoewel de diensten <<cvsup,CVSup>> en _anoncvs_ beiden vrijwel dezelfde functie invullen, zijn er redenen die de keuze voor de synchronisatiemethode beïnvloeden. In een notendop is CVSup veel efficiënter in het gebruik van netwerkbronnen en is het de meest geavanceerde van de twee, maar daar staat iets tegenover. Voor het gebruik van CVSup moet eerst een speciale client geïnstalleerd en ingesteld worden voordat er bits kunnen gaan stromen en dat kan dan alleen in de redelijk grote brokken die in CVSup_collections_ heten.

Anoncvs kan daarentegen gebruikt worden om alles te bekijken van een individueel bestand tot aan een specifiek programma (als `ls` of `grep`) door aan de naam van de CVS module te refereren. Ook anoncvs is alleen geschikt voor alleen-lezen operaties op het CVS depot, dus als het de bedoeling is om lokaal ontwikkelwerk en hetzelfde depot met delen uit het FreeBSD project te combineren, dan biedt alleen CVSup daar een oplossing voor.

[[anoncvs-usage]]
=== Anonieme CVS gebruiken

Het instellen van man:cvs[1] om gebruik te maken van een Anoniem CVS depot is een kwestie van het instellen van de omgevingsvariabele `CVSROOT` op een van de _anoncvs_ servers van het FreeBSD project. Op het moment van schrijven zijn de volgende servers beschikbaar:

* _Frankrijk_: :pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs (Gebruik `cvs login` voor pserver-modus en voer het wachtwoord "anoncvs" in wanneer het gevraagd wordt. Voor ssh is geen wachtwoord nodig.)
* _Taiwan_: :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs (Gebruik `cvs login` voor pserver-modus en voer elk willekeurig wachtwoord in wanneer het gevraagd wordt. Voor ssh is geen wachtwoord nodig.)
+
[.programlisting]
....
SSH2 HostKey: 1024 02:ed:1b:17:d6:97:2b:58:5e:5c:e2:da:3b:89:88:26 /etc/ssh/ssh_host_rsa_key.pub
SSH2 HostKey: 1024 e8:3b:29:7b:ca:9f:ac:e9:45:cb:c8:17:ae:9b:eb:55 /etc/ssh/ssh_host_dsa_key.pub
....

Omdat met CVS vrijwel iedere versie die ooit beschikbaar is geweest "uitgecheckt" kan worden, is het van belang op de hoogte te zijn van de man:cvs[1] vlag voor revisie (`-r`) en welke waarden zie zoal kan aannemen in het FreeBSD Project depot.

Er zijn twee soorten labels (tags): revisielabels en taklabels (branch). Een revisielabel refereert aan een specifieke revisie. De betekenis blijft van dag tot dag gelijk. Aan de andere kant refereert een taklabel aan de laatste revisie in een bepaalde ontwikkellijn op een bepaald moment. Omdat een taklabel niet refereert aan een specifieke revisie, kan die morgen anders zijn dan vandaag.

<<cvs-tags>> bevat revisielabels waar gebruikers in geïnteresseerd kunnen zijn. Nogmaals: deze zijn allemaal niet geldig voor de Portscollectie omdat de Portscollectie geen meerdere ontwikkel takken kent.

Als een specifiek taklabel wordt aangegeven, worden als alles goed gaat, de laatste revisies uit een bepaalde ontwikkellijn ontvangen. Als er een oudere versie opgehaald moet worden, kan dat door met de vlag `-D datum` een datum aan te geven. In man:cvs[1] staan meer details.

=== Voorbeelden

Hoewel het sterk wordt aangeraden eerst de hulppagina's voor man:cvs[1] grondig door te lezen, volgen hier een aantal snelle voorbeelden die feitelijk aangeven hoe Anonieme CVS gebruikt kan worden.

.SSH gebruiken om de [.filename]#src/# tree uit te checken:
[example]
====

[source,shell]
....
% cvs -d anoncvs@anoncvs1.FreeBSD.org:/home/ncvs co src
The authenticity of host 'anoncvs1.freebsd.org (216.87.78.137)' can't be established.
DSA key fingerprint is 53:1f:15:a3:72:5c:43:f6:44:0e:6a:e9:bb:f8:01:62.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'anoncvs1.freebsd.org' (DSA) to the list of known hosts.
....

====

.Iets uitchecken uit -CURRENT (man:ls[1]):
[example]
====

[source,shell]
....
% setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
% cvs login
Op de prompt, voer een willekeurig wachtwoord in “wachtwoord”.
% cvs co ls
....

====

.SSH gebruiken om de [.filename]#src/# structuur uit te checken:
[example]
====

[source,shell]
....
% cvs -d freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs co src
The authenticity of host 'anoncvs.freebsd.org (128.46.156.46)' can't be established.
DSA key fingerprint is 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'anoncvs.freebsd.org' (DSA) to the list of known hosts.
....

====

.De versie van man:ls[1] in de 8-STABLE tak uitchecken:
[example]
====

[source,shell]
....
% setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
% cvs login
Op de prompt, voer een willekeurig wachtwoord in “wachtwoord”.
% cvs co -rRELENG_8 ls
....

====

.Een lijst wijzigingen maken (als unified diffs) voor man:ls[1]
[example]
====

[source,shell]
....
% setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
% cvs login
Op de prompt, voer een willekeurig wachtwoord in “wachtwoord”.
% cvs rdiff -u -rRELENG_8_0_0_RELEASE -rRELENG_8_1_0_RELEASE ls
....

====

.Uitzoeken welke modulenamen gebruikt kunnen worden:
[example]
====

[source,shell]
....
% setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs
% cvs login
Op de prompt, voer een willekeurig wachtwoord in “wachtwoord”.
% cvs co modules
% more modules/modules
....

====

=== Andere bronnen

De volgende bronnen kunnen bijdragen aan een beter begrip van CVS:

* http://users.csc.calpoly.edu/~gfisher/classes/308/handouts/cvs-basics.html[CVS Tutorial] van California Polytechnic State University.
* http://www.nongnu.org/cvs/[CVS Home], de CVS gemeenschap voor ontwikkeling en ondersteuning.
* http://www.FreeBSD.org/cgi/cvsweb.cgi[CVSweb] is de FreeBSD Project webinterface voor CVS.

[[ctm]]
== CTM gebruiken

CTM is een methode om een map elders gesynchroniseerd te houden met een centrale. Het is ontwikkeld voor gebruik met de FreeBSD broncode, hoewel sommigen het ook voor andere doeleinden handig vinden. Er bestaat op dit moment weinig tot geen documentatie over het proces van het maken van delta's. Voor informatie over het gebruik van CTM kan het beste contact gezocht worden met de link:{ctm-users-url}[ctm-users-desc] mailinglijst.

=== Waarom CTM gebruiken?

CTM geeft een lokale kopie van de FreeBSD broncode. Die is in een aantal "smaken" beschikbaar. Of het gaat om slechts één tak of de complete CVS structuur, CTM kan het bieden. CTM is gewoon gemaakt voor actieve ontwikkelaars die met FreeBSD werken, maar geen of een slechte Internetverbinding hebben of gewoon automatisch de laatste wijzigingen willen ontvangen. De meest actieve takken kennen op z'n hoogst drie delta's per dag. Het is het overwegen waard om ze per automatische mail te laten sturen. De grootte van de updates wordt altijd zo klein mogelijk gehouden. Meestal kleiner dan 5 K en soms (in tien procent van de gevallen) is het 10-50 K. In uitzonderlijke gevallen komt het voor dat een mail van 100 K of meer wordt gestuurd.

Het is wel van belang op de hoogte te zijn van de valkuilen die een rol spelen bij het direct werken met broncode in plaats van met een voorverpakte release. Dit geldt nog meer als wordt gewerkt met de "current" code. Het lezen van crossref:cutting-edge[current,Bijblijven met FreeBSD] wordt sterk aangeraden.

=== Wat is er nodig om CTM te gebruiken?

Voor het gebruik van CTM zijn twee dingen nodig: het CTM programma en de initiële delta's om de applicatie te voeden en naar een "current" niveau te komen.

CTM is al onderdeel van FreeBSD sinds versie 2.0 is uitgebracht en is te vinden in [.filename]#/usr/src/usr.sbin/ctm#, als de broncode aanwezig is.

De "delta's" voor CTM kunnen op twee manieren komen: met FTP of per e-mail. De volgende FTP sites bieden ondersteuning voor CTM:

link:ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/[ftp://ftp.FreeBSD.org/pub/FreeBSD/CTM/]

Er staan er nog meer in de paragraaf <<mirrors-ctm,mirrors>>.

FTP de relevante map en download het bestand [.filename]#README# vanaf daar.

Voor delta's via e-mail:

Er dient een abonnement genomen te worden op een van de CTM distributielijsten. link:{ctm-src-cur-url}[ctm-src-cur-desc] ondersteunt de complete Subversion structuur. link:{ctm-src-cur-url}[ctm-src-cur-desc] ondersteunt het hoofd van de ontwikkeltak. link:{ctm-src-9-url}[ctm-src-9-desc] ondersteunt de 9.X release tak, enzovoort. Om te abonneren kan geklikt worden op de bovenstaande links of via {mailing-lists-url} kan in een lijst geklikt worden op de lijst waarvoor een abonnement gewenst is. De lijstpagina bevat instructies over hoe te abonneren.

Na het ontvangen van CTM updates per mail, kan `ctm_rmail` gebruikt worden voor het uitpakken en verwerken. `ctm_rmail` kan zelfs direct vanuit [.filename]#/etc/aliases# gebruikt worden om het proces volledig automatisch te laten verlopen. In de hulppagina van `ctm_rmail` staan meer details.

[NOTE]
====
Welke methode ook gebruikt wordt voor de CTM delta's, het is belangrijk een abonnement te nemen op de link:{ctm-announce-url}[ctm-announce-desc] mailinglijst. In de toekomst worden alleen op die lijst aankondigingen gedaan over het CTM systeem. Abonneren kan door op de link hierboven te klikken en de instructies te volgen.
====

=== CTM de eerste keer gebruiken

Voordat de CTM delta's gebruikt kunnen worden, moet er een startpunt voor bepaald worden.

Eerst moet bepaald worden wat er al is. Het is mogelijk te beginnen vanuit een "lege" map. Dan moet een initiële "Empty" delta gebruikt worden om een door CTM ondersteunde structuur te starten. Het is de bedoeling dat deze "start" delta's ooit voor het gemak op de CD-ROM komen te staan, maar dit is nog niet het geval.

Omdat de structuren tientallen megabytes groot zijn, heeft het de voorkeur om al met iets te beginnen. Als er een -RELEASE CD-ROM beschikbaar is, kan de initiële broncode gekopieerd of uitgepakt worden. Dit bespaart nogal wat dataverkeer.

De "start" delta's kunnen herkend worden aan de `X` die aan het nummer is toegevoegd (bijvoorbeeld [.filename]#src-cur.3210XEmpty.gz#). De nummering achter de `X` komt overeen met de oorsprong van het initiële "zaad". [.filename]#Empty# is een lege map. Er wordt in het algemeen iedere honderd delta's een basistransitie voor `Empty` gemaakt. Die zijn trouwens groot: 70 tot 80 Megabytes `gzip` data is normaal voor de [.filename]#XEmpty# delta's.

Als er een delta als startpunt is gekozen, zijn ook alle delta's met hogere volgnummers nodig.

=== CTM in het dagelijks leven gebruiken

Om de delta's toe te passen:

[source,shell]
....
# cd /where/ever/you/want/the/stuff
# ctm -v -v /where/you/store/your/deltas/src-xxx.*
....

CTM begrijpt delta's in `gzip` formaat, dus het niet nodig om eerst `gunzip` te gebruiken. Dat spaart diskruimte.

Tenzij het zeker is van de veiligheid van het proces, doet CTM niets met de structuur. Om een delta te verifiëren kan ook de vlag `-c` gebruikt worden en dan komt CTM ook niet aan een structuur. Dan wordt alleen de integriteit van de delta gecontroleerd en of die zonder problemen op de huidige structuur kan worden toegepast.

CTM kent nog meer opties die in de hulppagina's worden besproken.

Meer is er niet. Iedere keer dat er een delta wordt ontvangen, moet die door CTM gehaald worden om de broncode bijgewerkt te houden.

Delta's kunnen het beste niet verwijderd worden als het lastig is ze opnieuw te downloaden. Dan kunnen ze het beste bewaard worden voor het geval er eens iets gebeurt. Zelfs als er alleen floppy's beschikbaar zijn, is het wellicht verstandig die te gebruiken met `fdwrite`.

=== Lokale wijzigingen behouden

Een ontwikkelaar wil graag experimenteren met bestanden in de structuur en die bestanden veranderen. CTM ondersteunt lokale wijzigingen in beperkte mate: alvorens te kijken of bestand [.filename]#foo# bestaat, zoekt het eerst naar [.filename]#foo.ctm#. Als dat bestand bestaat, past CTM de wijzigigen daarop toe in plaats van op [.filename]#foo#.

Dit gedrag biedt een eenvoudige mogelijkheid om lokale wijzigingen bij te houden. Dat kan dus door bestanden die gewijzigd gaan worden te kopiëren naar een bestand met dezelfde naam met de toevoeging [.filename]#.ctm#. Dan kan er vrijelijk gespeeld worden met de code, terwijl CTM het bestand [.filename]#.ctm# bijwerkt.

=== Andere interessante mogelijkheden van CTM

==== Uitvinden wat precies wordt veranderd met bijwerken

Het is mogelijk een lijst met wijzigingen te maken die CTM zou maken op het broncodedepot met de optie `-l`.

Dit is nuttig als het gewenst is om een logboek bij te houden van de wijzigingen, de te wijzigen bestanden voor- of na te bewerken op welke manier dan ook, of als de gebruiker gewoon een beetje paranoïde is.

==== Back-ups maken vóór bijwerken

Soms kan het wenselijk zijn om een back-up te maken van alle bestanden die gewijzigd gaan worden door een CTM update.

Met `-B back-upbestand` back-upt CTM alle bestanden die gewijzigd gaan worden door een CTM delta naar [.filename]#back-upbestand#.

==== Te wijzigen bestanden door bijwerken beperken

Soms is het wenselijk de reikwijdte voor een CTM update te beperken of kan het wenselijk zijn om maar een paar bestanden bij te werken uit een aantal delta's.

Een lijst met bestanden die CTM mag bewerken kan aangegeven worden met de opties `-e` en `-x` en het opgeven van regular expressions.

Om bijvoorbeeld een bijgewerkte kopie van [.filename]#lib/libc/Makefile# te maken uit de verzameling met opgeslagen CTM delta's, kan het volgende commando uitgevoerd worden:

[source,shell]
....
# cd /where/ever/you/want/to/extract/it/
# ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.*
....

Voor ieder te wijzigen bestand in een CTM delta worden de opties `-e` en `-x` toegepast in de volgorde waarin ze op de commandoregel staan. Het bestand wordt alleen door CTM verwerkt als het passend is bevonden na het toepassen van alle parameters in `-e` en `-x`.

=== Toekomstige plannen voor CTM

Die zijn er:

* Een of andere vorm van authenticatie in het CTM systeem bouwen zodat vervalste CTM updates afgevangen kunnen worden;
* De opties voor CTM opruimen omdat ze verwarrend zijn geworden.

=== Nog meer

Er zijn ook delta's voor de `ports`collectie, maar daar is nog niet zo veel belangstelling voor.

[[mirrors-ctm]]
=== CTM mirrors

<<ctm,CTM>>/FreeBSD is op de volgende mirrorsites via anonieme FTP beschikbaar. Als voor CTM anonieme FTP wordt gebruikt, heeft het de voorkeur een site die in geografische zin dichtbij is te gebruiken.

Bij problemen kan contact gezocht worden met de link:{ctm-users-url}[ctm-users-desc] mailinglijst.

Californië, Bay Area, officiële bron::

** link:ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ftp.FreeBSD.org/pub/FreeBSD/development/CTM/]

Zuid-Afrika, back-upserver voor oude delta's::

** link:ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/[ftp://ftp.za.FreeBSD.org/pub/FreeBSD/CTM/]

Taiwan/R.O.C.::

** link:ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm.tw.FreeBSD.org/pub/FreeBSD/development/CTM/]
** link:ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm2.tw.FreeBSD.org/pub/FreeBSD/development/CTM/]
** link:ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/[ftp://ctm3.tw.FreeBSD.org/pub/FreeBSD/development/CTM/]

Als er geen mirror dichtbij is of als die incompleet is, kan een zoekmachine als http://www.alltheweb.com/[alltheweb] gebruikt worden.

[[cvsup]]
== CVSup gebruiken

[[cvsup-intro]]
=== Inleiding

CVSup is een softwarepakket voor het verspreiden en bijwerken van broncodestructuren vanaf een master CVS depot op een andere server. De FreeBSD broncode wordt beheerd in een broncode depot op een centrale ontwikkelmachine in Californië. Met CVSup kunnen FreeBSD gebruikers op eenvoudige wijze hun broncode bijwerken.

CVSup gebruikt een zogenaamd _pull_ model voor het bijwerken. In het pull-model vraagt iedere client de server om updates als die nodig zijn. De server wacht passief op een verzoek om updates van zijn clients. Alle updates worden dus op initiatief van de client gedaan. De server stuurt nooit ongevraagde updates. Gebruikers moeten de CVSup client handmatig draaien om te updaten of een `cron` taak instellen om op regelmatige basis bij te werken.

De term CVSup, op de gegeven wijze geschreven, doelt op het complete softwarepakket. De belangrijkste componenten zijn de client `cvsup`, die op de machine van een gebruiker draait, en de server `cvsupd`, die op alle FreeBSD mirrorsites draait.

In de FreeBSD documentatie en op de mailinglijsten zijn referenties aan sup te vinden. Sup was de voorloper van CVSup en diende hetzelfde doel. CVSup wordt op dezelfde manier gebruikt als sup en gebruikt zelfs bestanden met instellingen die ook te gebruiken zijn met `sup`. Sup wordt niet langer gebruikt in het FreeBSD project omdat CVSup sneller en flexibeler is.

[NOTE]
====
De csup applicatie is een herschreven versie van CVSup in de C taal. Het grootste voordeel ervan is dat het sneller is en dat het niet afhankelijk is van de Modula-3 taal, dus dat hoeft niet geïnstalleerd te worden als afhankelijkheid. Sterker nog de applicatie wordt standaard meegeleverd. als ervoor gekozen is om csup te gebruiken, sla dan de installatie stappen voor CVSup over en vervang de referenties naar CVSup met csup terwijl de rest van het artikel gevolgd wordt.
====

[[cvsup-install]]
=== Installatie

De meest eenvoudige wijze van installatie van CVSup is met het voorgecompileerde pakket package:net/cvsup[] uit de FreeBSD crossref:ports[ports,pakkettencollectie]. Als het gewenst is, kan CVSup ook uit de broncode gebouwd worden in package:net/cvsup[]. De port package:net/cvsup[] is afhankelijk van het Modula-3 systeem en dat kan wel even duren en er is ook nogal wat schijfruimte voor nodig om het te downloaden en te bouwen.

[NOTE]
====
Als CVSup gebruikt gaat worden op een machine waarop geen Xorg staat, zoals een server, dan dient de port waar geen CVSupGUI bij zit geïnstalleerd te worden: package:net/cvsup-without-gui[].
====

[[cvsup-config]]
=== CVSup instellingen

De werking van CVSup wordt gestuurd door een bestand met instellingen met de naam [.filename]#supfile#. Er staan een aantal [.filename]#supfiles# als voorbeeld in de map link:file://localhost/usr/shared/examples/cvsup/[/usr/shared/examples/cvsup/].

De informatie in een [.filename]#supfile# beantwoordt de volgende vragen voor CVSup:

* <<cvsup-config-files,Welke bestanden moeten ontvangen worden?>>
* <<cvsup-config-vers,Welke versies daarvan moeten ontvangen worden?>>
* <<cvsup-config-where,Waar moeten ze vandaan komen?>>
* <<cvsup-config-dest,Waar moeten ze komen te staan?>>
* <<cvsup-config-status,Waar moet `cvsup` zijn statusbestanden bijhouden?>>

In de volgende paragrafen wordt een [.filename]#supfile# bestand opgebouwd door achtereenvolgens alle gestelde vragen te beantwoorden. Als eerste wordt de algemene structuur van een [.filename]#supfile# beschreven.

Een [.filename]#supfile# is een tekstbestand. Commentaar begint met een `#` en loopt tot het einde van de regel. Lege regels en regels die alleen commentaar bevatten worden genegeerd.

Iedere regel die overblijft slaat op een groep bestanden die ontvangen moet worden. De regel begint met de naam van een "collectie", een logische groep bestanden op de server. De naam van de collectie geeft de server aan welke bestanden er gestuurd moeten worden. Na de naam van de collectie komen er geen of meer velden die gescheiden worden door witruimte. Die velden beantwoorden de hierboven gestelde vragen. Er zijn twee soorten velden: vlagvelden en waardevelden. Een vlagveld bestaat uit een alleenstaand sleutelwoord, bijvoorbeeld `delete` of `compress`. Een waardeveld begint ook met een sleutelwoord, maar het sleutelwoord wordt direct (zonder witruimte) gevolgd door `=` en een tweede woord. `release=cvs` is bijvoorbeeld een waardeveld.

In een [.filename]#supfile# wordt meestal aangegeven dat er meerdere collecties ontvangen moeten worden. Het is mogelijk om een [.filename]#supfile# te structureren door expliciet alle relevante velden aan te geven voor iedere collectie, maar dat maakt de regels in de [.filename]#supfile# nogal lang en het is onhandig omdat de meeste velden hetzelfde zijn voor alle collecties in een [.filename]#supfile#. CVSup biedt een systeem met standaardinstellingen om dit probleem te omzeilen. Regels die beginnen met de speciale pseudo-collectienaam `*default` kunnen gebruikt worden om standaarden in te stellen voor de collecties die er in de [.filename]#supfile# achteraan komen. Een standaardwaarde kan voor individuele collecties overschreven worden door een andere waarde in de collectie zelf aan te geven. Standaarden kunnen ook middenin het bestand gewijzigd of aangevuld worden met extra `*default` regels.

Na deze achtergronden wordt er nu een [.filename]#supfile# samengesteld voor het ontvangen en bijwerken van de hoofd broncodestructuur van crossref:cutting-edge[current,FreeBSD-CURRENT].

* [[cvsup-config-files]]Welke bestanden moeten ontvangen worden?
+ 
De bestanden die via CVSup beschikbaar zijn, zijn beschikbaar in groepen die "collecties" heten. De beschikbare collecties staan beschreven in de <<cvsup-collec,volgende paragraaf>>. In dit voorbeeld is het de bedoeling dat de hele hoofd broncodestructuur voor FreeBSD wordt ontvangen. Daar is één grote collectie voor: `src-all`. De eerste stap in het maken van een [.filename]#supfile# is het opsommen van de gewenste collecties, één per regel (in dit geval maar één regel):
+
[.programlisting]
....
src-all
....

* [[cvsup-config-vers]]Welke versies daarvan moeten ontvangen worden?
+ 
Met CVSup kan vrijwel iedere versie van de broncode die ooit heeft bestaan opgehaald worden. Dat kan omdat de cvsupd server direct vanaf het CVS depot werkt, dat alle versies bevat. Er kan aangegeven welke ontvangen moeten worden met de waardevelden `tag=` en `date=`.
+
[WARNING]
====

Voorzichtigheid is geboden bij het correct aangeven van velden met `tag=`. Sommige labels zijn alleen geldig voor bepaalde collecties of bestanden. Als ze incorrect worden aangeven of als er een spelfout wordt gemaakt in een label, verwijdert CVSup bestanden waarvan dat waarschijnlijk niet de bedoeling is. Het label `tag=.` dient eigenlijk _alleen_ gebruikt te worden voor de `ports-*` collecties.
====

+ 
Het veld `tag=` benoemt een symbolisch label in het depot. Er zijn twee soorten labels: revisielabels en taklabels. Een revisielabel refereert aan een specifieke revisie. De betekenis blijft altijd hetzelfde. Een taklabel refereert echter aan de laatste revisie van een gegeven ontwikkellijn op een gegeven moment. Omdat een taklabel niet refereert aan een specifieke revisie, kan het morgen iets anders betekenen dan vandaag.
+ 
<<cvs-tags>> beschrijft de meest interessante taklabels. Als er in het instellingenbestand van CVSup een label wordt aangegeven, moet dat vooraf gegaan worden door `tag=` (`RELENG_8` zal `tag=RELENG_8` worden). Voor de Portscollectie is alleen `tag=.` relevant.
+
[WARNING]
====

Labels dienen exact zo ingegeven te worden als ze staan beschreven. CVSup kan geen onderscheid maken tussen geldige en ongeldige labels. Als er een spelfout in een label wordt gemaakt, doet CVSup alsof er een geldig label is ingegeven dat aan geen enkel bestand refereert. Dan zal CVSup de bestaande broncode wissen.
====

+ 
Bij het aangeven van een taklabel wordt meestal de laatste versie van de bestanden voor een bepaalde ontwikkellijn ontvangen. Om een oudere versie te ontvangen kan in het veld `date=` een datum opgegeven worden. In man:cvsup[1] staat hoe dat werkt.
+ 
Om bijvoorbeeld FreeBSD-CURRENT te ontvangen dient het volgende aan het begin van [.filename]#supfile# toegevoegd te worden:
+
[.programlisting]
....
*default tag=.
....

+ 
Er ontstaat een belangrijk speciaal geval als er geen velden met `tag=` of `date=` worden aangegeven. In dat geval worden de eigenlijke RCS bestanden direct uit het CVS depot van de server ontvangen in plaats van dat een bepaalde versie wordt ontvangen. Ontwikkelaars geven in het algemeen de voorkeur aan deze optie. Door zelf een kopie van de broncode op hun systeem te hebben, krijgen ze de mogelijkheid om zelf door eerdere versies van bestanden te bladeren en de geschiedenis ervan te bekijken. Dit voordeel kost wel veel schijfruimte.
* [[cvsup-config-where]]Waar moeten ze vandaan komen?
+ 
Het veld `host=` wordt gebruikt om `cvsup` aan te geven waar de updates vandaan moeten komen. Dat kan van elke <<cvsup-mirrors,CVSup mirrorsite>>, hoewel er wordt aangeraden een site die geografisch dichtbij ligt te kiezen. In dit voorbeeld wordt een fictieve FreeBSD distributiesite gebruikt, `cvsup99.FreeBSD.org`:
+
[.programlisting]
....
*default host=cvsup99.FreeBSD.org
....

+ 
In een werkelijke situatie dient de hostnaam gewijzigd te worden in een host die echt bestaat voordat CVSup gaat draaien. Iedere keer dat `cvsup` wordt gestart, kan er een andere host op de commandoregel opgegeven worden met de optie `-h_hostname_`.
* [[cvsup-config-dest]]Waar moeten ze komen te staan?
+ 
Het veld `prefix=` geeft `cvsup` aan waar de ontvangen bestanden terecht moeten komen. In dit voorbeeld worden de bestanden direct in de hoofd broncodestructuur [.filename]#/usr/src# geplaatst. De map [.filename]#src# is al impliciet in de gekozen collecties, vandaar dat het onderstaande de juiste instelling is:
+
[.programlisting]
....
*default prefix=/usr
....

* [[cvsup-config-status]]Waar moet `cvsup` zijn statusbestanden bijhouden?
+ 
De CVSup client houdt statusbestanden bij in een map die "base" wordt genoemd. Die bestanden helpen CVSup efficiënter te werken door bij te houden welke updates al eerder zijn ontvangen. Hier wordt de standaard basemap gebruikt, [.filename]#/var/db#:
+
[.programlisting]
....
*default base=/var/db
....

+ 
De bovenstaande instelling wordt standaard gebruikt als die niet wordt aangegeven in de [.filename]#supfile#, dus hij is eigenlijk niet nodig.
+ 
Als de basemap niet al bestaat, moet die gemaakt worden. De `cvsup` client weigert te draaien als de basemap niet bestaat.
* Allerlei [.filename]#supfile# instellingen:
+ 
Er is nog een regel die in een [.filename]#supfile# moet staan:
+
[.programlisting]
....
*default release=cvs delete use-rel-suffix compress
....

+ 
`release=cvs` geeft de server aan dat de informatie uit het FreeBSD hoofd CVS depot moet komen. Dat is eigenlijk altijd het geval, maar er zijn mogelijkheden die buiten het bereik van dit handboek vallen.
+ 
`delete` geeft CVSup het recht om bestanden te verwijderen. Dit moet altijd aangegeven worden zodat CVSup de broncode altijd kan bijwerken. CVSup gaat voorzichtig om met het verwijderen van bestanden waar het verantwoordelijk voor is. Extra bestanden in de structuur worden met rust gelaten.
+ 
`use-rel-suffix` is nogal geheimzinnig. Voor de nieuwsgierigen staat er meer over in man:cvsup[1]. Anders kan het gewoon ingesteld worden zonder erover na te denken.
+ 
`compress` schakelt het gebruikt van gzip compressie in voor het communicatiekanaal. Als de verbinding een E1 of sneller is, hoeft er geen compressie gebruikt te worden. Anders helpt het aanzienlijk.
* Alles combinerend:
+ 
Hieronder staat de hele [.filename]#supfile# uit het voorbeeld:
+
[.programlisting]
....
*default tag=.
*default host=cvsup99.FreeBSD.org
*default prefix=/usr
*default base=/var/db
*default release=cvs delete use-rel-suffix compress

src-all
....

[[cvsup-refuse-file]]
==== Het bestand [.filename]#refuse#

Zoals hierboven al is aangegeven, gebruikt CVSup een _pull methode_. Dat betekent eigenlijk dat er een verbinding wordt gemaakt met de CVSup server en die zegt dan: "Dit kan er van mij gedownload worden...", en dan antwoordt de client met: "Oké, ik wil dit en dat en zus en zo." Met de standaardinstellingen haalt de CVSup client alle bestanden die bij een collectie en het label horen dat in het bestand met de instellingen is opgegeven. Maar dat is niet altijd wenselijk, in het bijzonder als de [.filename]#doc#, [.filename]#ports# of [.filename]#www# structuren worden gesynchroniseerd. De meeste mensen kunnen geen vier of vijf talen lezen en die hebben de taalspecifieke bestanden dus niet nodig. Als de Portscollectie met CVSup wordt opgehaald, is het mogelijk om iedere collectie apart aan te geven (bijvoorbeeld _ports-astrology_, _ports-biology_, enzovoort, in plaats van eenvoudigweg _ports-all_). Maar omdat de [.filename]#doc# en [.filename]#www# structuren geen taalspecifieke collecties hebben, moet er gebruik gemaakt worden van een van de vele mooie mogelijkheden van CVSup: het bestand [.filename]#refuse#.

Het bestand [.filename]#refuse# geeft CVSup in feite aan dat niet ieder bestand uit een collectie opgehaald moet worden. Het geeft dus aan dat de client bepaalde bestanden van de server moet _weigeren_. Het bestand [.filename]#refuse# staat in (of kan gemaakt worden in) [.filename]#base/sup/#. _base_ staat ingesteld in [.filename]#supfile#. De standaardlocatie voor _base_ is [.filename]#/var/db#. De standaardplaats voor [.filename]#refuse# is dus [.filename]#/var/db/sup/refuse#.

Het bestand [.filename]#refuse# heeft een erg eenvoudige opmaak. Het bevat de namen van de bestanden die niet gedownload mogen worden. Als een gebruiker bijvoorbeeld geen andere talen spreekt dan Engels en Nederlands, maar de Nederlandse vertaling van de documentatie hoeft niet binnengehaald te worden, dan kan het volgende in het bestand [.filename]#refuse# gezet worden:

[.programlisting]
....
doc/bn_*
doc/da_*
doc/de_*
doc/el_*
doc/es_*
doc/fr_*
doc/hu_*
doc/it_*
doc/ja_*
doc/mn_*
doc/nl_*
doc/no_*
doc/pl_*
doc/pt_*
doc/ru_*
doc/sr_*
doc/tr_*
doc/zh_*
....

Dit gaat zo door voor de andere talen. De volledige lijst staat in het http://www.FreeBSD.org/cgi/cvsweb.cgi/[FreeBSD CVS depot].

Met deze handige eigenschap kunnen gebruikers met langzamere verbindingen of zij die per minuut voor hun Internetverbinding betalen waardevolle tijd besparen omdat er geen bestanden meer gedownload worden die nooit gebruikt worden. Meer informatie over [.filename]#refuse# bestanden en andere leuke mogelijkheden van CVSup staat in de handleiding.

=== CVSup draaien

Nu kan het bijwerken beginnen. Het commando is best wel eenvoudig:

[source,shell]
....
# cvsup supfile
....

De [.filename]#supfile# is de naam van het [.filename]#supfile# bestand dat gebruikt moet worden. Aangenomen dat er X11 draait op een machine, toont `cvsup` een GUI venster met wat knoppen om de bekende acties uit te voeren. Het proces start na het klikken op de knop btn[go].

Omdat in dit voorbeeld de werkelijke structuur in [.filename]#/usr/src# wordt bijgewerkt, moet het programma als `root` uitgevoerd worden, zodat `cvsup` de rechten heeft die het nodig heeft om de bestanden bij te werken. Het is voorstelbaar dat de benodigde rechten, het net gemaakte bestand met instellingen en het voor de eerste keer draaien van een programma zorgt voor wat onrust. Daarom is het mogelijk proef te draaien zonder dat er bestanden gewijzigd worden. Dat kan door ergens een lege map te maken en een extra argument mee te geven op de commandoregel:

[source,shell]
....
# mkdir /var/tmp/dest
# cvsup supfile /var/tmp/dest
....

De opgegeven map is de bestemming voor alle bestandsupdates. CVSup bekijkt wel de bestanden in [.filename]#/usr/src#, maar wijzigt ze niet. Alle updates belanden in [.filename]#/var/tmp/dest/usr/src#. CVSup werkt ook de statusbestanden niet bij als het op deze wijze wordt uitgevoerd. De nieuwe versies van de bestanden worden naar de aangegeven map geschreven. Als er maar leestoegang is tot [.filename]#/usr/src#, hoeft een gebruiker zelfs geen `root` te zijn bij het uitvoeren van dit experiment.

Als er geen X11 draait of als het niet wenselijk is een GUI te gebruiken, dan kunnen daarvoor opties op de commandoregel meegegeven worden bij het draaien van `cvsup`:

[source,shell]
....
# cvsup -g -L 2 supfile
....

De optie `-g` geeft CVSup aan dat de GUI niet gebruikt hoeft te worden. Dit gebeurt automatisch als X11 niet draait, maar anders moet het aangegeven worden.

De optie `-L 2` geeft CVSup aan dat details getoond moeten worden over alle bestanden die bijgewerkt worden. Er zijn drie niveaus van uitvoerigheid, van `-L 0` tot `-L 2`. Standaard is het 0, wat betekent dat er geen enkel bericht wordt getoond, met uitzondering van foutmeldingen.

Er zijn nog veel andere opties beschikbaar. Met `cvsup -H` wordt een lijst met korte uitleg getoond. Beschrijvingen met meer details staan in de handleiding.

Als het bijwerken op de gewenste manier loopt, kan het regulier draaien van CVSup met man:cron[8] ingesteld worden. Natuurlijk hoort CVSup zonder GUI te draaien als het programma vanuit de man:cron[8] draait.

[[cvsup-collec]]
=== CVSup bestandscollecties

De via CVSup beschikbare bestandscollecties zijn hiërarchisch georganiseerd. Er zijn een paar grote collecties en die zijn opgedeeld in kleinere subcollecties. Het ontvangen van een collectie is hetzelfde als het ontvangen van alle subcollecties. De hiërarchische relatie tussen de collecties wordt hieronder aangegeven door het niveau van inspringen.

De meest gebruikte collecties zijn `src-all` en `ports-all`. De andere collecties worden door kleine groepen mensen gebruikt voor bijzondere doeleinden en sommige mirrorsites hebben ze niet allemaal.

`cvs-all release=cvs`::
Het FreeBSD CVS hoofddepot, inclusief de cryptografische code.

`distrib release=cvs`:::
Bestanden die betrekking hebben op het verspreiden en spiegelen van FreeBSD.

`ports-all release=cvs`:::
De FreeBSD Portscollectie.
+

[IMPORTANT]
====
Als `ports-all` (het complete portssysteem) niet bijgewerkt hoeft te worden, maar enkele van de onderstaande subcollecties, dan moet _altijd_ ook de `ports-base` subcollectie bijgewerkt worden! Als er iets wijzigt in de infrastructuur van de ports waar `ports-base` voor staat, is het vrijwel zeker dat die wijzigingen heel snel door "echte" ports gebruikt gaan worden. Dus als alleen de "echte" ports bijgewerkt worden en als die gebruik maken van nieuwe mogelijkheden, dan is de kans groot dat het bouwen daarvan foutloopt met een vage foutmelding. Het _eerste_ dat gedaan moeten worden is ervoor zorgen dat de `ports-base` subcollectie is bijgewerkt.
====

+
[IMPORTANT]
====
Bij het zelf bouwen van een lokale kopie van [.filename]#ports/INDEX#_moet_`ports-all` geaccepteerd worden (de hele port structuur). Het bouwen van [.filename]#ports/INDEX# met een gedeeltelijke structuur wordt niet ondersteund. Zie ook de extref:{faq}[FAQ, MAKE-INDEX].
====

`ports-accessibility release=cvs`::::
Software voor minder valide gebruikers.

`ports-arabic release=cvs`::::
Ondersteuning voor de Arabische taal.

`ports-archivers release=cvs`::::
Archiveringshulpmiddelen.

`ports-astro release=cvs`::::
Astronomie ports.

`ports-audio release=cvs`::::
Geluidsondersteuning.

`ports-base release=cvs`::::
De infrastructuur van de Portscollectie. Bestanden uit de mappen [.filename]#Mk/# en [.filename]#Tools/# van [.filename]#/usr/ports#.
+

[NOTE]
====
Zie ook de <<cvsup-collec-pbase-warn,belangrijke waarschuwing hierboven>>: deze subcollectie dient _altijd_ bijgewerkt te worden als er een onderdeel van de FreeBSD Portscollectie wordt bijgewerkt!
====

`ports-benchmarks release=cvs`::::
Benchmarks.

`ports-biology release=cvs`::::
Biologie.

`ports-cad release=cvs`::::
Computer aided design programma's.

`ports-chinese release=cvs`::::
Ondersteuning voor de Chinese taal.

`ports-comms release=cvs`::::
Communicatiesoftware.

`ports-converters release=cvs`::::
Karaktercode omzetters.

`ports-databases release=cvs`::::
Databases.

`ports-deskutils release=cvs`::::
Dingen die op een bureaublad stonden voordat computers waren uitgevonden.

`ports-devel release=cvs`::::
Ontwikkelhulpmiddelen.

`ports-dns release=cvs`::::
DNS gerelateerde software.

`ports-editors release=cvs`::::
Editors.

`ports-emulators release=cvs`::::
Emulatoren voor besturingssystemen.

`ports-finance release=cvs`::::
Monetaire, financiële en gerelateerde applicaties.

`ports-ftp release=cvs`::::
FTP client en server programma's.

`ports-games release=cvs`::::
Spelletjes.

`ports-german release=cvs`::::
Ondersteuning voor de Duitse taal.

`ports-graphics release=cvs`::::
Grafische programma's.

`ports-hebrew release=cvs`::::
Ondersteuning voor de Hebreeuwse taal.

`ports-hungarian release=cvs`::::
Ondersteuning voor de Hongaarse taal.

`ports-irc release=cvs`::::
Internet Relay Chat hulpprogramma's.

`ports-japanese release=cvs`::::
Ondersteuning voor de Japanse taal.

`ports-java release=cvs`::::
Java(TM) programma's.

`ports-korean release=cvs`::::
Ondersteuning voor de Koreaanse taal.

`ports-lang release=cvs`::::
Programmeertalen.

`ports-mail release=cvs`::::
Mailsoftware.

`ports-math release=cvs`::::
Numerieke rekensoftware.

`ports-misc release=cvs`::::
Verschillende programma's.

`ports-multimedia release=cvs`::::
Multimedia software.

`ports-net release=cvs`::::
Netwerksoftware.

`ports-net-im release=cvs`::::
Berichtenuitwisseling.

`ports-net-mgmt release=cvs`::::
Netwerkbeheersoftware.

`ports-net-p2p release=cvs`::::
Peer to Peer Netwerken

`ports-news release=cvs`::::
USENET news software.

`ports-palm release=cvs`::::
Softwareondersteuning voor Palm(TM) apparatuur.

`ports-polish release=cvs`::::
Ondersteuning voor de Poolse taal.

`ports-ports-mgmt release=cvs`::::
Programma's om ports en pakketten te beheren.

`ports-portuguese release=cvs`::::
Ondersteuning voor de Portugese taal.

`ports-print release=cvs`::::
Printsoftware.

`ports-russian release=cvs`::::
Ondersteuning voor de Russische taal.

`ports-science release=cvs`::::
Wetenschappelijk.

`ports-security release=cvs`::::
Beveiligingsprogramma's.

`ports-shells release=cvs`::::
Commandoregelshells.

`ports-sysutils release=cvs`::::
Systeemprogramma's.

`ports-textproc release=cvs`::::
Tekstverwerkingsprogramma's (zonder desktop publishing).

`ports-ukrainian release=cvs`::::
Ondersteuning voor de Oekraïense taal.

`ports-vietnamese release=cvs`::::
Ondersteuning voor de Viëtnamese taal.

`ports-www release=cvs`::::
Software gerelateerd aan het Wereldwijde Web.

`ports-x11 release=cvs`::::
Ports voor het X windowsysteem.

`ports-x11-clocks release=cvs`::::
X11 klokken.

`ports-x11-drivers release=cvs`::::
X11-stuurprogramma's

`ports-x11-fm release=cvs`::::
X11 bestandsbeheerders.

`ports-x11-fonts release=cvs`::::
X11 lettertypen en lettertypeprogramma's.

`ports-x11-toolkits release=cvs`::::
X11 hulpprogramma's.

`ports-x11-servers release=cvs`::::
X11 servers.

`ports-x11-themes`::::
X11 thema's.

`ports-x11-wm release=cvs`::::
X11 vensterbeheerprogramma's.

`projects-all release=cvs`:::
Broncode's voor de FreeBSD projecten repository.

`src-all release=cvs`:::
De hoofdbroncode van FreeBSD, inclusief de cryptografische code.

`src-base release=cvs`::::
Verschillende bestanden bovenin de [.filename]#/usr/src# structuur.

`src-bin release=cvs`::::
Gebruikersprogramma's die wellicht nodig zijn in single-user modus ([.filename]#/usr/src/bin#).

`src-cddl release=cvs`::::
Programma's en bibliotheken die uitgegeven zijn onder de CDDL licentie ([.filename]#/usr/src/cddl#).

`src-contrib release=cvs`::::
Programma's en bibliotheken van buiten het FreeBSD project die vrijwel ongewijzigd gebruikt worden ([.filename]#/usr/src/contrib#).

`src-crypto release=cvs`::::
Cryptografische programma's en bibliotheken van buiten het FreeBSD project, die vrijwel ongewijzigd worden gebruikt ([.filename]#/usr/src/crypto#).

`src-eBones release=cvs`::::
Kerberos en DES ([.filename]#/usr/src/eBones#). Niet gebruikt in recente uitgaves van FreeBSD.

`src-etc release=cvs`::::
Bestanden met systeeminstellingen ([.filename]#/usr/src/etc#).

`src-games release=cvs`::::
Spelletjes ([.filename]#/usr/src/games#).

`src-gnu release=cvs`::::
Programma's die onder de GNU Public License vallen ([.filename]#/usr/src/gnu#).

`src-include release=cvs`::::
Headerbestanden ([.filename]#/usr/src/include#).

`src-kerberos5 release=cvs`::::
Kerberos5 beveiligingspakket ([.filename]#/usr/src/kerberos5#).

`src-kerberosIV release=cvs`::::
KerberosIV beveiligingspakket ([.filename]#/usr/src/kerberosIV#).

`src-lib release=cvs`::::
Bibliotheken ([.filename]#/usr/src/lib#).

`src-libexec release=cvs`::::
Systeemprogramma's die meestal door andere programma's worden uitgevoerd ([.filename]#/usr/src/libexec#).

`src-release release=cvs`::::
Bestanden die nodig zijn voor het maken van een FreeBSD release ([.filename]#/usr/src/release#).

`src-release release=cvs`::::
Statisch gelinkte programma's voor nood onderhoud, zie man:rescue[8] ([.filename]#/usr/src/rescue#).

`src-sbin release=cvs`::::
Systeemprogramma's voor single-user modus ([.filename]#/usr/src/sbin#).

`src-secure release=cvs`::::
Cryptografische bibliotheken en commando's ([.filename]#/usr/src/secure#).

`src-share release=cvs`::::
Bestanden die tussen meerdere systemen gedeeld kunnen worden ([.filename]#/usr/src/share#).

`src-sys release=cvs`::::
De kernel ([.filename]#/usr/src/sys#).

`src-sys-crypto release=cvs`::::
Cryptografische kernelcode ([.filename]#/usr/src/sys/crypto#).

`src-tools release=cvs`::::
Verschillende hulpprogramma's voor het onderhoud van FreeBSD ([.filename]#/usr/src/tools#).

`src-usrbin release=cvs`::::
Gebruikersprogramma's ([.filename]#/usr/src/usr.bin#).

`src-usrsbin release=cvs`::::
Systeemprogramma's ([.filename]#/usr/src/usr.sbin#).

`distrib release=self`::
De instellingenbestanden van de CVSup server zelf. Gebruikt door de CVSup mirrorsites.

`gnats release=current`::
De GNATS bug-tracking database.

`mail-archive release=current`::
FreeBSD mailinglijstarchief.

`www release=current`::
De voorbewerkte FreeBSD websitebestanden (niet de broncode). Gebruikt door WWW mirrorsites.

=== Voor meer informatie

De CVSup FAQ en andere informatie over CVSup is te vinden op http://www.cvsup.org/[De CVSup Homepage].

De meeste FreeBSD-gerelateerde discussie over CVSup vindt plaats op de {freebsd-hackers}. Daar worden nieuwe versies van de software aangekondigd, net als op de {freebsd-announce}.

Voor vragen en foutrapporten moet een kijkje genomen worden op http://www.cvsup.org/faq.html#bugreports[ de CVSup FAQ]

[[cvsup-mirrors]]
=== CVSup sites

<<cvsup,CVSup>> servers voor FreeBSD draaien op de onderstaande sites.

[[cvs-tags]]
== CVS labels

Bij het ophalen of bijwerken van broncode met cvs of CVSup moet een revisielabel meegegeven worden. Een revisielabel refereert aan een specifieke lijn in de FreeBSD ontwikkeling of aan een specifiek moment in de tijd. Het eerste type heet "taklabel" (branch tag) en het tweede type heet "releaselabel" (release tag).

=== Taklabels

Deze zijn, met uitzondering van `HEAD` (dat altijd een geldig label is), alleen van toepassing op de [.filename]#src/# structuur. De [.filename]#ports/#, [.filename]#doc/# en [.filename]#www/# structuren kennen geen takken.

HEAD::
Symbolische naam voor de hoofdlijn van FreeBSD-CURRENT. Ook de standaard als geen revisie is aangegeven.
+
In CVSup wordt dit label aangegeven met een `.` (dat is dus geen interpunctie, maar een echt `.` karakter).
+

[NOTE]
====
In CVS is dit de standaard als er geen revisielabel is aangegeven. Het is meestal _geen_ goed idee om een checkout of update van CURRENT broncode op een STABLE machine te doen, tenzij dat expliciet de bedoeling is.
====

RELENG_9::
De ontwikkellijn voor FreeBSD-9.X, ook bekend als FreeBSD 9-STABLE.

RELENG_9_0::
De uitgavetak voor FreeBSD-9.0, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.

RELENG_8::
De ontwikkellijn voor FreeBSD-8.X, ook bekend als FreeBSD 8-STABLE.

RELENG_8_3::
De uitgavetak voor FreeBSD-8.3, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.

RELENG_8_2::
De uitgavetak voor FreeBSD-8.2, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.

RELENG_8_1::
De uitgavetak voor FreeBSD-8.1, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.

RELENG_8_0::
De uitgavetak voor FreeBSD-8.0, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.

RELENG_7::
De ontwikkellijn voor FreeBSD-7.X, ook bekend als FreeBSD 7-STABLE.

RELENG_7_4::
De uitgavetak voor FreeBSD-7.3, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.

RELENG_7_3::
De uitgavetak voor FreeBSD-7.3, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.

RELENG_7_2::
De uitgavetak voor FreeBSD-7.2, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.

RELENG_7_1::
De uitgavetak voor FreeBSD-7.1, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.

RELENG_7_0::
De uitgavetak voor FreeBSD-7.0, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.

RELENG_6::
De ontwikkellijn voor FreeBSD-6.X, ook bekend als FreeBSD 6-STABLE.

RELENG_6_4::
De uitgavetak voor FreeBSD-6.4, alleen gebruikt voor beveiligingsadviezen en andere kritieke reparaties.

RELENG_6_3::
De uitgavetak voor FreeBSD-6.3, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.

RELENG_6_2::
De releasetak voor FreeBSD-6.2, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.

RELENG_6_1::
De releasetak voor FreeBSD-6.1, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.

RELENG_6_0::
De releasetak voor FreeBSD-6.0, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.

RELENG_5::
De ontwikkellijn voor FreeBSD-5.X, ook bekend als FreeBSD 5-STABLE.

RELENG_5_5::
De releasetak voor FreeBSD-5.5, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.

RELENG_5_4::
De releasetak voor FreeBSD-5.4, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.

RELENG_5_3::
De releasetak voor FreeBSD-5.3, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.

RELENG_5_2::
De releasetak voor FreeBSD-5.2 en FreeBSD-5.2.1, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.

RELENG_5_1::
De releasetak voor FreeBSD-5.1, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.

RELENG_5_0::
De releasetak voor FreeBSD-5.0, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.

RELENG_4::
De ontwikkellijn voor FreeBSD-4.X, ook bekend als FreeBSD 4-STABLE.

RELENG_4_11::
De releasetak voor FreeBSD-4.11, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.

RELENG_4_10::
De releasetak voor FreeBSD-4.10, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.

RELENG_4_9::
De releasetak voor FreeBSD-4.9, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.

RELENG_4_8::
De releasetak voor FreeBSD-4.8, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.

RELENG_4_7::
De releasetak voor FreeBSD-4.7, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.

RELENG_4_6::
De releasetak voor FreeBSD-4.6 en FreeBSD-4.6.2, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.

RELENG_4_5::
De releasetak voor FreeBSD-4.5, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.

RELENG_4_4::
De releasetak voor FreeBSD-4.4, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.

RELENG_4_3::
De releasetak voor FreeBSD-4.3, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen.

RELENG_3::
De ontwikkellijn voor FreeBSD-3.X, ook bekend als 3.X-STABLE.

RELENG_2_2::
De ontwikkellijn voor FreeBSD-2.2.X, ook bekend als 2.2-STABLE. Deze tak is sterk verouderd.

=== Releaselabels

Deze labels refereren aan een specifiek moment in de tijd waarop een versie van FreeBSD is uitgegeven. Het proces om tot een release te komen is gedetailleerder beschreven in de link:https://www.FreeBSD.org/releng/[Release Engineering Informatie] en extref:{releng}[Release Proces, release-proc/] documenten. De [.filename]#src# structuur gebruikt labelnamen die beginnen met `RELENG_` labels. De [.filename]#ports# en [.filename]#doc# structuren gebruiken labels waarvan de naam begint met het label `RELEASE`. De [.filename]#www# tenslotte, is niet gemarkeerd met een bijzondere naam bij uitgaven.

RELENG_9_0_0_RELEASE::
FreeBSD 9.0

RELENG_8_3_0_RELEASE::
FreeBSD 8.3

RELENG_8_2_0_RELEASE::
FreeBSD 8.2

RELENG_8_1_0_RELEASE::
FreeBSD 8.1

RELENG_8_0_0_RELEASE::
FreeBSD 8.0

RELENG_7_4_0_RELEASE::
FreeBSD 7.4

RELENG_7_3_0_RELEASE::
FreeBSD 7.3

RELENG_7_2_0_RELEASE::
FreeBSD 7.2

RELENG_7_1_0_RELEASE::
FreeBSD 7.1

RELENG_7_0_0_RELEASE::
FreeBSD 7.0

RELENG_6_4_0_RELEASE::
FreeBSD 6.4

RELENG_6_3_0_RELEASE::
FreeBSD 6.3

RELENG_6_2_0_RELEASE::
FreeBSD 6.2

RELENG_6_1_0_RELEASE::
FreeBSD 6.1

RELENG_6_0_0_RELEASE::
FreeBSD 6.0

RELENG_5_5_0_RELEASE::
FreeBSD 5.5

RELENG_5_4_0_RELEASE::
FreeBSD 5.4

RELENG_4_11_0_RELEASE::
FreeBSD 4.11

RELENG_5_3_0_RELEASE::
FreeBSD 5.3

RELENG_4_10_0_RELEASE::
FreeBSD 4.10

RELENG_5_2_1_RELEASE::
FreeBSD 5.2.1

RELENG_5_2_0_RELEASE::
FreeBSD 5.2

RELENG_4_9_0_RELEASE::
FreeBSD 4.9

RELENG_5_1_0_RELEASE::
FreeBSD 5.1

RELENG_4_8_0_RELEASE::
FreeBSD 4.8

RELENG_5_0_0_RELEASE::
FreeBSD 5.0

RELENG_4_7_0_RELEASE::
FreeBSD 4.7

RELENG_4_6_2_RELEASE::
FreeBSD 4.6.2

RELENG_4_6_1_RELEASE::
FreeBSD 4.6.1

RELENG_4_6_0_RELEASE::
FreeBSD 4.6

RELENG_4_5_0_RELEASE::
FreeBSD 4.5

RELENG_4_4_0_RELEASE::
FreeBSD 4.4

RELENG_4_3_0_RELEASE::
FreeBSD 4.3

RELENG_4_2_0_RELEASE::
FreeBSD 4.2

RELENG_4_1_1_RELEASE::
FreeBSD 4.1.1

RELENG_4_1_0_RELEASE::
FreeBSD 4.1

RELENG_4_0_0_RELEASE::
FreeBSD 4.0

RELENG_3_5_0_RELEASE::
FreeBSD-3.5

RELENG_3_4_0_RELEASE::
FreeBSD-3.4

RELENG_3_3_0_RELEASE::
FreeBSD-3.3

RELENG_3_2_0_RELEASE::
FreeBSD-3.2

RELENG_3_1_0_RELEASE::
FreeBSD-3.1

RELENG_3_0_0_RELEASE::
FreeBSD-3.0

RELENG_2_2_8_RELEASE::
FreeBSD-2.2.8

RELENG_2_2_7_RELEASE::
FreeBSD-2.2.7

RELENG_2_2_6_RELEASE::
FreeBSD-2.2.6

RELENG_2_2_5_RELEASE::
FreeBSD-2.2.5

RELENG_2_2_2_RELEASE::
FreeBSD-2.2.2

RELENG_2_2_1_RELEASE::
FreeBSD-2.2.1

RELENG_2_2_0_RELEASE::
FreeBSD-2.2.0

[[mirrors-rsync]]
== rsync sites

De volgende sites bieden FreeBSD aan via het protocol rsync. Het programma rsync werkt vrijwel hetzelfde als man:rcp[1], maar kent meer mogelijkheden en gebruikt het rsync remote-update protocol, dat alleen verschillen tussen twee groepen bestanden overbrengt, waardoor het synchroniseren via een netwerk drastisch wordt versneld. Dit kan het beste gedaan worden als er een mirrorsite voor de FreeBSD FTP server of het FreeBSD CVS depot draait. De rsync suite is voor veel besturingssystemen beschikbaar. Voor FreeBSD kan het pakket of de port uit package:net/rsync[] geïnstalleerd worden.

Tsjechië::
rsync://ftp.cz.FreeBSD.org/
+
Beschikbare collecties:

** ftp: een gedeeltelijke mirror van de FreeBSD FTP server.
** FreeBSD: een volledige mirror van de FreeBSD FTP server.

Nederland::
rsync://ftp.nl.FreeBSD.org/
+
Beschikbare collecties:

** FreeBSD: een volledige mirror van de FreeBSD FTP server.

Rusland::
rsync://ftp.mtu.ru/
+
Beschikbare collecties:

** FreeBSD: een volledige spiegel van de FTP-server van FreeBSD.
** FreeBSD-gnats: De GNATS bug-tracking database.
** FreeBSD-archief: spiegel van de FreeBSD Archive FTP-server.

Zweden::
rsync://ftp4.se.freebsd.org/
+
Beschikbare verzamelingen:

** FreeBSD: een volledige spiegel van de FTP-server van FreeBSD.

Taiwan::
rsync://ftp.tw.FreeBSD.org/
+
rsync://ftp2.tw.FreeBSD.org/
+
rsync://ftp6.tw.FreeBSD.org/
+
Beschikbare collecties:

** FreeBSD: een volledige mirror van de FreeBSD FTP server.

Verenigd Koninkrijk::
rsync://rsync.mirrorservice.org/
+
Beschikbare collecties:

** sites/ftp.freebsd.org: een volledige mirror van de FreeBSD FTP server.

Verenigde Staten van Amerika::
rsync://ftp-master.FreeBSD.org/
+
Deze server mag alleen gebruikt worden door FreeBSD primaire mirrorsites.
+
Beschikbare collecties:

** FreeBSD: het masterarchief van de FreeBSD FTP server.
** acl: de FreeBSD master ACL lijst.
+
rsync://ftp13.FreeBSD.org/
+
Beschikbare collecties:
+
** FreeBSD: een volledige mirror van de FreeBSD FTP server.
