diff --git a/nl_NL.ISO8859-1/books/handbook/kernelconfig/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/kernelconfig/chapter.sgml
index 74ae8e015d..eaa260649c 100644
--- a/nl_NL.ISO8859-1/books/handbook/kernelconfig/chapter.sgml
+++ b/nl_NL.ISO8859-1/books/handbook/kernelconfig/chapter.sgml
@@ -1,79 +1,1917 @@
JimMock
- Geupdate en herstructureerd door
+ Bijgewerkt en opnieuw gestructureerd door JakeHamby
- Origineel bijgedragen door
+ Oorspronkelijk bijgedragen door
+
+
+ René
+ Ladan
+ Vertaald door
+
+
+
- * De &os; kernel configureren
+
+ Het Instellen van de &os;-kernel
- * Samenvatting
+ Samenvatting
+
+
+ kernel
+
+ een eigen kernel bouwen
+
+
+ De kernel is de kern van het &os;-besturingssysteem en is
+ verantwoordelijk voor het geheugenbeheer, het opleggen van
+ beveiligingsregels, het aansturen van het netwerk, de toegang tot
+ schijven en nog veel meer. Hoewel steeds meer in &os; dynamisch
+ instelbaar wordt, is het af en toe nodig om de kernel opnieuw in
+ te stellen en te compileren.
+
+ Na het lezen van dit hoofdstuk weet de lezer:
+
+
+
+ Waarom het nodig is om een eigen kernel te bouwen;
+
+
+
+
+ Hoe een nieuw kernelinstellingenbestand te schrijven of
+ een bestaand kernelinstellingenbestand aan te passen;
+
-
+
+ Hoe het kernelinstellingenbestand te gebruiken om een
+ nieuwe kernel aan te maken en te bouwen;
+
+
+
+ Hoe een nieuwe kernel te installeren;
+
+
+
+ Hoe de ingangen in /dev die nodig
+ kunnen zijn aan te maken;
+
+
+
+ Hoe problemen op te lossen als er iets verkeerd gaat.
+
+
+
+
+ Alle opdrachten die in dit hoofdstuk als voorbeeld zijn
+ gegeven moeten als root uitgevoerd worden om
+ te slagen.
- * Waarom een eigen kernel bouwen?
+ Redenen om een Eigen Kernel te Bouwen
+
+ Traditioneel heeft &os; zoals dat heet een
+ monolitische kernel gehad. Dit betekent dat de
+ kernel één groot programma was, een vaste lijst
+ van apparaten ondersteunde en als het gewenst was om het gedrag
+ van de kernel te veranderen, moest er een nieuwe kernel
+ gecompileerd worden en moest daarna de computer opnieuw gestart
+ worden met de nieuwe kernel.
+
+ Vandaag de dag beweegt &os; zich snel naar een model waar
+ veel van de functionaliteit van de kernel in modules zit die
+ dynamisch in en uit de kernel kunnen worden geladen, naargelang
+ dat noodzakelijk is. Dit stelt de kernel in staat om zich aan
+ nieuwe hardware aan te passen die plotseling beschikbaar komt
+ (zoals PCMCIA-kaarten in een laptop) of om nieuwe functionaliteit
+ in zich op te nemen die niet noodzakelijk was toen de kernel
+ oorspronkelijk werd gecompileerd. Dit staat bekend als een
+ modulaire kernel.
-
+ Desondanks is het nog steeds nodig om enkele dingen van de
+ kernel statisch in te stellen. In sommige gevallen komt dit
+ doordat de functionaliteit zo diep geworteld zit in de kernel dat
+ het niet dynamisch laadbaar gemaakt kan worden. In andere
+ gevallen kan het simpelweg komen doordat nog niemand de tijd
+ heeft genomen om een dynamisch laadbare kernelmodule voor die
+ functionaliteit te schrijven.
+
+ Het bouwen van een eigen kernel is een van de meest
+ belangrijke beproevingen die bijna elke BSD-gebruiker moet
+ doorstaan. Hoewel dit proces veel tijd in beslag neemt, levert
+ het veel voordelen op voor een &os; systeem. In tegenstelling
+ tot de GENERIC-kernel, die vele typen
+ hardware moet ondersteunen, ondersteunt een eigen kernel alleen
+ de hardware van de computer waar hij voor gemaakt is. Dit biedt
+ een aantal voordelen, zoals:
+
+
+
+ Een snellere opstarttijd. Aangezien de kernel alleen de
+ hardware zoekt die zich in het systeem bevindt, kan de tijd
+ die het systeem nodig heeft om op te starten aanzienlijk
+ korter worden;
+
+
+
+ Minder geheugengebruik. Een eigen kernel gebruikt vaak
+ minder geheugen dan de GENERIC-kernel,
+ wat van belang is aangezien de kernel zich altijd in het
+ echte geheugen moet bevinden. Om deze reden is een eigen
+ kernel geknipt voor een systeem met een kleine hoeveelheid
+ RAM;
+
+
+
+ Aanvullende hardware-ondersteuning. Een eigen kernel kan
+ ingebouwde ondersteuning bieden voor apparaten die zich niet
+ in de GENERIC-kernel bevinden, zoals
+ geluidskaarten.
+
+
- * Bouwen en installeren van een eigen kernel
+ Bouwen en Installeren van een Eigen Kernel
+
+
+ kernel
+
+ bouwen / installeren
+
+
+ Eerst wordt er een overzicht gegeven van de mappen waarin de
+ kernel gebouwd wordt. Alle genoemde mappen staan onder de map
+ /usr/src/sys, die ook toegankelijk is via
+ de padnaam /sys. Er zijn hier een aantal
+ mappen aanwezig die de verschillende delen van de kernel
+ representeren, maar de meest belangrijke hiervan zijn
+ arch/conf, waarin
+ de eigen kernelinstellingen bewerkt worden en
+ compile, waarin de eigen kernel gebouwd
+ wordt. arch representeert hier
+ één van i386,
+ alpha, amd64,
+ ia64, powerpc,
+ sparc64 of pc98 (een
+ alternatieve ontwikkelingstak van PC-hardware die populair is in
+ Japan). Alles binnen de map van een bepaalde architectuur is er
+ alleen voor die architectuur. De rest van de code is
+ machine-onafhankelijk en hetzelfde op alle platformen waarnaar
+ &os; eventueel geport kan worden. De indeling van de
+ mapstructuur is logisch: alle ondersteunde apparaten,
+ bestandssystemen en opties staan in een eigen submap. Versies
+ van &os; beneden 5.X ondersteunen alleen de
+ i386-, alpha- en
+ pc98-architecturen.
+
+ Dit hoofdstuk veronderstelt dat de i386-architectuur in de
+ voorbeelden gebruikt wordt. Als dit voor de lezer anders is,
+ moeten de juiste aanpassingen aan de padnamen worden gemaakt voor
+ de architectuur van zijn systeem.
+
+
+ Als de map /usr/src/sys
+ niet aanwezig is op een systeem, dan is de
+ kernelbroncode niet geïnstalleerd. De eenvoudigste manier
+ om dit te doen is door sysinstall (
+ /stand/sysinstall voor versies van &os;
+ ouder dan 5.2) te draaien als root en
+ Configure,
+ Distributions,
+ src, sys
+ te kiezen. Als sysinstall ongewenst
+ is en er toegang is tot een officiële
+ &os;-CDROM, is de broncode ook vanaf de opdrachtregel te
+ installeren:
+
+ &prompt.root; mount /cdrom
+&prompt.root; mkdir -p /usr/src/sys
+&prompt.root; ln -s /usr/src/sys /sys
+&prompt.root; cat /cdrom/src/sys.[a-d]* | tar -xzvf -
+
+
+ Daarna kan vanuit de map
+ arch/conf het
+ instellingenbestand GENERIC naar de naam
+ voor de eigen kernel gekopieerd worden:
+
+ &prompt.root; cd /usr/src/sys/i386/conf
+&prompt.root; cp GENERIC MIJNKERNEL
+
+ Traditioneel bestaat deze naam geheel uit hoofdletters en als
+ er meerdere &os;-machines worden beheerd met verschillende
+ hardware is het een goed idee om het te vernoemen naar de
+ hostnaam van de machine. Omwille van dit voorbeeld wordt het
+ MIJNKERNEL genoemd.
+
+
+ Het kernelinstellingenbestand direct onder
+ /usr/src opslaan kan een slecht idee zijn.
+ In geval van problemen kan het verleidelijk zijn om
+ /usr/src te verwijderen en opnieuw te
+ beginnen. Nadat dit gedaan is kost het vaak maar enkele
+ seconden om te realiseren dat het instellingenbestand voor de
+ eigen kernel verwijderd is. Ook moet
+ GENERIC niet gewijzigd worden, omdat het
+ tijdens de volgende keer dat de
+ broncodestructuur bijgewerkt wordt, overschreven kan
+ worden waarbij de wijzigingen in de kernelinstellingen verloren
+ gaan.
+
+ Het kan gewenst zijn om het kernelinstellingenbestand
+ ergens anders op te slaan en een symbolische link naar het
+ bestand in de map
+ i386 aan te
+ maken:
+
+ &prompt.root; cd /usr/src/sys/i386/conf
+&prompt.root; mkdir /root/kernels
+&prompt.root; cp GENERIC /root/kernels/MIJNKERNEL
+&prompt.root; ln -s /root/kernels/MIJNKERNEL
+
+
+ Nu moet MIJNKERNEL met de favoriete
+ tekstverwerker bewerkt worden. Voor beginners is waarschijnlijk
+ alleen de tekstverwerker vi
+ beschikbaar, die te ingewikkeld is om hier te beschrijven, maar
+ goed is beschreven in vele boeken in de bibliografie. &os; biedt ook de
+ eenvoudigere tekstverwerker ee, die
+ voor een beginner de keuze bij uitstek is. De commentaarregels
+ in het begin kunnen gewijzigd worden om de persoonlijke
+ instellingen of de veranderingen die gemaakt zijn ten opzichte
+ van GENERIC weer te geven.
+
+ &sunos;
+
+ Voor degenen die een kernel op &sunos; of een andere BSD
+ hebben gebouwd zal veel van dit bestand bekend voorkomen.
+ Echter, voor degenen die van een ander besturingssysteem zoals
+ DOS komen, kan het instellingenbestand
+ GENERIC overdonderend overkomen, dus moeten
+ de beschrijvingen in de sectie Het Instellingenbestand
+ zorgvuldig opgevolgd worden.
+
+
+ Als de broncodestructuur
+ gesynchroniseerd is met de nieuwste broncode van het
+ &os;-project, moet altijd
+ /usr/src/UPDATING gelezen worden voordat
+ enige updatestappen worden genomen. Dit bestand beschrijft
+ alle belangrijke zaken en gebieden binnen de broncodestructuur
+ die speciale aandacht nodig hebben.
+ /usr/src/UPDATING komt altijd overeen met
+ de lokale versie van de &os;-broncode en is daarom meer
+ bijgewerkt met nieuwe informatie dan dit handboek.
+
+
+ Nu moet de broncode voor de kernel gecompileerd worden.
+ Hiervoor zijn twee procedures beschikbaar en degene die gebruikt
+ wordt hangt af van de reden waarom de kernel opnieuw gebouwd
+ wordt en de gebruikte versie van &os;.
+
+
+
+ Als alleen de kernelbroncode is
+ geïnstalleerd, moet procedure 1 gevolgd worden.
+
+
+
+ Als een versie van &os; lager dan 4.0 wordt gedraaid, en
+ er niet wordt geupdate naar
+ &os; 4.0 of hoger door middel van de
+ make buildworld–procedure, moet
+ procedure 1 gebruikt worden.
+
+
+
+ Als er een nieuwe kernel gebouwd wordt zonder dat de
+ broncode geupdate wordt (misschien om een nieuwe optie, zoals
+ IPFIREWALL, toe te voegen), kunnen beide
+ procedures gebruikt worden.
+
+
+
+ Als de kernel opnieuw wordt gebouwd als onderdeel van een
+ make buildworld-proces, moet procedure 2
+ gebruikt worden.
+
+
+
+ cvsup
+
+ anonieme CVS
-
+ CTM
+
+
+ CVS
+
+ anoniem
+
+
+ Als de broncodestructuur niet op enige
+ wijze bijgewerkt is sinds de laatste keer dat er met succes een
+ buildworld-installworld
+ cyclus werd uitgevoerd, CVSup noch
+ CTM werden gedraaid en
+ anoncvs werd niet gebruikt, dan is
+ het veilig om config,
+ make depend, make,
+ make install te gebruiken.
+
+
+ Procedure 1. Een Kernel op Traditionele
+ Wijze Bouwen
+
+
+ Draai &man.config.8; om de kernelbroncode aan te
+ maken:
+
+ &prompt.root; /usr/sbin/config MIJNKERNEL
+
+
+
+ Ga naar de bouwmap. &man.config.8; geeft de naam van
+ deze map nadat het gedraaid is zoals boven is
+ aangegeven:
+
+ &prompt.root; cd ../compile/MIJNKERNEL
+
+ Voor &os; versies lager dan 5.0 moet het volgende
+ gebruikt worden:
+
+ &prompt.root; cd ../../compile/MIJNKERNEL
+
+
+
+ Compileer de kernel:
+
+ &prompt.root; make depend
+&prompt.root; make
+
+
+
+ Installeer de nieuwe kernel:
+
+ &prompt.root; make install
+
+
+
+
+ Procedure 2. Een Kernel op de Nieuwe Wijze
+ bouwen
+
+
+ Ga naar de map /usr/src:
+
+ &prompt.root; cd /usr/src
+
+
+
+ Compileer de kernel:
+
+ &prompt.root; make buildkernel KERNCONF=MIJNKERNEL
+
+
+
+ Installeer de nieuwe kernel:
+
+ &prompt.user; make installkernel KERNCONF=MIJNKERNEL
+
+
+
+
+ In &os; 4.2 en eerder moet
+ KERNCONF= door KERNEL=
+ vervangen worden. Een 4.2-STABLE die voor 2 februari 2001 is
+ opgehaald herkent KERNCONF= niet.
+
+
+ /boot/kernel.old
+
+ De nieuwe kernel wordt naar de map /boot/kernel gekopieerd als
+ /boot/kernel/kernel en de oude kernel wordt
+ verplaatst naar /boot/kernel.old/kernel. Nu
+ moet het systeem afgesloten worden en opnieuw worden opgestart om
+ gebruik te maken van de nieuwe kernel. Er zijn wat instructies
+ voor problemen
+ oplossen aan het einde van dit hoofdstuk, die erg nuttig
+ kunnen zijn als er iets misgaat. Vergeet niet om het gedeelte te
+ lezen waarin staat uitgelegd hoe te herstellen als de nieuwe
+ kernel niet
+ opstart.
+
+
+ In &os; 4.X en eerder worden kernels in
+ /kernel en modules in /modules geïnstalleerd en
+ worden oude kernels gebackupt in
+ /kernel.old. Andere bestanden die te
+ maken hebben met het opstartproces, zoals de boot
+ &man.loader.8; en instellingen worden opgeslagen in
+ /boot. Modules van derde partijen of
+ eigen modules kunnen in /modules opgeslagen worden,
+ alhoewel gebruikers erop bedacht moeten zijn dat het erg
+ belangrijk is dat de modules synchroon worden gehouden met de
+ gecompileerde kernel. Modules die niet bedoeld zijn om met de
+ gecompileerde kernel te draaien kunnen voor instabiliteit of
+ onjuistheden zorgen.
+
+
+
+ Als er nieuwe apparaten (zoals geluidskaarten) zijn
+ toegevoegd en &os; 4.X of eerder wordt gedraaid, kan het
+ zijn dat er enkele apparaatnodes aan de map /dev moeten worden toegevoegd,
+ voordat ze gebruikt kunnen worden. Er staat meer informatie
+ in het Apparaatnodes
+ maken later in dit hoofdstuk.
+
- * Het configuratie bestand
+
+
+
+ Joel
+ Dahl
+ Bijgewerkt voor &os; 5.X door
+
+
+
+
+
+
+ Het Instellingenbestand
+
+
+ kernel
+
+ NOTES
+
+
+
+ kernel
+
+ LINT
+
+
+ NOTES
+
+ LINT
+
+
+ kernel
+
+ instellingenbestand
+
+
+ Het algemene formaat van een instellingenbestand is vrij
+ eenvoudig. Elke regel bevat een sleutelwoord en
+ één of meer argumenten. Omwille van de eenvoud
+ bevatten de meeste regels maar één argument. Alles
+ wat na een # komt, wordt als commentaar
+ beschouwd en genegeerd. De volgende gedeelten beschrijven elk
+ sleutelwoord, in het algemeen in dezelfde volgorde als
+ GENERIC, alhoewel sommige samenhangende
+ sleutelwoorden gegroepeerd zijn in een enkel gedeelte (zoals
+ Netwerken) zelfs al staan ze verspreid in het bestand
+ GENERIC.
+ Een uitputtende lijst van architectuurafhankelijke opties en
+ apparaten staat in het bestand NOTES, dat in
+ dezelfde map staat als GENERIC.
+ Architectuuronafhankelijke opties staan in
+ /usr/src/sys/conf/NOTES.
+
+
+ NOTES bestaat niet in &os; 4.X.
+ In plaats daarvan bevat het bestand LINT
+ een uitgebreide uitleg over opties en apparaten in
+ GENERIC. LINT had
+ twee doelen in 4.X: een naslagwerk leveren om kernelopties te
+ kiezen voor het bouwen van een eigen kernel en een
+ kernelinstelling leveren met zoveel mogelijk instelbare opties
+ ingesteld op niet-standaardwaarden. De redenering hierachter
+ was dat zo'n instelling veel hielp (en nog steeds helpt) met
+ het testen van nieuwe code en veranderingen aan bestaande code
+ die conflicten met andere delen van de kernel kunnen
+ veroorzaken. Er zijn in 5.X echter een hoop veranderingen
+ gemaakt aan het raamwerk van kernelinstellingen. Een voorbeeld
+ hiervan is dat de instelopties van de stuurprogramma's zijn
+ verplaatst naar een bestand hints zodat ze
+ tijdens het opstarten dynamisch veranderd en geladen kunnen
+ worden, en LINT kon deze aanwijzingen niet
+ meer bevatten. Om deze en andere redenen is
+ LINT hernoemd tot
+ NOTES en heeft het hoofdzakelijk z'n
+ eerste bestaansreden gehouden: de beschikbare opties
+ documenteren voor gebruikersgemak.
+
+ In &os; 5.X en latere versies is het nog steeds
+ mogelijk om een bouwbaar bestand LINT aan
+ te maken door middel van:
+
+ &prompt.root; cd /usr/src/sys/i386/conf && make LINT
+
+
+
+ kernel
+
+ instellingenbestandvoorbeeld
+
+
+ Het volgende is een voorbeeld van het
+ kernelinstellingenbestand GENERIC met
+ aanvullend commentaar omwille van de helderheid. Dit voorbeeld
+ is redelijk gelijk aan de versie in
+ /usr/src/sys/i386/conf/GENERIC.
+
+ #
+# GENERIC -- Standaard kernelinstellingenbestand voor &os;/i386
+#
+# Meer informatie over dit bestand staat in het onderdeel Het Instellen
+# van de FreeBSD-kernel in het handboek:
+#
+# http://www.FreeBSD.org/doc/nl_NL.ISO8859-1/books/handbook/kernelconfig-config.html
+#
+# Het handboek is ook lokaal beschikbaar in /usr/share/doc/handbook
+# als de doc distributie is geïnstalleerd. Op de &os; World Wide Web
+# server (http://www.FreeBSD.org/) staat altijd de meest recente
+# informatie.
+#
+# Een uitputtende lijst met opties en meer gedetailleerde beschrijving
+# van de apparaatregels staat ook in de bestanden ../../conf/NOTES en
+# NOTES.
+# Bij twijfel over het doel en de noodzaak van een regel dient eerst in
+# NOTES gekeken te worden.
+#
+# $FreeBSD: /repoman/r/ncvs/src/sys/i386/conf/GENERIC,v 1.413 2004/08/11 01:34:18 rwatson Exp $
+
+ De volgende sleutelwoorden zijn noodzakelijk in
+ elke kernel die gebouwd wordt:
+
+
+ kernelopties
+
+ machine
+
+
+ machine i386
+
+ Dit is de architectuur van de machine. Het moet
+ één van alpha,
+ amd64, i386,
+ ia64, pc98,
+ powerpc of sparc64
+ zijn.
+
+
+ kernelopties
+
+ cpu
+
+
+ cpu I486_CPU
+cpu I586_CPU
+cpu I686_CPU
+
+ Bovenstaande optie geeft het type CPU aan dat in een systeem
+ zit. De CPU-regel kan meerdere keren voorkomen (als bijvoorbeeld
+ onbekend is of I586_CPU of
+ I686_CPU gebruikt moet worden), maar voor een
+ eigen kernel is het beter om alleen de aanwezige CPU aan te
+ geven. Als er twijfel bestaat over het type CPU, kan het bestand
+ /var/run/dmesg.boot worden bekeken voor de
+ opstartberichten.
+
+
+ kernelopties
+
+ cputype
+
+
+ De broncode van &os; bevat nog steeds ondersteuning voor
+ I386_CPU, maar staat standaard uit in zowel
+ -STABLE als -CURRENT. Dit betekent dat er nu de volgende
+ mogelijkheden zijn om &os; op een CPU van de 386-klasse te
+ installeren:
+
+
+
+ Installeer een oudere versie van &os; en herbouw vanuit
+ de broncode zoals beschreven staat in .
+
+
+
+ Bouw userland en de kernel op een nieuwere machine en
+ verricht de installatie op de 386 door gebruik te maken van
+ de voorgecompileerde bestanden in
+ /usr/obj (in
+ staan details).
+
+
+
+ Maak een eigen versie van &os; die ondersteuning voor
+ I386_CPU bevat in de kernels van de
+ installatie-CDROM.
+
+
+
+ De eerste van deze opties is waarschijnlijk de
+ gemakkelijkste, maar deze heeft veel schijfruimte nodig wat een
+ probleem kan zijn voor 386-klasse machines.
+
+
+ kernelopties
+
+ ident
+
+
+ ident GENERIC
+
+ Dit is de identificatie van de kernel. Dit moet veranderd
+ worden in de naam van de kernel, dus
+ MIJNKERNEL als de instructies van de
+ voorgaande voorbeelden gevolgd zijn. De waarde in de string
+ ident wordt afgebeeld wanneer de kernel
+ opstart, dus is het handig om de nieuwe kernel een andere naam te
+ geven als deze apart moet worden gehouden van de gebruikelijke
+ kernel (als er bijvoorbeeld een experimentele kernel gebouwd
+ wordt).
+
+
+ kernelopties
+
+ maxusers
+
+
+ maxusers n
+
+ De optie maxusers stelt de grootte van een
+ aantal belangrijke systeemtabellen in. Dit aantal moet ruwweg
+ gelijk zijn aan het aantal gebruikers dat verwacht wordt
+ gelijktijdig van de machine gebruik te maken.
+
+ Met ingang van &os; 4.5 stelt het systeem deze waarde
+ zelf in als deze uitdrukkelijk op 0 is gezet.
+
+
+ Het auto-tuning-algoritme stelt
+ maxusers in afhankelijk van de hoeveelheid
+ geheugen in het systeem, met een minimum van 32 en een
+ maximum van 384.
+
+
+ In &os; 5.X en hoger heeft maxusers een
+ standaardwaarde van 0 als deze niet gespecificeerd is. Als er
+ een versie van &os; lager dan 4.5 wordt gebruikt of het gewenst
+ is om de waarde zelf te beheren, wordt aangeraden om
+ maxusers minstens op 4 te zetten, met name als
+ het X Window Systeem in gebruik is of als er software
+ gecompileerd wordt. De reden hiervoor is dat de belangrijkste
+ tabel die door maxusers ingesteld wordt, het
+ maximum aantal processen is, dat ingesteld wordt op 20 +
+ 16 * maxusers, dus als maxusers op 1
+ ingesteld wordt, zijn er maar 36 gelijktijdige processen
+ mogelijk, inclusief de ongeveer achttien processen die door het
+ systeem tijdens het opstarten start en de ongeveer vijftien
+ processen die waarschijnlijk aangemaakt worden door het opstarten
+ van het X Window Systeem. Zelfs een eenvoudige taak als het
+ afbeelden van een hulppagina start negen processen op om de
+ pagina te filteren, te decomprimeren en af te beelden. Als
+ maxusers op 64 ingesteld wordt, zijn er 1044
+ gelijktijdige processen mogelijk, wat genoeg moet zijn voor bijna
+ alle soorten gebruik. Als echter de gevreesde fout
+ proc table full verschijnt als er
+ geprobeerd wordt om een programma op te starten of als er een
+ server gedraaid wordt met een groot aantal gelijktijdige
+ gebruikers, zoals ftp.FreeBSD.org,
+ kan het getal altijd verhoogd worden en kan de kernel opnieuw
+ gebouwd worden.
+
+
+ maxusers stelt geen
+ grens aan het aantal gebruikers dat op de machine kan
+ aanmelden. Het stelt gewoon verschillende tabelgroottes in op
+ redelijke waardes, uitgaande van het maximum aantal gebruikers
+ dat waarschijnlijk de machine gebruikt en van het aantal
+ processen dat elk van deze gebruikers zal draaien. Een
+ sleutelwoord dat wel het aantal
+ gelijktijdige aanmeldingen op afstand en X-terminalvensters
+ begrenst is pseudo-device pty
+ 16. In &os; 5.X kan dit getal
+ genegeerd worden omdat daar het stuurprogramma &man.pty.4;
+ auto-cloning is. Er kan eenvoudig gebruik
+ worden gemaakt van de regel device pty in
+ het instellingenbestand.
+
+
+ # Floating point ondersteuning - niet uitschakelen.
+device npx
+
+ npx is de interface naar de wiskundige
+ floating point-eenheid in &os;, die ofwel de hardware coprocessor
+ is ofwel de softwarematige wiskundige emulator. Dit is
+ niet optioneel.
+
+ # Pseudo devices
+device loop # Netwerk loopback
+
+ Dit is het generieke loopbackapparaat voor TCP/IP. Als
+ telnet of FTP op localhost (ook bekend als
+ 127.0.0.1) gebruikt wordt, loopt
+ dat via dit apparaat. Dit is verplicht. Op
+ &os; 4.X moet de volgende regel gebruikt worden:
+
+ # Gebruiken in &os; 4.X
+pseudo-device loop
+
+ Alles wat nu volgt is min of meer optioneel. Meer informatie
+ over elke optie staat in de notities eronder of ernaast.
+
+ #Om statisch te compileren in device wiring in plaats van /boot/device.hints.
+#hints "GENERIC.hints" # Standaardlocatie voor devices.
+
+ In &os; 5.X en nieuwer wordt &man.device.hints.5;
+ gebruikt om opties van de programma's die de apparaten aansturen
+ in te stellen. De standaardplaats die &man.loader.8; controleert
+ tijdens het opstarten is /boot/device.hints.
+ Met de optie hints is het mogelijk om deze
+ aanwijzingen statisch in de kernel te compileren, waardoor er
+ geen noodzaak is om een bestand device.hints
+ in /boot aan te maken.
+
+
+
+ #makeoptions DEBUG=-g # Bouw kernel met gdb(1) debug symbolen.
+
+ Om ruimte te sparen in de installatieplaats voegt het normale
+ bouwproces van &os; geen debug-informatie toe tijdens het bouwen
+ van de kernel en stript de meeste symbolen nadat de resulterende
+ kernel is gelinkt. Voor het testen van kernels van de tak
+ -CURRENT of van zelfgemaakte veranderingen in de &os;-kernel kan
+ het gewenst zijn om deze regel uit te commentariëren. Dit
+ zet het gebruik van de optie aan die
+ debug-informatie aanzet als de broncode wordt doorgegeven aan
+ &man.gcc.1;. Hetzelfde kan bereikt worden met de optie
+ van &man.config.8; als de
+ traditionele manier wordt gebruikt om een kernel
+ te bouwen. Meer informatie staat in .
+
+ options SCHED_4BSD # 4BSD taakplanner
+
+
+ De traditionele taakplanner voor &os;. Afhankelijk van de
+ systeembelasting kan de prestatie worden verhoogd door de nieuwe
+ scheduler ULE voor &os; te gebruiken, die speciaal voor SMP
+ ontworpen is, maar ook goed werkt op UP-systemen. Vervang
+ desgewenst, om deze uit te proberen,
+ SCHED_4BSD door SCHED_ULE
+ in het instellingenbestand.
+
+ options INET # internetwerken
+
+ Netwerkondersteuning. Laat dit aanstaan, zelfs als een
+ verbinding met een netwerk niet gepland is. De meeste
+ programma's hebben tenminste een loopbacknetwerk nodig (dat wil
+ zeggen het maken van netwerkverbindingen binnen de PC), dus dit
+ is eigenlijk verplicht.
+
+ options INET6 # IPv6 communicatieprotocollen
+
+ Dit zet de IPv6-communicatieprotocollen aan.
+
+ options FFS # Berkeley Fast Bestandssysteem
+
+ Dit is het basisbestandssysteem voor de harde schijf. Laat
+ dit erin staan als er vanaf de harde schijf wordt
+ opgestart.
+
+ options UFS_ACL # Ondersteuning voor toeganscontrolelijsten
+
+ Met deze optie, die alleen in &os; 5.X aanwezig is,
+ wordt de ondersteuning voor toegangscontrolelijsten aangezet.
+ Hiervoor zijn uitgebreide attributen en UFS2
+ nodig. Een en ander wordt in detail beschreven in . ACL's staan standaard
+ aan en moeten niet uitgezet worden in de kernel als ze al eerder
+ op een bestandssysteem zijn gebruikt, omdat dit de
+ toegangscontrolelijsten verwijdert en hierdoor de manier waarop
+ bestanden beschermd worden op onvoorspelbare wijze
+ verandert.
+
+ options UFS_DIRHASH # Verbeter prestaties in grote mappen
+
+ Deze optie bevat functionaliteit om schijfoperaties op grote
+ mappen te versnellen, ten koste van extra geheugen. Deze staat
+ normaalgesproken, zoals voor een grote server of interactief
+ werkstation, aan en wordt uitgezet als &os; op een kleiner
+ systeem wordt gebruikt waar geheugen het belangrijkste en
+ schijfsnelheid minder belangrijk is, zoals voor een
+ firewall.
+
+ options SOFTUPDATES # Schakel FFS Softupdates ondersteuning in
+
+ Deze optie zet softupdates in de kernel aan en helpt om de
+ schijftoegang voor schrijven te verhogen. Zelfs als deze
+ functionaliteit door de kernel geleverd wordt, moet die voor
+ specifieke schijven worden aangezet. Bekijk de uitvoer van
+ &man.mount.8; om te zien of softupdates aanstaat voor de
+ systeemschijven. Als de optie soft-updates
+ niet zichtbaar is, dient deze geactiveerd te worden met behulp
+ van &man.tunefs.8; voor bestaande bestandssystemen of
+ &man.newfs.8; voor nieuwe bestandssystemen.
+
+
+ options MD_ROOT # MD is een potentieel rootapparaat
+
+ Deze optie zet ondersteuning aan voor een virtuële
+ schijf die in het geheugen wordt geïmplementeerd en als
+ rootapparaat wordt gebruikt.
+
+
+ kernelopties
+
+ NFS
+
+
+
+ kernelopties
+
+ NFS_ROOT
+
+
+ options NFSCLIENT # Netwerk Bestandssysteem Client
+options NFSSERVER # Netwerk Bestandssysteem Server
+options NFS_ROOT # NFS bruikbaar als /, NFSCLIENT nodig
+
+ Het netwerkbestandssysteem. Dit kan weggelaten worden tenzij
+ er gepland is om partities te mounten van een &unix;
+ bestandsserver over TCP/IP.
+
+
+ kernelopties
+
+ MSDOSFS
+
+
+ options MSDOSFS # MSDOS Bestandssysteem
+
+ Het &ms-dos; bestandssysteem. Dit kan veilig weggelaten
+ worden, tenzij er gepland is om een DOS-geformatteerde partitie
+ van de harde schijf tijdens het opstarten te mounten. Het wordt
+ automatisch geladen als er voor de eerste keer een DOS-partitie
+ wordt gemount, zoals boven beschreven. Bovendien geeft de
+ uitstekende software emulators/mtools toegang tot
+ DOS-floppies zonder dat ze gemount en gedismount moeten worden en
+ heeft het MSDOSFS helemaal niet nodig.
+
+ options CD9660 # ISO 9660 Bestandssysteem
+
+ Het ISO 9960-bestandssysteem voor CDROM's. Commentarieer dit
+ uit als er geen CDROM-drive aanwezig is of als er slechts af en
+ toe data-CD's gemount worden (aangezien het dynamisch geladen
+ wordt als er voor de eerste keer een data-CD gemount wordt).
+ Audio-CD's hebben dit bestandssysteem niet nodig.
+
+ options PROCFS # Procesbestandssysteem
+
+ Het procesbestandssysteem. Dit is een als-of
+ bestandssysteem, gemount in /proc, dat
+ programma's als &man.ps.1; in staat stelt om meer informatie over
+ de draaiende processen te geven. In &os; 5.X en hoger is
+ het onder de meeste omstandigheden niet nodig om
+ PROCFS te gebruiken, omdat de meeste debug- en
+ monitorgereedschappen zijn aangepast om zonder
+ PROCFS te draaien. In tegenstelling tot
+ &os; 4.X mounten nieuwe installaties op &os; 5.X
+ standaard het procesbestandssysteem niet. Bovendien moeten
+ 6.X-CURRENT kernels die gebruik maken van
+ PROCFS, nu ook ondersteuning bevatten voor
+ PSEUDOFS:
+
+ options PSEUDOFS # Pseudo-bestandssysteem framework
+
+ PSEUDOFS is niet beschikbaar in
+ &os; 4.X.
+
+ options GEOM_GPT # GUID Partitietabellen.
+
+ Met deze optie kan een groot aantal partities op een enkele
+ schijf aanwezig zijn.
+
+ options COMPAT_43 # Compatibel met BSD 4.3 [ERIN HOUDEN!]
+
+ Compatibiliteit met 4.3BSD. Laat dit aanstaan. Sommige
+ programma's gedragen zich vreemd als dit uitgecommentarieerd
+ wordt.
+
+ options COMPAT_FREEBSD4 # Compatibel met &os;4
+
+ Deze optie is nodig op &os; 5.X &i386; en Alpha systemen
+ om ondersteuning te bieden aan applicaties die gecompileerd zijn
+ op oudere versies van &os; en gebruik maken van oudere
+ systeemaanroep-interfaces. Het is aanbevolen dat deze optie
+ gebruikt wordt op alle &i386; en Alpha systemen die mogelijk
+ oudere applicaties draaien. Voor platformen die pas in 5.X
+ ondersteuning verwierven, zoals ia64 en &sparc64;, is deze optie
+ niet nodig.
+
+ options SCSI_DELAY=15000 # Vertraging (in ms) voordat SCSI wordt afgezocht.
+
+ Dit zorgt ervoor dat de kernel vijftien seconden wacht
+ voordat die elk SCSI-apparaat in het systeem afzoekt. Als er
+ alleen IDE harddisks zijn, kan deze optie genegeerd worden,
+ anders is het misschien wenselijk om deze waarde te verlagen tot
+ vijf seconden, om het opstarten te versnellen. Uiteraard moet
+ deze waarde weer verhoogd worden als &os; problemen heeft om de
+ SCSI-apparaten te herkennen.
+
+ options KTRACE # ktrace(1) ondersteuning
+
+ Dit schakelt kernelondersteuning voor het volgen processen
+ in, wat handig is tijdens debuggen.
+
+ options SYSVSHM # SYSV-stijl gedeeld geheugen
+
+ Deze optie biedt System V gedeeld geheugen. Meestal
+ wordt dit wegens de XSHM-uitbreiding in X gebruikt, waar door
+ vele grafische programma's automatisch gebruik van wordt gemaakt
+ voor extra snelheid. Als X gebruik wordt, is het raadzaam om dit
+ op te nemen.
+
+ options SYSVSEM # SYSV-stijl semaforen
+
+ Dit biedt ondersteuning voor System V semaforen. Het
+ wordt minder vaak gebruikt, maar voegt slechts een paar honderd
+ bytes aan de kernel toe.
+
+ options SYSVMSG # SYSV-stijl berichtenwachtrijen
+
+ Dit biedt ondersteuning voor System V berichten. Ook
+ deze optie voegt slechts een paar honderd bytes aan de kernel
+ toe.
+
+
+ De optie van het commando &man.ipcs.1;
+ geeft een lijst van alle processen die een van deze
+ System V faciliteiten gebruikt.
+
+
+ options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensies
+
+ Dit biedt real-time-uitbreidingen die in de 1993 &posix; zijn
+ toegevoegd. Bepaalde applicaties in de portscollectie gebruiken
+ deze (zoals &staroffice;).
+
+ options KBD_INSTALL_CDEV # installeer een CDEV-ingang in /dev
+
+ Deze optie is gerelateerd aan het toetsenbord. Het
+ installeert een CDEV-ingang in /dev.
+
+ options AHC_REG_PRETTY_PRINT # Toon register bitveld in debuguitvoer.
+ # Voegt ~128k toe aan driver.
+options AHD_REG_PRETTY_PRINT # Toon register bitveld in debuguitvoer.
+ # Voegt ~215k toe aan driver.
+
+ Dit helpt bij het debuggen door makkelijker te lezen
+ registerdefinities af te beelden.
+
+ options ADAPTIVE_GIANT # Giant mutex is adaptief.
+
+ Giant is de naam van een wederzijds uitsluitingsmechanisme
+ (een sleep mutex) dat een grote verzameling kernelbronnen
+ beschermt. Vandaag de dag is dit een onaccaptabele
+ prestatie-bottleneck die actief door sloten wordt vervangen die
+ individuele bronnen beschermen. De optie
+ ADAPTIVE_GIANT zorgt ervoor dat Giant in de
+ verzamelingen van mutexen wordt opgenomen waar actief wordt
+ opgespind. Dit betekent dat wanneer een thread de Giant-mutex
+ wil nemen, maar die reeds door een thread op een andere CPU
+ genomen is, de eerste thread blijft draaien en wacht tot er een
+ slot vrijkomt. Normaalgesproken zou de thread weer gaan slapen
+ en wachten op de volgende kans om te draaien. Laat dit er in
+ geval van twijfel instaan.
+
+
+ kernelopties
+
+ SMP
+
+
+ device apic # I/O APIC
+
+ Het apic-apparaat zet de ondersteuning voor I/O-APIC voor het
+ afleveren van interrupts aan. Het apic-apparaat kan zowel in UP-
+ als in SMP-kernels gebruikt worden, maar is noodzakelijk voor
+ SMP-kernels. Voeg options SMP toe om
+ ondersteuning voor meerdere processoren op te nemen.
+
+ device isa
+
+ Alle computers die door &os; ondersteund worden hebben
+ één van deze apparaten. Verwijder dit niet, zelfs
+ niet als er geen ISA-sloten aanwezig zijn. &os; biedt momenteel
+ slechts gedeeltelijke ondersteuning aan IBM PS/2 (Micro Channel
+ Architecture)-systemen. Meer informatie over de ondersteuning
+ voor MCA staat in
+ /usr/src/sys/i386/conf/notes.
+
+ device eisa
+
+ Neem dit op voor een EISA-moederbord. Dit zet ondersteuning
+ voor zelfdetectie en -instelling aan voor alle apparaten op de
+ EISA-bus.
+
+ device pci
+
+ Neem dit op voor een PCI-moederbord. Dit zet ondersteuning
+ voor zelfdetectie van PCI-kaarten en gatewaying van
+ PCI-naar-ISA-bus aan.
+
+ device agp
+
+ Neem dit op als er een AGP-kaart in het systeem aanwezig is.
+ Dit zet ondersteuning voor AGP aan, en ondersteuning voor AGP
+ GART voor borden die deze mogelijkheden hebben.
+
+ # Floppy drives
+device fdc
+
+ Dit is de controller voor de floppydrive.
+
+ # ATA- en ATAPI-apparaten
+device ata
+
+ Dit stuurprogramma biedt ondersteuning aan alle ATA- en
+ ATAPI-apparaten. Er is slechts één device
+ ata-regel nodig om de kernel alle PCI
+ ATA/ATAPI-apparaten te laten ontdekken op moderne
+ machines.
+
+ device atadisk # ATA schijven
+
+ Dit is samen met device ata nodig voor ATA
+ schijven.
+
+ device ataraid # ATA RAID schijven
+
+ Dit is samen met device ata nodig voor ATA
+ RAID-schijven.
+
+
+device atapicd # ATAPI CDROM-drives
+
+ Dit is samen met device ata nodig voor
+ ATAPI CDROM-drives.
+
+ device atapifd # ATAPI floppy drives
+
+ Dit is samen met device ata nodig voor
+ ATAPI floppydrives.
+
+ device atapist # ATAPI tape drives
+
+ Dit is samen met device ata nodig voor
+ ATAPI tapedrives.
+
+ options ATA_STATIC_ID # Statische apparaatnummering
+
+ Dit zorgt ervoor dat de controller statisch nummert. Zonder
+ deze optie worden nummers dynamisch toegewezen.
+
+ # SCSI Controllers
+device ahb # EISA AHA1742 familie
+device ahc # AHA2940 en onboard AIC7xxx apparaten
+device ahd # AHA39320/29320 en onboard AIC79xx apparaten
+device amd # AMD 53C974 (Teckram DC-390(T))
+device isp # Qlogic familie
+device mpt # LSI-Logic MPT-Fusion
+#device ncr # NCR/Symbios Logic
+device sym # NCR/Symbios Logic (nieuwere chipsets)
+device trm # Tekram DC395U/UW/F DC315U adapters
+
+device adv # Advansys SCSI adapters
+device adw # Advansys wide SCSI adapters
+device aha # Adaptec 154x SCSI adapters
+device aic # Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
+device bt # Buslogic/Mylex MultiMaster SCSI adapters
+
+device ncv # NCR 53C500
+device nsp # Workbit Ninja SCSI-3
+device stg # TMC 18C30/18C50
+
+ SCSI controllers. Commentarieer de regels uit voor apparaten
+ die niet in het systeem aanwezig zijn. Als het een systeem met
+ alleen IDE apparaten betreft, kunnen ze allemaal weggelaten
+ worden.
+
+ # SCSI randapparaten
+device scbus # SCSI bus (nodig voor SCSI)
+device ch # SCSI media changers
+device da # Direct Access (schijven)
+device sa # Sequential Access (tape, enzovoort)
+device cd # CD
+device pass # Passthrough apparaat (directe SCSI-toegang)
+device ses # SCSI Omgevingsdiensten (en SAF-TE)
+
+ SCSI-aanhangels. Ook hier geldt dat apparaten die niet
+ aanwezig zijn uitgecommentarieerd kunnen worden, of als alleen
+ IDE-hardware aanwezig aanwezig is, ze allemaal weggelaten kunnen
+ worden.
+
+
+ Het USB-stuurprogramma &man.umass.4; en enkele andere
+ stuurprogramma's gebruiken het SCSI-subsysteem, alhoewel ze
+ geen echte SCSI-apparaten zijn. Daarom mag SCSI-ondersteuning
+ niet verwijderd worden als dit soort stuurprogramma's in de
+ kernelinstellingen worden opgenomen.
+
+
+ # RAID controllers met interfaces naar het SCSI subsysteem
+device amr # AMI MegaRAID
+device asr # DPT SmartRAID V, VI en Adaptec SCSI RAID
+device ciss # Compaq Smart RAID 5*
+device dpt # DPT Smartcache III, IV - Zie NOTES voor opties
+device hptmv # Highpoint RocketRAID 182x
+device iir # Intel Integrated RAID
+device ips # IBM (Adaptec) ServeRAID
+device mly # Mylex AcceleRAID/eXtremeRAID
+device twa # 3ware 9000 series PATA/SATA RAID
+
+# RAID controllers
+device aac # Adaptec FSA RAID
+device aacp # SCSI passthrough voor aac (CAM nodig)
+device ida # Compaq Smart RAID
+device mlx # Mylex DAC960 famile
+device pst # Promise Supertrak SX6000
+device twe # 3ware ATA RAID
+
+ Ondersteunde RAID-controllers. Als een van deze niet
+ aanwezig is, kan deze uitgecommentarieerd of verwijderd
+ worden.
+
+ # atkbdc0 bestuurt het toetsenbord en de PS/2 muis
+device atkbdc # AT toetsenbordcontroller
+
+ De toetsenbordcontroller (atkbdc) biedt
+ I/O-diensten aan voor het AT-toetsenbord en het PS/2-type van
+ aanwijsapparaten. Deze controller is noodzakelijk voor het
+ toetsenbordstuurprogramma (atkbd) en het
+ PS/2-aanwijsapparaatstuurprogramma
+ (psm).
+
+ device atkbd # AT toetsenbord
+
+ Het stuurprogramma atkbd biedt samen met
+ de controller atkbdc toegang tot het
+ AT84-toetsenbord of het uitgebreide AT-toetsenbord dat verbonden
+ is met de controller voor het AT-toetsenbord.
+
+ device psm # PS/2 muis
+
+ Dit apparaat kan gebruikt worden als de muis in de
+ PS/2-muispoort wordt geplugd.
+
+ device vga # VGA videokaart stuurprogramma
+
+ Het stuurprogramma voor de videokaart.
+
+ # splash screen/screensaver
+device splash # Splash screen en screensaver ondersteuning
+
+ Een splash-scherm tijdens het opstarten! Screensavers hebben
+ deze optie ook nodig (voor &os; 4.X dient
+ pseudo-device splash gebruikt te
+ worden.
+
+ # syscons is het standaard consolestuurprogramma, lijkt op een SCO console
+device sc
+
+ sc is het standaard consolestuurprogramma
+ en lijkt op een SCO-console. Aangezien de meeste programma's die
+ met een volledig scherm werken de console via een
+ terminaldatabase zoals termcap benaderen,
+ moet het niet uitmaken of dit of vt, het
+ VT220-compatibele consolestuurprogramma,
+ gebruikt wordt. Wanneer er aangemeld wordt, dient de variabele
+ TERM op scoansi gezet worden
+ indien programma's die met een volledig scherm werken problemen
+ hebben om met dit console te draaien.
+
+ # Schakel dit in voor het pcvt (VT220 compatibele) consolestuurprogramma
+#device vt
+#options XSERVER # ondersteuning voor X server op een vt console
+#options FAT_CURSOR # begin met een blokcursor
+
+ Dit is een VT220-compatibel consolestuurprogramma,
+ achterwaarts compatibel met de VT100/102. Het werkt goed op
+ enkele laptops die hardware-incompatibiliteiten hebben met
+ sc. Ook dient de variabele
+ TERM op vt100 of
+ vt220 gezet te worden bij het aanmelden. Dit
+ stuurprogramma kan ook nuttig zijn wanneer er verbinding wordt
+ gemaakt met een groot aantal verschillende machines in een
+ netwerk, waarbij de ingangen termcap of
+ terminfo voor het apparaat
+ sc vaak niet beschikbaar zijn.
+ vt100 is op bijna elk platform
+ beschikbaar.
+
+ # Ondersteuning voor energiebeheer (zie NOTES voor meer opties)
+#device apm
+
+ Ondersteuning voor geavanceerd energiebeheer (Advanced Power
+ Management). Dit is nuttig voor laptops, alhoewel dit in
+ &os; 5.X en hoger standaard uitgeschakeld is in
+ GENERIC.
+
+ # Schakel suspend/resume ondersteuning voor de i8254 in.
+device pmtimer
+
+ Het stuurprogramma voor het timerapparaat voor
+ energiebeheergebeurtenissen, zoals APM en ACPI.
+
+ # PCCARD (PCMCIA) ondersteuning.
+# PCMCIA en cardbus bridge ondersteuning.
+device cbb # cardbus (yenta) bridge
+device pccard # PC Card (16-bit) bus
+device cardbus # CardBus (32-bit) bus
+
+ Ondersteuning voor PCMCIA. Dit is wenselijk voor
+ laptopgebruikers.
+
+ # Serial (COM) poorten
+device sio # 8250, 16[45]50-gebaseerde seriële poorten
+
+ Dit zijn de seriële poorten waarnaar in de wereld van
+ &ms-dos;/&windows; verwezen wordt als
+ COM-poorten.
+
+
+ Als er een intern modem op COM4 en
+ een seriële poort op COM2
+ aanwezig is, moet het IRQ van het modem in 2 worden veranderd
+ (om duistere technische redenen geldt dat IRQ2 = IRQ9) om er
+ vanuit &os; toegang toe te krijgen. Als er een multipoort
+ seriële kaart aanwezig is, staat in &man.sio.4; meer
+ informatie over de juiste waarden die aan
+ /boot/device.hints toegevoegd moeten
+ worden. Sommige videokaarten (vaak gebaseerd op S3 chips)
+ gebruiken IO-adressen van de vorm 0x*2e8, en
+ omdat vele goedkope serieële kaarten de 16-bits
+ IO-adresruimte niet volledig decoderen, botsen ze met deze
+ kaarten waardoor de COM4-poort
+ praktisch onbruikbaar is.
+
+ Elke serieële poort moet een uniek IRQ hebben (tenzij
+ er gebruik wordt gemaakt van een van de multipoortkaarten
+ waarbij gedeelde interrupts ondersteund worden), dus kunnen de
+ standaard IRQ's voor COM3 en
+ COM4 niet gebruikt worden.
+
+
+ # Parallelle poort
+device ppc
+
+ Dit is de interface voor de parallelle poort op de
+ ISA-bus.
+
+ device ppbus # Parallelle poortbus (verplicht)
+
+ Biedt ondersteuning voor de parallelle poortbus.
+
+ device lpt # Printer
+
+ Ondersteuning voor parallelle poort-printers.
+
+
+ Alle van de bovenstaande drie zijn noodzakelijk om
+ ondersteuning voor parallelle printers aan te zetten.
+
+
+ device plip # TCP/IP over parallel
+
+ Dit is het stuurprogramma voor de parallelle
+ netwerkinterface.
+
+ device ppi # Parallelle poort interface apparaat
+
+ De algemene I/O (geek-poort) + IEEE1284 I/O.
+
+ #device vpo # scbus en da verplicht
+
+ zipdrive
+
+ Dit is voor een Iomega Zipdrive. Hiervoor is ondersteuning
+ voor scbus en da nodig. De
+ beste prestaties worden gehaald met poorten in EPP
+ 1.9-modus.
+
+ #device puc
+
+ Dit dient uitgecommentarieerd te worden indien er een
+ domme seriële of parallelle PCI-kaart
+ aanwezig is die ondersteund wordt door het &man.puc.4;
+ verbindingsstuurprogramma.
+
+ # PCI Ethernet NIC's.
+device de # DEC/Intel DC21x4x (Tulip)
+device em # Intel PRO/1000 adapter Gigabit Ethernet Card
+device ixgb # Intel PRO/10GbE Ethernet Card
+device txp # 3Com 3cR990 (Typhoon)
+device vx # 3Com 3c590, 3c595 (Vortex)
+
+ Verscheidene PCI-netwerkkaartstuurprogramma's. Degenen die
+ niet in het systeem aanwezig zijn kunnen uitgecommentarieerd of
+ verwijderd worden.
+
+ # PCI Ethernet NIC's die de MII bus controller code gebruiken.
+# NB: 'device miibus' moet behouden blijven om deze NIC's te kunnen gebruiken!
+device miibus # MII bus ondersteuning
+
+ Ondersteuning voor MII-bus is noodzakelijk voor sommige PCI
+ 10/100 Ethernet-NICs, namelijk voor diegenen die MII-geldige
+ transceivers gebruiken of interfaces voor transceiverbesturing
+ implementeren die als een MII werken. Door device
+ miibus aan de kernelinstellingen toe te voegen wordt
+ de ondersteuning voor de generieke miibus-API en voor alle
+ PHY-stuurprogramma's opgenomen, waaronder een generieke voor
+ PHYs die niet specifiek door een individueel stuurprogramma
+ worden behandeld.
+
+ device dc # DEC/Intel 21143 en verschillende gelijkwerkenden
+device miibus # MII bus ondersteuning
+device bfe # Broadcom BCM440x 10/100 Ethernet
+device bge # Broadcom BCM570xx Gigabit Ethernet
+device dc # DEC/Intel 21143 en verschillende gelijkwerkenden
+device fxp # Intel EtherExpress PRO/100B (82557, 82558)
+device pcn # AMD Am79C97x PCI 10/100 (voorrang boven 'lnc')
+device re # RealTek 8139C+/8169/8169S/8110S
+device rl # RealTek 8129/8139
+device sf # Adaptec AIC-6915 (Starfire)
+device sis # Silicon Integrated Systems SiS 900/SiS 7016
+device sk # SysKonnect SK-984x & SK-982x gigabit Ethernet
+device ste # Sundance ST201 (D-Link DFE-550TX)
+device ti # Alteon Networks Tigon I/II gigabit Ethernet
+device tl # Texas Instruments ThunderLAN
+device tx # SMC EtherPower II (83c170 EPIC)
+device vr # VIA Rhine, Rhine II
+device wb # Winbond W89C840F
+device xl # 3Com 3c90x (Boomerang, Cyclone)
+
+ Stuurprogramma's die gebruik maken van de MII
+ bus-controllercode.
+
+ # ISA Ethernet NIC's. Inclusief pccard NIC's.
+device cs # Crystal Semiconductor CS89x0 NIC
+# 'device ed' heeft 'device miibus' nodig
+device ed # NE[12]000, SMC Ultra, 3c503, DS8390 kaarten
+device ex # Intel EtherExpress Pro/10 en Pro/10+
+device ep # Etherlink III-gebaseerde kaarten
+device fe # Fujitsu MB8696x-gebaseerde kaarten
+device ie # EtherExpress 8/16, 3C507, StarLAN 10, etc.
+device lnc # NE2100, NE32-VL Lance Ethernet kaarten
+device sn # SMC's 9000 serie Ethernet chips
+device xe # Xircom pccard Ethernet
+
+# ISA apparaten die de oude ISA shims gebruiken
+#device le
+
+ ISA Ethernetstuurprogramma's. In
+ /usr/src/sys/i386/conf/NOTES
+ staan details over welke kaarten door welk stuurprogramma
+ ondersteund worden.
+
+ # Draadloze NIC kaarten
+device wlan # 802.11 ondersteuning
+device an # Aironet 4500/4800 802.11 draadloze NIC's.
+device awi # BayStack 660 en anderen
+device wi # WaveLAN/Intersil/Symbol 802.11 draadloze NIC's.
+#device wl # Oudere niet-802.11 Wavelan draadloze NIC.
+
+ Ondersteuning voor verscheidene draadloze kaarten.
+
+ device mem # Geheugen- en kernelgeheugenapparaten
+
+ De geheugenapparaten van het systeem.
+
+ device io # I/O apparaat
+
+ Deze optie stelt een proces in staat om I/O-privileges te
+ verkrijgen. Dit is nuttig als er gebruikerprogramma's worden
+ geschreven die direct met hardware werken. Dit is nodig om het
+ X Window Systeem te draaien.
+
+ device random # Entropy apparaat
+
+ Cryptografisch veilige willekeurige getallengenerator.
+
+ device ether # Ethernet ondersteuning
+
+ ether is allen noodzakelijk als er een
+ Ethernetkaart aanwezig is. Het bevat code voor het generieke
+ Ethernet protocol. Op &os; 4.X dient
+ pseudo-device ether gebruikt te worden.
+
+ device sl # Kernel SLIP
+
+ sl dient voor SLIP-ondersteuning. Dit is
+ bijna geheel overgenomen door PPP, wat eenvoudiger is op te
+ zetten, beter geschikt is voor modem-naar-modem-verbindingen en
+ krachtiger is. Met &os; 4.X dient
+ pseudo-device sl gebruikt te worden.
+
+ device ppp # Kernel PPP
+
+ Dit dient voor PPP-ondersteuning van inbelverbindingen door
+ de kernel. Er is ook een versie van PPP als gebruikersapplicatie
+ geïmplementeerd die tun gebruikt en meer
+ flexibiliteit en mogelijkheden biedt zoals demand-bellen.
+ Met &os; 4.X dient pseudo-device ppp
+ gebruikt te worden.
+
+ device tun # Packet tunnel.
+
+ Dit wordt gebruikt door de gebruikers-PPP-software. In
+ PPP staat meer informatie. Met
+ &os; 4.X dient pseudo-device tun gebruikt
+ te worden.
+
+
+device pty # Pseudo-ttys (telnet, etc.)
+
+ Dit is een pseudo-terminal of gesimuleerde
+ aanmeldpoort. Die wordt gebruikt door binnenkomende sessies van
+ telnet en rlogin, door
+ xterm en voor sommige andere
+ applicaties zoals Emacs.
+
+
+ Met &os; 4.X dient
+ pseudo-device ptynummer
+ gebruikt te worden. Het nummer na
+ pty geeft het aantal
+ pty's aan dat aangemaakt dient te worden.
+ Als er meer dan het standaard aantal van zestien gelijktijdige
+ xterm schermen en/of remote
+ aanmeldingen nodig zijn, dient dit nummer overeenkomstig
+ verhoogd te worden, tot maximaal 256.
+
+
+ device md # Geheugenschijven
+
+ Pseudo-apparaten die een schijf in het geheugen implementeren.
+ Met &os; 4.X dient pseudo-device md
+ gebruikt te worden.
+
+ device gif # IPv6 en IPv4 tunnelen
+
+ Dit implementeert IPv6-over-IPv4-tunneling,
+ IPv4-over-IPv6-tunneling, IPv4-over-IPv4-tunneling en
+ IPv6-over-IPv6-tunneling. Met ingang van &os; 4.4 is het
+ apparaat gifzelfklonend en
+ dient de regel pseudo-device gif gebruikt te
+ worden. Eerdere versies van &os; 4.X vereisen een getal,
+ bijvoorbeeld pseudo-device gif 4.
+
+ device faith # IPv6-naar-IPv4-relay (vertaling)
+
+ Dit pseudo-apparaat onderschept pakketten die ernaar
+ verzonden worden en leidt ze om naar het IPv4/IPv6-vertaaldaemon.
+ Met &os; 4.X dient pseudo-device faith 1
+ gebruikt te worden.
+
+ # Het `bpf' apparaat schakelt de Berkeley Pakketfilter in.
+# Wees bewust van de administratieve consequenties die dit heeft!
+device bpf # Berkeley pakketfilter
+
+ Dit is het Berkeley Pakketfilter. Dit pseudo-apparaat staat
+ netwerkinterfaces toe om in luistermodus gezet te worden, zodat
+ elk pakket op een uitzendnetwerk (bijvoorbeeld een Ethernet)
+ onderschept wordt. Deze pakketten kunnen naar schijf onderschept
+ en/of onderzocht worden met het programma &man.tcpdump.1;. Met
+ &os; 4.X dient pseudo-device bpf gebruikt
+ te worden.
+
+
+ Het apparaat &man.bpf.4; wordt ook gebruikt door
+ &man.dhclient.8; om het IP-adres van de standaardrouter
+ (gateway) te verkrijgen, enzovoorts. Als DHCP gebruikt wordt,
+ dient dit ingeschakeld te blijven.
+
+
+ # USB support
+device uhci # UHCI PCI->USB interface
+device ohci # OHCI PCI->USB interface
+device usb # USB Bus (verplicht)
+#device udbp # USB Double Bulk Pipe apparaten
+device ugen # Generic
+device uhid # Human Interface Devices
+device ukbd # Toetsenbord
+device ulpt # Printer
+device umass # Schijnven/Massaopslag - scbus en da nodig
+device ums # Muis
+device urio # Diamond Rio 500 MP3 speler
+device uscanner # Scanners
+# USB Ethernet, requires mii
+device aue # ADMtek USB Ethernet
+device axe # ASIX Electronics USB Ethernet
+device cue # CATC USB Ethernet
+device kue # Kawasaki LSI USB Ethernet
+device rue # RealTek RTL8150 USB Ethernet
+
+ Ondersteuning voor verscheidene USB-apparaten.
+
+ # FireWire ondersteuning
+device firewire # FireWire bus code
+device sbp # SCSI over FireWire (scbus en da nodig)
+device fwe # Ethernet over FireWire (niet-standaard!)
+
+ Ondersteuning voor verscheidene Firewire-apparaten.
+
+ Meer informatie en aanvullende apparaten die door &os;
+ ondersteund worden staan in
+ /usr/src/sys/i386/conf/NOTES.
- * Veel geheugen configuraties
- (PAE)
+ Instellingen bij Veel Geheugen
+ (PAE)
+
+
+ Physical Address
+ Extensions(PAE)
+
+ instellingen veel geheugen
+
+
+ Sommige machines (PAE) hebben meer
+ geheugen nodig dan limiet van 4 gigabyte op User+Kernel Virtual
+ Adress (KVA) ruimte. Vanwege deze limiet
+ voegde Intel ondersteuning toe voor toegang tot 36-bits fysieke
+ adresruimte in de &pentium; Pro en nieuwere lijn van
+ CPU's.
+
+ De Physical Address Extension (PAE)
+ mogelijkheden van de &intel; &pentium; Pro en nieuwere CPU's
+ staan geheugenhoeveelheden toe tot 64 gigabyte. &os; biedt
+ ondersteuning voor deze mogelijkheid via de kernelinsteloptie
+ , die beschikbaar is in de 4.X-serie van
+ &os; met ingang van 4.9-RELEASE en in de 5.X-serie van &os;
+ met ingang van 5.1-RELEASE. Vanwege de beperkingen van de
+ geheugenarchitectuur van Intel wordt er geen onderscheid
+ gemaakt tussen geheugen boven of beneden 4 gigabytes. Geheugen
+ dat boven de 4 gigabytes is toegewezen wordt gewoon bij het
+ beschikbare gevoegd.
-
+ Om ondersteuning voor PAE in de kernel
+ aan te zetten, dient de volgende regel aan het
+ kernelinstellingenbestand te worden toegevoegd:
+
+ options PAE
+
+
+ De ondersteuning voor PAE in &os; is
+ alleen beschikbaar voor &intel; IA-32-processoren. Ook dient
+ opgemerkt te worden dat ondersteuning voor
+ PAE nog niet wijdverbreid getest is en
+ als betakwaliteit beschouwd dient te worden vergeleken met
+ andere stabiele kenmerken van &os;.
+
+
+ Ondersteuning voor PAE in &os; heeft
+ enige beperkingen:
+
+
+
+ Een proces kan niet meer dan 4 gigabyte VM-ruimte
+ krijgen;
+
+
+
+ KLD-modules kunnen niet in een
+ kernel worden geladen die PAE aan heeft
+ staan, vanwege de verschillen in het bouwraamwerk van een
+ module en de kernel;
+
+
+
+ Apparaatstuurprogramma's die geen gebruik maken van de
+ &man.bus.dma.9;-interface zullen gegevenscorruptie
+ veroorzaken in een kernel die PAE aan
+ heeft staan en hun gebruik wordt afgeraden. Om deze reden
+ wordt er een kernelinstellingenbestand voor
+ PAE geleverd met &os; 5.X, die alle
+ stuurprogramma's uitsluit waarvan bekend is dat ze niet
+ werken in een kernel die PAE aan heeft
+ staan;
+
+
+
+ Sommige systeeminstellingen bepalen het
+ geheugenbronverbruik aan de hand van de hoeveelheid
+ beschikbaar fysiek geheugen. Zulke instellingen kunnen
+ onnodig veel toewijzen vanwege de grote hoeveelheid
+ geheugen in een PAE systeem. Een
+ voorbeeld hiervan is de sysctl
+ , die het maximum aantal
+ vnodes dat in de kernel aanwezig mag zijn beheert. Het is
+ aan te raden om deze en andere van dit soort instellingen
+ aan te passen aan een redelijke waarde;
+
+
+
+ Het kan nodig zijn om de virtuele kerneladresruimte
+ (KVA) te vergroten of om het aantal
+ kernelbronnen dat veel gebruikt wordt (zie boven) te
+ verminderen om zo uitputting van KVA te
+ voorkomen. De kerneloptie kan
+ gebruikt worden om de KVA-ruimte te
+ vergroten.
+
+
+
+ Om prestatie- en stabiliteitsredenen is het aan te raden om
+ &man.tuning.7; te raadplegen. &man.pae.4; bevat bijgewerkte
+ informatie over de ondersteuning voor PAE in
+ &os;.
- * Device nodes maken
+ Apparaatnodes Maken
+
+ apparaatnodes
+
+ MAKEDEV
+
+ Als &os; 5.0 of hoger gedraaid wordt, kan deze
+ sectie veilig worden overgeslagen. Deze versies gebruiken
+ &man.devfs.5; om transparant apparaatnodes voor de gebruiker toe
+ te wijzen.
+
+ Bijna elk apparaat in de kernel heeft een overeenkomstige
+ node-ingang in de map /dev.
+ Deze nodes zien eruit als reguliere bestanden, maar zijn
+ eigenlijk speciale ingangen in de kernel die door programma's
+ gebruikt worden om toegang tot het apparaat te verkrijgen. Het
+ shellscript /dev/MAKEDEV, dat wordt
+ uitgevoerd als het besturingssysteem voor het eerst wordt
+ geïnstalleerd, maakt bijna alle ondersteunde apparaatnodes
+ aan. Het maakt echter niet alle nodes aan,
+ dus als ondersteuning voor een apparaat wordt toegevoegd, loont
+ het om te controleren of de geschikte ingangen in de map aanwezig
+ zijn en deze toe te voegen als ze ontbreken. Hier volgt een
+ eenvoudig voorbeeld:
+
+ Stel dat ondersteuning voor de IDE CD-ROM aan de kernel wordt
+ toegevoegd:
+
+ device ad0
+
+ Dit betekent dat de map /dev moet worden
+ onderzocht op ingangen die met acd0
+ beginnen, mogelijk gevolgd door een letter zoals
+ c of voorafgegaan door de letter
+ r, wat duidt op een raw
+ apparaat. Die bestanden zijn daar niet, dus moet in de map
+ /dev het volgende ingegeven worden:
+
+ MAKEDEV
+
+ &prompt.root; sh MAKEDEV acd0
+
+ Als dit script geëindigd is, zijn de ingangen
+ acd0c en racd0c in de
+ map /dev aanwezig, wat duidt op een juiste
+ uitvoer.
+
+ Voor geluidskaarten maakt het volgende commando de juiste
+ ingangen aan:
+
+ &prompt.root; sh MAKEDEV snd0
+
+
+ Als apparaatnodes voor apparaten als geluidskaarten worden
+ aangemaakt en andere mensen toegang tot de machine hebben, kan
+ het wenselijk zijn om de apparaten tegen toegang van buitenaf
+ te beschermen door deze aan /etc/fbtab toe
+ te voegen. In &man.fbtab.5; staat meer informatie.
+
-
+ Deze eenvoudige procedure dient gevolgd te worden voor elk
+ ander apparaat dat niet in GENERIC staat en
+ geen ingangen heeft in /dev.
+
+
+ Alle SCSI-controllers gebruiken dezelfde verzameling
+ ingangen in /dev, dus is het niet nodig om
+ deze aan te maken. Ook hebben netwerkkaarten en SLIP/PPP
+ pseudo-apparaten geen ingang in /dev, dus
+ is het niet nodig om hierover bezorgd te zijn.
+
- * Als er iets misgaat
+ Problemen Oplossen
+
+ Er zijn vijf categoriën problemen die op kunnen treden
+ tijdens het bouwen van een eigen kernel:
+
+
+
+ config faalt
+
+
+ Als het commando &man.config.8; faalt bij het verwerken
+ van de kernelbeschrijving, is er waarschijnlijk ergens een
+ eenvoudige fout gemaakt. Gelukkig geeft &man.config.8; het
+ nummer van de regel weer waarmee het problemen had, dus kan
+ snel de regel gevonden worden waarin de fout zit.
+ In het onderstaande voorbeeld dient gecontroleerd te worden
+ of het sleutelwoord juist is ingevoerd door het met de
+ kernel GENERIC of een andere
+ referentie te vergelijken:
+
+ config: line 17: syntax error
+
+
+
+
+ make faalt
+
+
+ Als make faalt, duidt dit meestal op
+ een fout in de kernelbeschrijving die niet erg genoeg is om
+ door &man.config.8; opgemerkt te worden. De instellingen
+ dienen nogmaals nagekeken te worden. Als het probleem nog
+ steeds niet is op te lossen, stuur dan een mail naar de
+ &a.questions; met de kernelinstellingen. Dat leidt meestal
+ snel tot een diagnose.
+
+
+
+
+ Het installeren van de nieuwe kernel mislukt
+
+
+ Als het compileren van de kernel goed ging, maar het
+ installeren mislukte (make install of
+ make installkernel faalde), dient als
+ eerste gecontroleerd te worden of het systeem op
+ beveiligingsniveau (securelevel) 1 of hoger draait (zie
+ &man.init.8;). De kernelinstallatie probeert namelijk om
+ de vlag immutable van de oude kernel te verwijderen en de
+ vlag immutable op de nieuwe kernel te zetten. Aangezien
+ beveiligingsniveau 1 of hoger verhindert om de vlag
+ immutable te verwijderen van enig bestand op het systeem,
+ dient de kernelinstallatie op beveiligingsniveau 0 of lager
+ uitgevoerd te worden.
+
+ Bovenstaande geldt alleen voor &os; 4.X en eerdere
+ versies. &os; 5.X en hogere versies zetten de vlag
+ immutable niet op de kernel en een mislukte poging om de
+ kernel de kernel te installeren duidt meestal op een
+ fundamenteler probleem.
+
+
+
+
+ De kernel start niet op
+
+
+ Als de nieuwe kernel niet opstart of de apparaten
+ niet herkent is kalmte geboden. &os; heeft een uitstekend
+ mechanisme om van niet-compatibele kernels te herstellen.
+ De gewenste kernel om mee op te starten kan vanuit de &os;
+ boot loader gekozen worden. Als het systeem terugtelt
+ vanaf 10, kan deze vanuit het opstartmenu gekozen worden.
+ Sla een willekeurige toets, behalve de
+ Enter toets, aan, voer
+ unload in en daarna
+ boot /boot/kernel.old/kernel
+ of de bestandsnaam van enige andere kernel die correct
+ opstart. Als de kernelinstellingen gewijzigd worden, is
+ het altijd aan te raden om een kernel bij de hand te houden
+ waarvan bekend is dat die juist werkt.
+
+ Nadat er met een goede kernel is opgestart, kan het
+ instellingenbestand gecontroleerd worden en geprobeerd
+ worden om de kernel nogmaals te bouwen. Een behulpzame
+ bron is het bestand /var/log/messages,
+ dat onder andere alle kernelberichten van alle keren dat er
+ succesvol is opgestart vastlegt. Ook geeft &man.dmesg.8;
+ alle kernelberichten weer van de huidige
+ opstartprocedure.
+
+
+ Als er problemen zijn met het bouwen van een kernel,
+ dient een GENERIC, of een andere
+ kernel waarvan bekend is dat die werkt, bewaard te worden
+ onder een andere naam die niet verwijderd wordt als de
+ volgende kernel gebouwd wordt. Er kan niet op
+ kernel.old vertrouwd worden omdat
+ bij de installatie van een nieuwe kernel
+ kernel.old overschreven wordt met de
+ laatst geïnstaleerde kernel, die niet hoeft te
+ werken. Ook dient de werkende kernel zo snel mogelijk
+ naar de juiste plaats /boot/kernel verplaatst te
+ worden, omdat anders commando's als &man.ps.1; eventueel
+ onjuist werken. Hiervoor dient simpelweg de map met de
+ goede kernel hernoemd te worden:
+
+ &prompt.root; mv /boot/kernel /boot/kernel.slecht
+&prompt.root; mv /boot/kernel.goed /boot/kernel
+
+ Voor versies van &os; eerder dan 5.X luidt het juiste
+ commando om het kernelbestand dat make
+ installeert te ontgrendelen (om een andere
+ kernel definitief terug te zetten):
+
+ &prompt.root; chflags noschg /kernel
+
+ Als dit niet mogelijk is, wordt er waarschijnlijk op
+ een beveiligingsniveau groter dan nul gedraaid. Wijzig
+ kern_securelevel in
+ /etc/rc.conf naar
+ –1 en start het systeem opnieuw.
+ Deze instelling kan op het vorige niveau worden
+ teruggezet als de nieuwe kernel naar behoren
+ werkt.
+
+ Als het wenselijk is om de nieuwe kernel
+ vast te zetten op zijn plaats, of enig
+ ander bestand, zodat het niet verplaatst of verknoeid kan
+ worden:
+
+ &prompt.root; chflags schg /kernel
+
+
+
+
+
+ De kernel werkt, maar &man.ps.1; werkt niet meer
-
+
+ Als er een andere versie van de kernel is
+ geïnstalleerd dan degene waarmee de
+ systeemgereedschappen gebouwd zijn, bijvoorbeeld een kernel
+ voor 5.X op een 4.X-systeem, werken vele
+ systeemstatuscommando's als &man.ps.1; en &man.vmstat.8;
+ niet langer. De wereld moet opnieuw gecompileerd en
+ geïnstalleerd worden en met dezelfde broncodestructuur
+ als de kernel zijn gebouwd. Dit is een van de redenen
+ waarom het normaliter geen goed idee is om een afwijkende
+ versie van de kernel ten opzichte van de rest van de wereld
+ te gebruiken.
+
+
+
diff --git a/nl_NL.ISO8859-1/books/handbook/multimedia/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/multimedia/chapter.sgml
index 906c1989df..4c12a2d5a8 100644
--- a/nl_NL.ISO8859-1/books/handbook/multimedia/chapter.sgml
+++ b/nl_NL.ISO8859-1/books/handbook/multimedia/chapter.sgml
@@ -1,271 +1,2046 @@
-
-
-
- Ross
- Lippert
- Bewerkt door
-
-
-
- * Multimedia
+
+
+
+ Ross
+ Lippert
+ Aangepast door
+
+
+
+
+ Siebrand
+ Mazeland
+ Vertaald door
+
+
+
+
+ Multimedia
- * Samenvatting
+ Overzicht
+
+ &os; ondersteunt een breed bereik aan geluidskaarten,
+ waardoor het mogelijk is van geluid van hoge kwaliteit op een
+ computer te genieten. Hieronder vallen mogelijkheden om geluid
+ op te nemen en af te spelen in de MPEG Audio Layer 3 (MP3), WAV
+ en Ogg Vorbis formaten en vele andere formaten. De &os;
+ portscollectie bevat ook programma's waarmee opgenomen audio
+ bewerkt kan worden, waarmee geluidseffecten toegevoegd kunnen
+ worden en aangesloten MIDI apparaten bestuurd kunnen
+ worden.
+
+ Met wat wil om te experimenteren kunnen met &os;
+ videobestanden en DVD's afgespeeld worden. Er zijn minder
+ programma's om video te encoderen, te converteren en af te spelen
+ dan er zijn voor audio. Op het moment van schrijven is er
+ bijvoorbeeld geen programma in de &os; portscollectie beschikbaar
+ waarmee video goed gehercodeerd kan worden. Deze functie zou
+ gebruikt kunnen worden om tussen formaten te converteren, zoals
+ mogelijk is met audio/sox.
+ De software in dit landschap is echter sterk aan verandering
+ onderhevig.
+
+ In dit hoofdstuk worden de stappen beschreven die uitgevoerd
+ moeten worden om een geluidskaart in te stellen. Bij de
+ installatie en instelling van X11 () is al
+ beschreven hoe videokaarten ingesteld kunnen worden, hoewel er
+ nog wel een aantal mogelijkheden zijn om het afspelen te
+ verbeteren.
+
+ Na het lezen van dit hoofdstuk weet de lezer:
+
+
+
+ Hoe een systeem zo in te stellen dat een geluidskaart
+ wordt herkend;
+
+
+
+ Hoe getest kan worden of een kaart werkt door gebruik te
+ maken van voorbeeldapplicaties;
+
+
+
+ Hoe problemen op te lossen met betrekking tot
+ geluidsinstellingen;
+
+
+
+ Hoe MP3's en andere audio af te spelen en te
+ maken;
+
+
+
+ Hoe video wordt ondersteund door de X server;
+
+
+
+ Welke video speler/encoderports goede resultaten
+ geven;
+
+
+
+ Hoe DVD's, .mpg en
+ .avi bestanden af te spelen;
+
+
+
+ Hoe CD en DVD informatie naar bestanden geript kan
+ worden;
+
+
+
+ Hoe een TV-kaart in te stellen;
+
+
+
+ Hoe een scanner in te stellen.
+
+
+
+ Er wordt aangenomen dat de lezer van dit hoofdstuk:
+
+
+ Weet hoe een nieuwe kernel in te stellen en te
+ installeren ().
+
+
+
+
+ Het proberen te mounten van audio CD's met &man.mount.8;
+ resulteert in ieder geval in een foutmelding en op zijn ergst
+ in een kernel panic. Dat type media heeft
+ een formaat dat afwijkt van het gebruikelijke
+ ISO-bestandssysteem.
+
- MosesMoore
- Bijgedragen door
+ Geschreven door
+
+
+ Marc
+ Fonvieille
+ Aangepast voor &os; 5.X door
+
+
+
- * Het installeren van de geluidskaart
+
+ Geluidskaart Installeren
- * Het correcte apparaat vinden
+ Systeem Instellen
-
- * Creative, Advance en ESS geluidskaarten
+ PCI
-
-
+ ISA
-
- * Gravis UltraSound kaarten
+ geluidskaarten
-
-
+ Alvorens te beginnen is het van belang te weten welk model
+ een geluidskaart is, welke chip erop wordt gebruikt en of het
+ een PCI of ISA kaart is. &os; ondersteunt vele PCI en ISA
+ kaarten. De ondersteunde audioapparaten staan in een lijst in
+ de Hardware Notes.
+ In dit document staat ook beschreven welk stuurprogramma welke
+ kaart(en) ondersteunt.
-
- * Crystal geluidskaarten
+
+ kernel
-
-
+ instellen
+
-
- * Generieke ondersteuning
+ Om een geluidsapparaat te gebruiken dient het juiste
+ apparaatstuurprogramma geladen te worden. Dit kan op twee
+ manieren. De meest eenvoudige manier is simpelweg een
+ kernelmodule te laden voor de gewenste geluidskaart met
+ &man.kldload.8;. Dit kan vanaf de commandoregel:
-
-
+ &prompt.root; kldload snd_emu10k1
+
+ Of door als volgt de juiste regel toe te voegen aan
+ /boot/loader.conf:
+
+ snd_emu10k1_load="YES"
+
+ De bovenstaande voorbeelden zijn voor een Creative
+ &soundblaster; Live! geluidskaart. De overige beschikbare
+ laadbare geluidsmodules staan beschreven in
+ /boot/defaults/loader.conf. Als niet
+ compleet duidelijk is welk stuurprogramma gebruikt dient te
+ worden, dan kan het met de module
+ snd_driver geprobeerd worden:
+
+ &prompt.root; kldload snd_driver
+
+ Dit is een metastuurprogramma, dat in één
+ keer de meest voorkomende apparaatstuurprogramma's laadt.
+ Hiermee kan het zoeken naar het juiste stuurprogramma versneld
+ worden. Het is ook mogelijk om alle geluidsstuurprogramma's te
+ laden via de optie
+ /boot/loader.conf.
+
+
+ Om onder &os; 4.X alle geluidsstuurprogramma's te
+ laden, dient de module snd geladen te
+ worden in plaats van snd_driver.
+
+
+ Een tweede mogelijkheid is ondersteuning voor een
+ geluidskaart statisch in de kernel te compileren. In de
+ onderstaande paragrafen staat meer informatie over hoe op die
+ manier ondersteuning voor hardware toegevoegd kan worden. Meer
+ informatie over het hercompileren van een kernel staat in .
- * Onboard geluidskaarten
+ Aangepaste Kernel Maken met Geluidsondersteuning
+
+ Eerst moet het generieke audiostuurprogramma
+ &man.sound.4; aan de kernel toegevoegd worden. Daarvoor
+ dient het volgende te worden opgenomen in het bestand met
+ kernelinstellingen:
+
+ device sound
-
+ Voor &os; 4.X kan het volgende gebruikt
+ worden:
+
+ device pcm
+
+ Daarna kan ondersteuning voor de specifieke geluidskaart
+ toegevoegd worden. Daarvoor moet bekend zijn welk
+ stuurprogramma de kaart ondersteunt. Dit kan opgezocht
+ worden in de lijst met ondersteunde audioapparaten in de
+ Hardware Notes,
+ waar de correcte stuurprogramma's voor geluidskaarten
+ beschreven staan. Zo wordt een Creative &soundblaster; Live!
+ geluidskaart bijvoorbeeld ondersteund door het stuurprogramma
+ &man.snd.emu10k1.4;. Ondersteuning voor deze kaart kan als
+ volgt worden toegevoegd:
+
+ device "snd_emu10k1"
+
+ In de hulppagina voor een stuurprogramma staat welke
+ syntaxis gebruikt kan worden. Informatie over de syntaxis
+ van geluidsstuurprogramma's in de kernelinstellingen staat
+ ook in /usr/src/sys/conf/NOTES
+ (/usr/src/sys/i386/conf/LINT voor
+ &os; 4.X).
+
+ Voor niet-PnP ISA-kaarten kan het nodig zijn dat de
+ kernel informatie gegeven moet worden over de instellingen
+ van een geluidskaart (IRQ, I/O poort, enzovoort). Dit kan
+ via het bestand /boot/device.hints. Bij
+ het starten van een systeem leest de &man.loader.8; dat
+ bestand uit en geeft de instellingen door aan de kernel. Zo
+ gebruikt een oude Creative &soundblaster; 16 ISA
+ niet-PnP-kaart het stuurprogramma &man.snd.sbc.4; en dient de
+ volgende regel toegevoegd te worden aan het bestand met
+ kernelinstellingen:
+
+ device snd_sbc
+
+ Daarnaast moet het volgende worden toegevoegd aan
+ /boot/device.hints:
+
+ hint.sbc.0.at="isa"
+hint.sbc.0.port="0x220"
+hint.sbc.0.irq="5"
+hint.sbc.0.drq="1"
+hint.sbc.0.flags="0x15"
+
+ In dit geval gebruikt de kaart I/O poort
+ 0x220 en IRQ 5.
+
+ De gebruikte syntaxis voor
+ /boot/device.hints staat beschreven in
+ de hulppagina voor het geluidsstuurprogramma. In
+ &os; 4.X worden deze instellingen direct in het bestand
+ met kernelinstellingen gezet. In het geval van de
+ bovenstaande ISA-kaart gaat dat al volgt:
+
+ device sbc0 at isa? port 0x220 irq 5 drq 1 flags 0x15
+
+ De bovenstaande instellingen zijn de standaard
+ instellingen. In sommige gevallen moeten IRQ of andere
+ instellingen gewijzigd worden om een apparaat juist te laten
+ werken. In &man.snd.sbc.4; staat meer informatie.
+
+
+ Onder &os; 4.X hebben sommige systemen met
+ audioapparaten op het moederbord de volgende optie in het
+ bestand met kernelinstellingen nodig:
+
+ options PNPBIOS
+
-
- * Het maken en testen van device nodes
+
+ Geluidskaart Testen
+
+ Na het herstarten met de aangepaste kernel of na het laden
+ van de benodigde module, hoort de geluidskaart ongeveer als
+ volgt te verschijnen in de systeemberichtbuffer
+ (&man.dmesg.8;):
+
+ pcm0: <Intel ICH3 (82801CA)> port 0xdc80-0xdcbf,0xd800-0xd8ff irq 5 at device 31.5 on pci0
+pcm0: [GIANT-LOCKED]
+pcm0: <Cirrus Logic CS4205 AC97 Codec>
+
+ De status van de geluidskaart kan gecontroleerd worden via
+ het bestand /dev/sndstat:
+
+ &prompt.root; cat /dev/sndstat
+FreeBSD Audio Driver (newpcm)
+Installed devices:
+pcm0: <Intel ICH3 (82801CA)> at io 0xd800, 0xdc80 irq 5 bufsz 16384
+kld snd_ich (1p/2r/0v channels duplex default)
+
+ De uitvoer kan per systeem wat verschillen. Als er geen
+ apparaten pcm verschijnen, dienen
+ eerdere stappen bekeken te worden. Bekijk nogmaals de
+ instellingen van de kernel en bevestig dat het juiste apparaat
+ is gekozen. Veel voorkomende problemen staan beschreven in
+ .
+
+ Als het goed is werkt de geluidskaart nu. Als de CD-ROM of
+ DVD-ROM drive juist is aangesloten op de geluidskaart, dan kan
+ er een CD in de drive gestoken worden en kan deze met
+ &man.cdcontrol.1; afgespeeld worden:
+
+ &prompt.user; cdcontrol -f /dev/acd0 play 1
+
+ Applicaties als audio/workman kunnen een
+ vriendelijker interface bieden. Wellicht is het handig om een
+ applicatie als audio/mpg123
+ te installeren om naar MP3 audiobestanden te luisteren. Een
+ snelle manier om de kaart te testen is het als volgt sturen van
+ data naar /dev/dsp:
+
+ &prompt.user; cat filename > /dev/dsp
+
+ filename kan ieder bestand zijn.
+ Deze commandoregel hoort wat ruis tot gevolg te hebben,
+ waardoor wordt bevestigd dat de geluidskaart echt werkt.
+
+
+ &os; 4.X gebruikers moeten de geluidskaart
+ apparaatnodes maken voordat hij gebruikt kan worden. Als de
+ kaart voorkomt in de berichtbuffer als
+ pcm0, dan dient het volgende als
+ root uitgevoerd te worden:
+
+ &prompt.root; cd /dev
+&prompt.root; sh MAKEDEV snd0
+
+ Als de kaart herkend is als
+ pcm1, kunnen dezelfde stappen als
+ hierboven gevolgd worden, waarbij
+ snd0 wordt vervangen door
+ snd1.
+
+ MAKEDEV maakt een groep apparaatnodes
+ aan die gebruikt worden voor de applicaties die met geluid
+ te maken hebben.
+
+
+ Niveau's voor de geluidskaartmixer kunnen aangepast worden
+ met het commando &man.mixer.8;. Er staan meer details in
+ &man.mixer.8;.
- * Veel voorkomende problemen
+ Bekende Problemen
+
+ apparaatnodes
+
+ I/O poort
+
+ IRQ
+
+ DSP
+
+
+
+
+
+ Fout
+
+ Oplossing
+
+
+
+
+
+ unsupported
+ subdevice XX
+
+ Eén of meer van de apparaatnodes zijn
+ niet correct gemaakt. De bovenstaande stappen dienen
+ opnieuw uitgevoerd te worden.
+
-
+
+ sb_dspwr(XX) timed
+ out
+
+ De I/O poort is niet correct ingesteld.
+
+
+
+ bad irq XX
+
+ Het IRQ is niet correct ingesteld. Zorg dat het
+ ingestelde IRQ en het IRQ voor het geluid hetzelfde
+ zijn.
+
+
+
+ xxx: gus pcm not attached, out of
+ memory
+
+ Er is niet genoeg geheugen beschikbaar om het
+ apparaat te gebruiken.
+
+
+
+ xxx: can't open
+ /dev/dsp!
+
+ Controleer fstat | grep dsp
+ of een ander programma het apparaat geopend heeft.
+ Bekende probleemgevallen zijn
+ esound en
+ KDE's
+ geluidsondersteuning.
+
+
+
+ MunishChopra
- Bijgedragen door
+ Geschreven door
- * Gebruik maken van meerdere geluidsbronnen
-
+ Meerdere Geluidsbronnen Gebruiken
+
+ Het is vaak wenselijk om meerdere geluidsbronnen
+ tegelijkertijd af te kunnen spelen, zoals wanneer
+ esound of
+ artsd het delen van een
+ geluidsapparaat met een andere applicatie niet
+ ondersteunen.
+
+ Met &os; kan dit met Virtuele
+ Geluidskanalen, die ingesteld kunnen worden met de
+ &man.sysctl.8; faciliteit. Met virtuele kanalen kunnen de
+ afspeelkanalen van een geluidskaart gemultiplext worden door
+ het geluid in de kernel te mixen.
+
+ Het aantal virtuele kanalen kan met twee sysctl knoppen
+ als root als volgt ingesteld
+ worden:
+
+ &prompt.root; sysctl hw.snd.pcm0.vchans=4
+&prompt.root; sysctl hw.snd.maxautovchans=4
+
+ In het bovenstaande voorbeeld worden vier virtuele kanelen
+ gealloceerd, wat in het dagelijks gebruik voldoende is.
+ In hw.snd.pcm0.vchans staat het aantal
+ vitruele kanalen dat pcm0 heeft en is
+ instelbaar als een apparaat is aangesloten.
+ In hw.snd.maxautovchans staat het aantal
+ virtuele kanalen dat aan een nieuw audio-apparaat wordt gegeven
+ als het wordt aangesloten met &man.kldload.8;. Omdat de module
+ pcm onafhankelijk van de hardware
+ stuurprogramma's geladen kan worden, kan in
+ hw.snd.maxautovchans opgeslagen worden
+ hoeveel virtuele kanalen apparaten die later worden aangesloten
+ krijgen.
+
+ Als er geen gebruik wordt gemaakt van &man.devfs.5;, dan
+ moeten applicaties wijzen naar
+ /dev/dsp0.x,
+ waar x tussen 0 en 3 ligt als
+ hw.snd.pcm.0.vchans is ingesteld op 4, zoals
+ in het bovenstaande voorbeeld. Op een systeem waar
+ &man.devfs.5; wordt gebruikt, wordt het voorgaande voor een
+ gebruiker automatisch transparant gealloceerd.
+
+
+
+
+
+
+ Josef
+ El-Rayes
+ Geschreven door
+
+
+
+
+ Standaardwaarden voor Mixerkanalen Instellen
+
+ De standaard waarden voor de mixerkanelen zijn ingesteld in
+ de broncode van het stuurprogramma &man.pcm.4;. Er zijn vele
+ applicaties en daemons waarmee waarden voor de mixer ingesteld
+ en onthouden kunnen worden en iedere keer bij het starten
+ weer kunnen worden ingesteld. Maar dit is geen nette
+ oplossing, omdat het netter is de standaardwaarden in te
+ stellen op het niveau van het stuurprogramma. Die kunnen
+ ingesteld worden door de gewenste waarden in te stellen in
+ /boot/device.hints. Bijvoorbeeld:
+
+ hint.pcm.0.vol="100"
+
+ Met de bovenstaande instelling wordt het volume van een
+ kanaal standaard op 100 ingesteld bij het laden van de module
+ &man.pcm.4;.
+
+
+ Dit wordt alleen ondersteund in &os; 5.3 en
+ hoger.
+ ChernLee
- Bijgedragen door
+ Geschreven door
- * MP3 Audio
+
+ MP3 Audio
+
+ Met MP3 (MPEG Layer 3 Audio) kan geluid bijna in CD-kwaliteit
+ weergegeven worden en dus is er een goede reden om dit vooral
+ niet na te laten op een &os; werkstation.
- * MP3 spelers
+ MP3 Spelers
+
+ Verreweg de meest populaire X11 MP3 speler is
+ XMMS (X Multimedia Systeem).
+ In XMMS kunnen
+ Winamp skins gebruikt worden, omdat
+ de GUI vrijwel gelijk is aan die van Nullsoft's
+ Winamp.
+ XMMS heeft ook een eigen plug-in
+ ondersteuning.
+
+ XMMS kan geïnstalleerd
+ worden via de multimedia/xmms port of
+ package.
+
+ De interface van XMMS is
+ intuïtief met een playlist, grafische equalizer en meer.
+ Gebruikers die bekend zijn met
+ Winamp vinden
+ XMMS vast eenvoudig te
+ gebruiken.
+
+ De port audio/mpg123 is
+ een alternatieve MP3 speler die gebruik maakt van de
+ commandoregel.
+
+ mpg123 werkt door het
+ geluidsapparaat en het MP3 bestand aan te geven op de
+ commandoregel, zoals hieronder wordt aangegeven:
+
+ &prompt.root; mpg123 -a /dev/dsp1.0 Foobar-GreatestHits.mp3
+High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3.
+Version 0.59r (1999/Jun/15). Written and copyrights by Michael Hipp.
+Uses code from various people. See 'README' for more!
+THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!
+
+
-
+
+
+Playing MPEG stream from Foobar-GreatestHits.mp3 ...
+MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo
+
+ /dev/dsp1.0 dient gewijzigd te worden in
+ het dsp apparaat van het systeem
+ waarop de MP3 afgespeeld moet worden.
- * Rippen van CD Audio tracks
+ CD Audio Tracks Rippen
+
+ Voordat een CD of een CD track naar MP3 ge-encodeerd kan
+ worden moet de audiodata naar de harde schijf geript worden.
+ Dit gaat door de ruwe CDDA (CD Digital Audio) data naar
+ WAV-bestanden de kopiëren.
+
+ Het hulpprogramma cdda2wav, dat
+ onderdeel is van de suite sysutils/cdrtools, kan gebruikt
+ worden om audio-informatie en de daarbij behorende informatie
+ van CD's te rippen.
+
+ Als de audio CD in de drive zit, kan het volgende commando
+ als root uitgevoerd worden om een hele CD
+ naar individuele (per track) WAV-bestanden te rippen:
+
+ &prompt.root; cdda2wav -D 0,1,0 -B
+
+ cdda2wav ondersteunt ATAPI (IDE)
+ CDROM drives. Om van een IDE drive te rippen, dient de
+ apparaatnaam aangegeven te worden in plaats van de SCSI
+ eenheidsnummers. Om bijvoorbeeld track 7 van een IDE drive te
+ rippen:
+
+ &prompt.root; cdda2wav -D /dev/acd0a -t 7
+
+ De optie
+ geeft het
+ SCSI apparaat 0,1,0 aan, dat
+ overeenkomt met de uitvoer van cdrecord
+ -scanbus.
+
+ Om individuele tracks te rippen kan gebruik gemaakt worden
+ van de optie :
+
+ &prompt.root; cdda2wav -D 0,1,0 -t 7
-
+ In het bovenstaande voorbeeld wordt track 7 van de audio
+ CDROM geript. Om een reeks tracks te rippen, bijvoorbeeld van
+ 1 tot 7, kan een reeks opgegeven worden:
+
+ &prompt.root; cdda2wav -D 0,1,0 -t 1+7
+
+ Ook het hulpprogramma &man.dd.1; kan gebruikt worden om
+ audio tracks van ATAPI drives af te halen. Deze mogelijkheid
+ wordt beschreven in .
- * MP3's encoderen
+ MP3's Encoderen
+
+ Tegenwoodig is de MP3 encoder
+ lame.
+ Lame staat in
+ audio/lame in de
+ portsstructuur.
-
+ Met de geripte WAV-bestanden converteert het volgende
+ commando audio01.wav naar
+ audio01.mp3:
+
+ &prompt.root; lame -h -b 192 \
+--tt "Foo Titel" \
+--ta "FooBar Artiest" \
+--tl "FooBar Album" \
+--ty "2005" \
+--tc "Geript en encoded door Foo" \
+--tg "Genre" \
+audio01.wav audio01.mp3
+
+ 192 kbits lijkt de standaard bitrate voor MP3 te zijn.
+ Het is ook mogelijk 128 of 160 of andere bitrates te gebruiken.
+ Hoe hoger de bitrate, hoe meer schijfruimte de uiteindelijke
+ MP3-bestanden gebruiken, maar ook de kwaliteit wordt dan hoger.
+ Met de optie wordt de modus hogere
+ kwaliteit, maar iets langzamer ingeschakeld. Met de
+ opties vanaf worden de ID3 tags ingegeven,
+ die meestal informatie over een nummer bevatten en onderdeel
+ uitmaken van het MP3-bestand. In de hulppagina voor
+ lame staan nog meer opties die
+ gebruikt kunnen worden bij het encoderen beschreven.
- * MP3's decoderen
+ MP3's Decoderen
+
+ Om een CD te kunnen branden van MP3's, moeten ze omgezet
+ worden naar een niet gecomprimeerd WAV-formaat. Zowel
+ XMMS als
+ mpg123 ondersteunen de uitvoer van
+ MP3 naar een niet gecomprimeerd bestandsformaat.
+
+ Naar schijf schrijven met
+ XMMS:
+
+
+
+ Start XMMS;
+
+
+
+ Klik rechts op het venster om het
+ XMMS menu te zien;
+
+
+
+ Selecteer Preference onder
+ Options;
+
+
+
+ Wijzig de Output Plugin naar Disk Writer
+ Plugin;
+
+
+
+ Klik Configure;
+
-
+
+ Voer een map in (of kies browse) waar de
+ ongecomprimeerde bestanden heengeschreven moeten
+ worden;
+
+
+
+ Laad de MP3-bestanden zoals gewoonlijk in
+ XMMS, met het volume op 100% en
+ de EQ instellingen uitgeschakeld;
+
+
+
+ Klik Play.
+ XMMS lijkt nu de MP3 af te
+ spelen, maar er is geen muziek te horen. Nu wordt
+ feitelijk de MP3 afgespeeld naar een bestand;
+
+
+
+ Zorg ervoor dat de standaard Output Plugin wordt
+ teruggezet naar hoe de instellingen waren om weer naar
+ MP3's te kunnen luisteren.
+
+
+
+ Schrijven naar stdout vanuit
+ mpg123:
+
+
+
+ Voer mpg123 -s
+ audio01.mp3 >
+ audio01.pcm uit.
+
+
+
+ XMMS schijft een bestand in het
+ WAV-formaat, terwijl mpg123 de MP3
+ converteert naar ruwe PCM audio data. Beide formaten kunnen
+ gebruikt worden met cdrecord om
+ audio CD's te maken. Met &man.burncd.8; moeten ruwe
+ PCM-bestanden gebruikt worden. Als er WAV-bestanden worden
+ gebruikt, is er een tik-geluid te horen bij het begin van
+ iedere track. Dit is het geluid van de kop van ieder
+ WAV-bestand. Met het hulpprogramma
+ SoX kan de kop van WAV-bestanden
+ verwijderd worden. Dit programma kan geïnstalleerd worden
+ met de port of package audio/sox
+
+ &prompt.user; sox -t wav -r 44100 -s -w -c 2 track.wav track.raw
+
+ In staat meer informatie over
+ het gebruiken van een CD-brander in &os;.
-
+
-
-
-
-
- Ross
- Lippert
- Bijgedragen door
-
-
-
-
- * Afspelen van video
+
+
+
+
+ Ross
+ Lippert
+ Geschreven door
+
+
+
+
+
+ Video Afspelen
+
+ Video afspelen is een relatief nieuwe en zich snel
+ ontwikkelende richting voor applicaties. In tegenstelling tot
+ voor audio werkt alles hier niet zo soepel.
+
+ Voor er wordt begonnen is het van belang te weten welk
+ model videokaart zich in een systeem bevindt en welke chip die
+ gebruikt. Hoewel &xorg; en
+ &xfree86; vele videokaarten
+ ondersteunen, zijn er veel minder geschikt om goed video mee af
+ te spelen. Er kan een lijst met ondersteunde extensies getoond
+ worden voor X server met de gebruikte videokaart door het
+ commando &man.xdpyinfo.1; uit te voeren terwijl X11
+ draait.
+
+ Het is verstandig een kort MPEG-bestand beschikbaar te
+ hebben dat gebruikt kan worden als testbestand voor het
+ evalueren van de spelers en hun opties. Omdat sommige
+ DVD-spelers standaard zoeken naar DVD media in
+ /dev/dvd of deze apparaatnaam standaard in
+ de broncode hebben staan, is het wellicht verstandig om een
+ symbolische link te maken naar de juist apparaten:
+
+ &prompt.root; ln -sf /dev/acd0c /dev/dvd
+&prompt.root; ln -sf /dev/racd0c /dev/rdvd
+
+ In &os; 5.X, dat &man.devfs.5; gebruikt, worden
+ net iets andere links aangeraden:
+
+ &prompt.root; ln -sf /dev/acd0 /dev/dvd
+&prompt.root; ln -sf /dev/acd0 /dev/rdvd
+
+ Vanwege de werking van &man.devfs.5;, blijven handmatig
+ aangemaakte links niet bestaan als een systeem wordt herstart.
+ Om automatisch symbolische links aan te laten maken als een
+ systeem start, kunnen de volgende regels toegevoegd worden aan
+ /etc/devfs.conf:
+
+ link acd0 dvd
+link acd0 rdvd
+
+ Daarnaast zijn voor het decoderen van DVD, waarvoor
+ bijzondere DVD-ROM functies aangeroepen worden, schrijfrechten
+ op de DVD-apparaten nodig.
+
+
+ kernelopties
+
+ options CPU_ENABLE_SSE
+
+
+
+ kernelopties
+
+ options USER_LDT
+
+
+ Een aantal van de hier besproken ports hebben specifieke
+ kernelopties nodig om correct gebouwd te worden. Voordat ze
+ gebouwd worden, dienen deze opties aan het bestand met
+ kernelinstellingen toegevoegd te worden, dient de kernel
+ opnieuw gebouwd te worden en het systeem opnieuw gestart te
+ worden:
+
+ option CPU_ENABLE_SSE
+option USER_LDT
+
+
+ option USER_LDT bestaat niet in
+ &os; 5.X.
+
+
+ Om de gedeeld geheugen interface van X11 te verbeteren,
+ wordt aangeraden dat een aantal variablelen van &man.sysctl.8;
+ worden verhoogd:
+
+ kern.ipc.shmmax=67108864
+kern.ipc.shmall=32768
+
+
+
+ Videomogelijkheden Vaststellen
+
+ XVideo
+
+ SDL
+
+ DGA
+
+ Er zijn een aantal methoden om video weer te geven onder
+ X11. Welke echt werkt, is voornamelijk afhankelijk van de
+ gebruikte hardware. Iedere hieronder beschreven methode geeft
+ andere resultaten op andere hardware. De laatste tijd krijgt
+ het renderen van video in X11 veel aandacht en bij iedere
+ versie van &xorg; of
+ &xfree86; kan er een aanzienlijke
+ verbetering zijn.
+
+ Een lijst van veel gebruikte video-interfaces:
+
+
+
+ X11: normale X11 uitvoer met gebruikmaking van gedeeld
+ geheugen;
+
+
+
+ XVideo: een uitbreiding op de X11 interface die video
+ in een door X11 getekend object ondersteunt;
+
-
- * Bepalen van video mogelijkheden
+
+ SDL: de Simple Directmedia Layer;
+
-
- * XVideo
+
+ DGA: de Direct Graphics Access;
+
-
-
+
+ SVGAlib: low level console grafische laag.
+
+
-
- * Simple Directmedia Layer
+
+ XVideo
-
-
+ &xorg; en
+ &xfree86; 4.X kennen een
+ uitbreiding XVideo, ook bekend als
+ Xvideo, Xv of xv, waarmee video direct weergegeven kan worden
+ in getekende objecten door een speciale versneller. Deze
+ uitbreiding geeft een goede afspeelkwaliteit, zelfs op
+ machines met mindere specificaties.
-
- * Direct Graphics Access
+ Of de uitbreiding actief is, kan gecontroleerd worden met
+ het commando xvinfo:
-
-
-
+ &prompt.user; xvinfo
-
- * Ports en pakketten die omgaan met video
+ XVideo wordt ondersteund als de uitvoer er ongeveer als
+ volgt uitziet:
-
- * MPlayer
+ X-Video Extension version 2.2
+screen #0
+ Adaptor #0: "Savage Streams Engine"
+ number of ports: 1
+ port base: 43
+ operations supported: PutImage
+ supported visuals:
+ depth 16, visualID 0x22
+ depth 16, visualID 0x23
+ number of attributes: 5
+ "XV_COLORKEY" (range 0 to 16777215)
+ client settable attribute
+ client gettable attribute (current value is 2110)
+ "XV_BRIGHTNESS" (range -128 to 127)
+ client settable attribute
+ client gettable attribute (current value is 0)
+ "XV_CONTRAST" (range 0 to 255)
+ client settable attribute
+ client gettable attribute (current value is 128)
+ "XV_SATURATION" (range 0 to 255)
+ client settable attribute
+ client gettable attribute (current value is 128)
+ "XV_HUE" (range -180 to 180)
+ client settable attribute
+ client gettable attribute (current value is 0)
+ maximum XvImage size: 1024 x 1024
+ Number of image formats: 7
+ id: 0x32595559 (YUY2)
+ guid: 59555932-0000-0010-8000-00aa00389b71
+ bits per pixel: 16
+ number of planes: 1
+ type: YUV (packed)
+ id: 0x32315659 (YV12)
+ guid: 59563132-0000-0010-8000-00aa00389b71
+ bits per pixel: 12
+ number of planes: 3
+ type: YUV (planar)
+ id: 0x30323449 (I420)
+ guid: 49343230-0000-0010-8000-00aa00389b71
+ bits per pixel: 12
+ number of planes: 3
+ type: YUV (planar)
+ id: 0x36315652 (RV16)
+ guid: 52563135-0000-0000-0000-000000000000
+ bits per pixel: 16
+ number of planes: 1
+ type: RGB (packed)
+ depth: 0
+ red, green, blue masks: 0x1f, 0x3e0, 0x7c00
+ id: 0x35315652 (RV15)
+ guid: 52563136-0000-0000-0000-000000000000
+ bits per pixel: 16
+ number of planes: 1
+ type: RGB (packed)
+ depth: 0
+ red, green, blue masks: 0x1f, 0x7e0, 0xf800
+ id: 0x31313259 (Y211)
+ guid: 59323131-0000-0010-8000-00aa00389b71
+ bits per pixel: 6
+ number of planes: 3
+ type: YUV (packed)
+ id: 0x0
+ guid: 00000000-0000-0000-0000-000000000000
+ bits per pixel: 0
+ number of planes: 0
+ type: RGB (packed)
+ depth: 1
+ red, green, blue masks: 0x0, 0x0, 0x0
-
- * Building MPlayer
+
+ Sommige van de weergegeven formaten (YUV2, YUV12,
+ enzovoort) zijn niet in iedere implementaties van XVideo
+ beschikbaar en hun afwezigheid kan sommige spelers
+ hinderen.
+
-
-
+ Als het resultaat er als hieronder uitziet, is er geen
+ ondersteuning voor XVideo aanwezig op de videokaart in een
+ systeem:
-
- * MPlayer gebruiken
+ X-Video Extension version 2.2
+screen #0
+no adaptors present
-
-
+ Als XVideo voor een kaart niet wordt ondersteund, dan
+ betekent dat alleen dat het lastiger wordt om op een
+ beeldscherm aan de vereisten voor het renderen van video te
+ voldoen. Afhankelijk van de videokaart en de processor kan
+ het toch nog mogelijk zijn om acceptabele prestaties neer te
+ zetten. In staan
+ verwijzingen naar leesvoer over mogelijkheden voor het
+ verbeteren van prestaties.
+
+
+
+ Eenvoudige Directmedia Laag
+
+ De Eenvoudige Directmedia Laag (Simple Directmedia
+ Layer), SDL, was bedoeld als een porting-laag tussen
+ µsoft.windows;, BeOS en &unix;, waardoor cross-platform
+ toepassingen konden worden ontwikkeld die efficiënt
+ gebruik maken van geluid en beelden. De SDL laag biedt een
+ abstractie op laag niveau naar de hardware die soms
+ efficiënter kan zijn dan de X11 interface.
+
+ De SDL staat in devel/sdl12.
+
+
+
+ Directe Grafische Toegang
+
+ Directe Grafische Toegang (Direct Graphics Access) is een
+ X11 uitbreiding die een programma in staat stelt voorbij te
+ gaan aan de X server en de framebuffer direct kan wijzigen.
+ Omdat hij afhankelijk is van geheugenmapping op een laag
+ niveau om dit delen uit te voeren, moeten programma's die er
+ gebruik van maken als root
+ draaien.
+
+ De DGA uitbreiding kan getest en gebenchmarkt worden met
+ &man.dga.1;. Als dga draait, verandert
+ het de kleuren op een scherm als er een toets wordt
+ ingedrukt. Om te stoppen kan de toets q
+ gebruikt worden.
+
+
+
+
+ Ports en Packages met Video
+
+ videopoorten
+
+ videopackages
+
+ In dit onderdeel wordt de software die vanuit de &os;
+ portscollectie beschikbaar is voor het afspelen van video
+ beschreven. Het afspelen van video is een tak van
+ softwareontwikkeling die erg in beweging is en de mogelijkheden
+ van de verschillende applicaties verschillen zeer
+ waarschijnlijk van wat hier is beschreven.
+
+ Als eerste is het belangrijk om te weten dat veel
+ applicaties die met video te maken hebben en op &os; draaien
+ ontwikkeld zijn als &linux; applicaties. Veel van die
+ applicaties zijn op het moment van schrijven van
+ beta-kwaliteit. Problemen die te verwachten zijn bij het
+ gebruik van de beschreven videopakketten op &os; zijn:
+
+
+
+ Een applicatie kan geen bestanden afspelen die zijn
+ gemaakt met een andere applicatie;
+
+
+
+ Een applicatie kan geen bestanden afspelen die met de
+ applicatie zelf zijn gemaakt;
+
+
+
+ Dezelfde applicatie, op twee verschillende machines
+ gebouwd, speelt hetzelfde bestand op twee machines anders
+ af;
+
+
+
+ Een ogenschijlijk triviale filter, zoals het herschalen
+ van beeldgrootte, kan resulteren in vreselijk vervelende
+ artefacten door fouten in de routine voor het
+ herschalen;
+
+
+
+ Een applicatie dumpt zijn core regelmatig;
+
+
+
+ Documentatie wordt niet geïnstalleerd bij de port
+ en staat op het web of in de map work van de port.
+
+
+
+ Veel van deze applicaties kunnen ook
+ Linux-ismes vertonen. Zo kunnen er bijvoorbeeld
+ problemen ontstaan door de wijze waarop standaard bibliotheken
+ zijn geïmplementeerd in de &linux; distributies of een
+ aantal van de mogelijkheden van de &linux;-kernel, waarvan
+ door de makers van de applicatie wordt aangenomen dat ze
+ aanwezig zijn. Dit soort problemen zijn niet altijd zichtbaar
+ en er wordt ook omheen gewerkt door de beheerders van ports,
+ wat tot de volgende mogelijke problemen kan leiden:
+
+
+
+ Het gebruik van /proc/cpuinfo om
+ processorkarakteristieken uit te lezen;
+
+
+
+ Het verkeerd gebruiken van threads, waardoor een
+ programma hangt als het klaar is, in plaats van dat het
+ echt eindigt;
+
+
+
+ Software die nog niet in de &os; portscollectie zit en
+ vaak gebruikt wordt samen met een applicatie die daar wel
+ onderdeel van uitmaakt.
+
+
+
+ Tot nu toe is gebleken dat de ontwikkelaars van applicaties
+ wel coöperatief waren met de beheerders van ports om zo
+ het aantal work-arounds dat nodig was voor het porten tot een
+ minimum te beperken.
+
+
+ MPlayer
+
+ MPlayer is een zich snel
+ ontwikkelende videospeler. De doelen van het
+ MPlayer-team zijn snelheid en
+ flexibiliteit onder &linux; en andere Unices. Het project is
+ gestart toen de oprichter van het team genoeg had van de
+ slechte afspeelprestaties van de destijds beschikbare
+ spelers. Er zijn mensen die zeggen dat het grafische ontwerp
+ is opgeofferd voor het stroomlijnen van het ontwerp, maar het
+ blijkt dat, als een gebruiker gewend is aan de
+ commandoregelopties en de toetsencommando's, de applicatie
+ erg goed werkt.
+
+
+ MPlayer Bouwen
+
+
+ MPlayer
+ maken
+
+
+ MPlayer staat in multimedia/mplayer.
+ MPlayer voert een aantal
+ hardwarecontroles uit tijdens het bouwen, wat resulteert in
+ een binair bestand dat niet van het ene naar het andere
+ systeem verplaatst kan worden. Daarom is het van belang
+ dat het uit de ports wordt gebouwd en niet als binair
+ package wordt geïnstalleerd. Daarnaast staan er ook
+ nog opties die vanaf de make
+ commandoregel meegegeven kunnen worden beschreven in de
+ Makefile en aan het begin van de
+ build:
+
+ &prompt.root; cd /usr/ports/multimedia/mplayer
+&prompt.root; make
+N - O - T - E
+
+Take a careful look into the Makefile in order
+to learn how to tune mplayer towards you personal preferences!
+For example,
+make WITH_GTK1
+builds MPlayer with GTK1-GUI support.
+If you want to use the GUI, you can either install
+/usr/ports/multimedia/mplayer-skins
+or download official skin collections from
+http://www.mplayerhq.hu/homepage/dload.html
+
+ De standaard portopties zijn voor de meeste gebruikers
+ voldoende. Maar als bijvoorbeeld de XviD codec nodig is,
+ dan moet de optie WITH_XVID op de
+ commandoregel meegegeven worden. Het standaard
+ DVD-apparaat kan ook gedefinieerd worden met de optie
+ WITH_DVD_DEVICE, waarbij standaard
+ /dev/acd0 wordt gebruikt.
+
+ Op het moment van schrijven wordt de
+ MPlayer port gebouwd met de HTML
+ documentatie en twee uitvoerbare bestanden,
+ mplayer en mencoder,
+ wat een hulpmiddel is voor het opnieuw encoderen van
+ video.
+
+ De HTML documentatie voor
+ MPlayer is erg informatief. Als
+ de lezer vindt dat er informatie over videohardware en
+ interfaces in dit hoofdstuk mist, dan is de documentatie
+ van MPlayer een zeer grondige
+ aanvulling. Het is de moeite waard de tijd te nemen om de
+ documentatie van MPlayer te
+ lezen, als meer informatie over de ondersteuning van video
+ in &unix; welkom is.
+
+
+
+ MPlayer Gebruiken
+
+
+ MPlayer
+
+ gebruiken
+
+
+ Iedere gebruiker van MPlayer
+ dient een submap .mplayer in zijn
+ thuismap te hebben. Die kan als volgt gemaakt
+ worden:
+
+ &prompt.user; cd /usr/ports/multimedia/mplayer
+&prompt.user; make install-user
+
+ De commando-opties voor mplayer
+ staan in de hulppagina. Nog meer details staan in de HTML
+ documentatie. In dit onderdeel worden slechts een aantal
+ gebruiksmogelijkheden beschreven.
+
+ Om een bestand als
+ testfile.avi
+ af te spelen met een van de beschikbare video-interfaces,
+ kan de optie gebruikt worden:
+
+ &prompt.user; mplayer -vo xv testfile.avi
+
+ &prompt.user; mplayer -vo sdl testfile.avi
+
+ &prompt.user; mplayer -vo x11 testfile.avi
+
+ &prompt.root; mplayer -vo dga testfile.avi
+
+ &prompt.root; mplayer -vo 'sdl:dga' testfile.avi
+
+ Het is de moeite waard alle bovenstaande opties uit te
+ proberen omdat hun relatieve prestatie afhangt van vele
+ factoren die aanzienlijk verschillen tussen
+ hardware.
+
+ Om een DVD af te spelen dient
+ testfile.avi vervangen te worden door
+ waar
+ N het titelnummer is dat
+ afgespeeld moeten worden en
+ APPARAAT de
+ apparaatnode is voor de DVD-ROM. Om bijvoorbeeld titel 3
+ van /dev/dvd af te spelen:
-
- * mencoder
+ &prompt.root; mplayer -vo xv dvd://3 -dvd-device /dev/dvd
-
-
-
+
+ Het standaard DVD-apparaat kan ingesteld worden bij
+ het bouwen van de MPlayer port
+ met de optie WITH_DVD_DEVICE.
+ Standaard is dit apparaat /dev/acd0.
+ Meer details staan in de Makefile
+ van de port.
+
-
- * De xine video speler
+ Om te stoppen, pauzeren, verder te spoelen, enzovoort,
+ kunnen de toetsendefinities gebruikt worden, die in te zien
+ zijn door mplayer -h uit te voeren of
+ de hulppagina te lezen.
-
-
+ Overige belangrijke opties voor het afspelen zijn:
+ , waarmee het volledige scherm
+ wordt gebruikt, en , die
+ prestatieverhogend werkt.
-
- * De transcode hulpprogramma's
+ Om ervoor te zorgen dat de commandoregels niet te lang
+ worden, kan het bestand
+ .mplayer/config met
+ voorkeursinstellingen gemaakt worden:
-
-
-
+ vo=xv
+fs=yes
+zoom=yes
-
- * Meer lezen
+ Tenslotte kan mplayer gebruikt
+ worden om een DVD naar een bestand van het type
+ .vob te rippen. Om de tweede titel
+ van een DVD de dumpen kan het volgende commando gebruikt
+ worden:
-
-
-
+ &prompt.root; mplayer -dumpstream -dumpfile out.vob dvd://2 -dvd-device /dev/dvd
+
+ Het uitvoerbestand out.vob, is
+ van het type MPEG en kan bewerkt worden met andere in dit
+ onderdeel besproken programma's.
+
+
+
+ mencoder
+
+ mencoder
+
+ Voordat mencoder wordt gebruikt, is
+ het verstandig de opties uit de HTML-documentatie te
+ bekijken. Er is een hulppagina, maar die is niet echt
+ bruikbaar zonder de HTML-documentatie. Er zijn ontelbare
+ mogelijkheden om de kwaliteit te verhogen, de bitrate te
+ verlagen en formaten te wijzigen en een aantal van die
+ truuks maken het verschil tussen goede en slechte
+ prestaties. Hieronder staan een aantal voorbeelden
+ beschreven.
+
+ Eenvoudigweg kopiëren:
+
+ &prompt.user; mencoder input.avi -oac copy -ovc copy -o output.avi
+
+ Verkeerde combinaties van commandoregelopties kunnen
+ resulteren in uitvoerbestanden die zelfs niet af te spelen
+ zijn door mplayer. Daarom wordt
+ aangeraden om het bij de optie
+ in
+ mplayer te houden als het alleen maar
+ nodig is een bestand te rippen.
+
+ Om input.avi te converteren naar
+ de MPEG4-codec met MPEG3-audio encoding (audio/lame is
+ verplicht):
+
+ &prompt.user; mencoder input.avi -oac mp3lame -lameopts br=192 \
+-ovc lavc -lavcopts vcodec=mpeg4:vhq -o output.avi
+
+ Hiermee wordt uitvoer gemaakt die af te spelen is met
+ mplayer en
+ xine.
+
+ input.avi kan worden vervangen
+ door en als
+ root gedraaid worden om een DVD titel
+ direct te hercoderen. Omdat het waarschijnlijk is dat de
+ eerste experimenten niet direct tevredenstellend zijn,
+ wordt aangeraden een titel eerst naar een bestand te dumpen
+ en dat als werkbestand te gebruiken.
+
+
+
+
+ xine Videospeler
+
+ De xine videospeler is een
+ project met een brede scope, dat niet alleen tracht een
+ allesomvattende video-oplossing te bieden, maar ook probeert
+ een herbruikbare basisbibliotheek en een modulair uitvoerbaar
+ bestand te maken dat uitgebreid kan worden met plug-ins. Het
+ kan als package en port geïnstalleerd worden uit
+ multimedia/xine.
+
+ De xine speler heeft nog wat
+ ruwe randjes, maar is zeker goed van start gegaan. In de
+ praktijk heeft xine een snelle CPU
+ met een snelle videokaart of ondersteuning voor de XVideo
+ extensie nodig. De GUI is bruikbaar, maar wat
+ onhandig.
+
+ Op het moment van schrijven wordt er geen invoermodule
+ bij xine geleverd waarmee CSS
+ gecodeerde DVD's afgespeeld kunnen worden. Er zijn er die
+ door andere partijen zijn gebouwd die dat type modules wel
+ hebben, maar die zijn niet beschikbaar in de &os;
+ portscollectie.
+
+ Vergeleken met MPlayer, doet
+ xine meer voor de gebruiker, maar
+ tegelijkertijd neemt het wat van de
+ fijnafstellingsmogelijkheden weg. De
+ xine videospeler werkt het beste
+ op XVideo interfaces.
+
+ Standaard start de xine speler
+ op in een grafische gebruikersinterface. Via het menu kan
+ een specifiek bestand geopend worden:
+
+ &prompt.user; xine
+
+ Het is ook mogelijk om zonder de GUI direct een bestand
+ af te laten spelen:
+
+ &prompt.user; xine -g -p mymovie.avi
+
+
+
+ transcode
+ Hulpprogramma's
+
+ De software transcode is geen
+ speler, maar een verzameling hulpprogramma's voor het
+ hercoderen van .avi en
+ .mpg bestanden. Met
+ transcode wordt het mogelijk om
+ videobestanden samen te voegen, kapotte bestanden te
+ repareren en commandoregelprogramma's te gebruiken met
+ stdin/stdout stream interfaces.
+
+ Net als MPlayer is
+ transcode bijzonder experimentele
+ software die vanuit de port multimedia/transcode gebouwd moet
+ worden. Er zijn veel opties voor make
+ beschikbaar en daaruit worden de volgende aangeraden:
+
+ &prompt.root; make WITH_LIBMPEG2=yes
+
+ Als ook multimedia/avifile wordt
+ geïnstalleerd, dan dient WITH_AVIFILE
+ aan de make commandoregel te worden
+ toegevoegd:
+
+ &prompt.root; make WITH_AVIFILE=yes WITH_LIBMPEG2=yes
+
+ Hieronder staan twee voorbeelden beschreven waarin
+ transcode wordt gebruikt voor het
+ converteren van video met als resultaat anders geschaalde
+ uitvoer. Het eerste encodeert de uitvoer naar een openDIVX
+ AVI-bestand, het tweede encodeert het naar het meer portabele
+ formaat MPEG.
+
+ &prompt.user; transcode -i input.vob -x vob -V -Z 320x240 \
+-y opendivx -N 0x55 -o output.avi
+
+ &prompt.user; transcode -i input.vob -x vob -V -Z 320x240 \
+-y mpeg -N 0x55 -o output.tmp
+&prompt.user; tcmplex -o output.mpg -i output.tmp.m1v -p output.tmp.mpa -m 1
+
+ Er is een hulppagina voor transcode,
+ maar er is weinig documentatie voor de verschillende
+ tc* programma's (zoals
+ tcmplex) die ook zijn geïnstalleerd.
+ Voor ieder commando is wel de commandoregeloptie
+ beschikbaar, waarmee een korte
+ beschrijving voor het gebruik van het programma wordt
+ getoond.
+
+ Als de twee vergeleken worden, draait
+ transcode aanzienlijk langzamer dan
+ mencoder, maar is de kans wel groter dat
+ er een bestand uit komt dat op de meeste spelers afgespeeld
+ kan worden. MPEG-bestanden die met
+ transcode zijn gemaakt, zijn bijvoorbeeld
+ al afgespeeld op &windows.media;
+ Player en Apple's
+ &quicktime;.
+
+
+
+
+ Verder Lezen
+
+ De beschikbare videosoftware pakketten voor &os; zijn fors
+ in ontwikkeling. Het is goed mogelijk dat in de nabije
+ toekomst de meeste problemen die hier aan de kaak zijn gesteld,
+ zijn opgelost. Intussen kunnen zij die het hoogst haalbare uit
+ de A/V mogelijkheden voor &os; willen halen, dat het beste
+ doen door wat beschikbaar is bij elkaar te scharrelen uit de
+ beschikbare FAQ's and tutorials en meerdere programma's
+ gebruiken. Het doel van deze paragraaf is de lezer wat
+ richting te geven op dat vlak.
+
+ De MPlayer
+ documentatie is technisch erg informatief. Deze
+ documenten kunnen het beste bekeken worden door iemand die veel
+ kennis wil opdoen over video in &unix;. Op de
+ MPlayer mailinglijst wordt het niet
+ op prijsgesteld als iemand de documentatie niet heeft gelezen,
+ dus het is verstandig RTFM in gedachten te houden alvorens
+ bug reports naar ze te mailen.
+
+ De xine
+ HOWTO bevat een hoofdstuk over het verbeteren van
+ prestaties, dat op alle spelers van toepassing is.
+
+ Tenslotte zijn er nog een aantal veelbelovende applicaties
+ die het proberen waard zijn:
+
+
+
+ Avifile
+ bestaat ook als port: multimedia/avifile;
+
+
+
+ Ogle
+ is er ook als port: multimedia/ogle;
+
+
+
+ Xtheater;
+
+
+
+ multimedia/dvdauthor, een open
+ source pakket voor authoring van DVD content.
+
+
+
+ JosefEl-Rayes
- Originele bijdrage door
+ Oorspronkelijk geschreven door MarcFonvieille
- Verbeterd aan aangepast door
+ Verbeterd en aangepast door
- * TV kaarten installeren
+
+ TV-kaarten Installeren
+
+ TV-kaarten
- * Introductie
+ Inleiding
+
+ Met TV-kaarten is het mogelijk om naar (kabel)uitzendingen
+ te kijken op een computer. Op de meeste kaarten kan composiet
+ video aangeleverd worden via een RCA of S-video input en
+ sommige kaarten hebben ook een FM tuner.
-
+ &os; biedt ondersteuning voor PCI-gebaseerde TV-kaarten met
+ een Brooktree Bt848/849/878/879 of een Conexant CN-878/Fusion
+ 878a Video Capture Chip met het stuurprogramma &man.bktr.4;.
+ Het is van belang dat er op de kaart ook een ondersteunde
+ tuner zit. Hiervoor kan &man.bktr.4; geraadpleegd worden,
+ waarin een lijst met ondersteunde tuners staat.
- * Toevoegen van de driver
+ Stuurprogramma Toevoegen
-
+ Voordat de kaart gebruikt kan worden, dient het
+ stuurprogramma &man.bktr.4; geladen te worden. Dit kan door
+ de volgende regel aan /boot/loader.conf
+ toe te voegen:
+
+ bktr_load="YES"
+
+ Daarnaast is het ook mogelijk om statisch ondersteuning
+ voor de TV-kaart in de kernel te compileren. Dan dient de
+ volgende regel toegevoegd te worden aan de
+ kernelinstellingen:
+
+ device bktr
+device iicbus
+device iicbb
+device smbus
+
+ De extra stuurprogramma's zijn nodig omdat de
+ kaartcomponenten verbonden zijn via een I2C bus. Met deze
+ instellingen kan een nieuwe kernel gebouwd en
+ geïnstalleerd worden.
+
+ Als een systeem eenmaal ondersteuning biedt, hoort de
+ TV-kaart ongeveer als volgt bij een herstart getoond te
+ worden:
+
+ bktr0: <BrookTree 848A> mem 0xd7000000-0xd7000fff irq 10 at device 10.0 on pci0
+iicbb0: <I2C bit-banging driver> on bti2c0
+iicbus0: <Philips I2C bus> on iicbb0 master-only
+iicbus1: <Philips I2C bus> on iicbb0 master-only
+smbus0: <System Management Bus> on bti2c0
+bktr0: Pinnacle/Miro TV, Philips SECAM tuner.
+
+ Deze berichten kunnen afwijken, afhankelijk van de
+ gebruikte hardware. Het is van belang te controleren of de
+ tuner juist herkend wordt; er kunnen nog een aantal
+ instellingen gemaakt worden voor parameters met &man.sysctl.8;
+ MIB's en in het kernelinstellingenbestand. Om bijvoorbeeld het
+ gebruik van een Philips SECAM tuner te forceren, kan de
+ volgende regel aan het bestand met kernelinstellingen worden
+ toegevoegd:
+
+ options OVERRIDE_TUNER=6
+
+ Dit kan ook via een instelling van &man.sysctl.8;:
+
+ &prompt.root; sysctl hw.bt848.tuner=6
+
+ In &man.bktr.4; en
+ /usr/src/sys/conf/NOTES staan meer details
+ over de beschikbare opties (onder &os; 4.X dient voor
+ /usr/src/sys/conf/NOTES het bestand
+ /usr/src/sys/i386/conf/LINT gelezen te
+ worden).
+
+
+
+ Handige Programma's
+
+ Om een TV-kaart te gebruiken, dient een van de volgende
+ applicaties geïnstalleerd te worden:
+
+
+
+ multimedia/fxtv
+ biedt TV-in-een-window en beeld/audio/videocapture
+ mogelijkheden;
+
+
+
+ multimedia/xawtv
+ is ook een TV applicatie met dezelfde mogelijkheden als
+ fxtv;
+
+
+
+ misc/alevt
+ decodeert Videotext/Teletext en kan deze weergeven;
+
+
+
+ audio/xmradio, een
+ applicatie om de FM tuner die bij sommige TV-kaarten zit te
+ gebruiken;
+
+
+
+ audio/wmtune, een
+ handige bureaubladapplicatie voor radiotuners.
+
+
+
+ Er zijn nog meer applicaties beschikbaar in de
+ portscollectie.
+
+
+
+ Problemen Oplossen
+
+ Bij problemen met een TV-kaart dient eerst gecontroleerd te
+ worden of de videocapture chip en de tuner echt ondersteund
+ worden door het stuurprogramma &man.bktr.4; en of de juiste
+ instellingen worden gebruikt. Voor meer ondersteuning en
+ vragen over een specifieke TV-kaart is het aan te raden de
+ archieven van de &a.multimedia.name; mailinglijst te
+ raadplegen of er contact mee op te nemen.
+
+
+
+
+
+
+
+ Marc
+ Fonvieille
+ Geschreven door
+
+
+
+
+
+ Scanners
+
+ scanners
+
+
+ Inleiding
+
+ In &os; is het, net als in andere moderne
+ besturingssystemen, mogelijk om scanners te gebruiken.
+ Gestandaardiseerde toegang tot scanners is mogelijk met de
+ SANE (Scanner Access Now
+ Easy) API uit de &os; portscollectie.
+ SANE gebruikt ook een aantal &os;
+ apparaatstuurprogramma's om toegang te krijgen tot de hardware
+ van de scanner.
+
+ &os; ondesteunt SCSI en USB scanners. Het is van belang te
+ controleren of een scanner door SANE
+ wordt ondersteund voordat er instellingen worden gemaakt.
+ SANE heeft een lijst met ondersteunde
+ apparaten waarin gekeken kan worden of een scanner
+ wordt ondersteund en wat de status voor ondersteuning is. In
+ &man.uscanner.4; staat een lijst met ondersteunde
+ USB-scanners.
+
+
+
+ Kernel Instellen
+
+ Zoals hierboven al is aangegeven, worden zowel SCSI als
+ USB-scanners ondersteund. Afhankelijk van de gebruikte
+ scannerinterface zijn verschillende apparaatstuurprogramma's
+ nodig.
+
+
+ USB Interface
+
+ In de GENERIC kernel zitten
+ standaard de apparaatstuurprogramma's die nodig zijn voor
+ ondersteuning van USB-scanners. In het geval wordt besloten
+ tot het maken van een aangepaste kernel, dan dienen de
+ volgende regels in het kernelinstellingenbestand te worden
+ opgenomen:
+
+ device usb
+device uhci
+device ohci
+device uscanner
+
+ Afhankelijk van de USB-chipset op een moederbord, is
+ alleen device uhci of
+ device ohci nodig, maar het opnemen van
+ beiden in het bestand met kernelinstellingen is niet
+ schadelijk.
+
+ Als het niet wenselijk is een nieuwe kernel te bouwen en
+ er wordt geen GENERIC kernel gebruikt,
+ dan kan de apparaatstuurprogrammamodule &man.uscanner.4;
+ direct geladen worden met &man.kldload.8;:
+
+ &prompt.root; kldload uscanner
+
+ Om de module bij iedere systeemstart te laden kan de
+ volgende regel aan /boot/loader.conf
+ worden toegevoegd:
+
+ uscanner_load="YES"
+
+ Na een herstart met een juiste ingestelde kernel of na
+ het laden van de benodigde module, kan de USB-scanner
+ aangesloten worden. De scanner hoort ongeveer als volgt
+ gemeld te worden in de systeemberichtbuffer
+ (&man.dmesg.8;):
+
+ uscanner0: EPSON EPSON Scanner, rev 1.10/3.02, addr 2
+
+ Het bovenstaande geeft aan dat de scanner de apparaatnode
+ /dev/uscanner0 gebruikt.
+
+
+ Om onder &os; 4.X bepaalde USB-apparaten te zien,
+ moet daar de USB daemon (&man.usbd.8;) draaien. Om die in
+ te schakelen, dient usbd_enable="YES"
+ toegevoegd te worden aan /etc/rc.conf
+ en dient een systeem herstart te worden.
+
+
+
+
+ SCSI Interface
+
+ Als een scanner een SCSI interface heeft, is het
+ belangrijk te weten welk SCSI controllerbord gebruikt gaat
+ worden. Afhankelijk van de gebruikte SCSI chipset, dient het
+ bestand met kernelinstellingen aangepast te worden. De
+ GENERIC kernel ondersteunt de meest
+ voorkomende SCSI controllers. In het bestand
+ NOTES (LINT onder
+ &os; 4.X) is de juiste instelling te vinden die
+ toegevoegd moet worden aan het bestand met
+ kernelinstellingen. Naast het toevoegen van het juiste
+ SCSI-adapter stuurprogramma, dienen ook de volgende regels
+ opgenomen te worden in het kernelinstellingenbestand:
+
+ device scbus
+device pass
+
+ Als de kernel juist gecompileerd is, horen de apparaten
+ zichtbaar te zijn in de systeemberichtbuffer tijdens het
+ opstarten:
+
+ pass2 at aic0 bus 0 target 2 lun 0
+pass2: <AGFA SNAPSCAN 600 1.10> Fixed Scanner SCSI-2 device
+pass2: 3.300MB/s transfers
+
+ Als een scanner niet aan staat tijdens het opstarten, is
+ het nog mogelijk handmatig detectie te forceren door de
+ SCSI-bus te laten scannen met &man.camcontrol.8;:
+
+ &prompt.root; camcontrol rescan all
+Re-scan of bus 0 was successful
+Re-scan of bus 1 was successful
+Re-scan of bus 2 was successful
+Re-scan of bus 3 was successful
+
+ In het bovenstaande geval zal de scanner ongeveer als
+ volgt verschijnen in de lijst met SCSI-apparaten:
+
+ &prompt.root; camcontrol devlist
+<IBM DDRS-34560 S97B> at scbus0 target 5 lun 0 (pass0,da0)
+<IBM DDRS-34560 S97B> at scbus0 target 6 lun 0 (pass1,da1)
+<AGFA SNAPSCAN 600 1.10> at scbus1 target 2 lun 0 (pass3)
+<PHILIPS CDD3610 CD-R/RW 1.00> at scbus2 target 0 lun 0 (pass2,cd0)
+
+ Meer details over SCSI-apparaten staan in &man.scsi.4; en
+ &man.camcontrol.8;.
+
- * Bruikbare applicaties
+ SANE Instellen
+
+ Het SANE systeem is opgesplitst
+ in twee delen: de backends (graphics/sane-backends) en de
+ frontends (graphics/sane-frontends). Het deel
+ met de backends zorgt voor de toegang tot de scanner zelf. In
+ de lijst met door SANEondersteunde
+ apparaten staat welk backend welke scanner(s)
+ ondersteunt. Het is echt nodig het juiste backend vast te
+ stellen, omdat het anders bijzonder lastig wordt een scanner
+ aan de praat te krijgen. Het deel met frontends levert een
+ grafische scaninterface
+ (xscanimage).
+
+ Als eerste dient de port of het package graphics/sane-backends
+ geïnstalleerd te worden. Daarna kan met het commando
+ sane-find-scanner gecontroleerd worden welke
+ scanner er door het SANE systeem is
+ gedetecteerd:
+
+ &prompt.root; sane-find-scanner -q
+found SCSI scanner "AGFA SNAPSCAN 600 1.10" at /dev/pass3
-
+ In de uitvoer is te lezen welk type interface en welke
+ apparaatnode worden gebruikt om de scanner met een systeem te
+ verbinden. Het merk en het model worden wellicht niet getoond,
+ maar dat is ook niet echt van belang.
+
+
+ Sommige USB-scanners verlangen dat er firmware wordt
+ geladen. Dit wordt uitgelegd in de hulppagina van het
+ backend. Het is ook van belang &man.sane-find-scanner.1; en
+ &man.sane.7; te lezen.
+
+
+ Hierna kan gecontroleerd worden of de scanner ook te zien
+ is voor een scanner-frontend. Er zit bij de
+ SANE backends een standaard
+ hulpprogramma &man.scanimage.1;. Met dit commando kunnen de
+ apparaten zichtbaar gemaakt worden en kan vanaf de
+ commandoregel gescand worden. Met de optie
+ kunnen de scannerapparaten getoond worden:
+
+ &prompt.root; scanimage -L
+device `snapscan:/dev/pass3' is a AGFA SNAPSCAN 600 flatbed scanner
+
+ De afwezigheid van uitvoer of een bericht dat aangeeft dat
+ er geen scanners zijn aangetroffen, betekent dat
+ &man.scanimage.1; niet in staat is een scanner te
+ identificeren. Als dit gebeurt, dient het instellingenbestand
+ voor het backend aangepast te worden en dient daar de juiste
+ instelling gemaakt te worden. De map /usr/local/etc/sane.d/ bevat
+ alle bestanden met instellingen voor de backends. Het is
+ bekend dat dit identificatieprobleem optreedt bij bepaalde
+ USB-scanners.
+
+ De USB-scanner die in
+ wordt gebruikt, toont bijvoorbeeld de volgende informatie met
+ sane-find-scanner:
+
+ &prompt.root; sane-find-scanner -q
+found USB scanner (UNKNOWN vendor and product) at device /dev/uscanner0
+
+ De bovenstaande uitvoer geeft aan dat de scanner juist is
+ gedetecteerd, dat hij de USB interface gebruikt en is
+ aangesloten op de apparaatnode
+ /dev/uscanner0. Nu kan gecontroleerd
+ worden of de scanner juist wordt geïdentificeerd:
+
+ &prompt.root; scanimage -L
+
+No scanners were identified. If you were expecting something different,
+check that the scanner is plugged in, turned on and detected by the
+sane-find-scanner tool (if appropriate). Please read the documentation
+which came with this software (README, FAQ, manpages).
+
+ Omdat in het bovenstaande voorbeeld de scanner niet wordt
+ geïdentificeerd, dient het bestand
+ /usr/local/etc/sane.d/epson.conf
+ gewijzigd te worden. De gebruikte scanner is een
+ &epson.perfection; 1650, dus in dit geval dient voor de scanner
+ het backend epson gebruikt te worden. Het
+ is van belang om het commentaar in de instellingenbestanden van
+ de backends te lezen. Het aanpassen van regels is eenvoudig:
+ plaats een commentaarkarakter voor alle regels voor andere
+ interfaces dan die nodig zijn weg (in dit geval worden alle
+ regels die beginnen met het woord scsi
+ uitgeschakeld, omdat er een USB interface wordt gebruiken), en
+ dan kan onderaan het bestand een regel met de gebruikte
+ interface en apparaatnode geplaatst worden:
+
+ usb /dev/uscanner0
+
+ Het is aan te raden de opmerkingen te lezen in het bestand
+ met instellingen voor het backend en ook de hulppagina, omdat
+ daarin meer details en de correcte syntaxis te vinden zijn. Nu
+ kan gecontroleerd worden of de scanner wèl juist wordt
+ geïdentificeerd:
+
+ &prompt.root; scanimage -L
+device `epson:/dev/uscanner0' is a Epson GT-8200 flatbed scanner
+
+ In het bovenstaande voorbeeld wordt duidelijk dat de
+ USB-scanner is geïdentificeerd. Het is niet belangrijk
+ dat het merk en model niet overeenkomen. Het belangrijkste is
+ het veld `epson:/dev/uscanner0', dat de
+ juiste benamingen voor het backend en de apparaatnode
+ aangeeft.
+
+ Als scanimage -L in staat is een scanner
+ goed te zien, dan zijn de instellingen compleet. Er kan nu met
+ het apparaat gescand worden.
+
+ Hoewel &man.scanimage.1; in staat is om vanaf de
+ commandoregel te scannen, is het aan te raden beelden te
+ scannen vanuit de grafische gebruikersinterface.
+ SANE heeft een eenvoudige, maar
+ efficiënte grafische interface:
+ xscanimage (graphics/sane-frontends).
+
+ Xsane (graphics/xsane) is een ander
+ populair grafisch scanfrontend, dat geavanceerde
+ mogelijkheden biedt, zoals meerdere scanmodi (fotokopie, fax,
+ enzovoort), kleurcorrectie, batchscannen, enzovoort. Beide
+ applicaties zijn als plug-in voor
+ GIMP te gebruiken.
- * Problemen oplossen
+ Scannergebruik voor Andere Gebruikers Toestaan
+
+ Alle voorgaande taken zijn uitgevoerd met
+ root rechten, maar het is wellicht ook
+ nodig dat andere gebruikers de scanner kunnen gebruiken. Dan
+ heeft een gebruiker lees- en schrijfrechten nodig op de
+ apparaatnode voor een scanner. Een USB-scanner gebruikt
+ bijvoorbeeld apparaatnode /dev/uscanner0,
+ waarvan de groep operator eigenaar is.
+ Door gebruiker joe lid te maken van de
+ groep operator, kan die gebruiker de
+ scanner gebruiken:
+
+ &prompt.root; pw groupmod operator -m joe
+
+ In &man.pw.8; staan meer details. Op de apparaatnode
+ /dev/uscanner0 moeten ook de juiste
+ rechten staan. Standaard kan de groep
+ operator alleen lezen op de
+ apparaatnode. Dit is te wijzigen door de volgende regel aan
+ /etc/devfs.rules toe te voegen:
+
+ [system=5]
+add path uscanner0 mode 660
+
+ Daarna kan de volgende regel aan
+ /etc/rc.conf toegevoegd worden en dient
+ een machine herstart te worden:
+
+ devfs_system_ruleset="system"
+
+ Meer informatie over de bovenstaande instellingen staan in
+ &man.devfs.8; manual page. Onder &os; 4.X heeft de groep
+ operator standaard lees- en
+ schrijfrechten op /dev/uscanner0.
-
+
+ Natuurlijk dient ook beveiliging een factor te zijn in de
+ afweging of een gebruiker lid gemaakt moet worden van een
+ bepaalde groep, zeker als dat om de groep
+ operator gaat.
+
diff --git a/nl_NL.ISO8859-1/books/handbook/ports/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/ports/chapter.sgml
index fc89e56de1..8d0b77eb4e 100644
--- a/nl_NL.ISO8859-1/books/handbook/ports/chapter.sgml
+++ b/nl_NL.ISO8859-1/books/handbook/ports/chapter.sgml
@@ -1,144 +1,1408 @@
- * Applicaties installeren : Packages en Ports
+
+
+
+ Rene
+ Ketelaars
+ Vertaald door
+
+
+ Siebrand
+ Mazeland
+
+
+
+
+ Applicaties Installeren: Packages en Ports
- * Samenvatting
+ Overzicht
+
+ ports
+
+ packages
+
+ &os; bevat een grote collectie aan systeemgereedschappen
+ als onderdeel van het basissysteem. De mogelijkheden reiken
+ echter niet heel ver en daarom is er snel een applicatie van een
+ andere partij nodig. &os; bevat twee complementaire
+ technologieën om andere applicaties te installeren: de &os;
+ portscollectie en binaire softwarepackages. Beide systemen
+ kunnen gebruikt worden om de nieuwste versies van een gewenste
+ applicatie te installeren van lokale media of rechtstreeks van
+ het netwerk.
+
+ Na het lezen van dit hoofdstuk weet de lezer:
+
+
+
+ Hoe binaire softwarepackages van derden te
+ installeren;
+
-
+
+ Hoe software van derden vanuit de portscollectie te
+ installeren;
+
+
+
+ Hoe eerder geïnstalleerde packages of ports te
+ verwijderen;
+
+
+
+ Hoe standaardwaardes die door de ports worden gebruikt te
+ wijzigen;
+
+
+
+ Hoe het juiste softwarepackage te vinden;
+
+
+
+ Hoe ports bij te werken.
+
+
- * Overzicht Van Software Installatie
+ Overzicht van Softwareinstallatie
+
+ Als de lezer eerder gebruik heeft gemaakt van een &unix;
+ systeem dan is het bekend dat de standaardprocedure voor het
+ installeren van software van derden ongeveer als volgt is:
+
+
+
+ Download de software als broncode of als binair
+ bestand;
+
+
+
+ Pak de software uit vanuit zijn originele distributietype
+ (meestal een tar-bestand gecomprimeerd met &man.compress.1;,
+ &man.gzip.1;, of &man.bzip2.1;);
+
+
+
+ Zoek de documentatie (meestal een
+ INSTALL of README
+ bestand of enkele bestanden in een submap
+ doc/) en lees zorgvuldig hoe de software
+ geïnstalleerd moet worden;
+
+
+
+ Als de software als broncode is gedistribueerd, moet de
+ broncode gecompileerd worden. Dit kan wijzigingen in een
+ Makefile vereisen of het draaien van een
+ configure script en andere
+ werkzaamheden;
+
+
+
+ De software installeren en testen.
+
+
+
+ En dat geldt alleen als alles goed gaat. Als er een
+ softwarepackage geïnstalleerd wordt dat niet specifiek
+ gemaakt is voor &os; moet mogelijkerwijs zelfs de code aangepast
+ worden om alles goed te laten werken.
+
+ Als de gebruiker het wenst, kan hij in &os; doorgaan met het
+ installeren van software op de traditionele
+ manier. &os; levert echter twee technologieën die veel
+ moeite kunnen besparen: packages en ports. Op dit moment zijn zo
+ meer dan &os.numports; applicaties beschikbaar.
+
+ Voor iedere gewenste applicatie is het &os; package voor die
+ applicatie één te downloaden bestand. Het package
+ bevat voorgecompileerde kopiën met alle commando's voor de
+ applicatie en alle instellingenbestanden of documentatie. Een
+ gedownload packagebestand kan gemanipuleerd worden met &os;
+ packagemanagement commando's zoals &man.pkg.add.1;,
+ &man.pkg.delete.1;, &man.pkg.info.1;, enzovoort. Het installeren
+ van een nieuwe applicatie kan met één
+ commando.
+
+ Een &os; port van een applicatie is een groep bestanden
+ ontworpen om het proces van compileren van een applicatie vanuit
+ broncode te automatiseren.
+
+ Het is te vergelijken met de stappen die normaal gevolgd
+ worden om een programma te compileren (downloaden, uitpakken,
+ aanpassen, compileren en installeren). De bestanden die samen
+ een port vormen bevatten alle noodzakelijke informatie om het
+ systeem dit te laten doen. Met een aantal eenvoudige commando's
+ wordt de broncode voor de applicatie automatisch gedownload,
+ uitgepakt, aangepast, gecompileerd en geïnstalleerd.
+
+ Het portssysteem kan zelfs gebruikt worden om packages te
+ maken die later weer gemanipuleerd kunnen worden met
+ pkg_add en andere packagemanagement
+ commando's, waarover later meer uitleg wordt gegeven.
+
+ Zowel packages als ports kennen afhankelijkheden
+ (dependencies). Stel dat er een applicatie
+ geïnstalleerd gaat worden die er vanuit gaat dat een
+ specifieke bibliotheek wordt geïnstalleerd. Zowel de
+ applicatie als de bibliotheek zijn beschikbaar als &os; ports
+ en packages. Als het commando pkg_add of
+ het portssysteem wordt gebruikt om de applicatie toe te voegen,
+ dan zien beiden dat de bibliotheek niet geïnstalleerd is
+ en wordt deze automatisch eerst geïnstalleerd.
+
+ Gezien het feit dat beide technologieën vrijwel identiek
+ zijn, kan de vraag rijzen waarom &os; de moeite neemt om beide te
+ faciliteren. Packages en ports hebben ieder hun eigen kracht.
+ Welke gebruikt wordt hangt af van voorkeuren en
+ omstandigheden.
-
+
+ Voordelen van Packages
+
+
+ Een gecomprimeerd package tar-bestand is meestal kleiner
+ dan het gecomprimeerde tar-bestand met de broncode van de
+ applicatie;
+
+
+
+ Packages vereisen geen additionele compilatie. Voor
+ grote applicaties als Mozilla,
+ KDE of
+ GNOME kan dit belangrijk zijn,
+ vooral als een systeem wat trager is;
+
+
+
+ Packages vereisen geen begrip van het proces van het
+ compileren van software op &os;.
+
+
+
+
+ Voordelen van Ports
+
+
+ Packages worden meestal gecompileerd met conservatieve
+ opties, omdat ze moeten draaien op een maximaal aantal
+ systemen. Bij het installeren vanuit de port kunnen de
+ compilatieinstellingen aangepast worden om zo bijvoorbeeld
+ code te maken die specifiek voor een Pentium IV of een
+ Athlon processor is;
+
+
+
+ Sommige applicaties hebben compilatieinstellingen
+ gerelateerd aan wat ze wel of niet kunnen doen.
+ Apache kan bijvoorbeeld ingesteld
+ worden met een uitgebreide hoeveelheid verschillende
+ ingebouwde instellingen. Door vanuit de port te werken
+ hoeven niet alle standaardinstellingen geaccepteerd te worden
+ en kunnen ze ingesteld worden;
+
+ In sommige gevallen zijn er meerdere packages voor
+ dezelfde applicatie om specifieke instellingen aan te geven.
+ Ghostscript is bijvoorbeeld
+ beschikbaar als een ghostscript package
+ en ghostscript-nox11 package,
+ afhankelijk van het al dan niet geïnstalleerd hebben van
+ een X11 server. Deze ruwe vorm van tweaking is mogelijk met
+ packages, maar dit wordt snel onmogelijk als een applicatie
+ meer dan één of twee verschillende
+ compilatieinstellingen heeft;
+
+
+
+ De licentievoorwaarden van sommige softwaredistributies
+ verbieden binaire distributie. Ze moeten dus gedistribueerd
+ worden als broncode;
+
+
+
+ Sommige mensen vertrouwen binaire distributies niet.
+ Broncode kan tenminste (in theorie) zelf doorgelezen en
+ gecontroleerd worden op potentiële problemen;
+
+
+
+ Als er lokale modificaties zijn, is de broncode nodig om
+ ze toe te passen;
+
+
+
+ Sommige mensen hebben graag de broncode zodat ze die
+ kunnen lezen als ze zich vervelen, erin kunnen hacken, code
+ kunnen overnemen (indien de licentie dit toestaat
+ natuurlijk), enzovoort.
+
+
+
+ Om vernieuwingen van ports bij te houden kan een abonnement
+ genomen worden op de &a.ports; en/of de &a.ports-bugs;.
+
+
+ Voordat een applicatie wordt geïnstalleerd is het aan
+ te raden op
+ na kijken of er geen beveiligingsproblemen voor de gewenste
+ applicatie bekend zijn.
+
+ Het is ook mogelijk om security/portaudit te installeren,
+ dat automatisch alle geïnstalleerde applicaties
+ controleert op bekende fouten. Deze controle wordt ook
+ uitgevoerd voordat een port wordt geïnstalleerd.
+ Met het commando portaudit -F -a
+ kunnen de packages die al geïnstalleerd zijn worden
+ gecontroleerd.
+
+
+ In de rest van dit hoofdstuk wordt uitgelegd hoe packages en
+ ports gebruikt kunnen worden om software in &os; te installeren
+ en te beheren.
- * Vind Je Applicatie
+ Een Applicatie Zoeken
+
+ Voordat een applicatie geïnstalleerd kan worden, moeten
+ de doelen bekend zijn en hoe de applicatie heet.
+
+ De lijst met voor &os; beschikbare applicaties groeit
+ continu. Gelukkig zijn er een aantal manieren om te
+ zoeken:
+
+
+
+ Op de &os; website staat een recente doorzoekbare lijst
+ met alle beschikbare applicaties: http://www.FreeBSD.org/ports/.
+ De ports zijn onderverdeeld in categorieën. Er kan naar
+ een applicatie gezocht worden op naam (als die bekend is) of
+ alle applicaties in een categorie kunnen bekeken
+ worden.
+
+
+ FreshPorts
+
+
+ Dan Langille onderhoudt FreshPorts op . FreshPorts
+ volgt veranderingen in applicaties in de ports en biedt de
+ mogelijkheid om of meer ports te volgen. Er wordt dan een
+ e-mail gestuurd als de port is bijgewerkt.
+
+
+ FreshMeat
+
+
+ Als de naam van de gewenst applicatie niet bekend is, is
+ het wellicht mogelijk deze te achterhalen via een website als
+ FreshMeat ()
+ en kan daarna op de &os; site gecontroleerd worden of de
+ applicatie al geschikt gemaakt is voor gebruik met
+ &os;.
+
+
+
+ Als de precieze naam van de port bekend is, maar niet
+ bekend is in welke categorie deze staat, kan dit achterhaald
+ worden met &man.whereis.1;. Door simpelweg whereis
+ bestand in te geven,
+ waar bestand het te instelleren
+ programma is. Als het op het systeem staat, wordt dat als
+ volgt aangegeven:
+
+ &prompt.root; whereis lsof
+lsof: /usr/ports/sysutils/lsof
-
+ Dit geeft aan dat lsof (een
+ systeemhulpprogramma) in de map
+ /usr/ports/sysutils/lsof staat.
+
+
+
+ Een andere manier om een port op te sporen is door het
+ ingebouwde zoekmechanisme van de portscollectie te
+ gebruiken. Hiervoor moet het huidige pad de map
+ /usr/ports zijn. Vanuit die map kan
+ make search
+ name=programmanaam
+ uitgevoerd worden, waar
+ programmanaam de naam is van het
+ programma dat wordt gezocht. Als bijvoorbeeld
+ lsof wordt gezocht:
+
+ &prompt.root; cd /usr/ports
+&prompt.root; make search name=lsof
+Port: lsof-4.56.4
+Path: /usr/ports/sysutils/lsof
+Info: Lists information about open files (similar to fstat(1))
+Maint: obrien@FreeBSD.org
+Index: sysutils
+B-deps:
+R-deps:
+
+ Het belangrijkste onderdeel van de uitvoer is in dit geval
+ de regel waarop Path: staat, omdat die aangeeft
+ waar de port staat. De andere informatie is niet nodig voor de
+ installatie van de port en wordt hier niet behandeld.
+
+ Voor nog dieper zoeken kan ook make
+ search key=string
+ gebruikt worden waar string tekst is
+ waarnaar gezocht moet worden. Hiermee wordt naar namen van
+ ports, commentaar, beschrijvingen en afhankelijkheden gezocht
+ en dit kan gebruikt worden om ports te vinden die te maken
+ hebben met een bepaald onderwerp als onbekend is hoe het
+ gezochte programma heet.
+
+ In beide gevallen is de zoekstring niet
+ hoofdlettergevoelig. Zoeken naar LSOF geeft
+ hetzelfde resultaat als zoeken naar lsof.
+
+
-
+
-
- Chern
+
+ ChernLeeBijgedragen door
-
+
- * Het Packages Systeem Gebruiken
+
+ Het Packagessysteem Gebruiken
- * Een package installeren
+ Een Package Installeren
+
+
+ packages
+
+ installeren
+
+
+ pkg_add
+
+ Met &man.pkg.add.1; kan een &os; softwarepackage
+ geïnstalleerd worden vanaf een lokaal bestand of vanaf een
+ server op het netwerk.
+
+
+ Handmatig een Package Downloaden en Lokaal
+ Installeren
+
+ &prompt.root; ftp -a ftp2.FreeBSD.org
+Connected to ftp2.FreeBSD.org.
+220 ftp3.FreeBSD.org FTP server (Version 6.00LS) ready.
+331 Guest login ok, send your email address as password.
+230-
+230- This machine is in Vienna, VA, USA, hosted by Verio.
+230- Questions? E-mail freebsd@vienna.verio.net.
+230-
+230-
+230 Guest login ok, access restrictions apply.
+Remote system type is UNIX.
+Using binary mode to transfer files.
+ftp>cd /pub/FreeBSD/ports/packages/sysutils/
+250 CWD command successful.
+ftp>get lsof-4.56.4.tgz
+local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz
+200 PORT command successful.
+150 Opening BINARY mode data connection for 'lsof-4.56.4.tgz' (92375 bytes).
+100% |**************************************************| 92375 00:00 ETA
+226 Transfer complete.
+92375 bytes received in 5.60 seconds (16.11 KB/s)
+ftp>exit
+&prompt.root; pkg_add lsof-4.56.4.tgz
+
-
+ Als er lokaal geen bron is voor packages (zoals de &os;
+ CD-ROM set) dan is het waarschijnlijk makkelijker om de
+ optie te gebruiken met &man.pkg.add.1;.
+ Deze optie zorgt er voor dat het hulpprogramma automatisch het
+ correcte formaat en de juiste versie bepaalt en die daarna
+ binnenhaalt en installeert vanaf een FTP site.
+
+
+ pkg_add
+
+ &prompt.root; pkg_add -r lsof
+
+ Het voorbeeld hierboven haalt het correcte package binnen
+ en installeert het zonder dat de gebruiker iets hoeft te doen.
+ Het is mogelijk een alternatieve &os; packagessite aan te geven
+ in plaats van de hoofddistributiesite. Dan moet
+ PACKAGESITE ingesteld worden om de
+ standaardinstellingen aan te passen. &man.pkg.add.1; gebruikt
+ &man.fetch.3; om de bestanden binnen te halen, dat gebruik
+ maakt van diverse omgevingsvariabelen zoals
+ FTP_PASSIVE_MODE, FTP_PROXY, en
+ FTP_PASSWORD. Mogelijk moeten ook
+ één of meer van deze variabelen gebruikt worden
+ als een machine achter een firewall staat of als gebruik
+ gemaakt moet worden van een FTP/HTTP proxy. In &man.fetch.3;
+ staat de complete lijst. In het voorbeeld hierboven is gebruik
+ gemaakt van lsof in plaats van
+ lsof-4.56.4. Als het package wordt
+ binnengehaald met behulp van de bovenstaande instellingen, dan
+ moet het versienummer van het package niet gebruikt worden.
+ &man.pkg.add.1; haalt automatisch de laatste versie van de
+ applicatie binnen.
+
+
+ &man.pkg.add.1; downloadt de meest recente versie van een
+ applicatie als &os.current; of &os.stable;. Als een
+ -RELEASE versie wordt gebruikt, wordt het package dat bij die
+ release hoort gebruikt. Het is mogelijk dit gedrag te
+ veranderen door de omgevingsvariabele
+ PACKAGESITE te wijzigen.
+
+
+ Packagebestanden worden gedistribueerd in de formaten
+ .tgz en .tbz. Ze
+ zijn te vinden op
+ of op de &os; CD-ROM distributie. Iedere CD in de &os; 4-CD
+ set (en de PowerPak, enzovoort) bevat packages in de map
+ /packages. De opbouw van de packages is
+ ongeveer gelijk aan die van /usr/ports.
+ Iedere categorie heeft zijn eigen map en ieder package staat
+ ook in de map All.
+
+
+ De mappenstructuur van het packagesysteem is gelijk aan die
+ van het portssysteem. Samen vormen ze het
+ package/portssysteem.
- * Packages beheren
+ Packages Beheren
+
+
+ packages
+
+ beheren
+
+
+ &man.pkg.info.1; is een hulpprogramma dat de diverse
+ geïnstalleerde packages toont en beschrijft.
+
+ pkg_info
+
+ &prompt.root; pkg_info
+cvsup-16.1 A general network file distribution system optimized for CV
+docbook-1.2 Meta-port for the different versions of the DocBook DTD
+...
+
+ &man.pkg.version.1; is een hulpprogramma dat een
+ samenvatting van de versie van alle geïnstalleerde
+ packages geeft. Het vergelijkt de versie van het package met
+ de huidige versie in de portscollectie.
-
+ pkg_version
+
+ &prompt.root; pkg_version
+cvsup =
+docbook =
+...
+
+ De symbolen in de tweede kolom geven aan hoe de
+ geïnstalleerde versie staat ten opzichte van de versie die
+ beschikbaar is in de lokale portscollectie.
+
+
+
+
+
+ Symbool
+
+ Betekenis
+
+
+
+
+
+ =
+
+ De versie van het geïnstalleerde package komt
+ overeen met die in de lokale portscollectie.
+
+
+
+ <
+
+ De geïnstalleerde versie is ouder dan die
+ beschikbaar is in de ports.
+
+
+
+ >
+
+ De geïnstalleerde versie is nieuwer dan die
+ in de lokale portscollectie. De lokale portscollectie
+ is waarschijnlijk verouderd.
+
+
+
+ ?
+
+ Het geïnstalleerde package kan niet gevonden
+ worden in index van de portscollectie. Dit kan
+ bijvoorbeeld gebeuren als een geïnstalleerde port
+ uit de portscollectie wordt verwijderd of
+ hernoemd.
+
+
+
+ *
+
+ Er zijn meerdere versies van het package.
+
+
+
+
- * Een Package verwijderen
+ Een Package Verwijderen
+
+ pkg_delete
+
+
+ packages
+
+ deleting
+
+
+ Voor het verwijderen van een geïnstalleerd package
+ wordt het hulpprogramma &man.pkg.delete.1; gebruikt.
-
+ &prompt.root; pkg_delete xchat-1.7.1
- * Diversen
+ Diversen
-
+ Alle informatie over packages wordt opgeslagen in de map
+ /var/db/pkg. De lijst met
+ geïnstalleerde bestanden en beschrijvingen van ieder
+ package staat in de bestanden in deze map.
- * De Ports Verzameling Gebruiken
+ De Portscollectie Gebruiken
+
+ In de volgende paragrafen worden basisinstructies gegeven
+ over het gebruik van de portscollectie om programma's op een
+ systeem te installeren of ervan te verwijderen.
- * De Ports Verzameling
+ De Portscollectie
+
+ Voordat ports geïnstalleerd kunnen worden moet eerst
+ de portscollectie op een systeem staan, die in essentie een set
+ van Makefiles, patches en bestanden met
+ beschrijvingen is in /usr/ports.
+
+ Tijdens het installeren van een &os; systeem, vraagt
+ sysinstall of de portscollectie
+ geïnstalleerd moet worden. Als daar NO is
+ aangegeven, dan kan met behulp van de volgende instructies
+ alsnog de portscollectie op een systeem gezet worden:
+
+
+ Met Sysinstall
+
+ Bij deze methode wordt
+ sysinstall weer gebruikt om de
+ portscollectie te installeren.
-
+
+ sysinstall
+ (/stand/sysinstall in &os; versies
+ ouder dan 5.2) dient als
+ root uitgevoerd te worden:
+
+ >&prompt.root; sysinstall
+
+
+
+ Selecteer onderaan
+ Configure en druk op
+ Enter;
+
+
+
+ Selecteer onderaan
+ Distributions en druk op
+ Enter;
+
+
+
+ Selecteer ports en druk op
+ Space;
+
+
+
+ Selecteer bovenaan Exit en
+ druk op Enter;
+
+
+
+ Selecteer het gewenste installatiemedium, zoals CDROM,
+ FTP, enzovoort;
+
+
+
+ Selecteer bovenaan Exit en
+ druk op Enter;
+
+
+
+ Druk op X om
+ sysinstall te verlaten.
+
+
+
+ De alternatieve methode om de portscollectie te installeren
+ en bij te werken maakt gebruik van
+ CVSup. Zie hiervoor het bestand
+ /usr/share/examples/cvsup/ports-supfile
+ uit de port CVSup. In dat bestand
+ en CVSup gebruiken
+ () staat meer informatie over het gebruik
+ van CVSup.
+
+
+ Met CVSup
+
+ Dit is een snelle methode om de portscollectie te
+ installeren met behulp van CVSup.
+ Meer informatie over CVSup of over
+ het bijgewerkt houden van de portscollectie staat in de eerder
+ genoemde paragraaf.
+
+
+ De port net/cvsup
+ dient geïnstalleerd te worden. Meer details zijn te
+ vinden in CVSup
+ Installatie ();
+
+
+
+ /usr/share/examples/cvsup/ports-supfile
+ dient als root naar een nieuwe lokatie
+ zoals /root of een thuismap gekopieerd
+ te worden;
+
+
+
+ ports-supfile dient aangepast te
+ worden;
+
+
+
+ CHANGE_THIS.FreeBSD.org
+ dient gewijzigd te worden in een
+ CVSup server in de buurt. In
+ CVSup Mirrors () staat een complete lijst van
+ mirrorsites;
+
+
+
+ Start cvsup:
+
+ &prompt.root; cvsup -g -L 2 /root/ports-supfile
+
+
+
+ Als dit commando later wordt herhaald, dan worden alle
+ recente veranderingen binnengehaald. De ports die al
+ geïnstalleerd zijn worden niet opnieuw gebouwd!
+
+
- * Ports Installeren
+ Ports Installeren
+
+
+ ports
+
+ installeren
+
+
+ Het eerste wat uitleg behoeft als het over de
+ portscollectie gaat is de term skelet
+ (skeleton). In een notendop is een portskelet
+ een minimaal aantal bestanden dat &os; aangeeft hoe een
+ programma gecompileerd en geïnstalleerd kan worden. Ieder
+ portskelet bevat:
+
+
+
+ Een Makefile. De
+ Makefile bevat verschillende
+ definities die aangeven hoe de applicatie gecompileerd moet
+ worden en waar die op een systeem geïnstalleerd moet
+ worden;
+
+
+
+ Een bestand distinfo. Dit bestand
+ bevat informatie over de bestanden die gedownload moeten
+ worden om de port te bouwen en hun checksums, om met
+ &man.md5.1; vast te stellen dat de bestanden niet corrupt
+ zijn geraakt tijdens de download.;
+
+
+
+ Een map files. Deze map bevat
+ patches om het programma op een &os; systeem te laten
+ compileren en installeren. Patches zijn in essentie kleine
+ bestanden waarin kleine veranderingen aan andere,
+ specifieke, bestanden staan aangegeven. Ze zijn opgesteld
+ in platte tekst en er staan dingen in als Verwijder
+ regel 10 of Wijzig regel 26 in
+ .... Patches staan ook wel bekend als
+ diffs omdat ze gemaakt worden met het
+ programma &man.diff.1;.
+
+ Deze map kan ook andere bestanden bevatten die gebruikt
+ worden om de port te bouwen;
+
+
+
+ Een bestand pkg-descr. Dit is een
+ meer gedetailleerde beschijving van het programma, vaak in
+ één regel;
+
+
+
+ Een bestand pkg-plist. Dit is een
+ lijst met alle bestanden die door de port
+ geïnstalleerd worden. Het geeft het portssysteem ook
+ aan welke bestanden bij het verwijderen van de port weer
+ verwijderd kunnen worden.
+
+
+
+ Sommige ports bevatten nog andere bestanden, zoals
+ pkg-message. Het portssysteem gebruikt
+ die bestanden voor het afhandelen van bijzondere situaties.
+ Meer details over die bestanden en over ports in het algemeen
+ zijn na te lezen in het &os; Handboek
+ voor Porters.
+
+ De port bevat instructies over hoe de broncode gebouwd moet
+ worden, maar de broncode zelf is er geen onderdeel van. De
+ broncode staat op een CD-ROM of op internet. De broncode
+ wordt verspreid op de wijze waarop de auteur dat wenst. Vaak
+ is dat als een tar of gzip bestand, maar het kan ook ingepakt
+ zijn met een ander programma of helemaal niet ingepakt zijn.
+ De broncode van een programma, in welke vorm dan ook, heet een
+ distfile. De twee methoden om een &os; port te
+ installeren worden hieronder beschreven.
+
+
+ Ports installeren dient als root te
+ gebeuren.
+
+
+
+ Voordat een port wordt geïnstalleerd is het aan
+ te raden op
+ na kijken of er geen beveiligingsproblemen voor de
+ gewenste applicatie bekend zijn.
+
+ Het is ook mogelijk om security/portaudit te
+ installeren. Hiermee wordt die controle automatisch
+ uitgevoerd voordat een port wordt geïnstalleerd. Met
+ het commando portaudit -F kan de
+ meest recente versie van de database met
+ beveiligingsproblemen opgehaald worden. Door deze port wordt
+ dagelijks een beveiligingsaudit gedaan en wordt ook dagelijks
+ de database bijgewerkt. Meer informatie is te vinden in
+ &man.portaudit.1; en &man.periodic.8;.
+
- * Ports installeren vanaf een CD-ROM
+ Ports vanaf CD-ROM Installeren
+
+
+ ports
+
+ installeren vanaf CD-ROM
+
+
+ De officiële &os; Project CD-ROM images bevatten
+ geen distfiles meer. Die kostten veel ruimte die beter
+ gevuld kon worden met voorgecompileerde packages. CD-ROM
+ producten als het &os; PowerPak bevatten wel distfiles en
+ deze kunnen besteld worden bij een verkoper als de &os; Mall. In
+ deze paragraaf wordt aangenomen dat er een &os; CD-ROM set
+ aanwezig is.
+
+ De &os; CD-ROM dient in de drive te zitten en gemount te
+ worden op /cdrom. Als er een ander
+ mountpunt wordt gebruikt werkt de installatie niet. Om te
+ beginnen dient de juiste map voor een port aangegeven te
+ worden:
-
+ &prompt.root; cd /usr/ports/sysutils/lsof
+
+ Eenmaal in de map lsof is het skelet
+ van de port te zien. In de volgende stap wordt de broncode
+ voor de port gecompileerd of gebouwd. Dit
+ wordt gedaan door op het prompt make in te
+ voeren. Dat levert iets als het volgende op:
+
+ &prompt.root; make
+>> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
+>> Attempting to fetch from file:/cdrom/ports/distfiles/.
+===> Extracting for lsof-4.57
+...
+[uitvoer van uitpakken verwijderd]
+...
+>> Checksum OK for lsof_4.57D.freebsd.tar.gz.
+===> Patching for lsof-4.57
+===> Applying FreeBSD patches for lsof-4.57
+===> Configuring for lsof-4.57
+...
+[uitvoer van configure verwijderd]
+...
+===> Building for lsof-4.57
+...
+[uitvoer van compileren verwijderd]
+...
+&prompt.root;
+
+ Als het compileren is afgerond is het prompt weer
+ zichtbaar. In de volgende stap wordt de port
+ geïnstalleerd. Om dat te bewerkstelligen wordt het
+ woord install aan make
+ toegevoegd:
+
+ &prompt.root; make install
+===> Installing for lsof-4.57
+...
+[uitvoer installatie verwijderd]
+...
+===> Generating temporary packing list
+===> Compressing manual pages for lsof-4.57
+===> Registering installation for lsof-4.57
+===> SECURITY NOTE:
+ This port has installed the following binaries which execute with
+ increased privileges.
+&prompt.root;
+
+ Als het prompt weer beschikbaar is, is de applicatie
+ klaar voor gebruik. Omdat lsof met
+ verhoogde rechten wordt uitgevoerd, wordt er een
+ waarschuwing getoond. Tijdens het bouwen en installeren van
+ ports zijn de getoonde waarschuwingen van belang.
+
+
+ Het is mogelijk een stap minder te gebruiken door
+ make install uit te voeren in plaats van
+ make en make install
+ als twee afzonderlijke stappen.
+
+
+
+ Sommige shells houden een cache bij van de commando's
+ die in de mappen uit de omgevingsvariabele
+ PATH staan om het opzoeken van een
+ uitvoerbaar bestand te versnellen. Als zo'n shell wordt
+ gebruikt, moet er na de installatie van een port het
+ commando rehash worden uitgevoerd
+ voordat zojuist geïnstalleerde commando's kunnen
+ worden gebruikt. Dit geldt zowel voor shells die
+ onderdeel uitmaken van het basissysteem (zoals
+ tcsh) als voor shells uit de
+ portscollectie (als shells/zsh).
+
+
+
+ Licenties van sommige ports staan niet toe dat de
+ code wordt opgenomen in een CD-ROM. Dit kan komen doordat
+ er een formulier ingevuld moet worden voor een download of
+ doordat herdistributie niet is toegestaan of om een andere
+ reden. Om een port te installeren die niet op de CD-ROM
+ staat moet de computer waarop de port geïnstalleerd
+ wordt een internetverbinding hebben. Dit staat in de
+ volgende paragraaf
+ beschreven.
+
- * Ports installeren vanaf het internet
+ Ports vanaf Internet Installeren
+
+ Net als in de vorige paragraaf wordt hier aangenomen dat
+ er voor een systeem een werkende internetverbinding is. Als
+ die er niet is, dient de CD-ROM installatie gevolgd te
+ worden of moet met de hand de distfile in
+ /usr/ports/distfiles gezet
+ worden.
+
+ Het installeren van een ports vanaf internet gaat op
+ precies dezelfde manier als de installatie vanaf CD-ROM. Het
+ enige verschil is dat de distfile van internet komt in plaats
+ vanaf de CD-ROM.
+
+ Het stappenplan is ook hetzelfde:
+
+ &prompt.root; make install
+>> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
+>> Attempting to fetch from ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/.
+Receiving lsof_4.57D.freebsd.tar.gz (439860 bytes): 100%
+439860 bytes transferred in 18.0 seconds (23.90 kBps)
+===> Extracting for lsof-4.57
+...
+[uitvoer van uitpakken verwijderd]
+...
+>> Checksum OK for lsof_4.57D.freebsd.tar.gz.
+===> Patching for lsof-4.57
+===> Applying FreeBSD patches for lsof-4.57
+===> Configuring for lsof-4.57
+...
+[uitvoer van configure verwijderd]
+...
+===> Building for lsof-4.57
+...
+[uitvoer van compileren verwijderd]
+...
+===> Installing for lsof-4.57
+...
+[uitvoer van installatie verwijderd]
+...
+===> Generating temporary packing list
+===> Compressing manual pages for lsof-4.57
+===> Registering installation for lsof-4.57
+===> SECURITY NOTE:
+ This port has installed the following binaries which execute with
+ increased privileges.
+&prompt.root;
-
+ Het enige verschil is de regel die aangeeft waar de
+ distfile wordt opgehaald.
+
+ Het portssysteem gebruikt &man.fetch.1; om bestanden te
+ downloaden. Dat programma maakt gebruik van een aantal
+ omgevingsvariabelen, waaronder
+ FTP_PASSIVE_MODE, FTP_PROXY,
+ en FTP_PASSWORD. Als een systeem achter een
+ firewall staat, is het wellicht noodzakelijk om een of meer
+ van deze omgevingsvriabelen in te stellen of om gebruik te
+ maken van een FTP/HTTP proxy. In &man.fetch.3; staat een
+ complete lijst.
+
+ Als er geen continue internetverbinding is, kan gebruik
+ gemaakt worden van make
+ fetch. Door dit
+ commando in de map /usr/ports uit te
+ voeren worden alle benodigde bestanden
+ gedownload. Dit commando werkt ook op een lager niveau als
+ /usr/ports/net of
+ /usr/ports/net/xmule. Als een port
+ afhankelijk is van bibliotheken of andere ports dan worden
+ de distfiles van die ports niet
+ opgehaald. Om dat de bereiken dient
+ fetch vervangen te worden door
+ fetch-recursive.
+
+
+ Het is mogelijk alle ports in een categorie te bouwen
+ door make in een hogere map uit te
+ voeren, naar analogie van het voorbeeld voor make
+ fetch. Dit is wel
+ gevaarlijk, omdat sommige ports niet tegelijk met andere
+ geïnstalleerd kunnen zijn. In andere gevallen
+ installeren twee ports hetzelfde bestand met een andere
+ inhoud.
+
+
+ In zeldzame gevallen willen of moeten gebruikers de tar
+ bestanden van een andere site dan de
+ MASTER_SITES halen (de locatie waar de
+ bestanden vandaan komen). Dat is mogelijk met de optie
+ MASTER_SITES met een volgend
+ commando:
+
+ &prompt.root; cd /usr/ports/directory
+&prompt.root; make MASTER_SITE_OVERRIDE= \
+ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch
+
+ In het voorgaande voorbeeld is de optie
+ MASTER_SITES gewijzigd naar ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/.
+
+
+ Sommige ports staan toe (of schrijven zelfs voor) dat
+ er een aantal instellingen worden meegegeven die bepaalde
+ onderdelen (niet gebruikt, beveiligingsinstellingen en
+ andere aanpassingen) van de applicatie in- of uitschakelen.
+ Voorbeelden van ports waarbij dat het geval is zijn
+ www/mozilla, security/gpgme en mail/sylpheed-claws. Er wordt
+ een bericht getoond als dit soort instellingen beschikbaar
+ zijn.
+
- * De standaard ports directories aanpassen
+ Standaardmappen voor Ports Wijzigen
+
+ Soms is het handig (of verplicht) om een andere map voor
+ distfiles of ports te gebruiken. Met de variabelen
+ PORTSDIR en PREFIX
+ kunnen de standaardmappen veranderd worden:
+
+ &prompt.root; make PORTSDIR=/usr/home/example/ports install
+
+ Het voorbeeld hierboven compileert de port in
+ /usr/home/example/ports en installeert
+ alles in /usr/local.
+
+ &prompt.root; make PREFIX=/usr/home/example/local install
+
+ Het voorbeeld hierboven compileert in
+ /usr/ports en installeert in
+ /usr/home/example/local.
-
+ &prompt.root; make PORTSDIR=../ports PREFIX=../local install
+
+ Het voorbeeld hierboven combineert de twee instellingen.
+ Het gaat te ver om dit volledig in het handboek te
+ beschrijven, maar hier krijgt de lezer een idee van de
+ mogelijkheden.
+
+ Het is ook mogelijk de bovenstaande variabelen als deel
+ van de omgeving in te stellen. In de hulppagina's van de
+ gebruikte shell staat hoe dat mogelijk is.
- * Omgaan metimake
+ Omgaan met imake
-
+ Er zijn ports die imake gebruiken
+ (een onderdeel van het X Window Systeem) die niet goed werken
+ met PREFIX en erop staan te installeren in
+ /usr/X11R6. Er zijn ook een aantal Perl
+ ports die PREFIX negeren en in de Perl
+ hiërarchie installeren. Deze ports op de
+ PREFIX locatie laten installeren is
+ meestal erg moeilijk of onmogelijk.
- * Verwijderen van geïnstalleerde ports
+ Geïnstalleerde Ports Verwijderen
+
+
+ ports
+
+ verwijderen
+
+
+ In deze paragraaf wordt het verwijderen van ports
+ behandeld. Dat kan nodig zijn als een port niet langer wordt
+ gebruikt of als de verkeerde ports is geïnstalleerd. Dit
+ wordt geïllustreerd door de port uit het vorige voorbeeld
+ te verwijderen (lsof). Net als bij het
+ installeren van ports, moet eerst naar de juiste map gegaan
+ worden (/usr/ports/sysutils/lsof). Daarna
+ kan lsof verwijderd worden. Dit gaat met
+ het commando make deinstall:
+
+ &prompt.root; cd /usr/ports/sysutils/lsof
+&prompt.root; make deinstall
+===> Deinstalling for lsof-4.57
-
+ Erg makkelijk dus. Nu is lsof van een
+ systeem verwijderd. Om het opnieuw te installeren kan vanuit
+ de map /usr/ports/sysutils/lsof
+ make reinstall uitgevoerd worden.
+
+ Het uitvoeren van make deinstall en
+ make reinstall werkt niet als ooit
+ make clean voor die port is uitgevoerd. Om
+ een port te verwijderen na het cleanen van die port kan
+ &man.pkg.delete.1; gebruikt worden, zoals wordt toegelicht in
+ de paragraaf Het Packagessysteem
+ Gebruiken.
- * Ports en disk ruimte
+ Ports en Schijfruimte
+
+
+ ports
+
+ schijfruimte
+
-
+ Werken met de portscollectie kan in de loop der tijd veel
+ diskruimte gebruiken. Omdat de portsstructuur de neiging heeft
+ in de loop der tijd in grootte te groeien, na het bouwen en
+ installeren van software uit de ports, is het van belang altijd
+ de tijdelijke werkmappen work op te ruimen met het
+ commando make clean.
+ Hiermee wordt de map work verwijderd nadat
+ een port is gebouwd en geïnstalleerd. Daarnaast kunnen
+ ook de distfiles met de broncode verwijderd worden uit de map
+ distfiles en
+ kunnen ports die niet meer gebruikt worden verwijderd
+ worden.
+
+ Sommige gebruikers kiezen ervoor om de beschikbare port
+ categorieën te beperken met instellingen in het bestand
+ refuse. Zo kan bij het draaien van de
+ applicatie CVSup voorkomen worden
+ dat bestanden in een categorie worden gedownload. Meer
+ informatie over refuse staat in .
- * Ports upgraden
+ Ports Bijwerken
+
+ portupgrade
+
+
+ ports
-
+ bijwerken
+
+
+
+ Als de portscollectie eenmaal is bijgewerkt
+ vóór het bijwerken van ports, is het verstandig
+ het bestand /usr/ports/UPDATING te
+ raadplegen. In dat bestand staan aanwijzingen en wijzigingen
+ voor gebruikers die van belang zijn bij het bijwerken van
+ ports.
+
+
+ Het bijwerken van ports kan een vervelend klusje zijn. Om
+ bijvoorbeeld een port bij te werken is het nodig om naar de
+ juiste portsmap te gaan, de port te bouwen, de oude port te
+ verwijderen, de nieuwe port te installeren en daarna de werkmap
+ op te ruimen. Het is voorstelbaar dat dit voor bijvoorbeeld
+ vijf ports een vervelend klusje is. Dit was een groot probleem
+ voor systeembeheerders, dus zijn daar hulpprogramma's voor
+ gemaakt. Zo voert het hulpprogramma sysutils/portupgrade het complete
+ hiervoor beschreven proces uit! Die port is gewoon als iedere
+ andere port te installeren met make install
+ clean.
+
+ Nu kan er een database gemaakt worden met het commando
+ pkgdb -F. Hiermee wordt de lijst van
+ geïnstalleerde ports gelezen en wordt een databasebestand
+ gemaakt in de map /var/db/pkg. Als daarna
+ portupgrade -a wordt uitgevoerd, wordt
+ die database gelezen en het bestand INDEX
+ van de ports. Tenslotte begint
+ portupgrade met het downloaden,
+ bouwen, back-uppen, installeren en opschonen van de ports die
+ zijn bijgewerkt. portupgrade kent
+ veel opties voor verschillend gebruik. De meest belangrijke
+ worden hieronder besproken.
+
+ Om een specifieke applicatie bij te werken en niet de hele
+ database, kan portupgrade
+ pkgname gebruikt worden.
+ De vlag kan gebruikt worden om
+ portupgrade ook te draaien voor alle
+ packages waar het opgegeven package van afhankelijk is en
+ de optie zorgt ervoor dat het wordt
+ gedraaid voor alle packages die van het opgegeven package
+ afhankelijk zijn.
+
+ Om bij installatie van packages in plaats van ports gebruik
+ te maken kan gebruikt worden. Met deze
+ optie zoekt portupgrade in de
+ lokale mappen uit PKG_PATH of haalt de packages
+ van via het netwerk op als het lokaal niet wordt aangetroffen.
+ Als een package niet lokaal en niet via het netwerk wordt
+ gevonden, dan gebruikt portupgrade
+ ports. Om het gebruik van ports te voorkomen kan gebruik
+ gemaakt worden van de optie .
+
+ Om alleen de distfiles op te halen (of packages als
+ is opgegeven), zonder bouwen of
+ installeren, is beschikbaar. Meer
+ informatie staat in &man.portupgrade.1;.
+
+
+ Het is van belang om regelmatig de packagedatabase bij
+ te werken met pkgdb -F om
+ inconsistenties de repareren, in het bijzonder als
+ portupgrade daar om vraagt. Als
+ portupgrade tijdens het bijwerken
+ van de packagedatabase wordt onderbroken levert dat een
+ inconsistente database op.
+
+
+ Er bestaan ook andere hulpprogramma's die de besproken
+ taken uit kunnen voeren. Deze zijn te vinden in de map
+ ports/sysutils.
- * Activiteiten na de installatie
+ Activiteiten na het Installeren
+
+ Na het installeren van een nieuwe applicatie is het meestal
+ verstandig om de documentatie te lezen die bij een applicatie
+ zit, bestanden met instellingen die vereist zijn aan te passen,
+ ervoor te zorgen dat de applicatie start na het booten (als het
+ een daemon is), enzovoort.
+
+ De exacte stappen om een applicatie in te stellen zijn
+ natuurlijk voor iedere applicatie anders. Maar als er net een
+ nieuwe applicatie is geïnstalleerd en het is niet
+ vanzelfsprekend hoe verder te gaan, dan kunnen de volgende tips
+ helpen:
+
+
+
+ Met &man.pkg.info.1; kan uitgevonden worden welke
+ bestanden geïnstalleerd zijn en waar. Om bijvoorbeeld
+ uit te vinden welke bestanden door FooPackage versie 1.0.0
+ zijn geïnstalleerd:
+
+ &prompt.root; pkg_info -L foopackage-1.0.0 | less
-
+ Bestanden in mapnamen met man/
+ zijn hulppagina's, etc/ bevat bestanden
+ met instellingen en doc/ bevat
+ uitgebreidere documentatie.
+
+ Als niet helemaal duidelijk is welke versie van het
+ programma is geïnstalleerd, kan een commando als volgt
+ gebruikt worden:
+
+ &prompt.root; pkg_info | grep -i foopackage
+
+ Hiermee worden alle packages getoond waar
+ foopackage in de packagenaam
+ voorkomt.
+
+
+
+ Als de hulppagina's zijn gevonden, kunnen die bekeken
+ worden met &man.man.1;. Zo kan er ook in de bestanden met
+ voorbeeldinstellingen gekeken worden en naar aanvullende
+ documentatie, als die is bijgeleverd.
+
+
+
+ Als er een website is voor de applicatie staat daar
+ vaak ook aanvullende documentatie, veelgestelde vragen,
+ enzovoort. Als het webadres niet bekend is, kan dat nog
+ staan in de uitvoer van het volgende commando:
+
+ &prompt.root; pkg_info foopackage-1.0.0
+
+ Als er een regel met WWW: in staat, is
+ dat de URL naar de website voor de applicatie.
+
+
+
+ Ports die na het booten moeten starten (zoals internet
+ diensten) hebben meestal een voorbeeldscript in
+ /usr/local/etc/rc.d. Dit script kan
+ bekeken, aangepast en hernoemd worden waar nodig. Meer
+ informatie staat in Diensten
+ Starten.
+
+
- * Omgaan met gebroken ports
+ Omgaan met Kapotte Ports
+
+ Als een port niet werkt, zijn er een aantal mogelijke
+ manieren om verder te komen:
+
+
+
+ Repareren! In het Handboek
+ voor de Porter is gedetailleerde informatie te
+ vinden over de infrastructuur van de Ports,
+ zodat een kapotte port gemaakt kan worden of er zelfs een
+ nieuwe port ingestuurd kan worden.
+
+
+
+ Klaag alleen per e-mail! Er kan
+ eerst een e-mail naar de beheerder van de port gestuurd
+ worden. Voor het mailadres van de beheerder kan
+ make maintainer ingegeven worden of het
+ kan in de Makefile staan. In de mail
+ dienen in ieder geval de naam en versie van de port te
+ staan (de regel met $&os;: in de
+ Makefile) en de uitvoer tot en met de
+ foutmelding. Als er geen antwoord komt van de beheerder,
+ kan er met &man.send-pr.1; een foutrapport ingestuurd
+ worden.
+
-
+
+ Zoek een package van een FTP site in de buurt. De
+ master packagecollectie staat op ftp.FreeBSD.org in de map
+ packages, maar het is van belang dat er
+ eerst in de buurt wordt gekeken! Dat
+ het package werkt is waarschijnlijker dan wanneer uit de
+ de broncode wordt gecompileerd en het is nog sneller ook.
+ Een package kan met &man.pkg.add.1; geïnstalleerd
+ worden.
+
+
diff --git a/nl_NL.ISO8859-1/books/handbook/users/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/users/chapter.sgml
index ff4217376f..cf1f4fc2d0 100644
--- a/nl_NL.ISO8859-1/books/handbook/users/chapter.sgml
+++ b/nl_NL.ISO8859-1/books/handbook/users/chapter.sgml
@@ -1,115 +1,1285 @@
NeilBlakey-Milner
- Bijgedragen door
+ Geschreven door
+
+
+
+
+ Siebrand
+ Mazeland
+ Vertaald door
- * Gebruikers en Basis Account Management
+
+ Gebruikers en Basis Accountbeheer
- * Samenvatting
+ Overzicht
+
+ Met &os; is het mogelijk een computer met meerdere gebruikers
+ tegelijkertijd te gebruiken. Natuurlijk kan er op een zeker
+ moment maar één gebruiker achter het scherm en
+ toetsenbord zitten
+
+
+ Tenzij er natuurlijk meerdere terminals worden
+ aangesloten, maar dat wordt behandeld in .
+
+
+ , maar er kan een groot aantal gebruikers zijn aangemeld via het
+ netwerk om dingen met de computer te doen. Om een systeem te
+ gebruiken moet een gebruiker een account hebben.
+
+ Na het lezen van dit hoofdstuk weet de lezer:
+
+
+
+ De verschillen tussen de gebruikersaccounts op een &os;
+ systeem;
+
+
+
+ Hoe gebruikersaccounts toe te voegen;
+
+
+
+ Hoe gebruikersaccounts te verwijderen;
+
+
+
+ Hoe eigenschappen van accounts te wijzigen, zoals de
+ volledige naam van de gebruiker of de voorkeursshell;
+
+
+
+ Hoe op een per account basis limieten in te stellen om
+ het bronnengebruik van bijvoorbeeld geheugen en processortijd
+ te reguleren voor accounts en accountgroepen;
+
-
+
+ Hoe groepen te gebruiken om accountbeheer te
+ vereenvoudigen.
+
+
+
+ Aangeraden voorkennis:
+
+
+
+ Basisbegrip van &unix; en &os; ().
+
+
- * Inleiding
+ Inleiding
+
+ Via accounts wordt alle toegang tot een systeem gegeven en
+ alle processen worden door gebruikers gedraaid. Dus gebruikers
+ en accountbeheer zijn van integraal belang op &os;
+ systemen.
+
+ Elke account op een &os; systeem heeft een aantal
+ informatievelden waarmee de account geïdentificeerd kan
+ worden.
+
+
+
+ Gebruikersnaam
+
+
+ De gebruikersnaam, zoals die ingevoerd wordt bij het
+ prompt login:. Gebruikersnamen moeten
+ uniek zijn op een computer. Er mogen geen twee
+ gebruikers zijn met dezelfde gebruikersnaam. Er horen een
+ aantal regels bij het maken van geldige gebruikersnamen,
+ die in &man.passwd.5; staan beschreven. Gebruikersnamen
+ bestaan gewoonlijk uit acht of minder karakters (geen
+ hoofdletters).
+
+
+
+
+ Wachtwoord
+
+
+ Bij ieder account hoort een wachtwoord. Het wachtwoord
+ kan leeg zijn. Er is dan geen wachtwoord nodig om toegang
+ te krijgen tot een systeem. Dit is meestal een slecht
+ idee. Ieder account hoort een wachtwoord te
+ hebben.
+
+
+
+
+ Gebruikers ID (UID)
+
+
+ Het UID is een nummer, traditioneel van 0 tot 65535
+
+
+ Het is mogelijk om UID/GID's te gebruiken tot
+ 4294967295, maar die ID's kunnen tot serieuze
+ problemen leiden met software die aannames maakt over
+ de waarde van ID's.
+
+
+ , dat wordt gebruikt om een gebruiker op een systeem uniek
+ te identificeren. Intern gebruikt &os; het UID om
+ gebruikers te identificeren. Voor alle &os; commando's
+ waarin een gebruikersnaam wordt opgegegeven, wordt eerst
+ geconverteerd naar het UID voordat ermee gewerkt wordt.
+ Dit betekent dat er verschillende accounts kunnen zijn met
+ andere gebruikersnamen maar met hetzelfde UID. Wat &os;
+ betreft zijn al die accounts één gebruiker.
+ Het is onwaarschijnlijk dat het ooit nodig is deze
+ eigenschap te gebruiken.
+
+
+
+
+ Groep ID (GID)
-
+
+ Het GID is een nummer, traditioneel van 0 tot 65535
+ , gebruikt om de
+ primaire groep waartoe een gebruiker behoort, uniek te
+ identificeren. Groepen zijn een methode waarmee toegang
+ tot bronnen beheerst kan worden, gebaseerd op het GID van
+ een gebruiker in plaats van op een UID. Hiermee kan het
+ aantal instellingen in bepaalde bestanden aanzienlijk
+ verkleind worden. Een gebruiker kan lid zijn van meer dan
+ één groep.
+
+
+
+
+ Aanmeldklasse
+
+
+ Aanmeldklassen zijn een uitbreiding op het
+ groepenmechanisme waarmee additionele flexibiliteit wordt
+ geboden bij het aanpassen van een systeem op verschillende
+ gebruikers.
+
+
+
+
+ Wijzigingstijd wachtwoord
+
+
+ Standaard dwingt &os; gebruikers niet tot het periodiek
+ wijzigen van hun wachtwoord. Dit kan wel per gebruiker
+ afgedwongen worden, zodat sommige of alle gebruikers hun
+ wachtwoord na een bepaalde periode moeten wijzigen.
+
+
+
+
+ Verloopdatum account
+
+
+ Standaard verlopen accounts op &os; niet. Als er
+ accounts gemaakt worden waarvan bekend is dat ze maar een
+ beperkte tijd nodig zijn, bijvoorbeeld op een school waar
+ accounts bestaan voor studenten, dan kan er aangegeven
+ worden wanneer een account verloopt. Nadat de verloopdatum
+ is verstreken kan de account niet meer gebruikt worden om
+ aan te melden op een systeem, hoewel de mappen en bestanden
+ van de account nog wel blijven bestaan.
+
+
+
+
+ Volledige gebruikersnaam
+
+
+ De gebruikersnaam identificeert de account uniek voor
+ &os;, maar die geeft niet zonder meer de echte naam van de
+ gebruiker weer. Deze informatie kan aan de account
+ gekoppeld worden.
+
+
+
+
+ Thuismap
+
+
+ De thuismap is het volledige pad naar een map op een
+ systeem waar de gebruiker start als die aanmeldt op een
+ systeem. Het is de gewoonte dat alle thuismappen voor
+ gebruikers onder
+ /home/gebruikersnaam
+ of
+ /usr/home/gebruikersnaam
+ staan. Gebruikers slaan hun persoonlijke bestanden op in
+ hun thuismap en in mappen die daaronder worden
+ gemaakt.
+
+
+
+
+ Gebruikersshell
+
+
+ De shell biedt een standaardomgeving waarmee gebruikers
+ met een systeem werken. Er zijn vele shells en ervaren
+ gebruikers hebben hun eigen voorkeuren, die hun weerslag
+ kunnen hebben in hun accountinstellingen.
+
+
+
+
+ Er zijn drie hoofdtypen accounts: de Superuser, systeemgebruikers en gebruikersaccounts. De Superuser
+ account, die meestal root heet, wordt
+ gebruikt om een systeem te beheren zonder beperkingen.
+ Systeemgebruikers kunnen diensten draaien. Tenslotte kunnen
+ gebruikersaccounts gebruikt worden door echte personen, die
+ aanmelden, e-mail lezen, enzovoort.
- * Het super-user gebruikersaccount
+ De Superuser Account
+
+
+ accounts
-
+ superuser (root)
+
+
+ De superuser account, die meestal
+ root heet, is al ingesteld om gebruikt te
+ worden voor systeembeheer en hoort niet gebruikt te worden voor
+ dagelijkse werkzaamheden, zoals het sturen en ontvangen van
+ e-mail, het verkennen van het systeem of programmeren.
+
+ Dit omdat de Superuser, anders dan gewone gebruikersaccounts,
+ zonder beperkingen kan opereren en misbruik van een Superuser
+ account kan resulteren in spectaculaire problemen.
+ Gebruikersaccounts kunnen niet per ongeluk een systeem vernielen,
+ dus het is aan te raden om wanneer maar mogelijk gewone
+ gebruikersaccounts te gebruiken, tenzij de extra privileges
+ noodzakelijk zijn.
+
+ Commando's die als superuser worden uitgevoerd dienen altijd
+ twee of drie keer gecontroleerd te worden voordat ze worden
+ uitgevoerd, omdat een extra spatie of een missend karakter kan
+ leiden tot niet terug te draaien dataverlies.
+
+ Als het niet al geregeld is, is het dus na het lezen van dit
+ hoofdstuk aan te raden als eerste een gebruikersaccount zonder
+ bijzondere rechten te maken voor de dagelijkse bezigheden. Dit
+ geldt zowel als het gaat over een machine voor één
+ gebruiker als wanneer het gaat over een machine voor meerdere
+ gebruikers. Later in dit hoofdstuk wordt beschreven hoe
+ additionele accounts gemaakt kunnen worden en hoe er tussen de
+ normale gebruiker en de Superuser gewisseld kan worden.
- * Systeemaccounts
+ Systeemaccounts
+
+
+ accounts
+
+ systeem
+
+
+ Systeemgebruikers draaien diensten, zoals DNS, mailservers,
+ webservers, enzovoort. De reden hiervoor is beveiliging. Als
+ alle diensten als Superuser zouden draaien, dan zouden ze zonder
+ beperkingen kunnen opereren.
+
+
+ accounts
+
+ daemon
+
+
+
+ accounts
+
+ operator
+
+
+ Voorbeelden van systeemgebruikers zijn
+ daemon, operator,
+ bind (voor de Domain Name Service) en
+ news. Vaak maken systeembeheerders
+ httpd om webservers die ze installeren te
+ draaien.
+
+
+ accounts
-
+ nobody
+
+
+ nobody is de generieke systeemgebruiker
+ zonder bijzondere privileges Het is wel belangrijk om ervan
+ bewust te zijn dat hoe meer diensten nobody
+ gebruiken, hoe meer bestanden en processen er bij die gebruiker
+ horen en dat de gebruiker daardoor meer privileges kan
+ krijgen.
- * Gebruikersaccounts
+ Gebruikersaccounts
+
+
+ accounts
+
+ gebruiker
+
+
+ Gebruikersaccounts zijn het primaire middel dat echte
+ gebruikers gebruiken om toegang te krijgen tot een systeem en die
+ account schermen de gebruiker en de omgeving af, waardoor die
+ gebruikers het systeem of andere gebruikers niet kunnen
+ beschadigen en waardoor gebruikers hun omgeving kunnen aanpassen
+ zonder invloed te hebben op anderen.
-
+ Iedereen die toegang heeft tot een systeem hoort een unieke
+ gebruikersaccount te hebben. Hierdoor is het mogelijk uit te
+ vinden wie wat aan het doen is, te voorkomen dat mensen elkaars
+ instellingen kunnen verpesten of elkaars e-mail kunnen lezen,
+ enzovoort.
+
+ Iedere gebruiker kan zijn eigen omgeving instellen op een
+ systeem, door andere shells, editors, toetsenbordinstellingen en
+ taal te kiezen.
- * Wijzigen van accounts
+ Accounts Wijzigen
+
+
+ accounts
+
+ wijzigen
+
+
+ Er zijn vele commando's beschikbaar in de &unix; omgeving om
+ gebruikersaccounts te manipuleren. De meest gebruikte commando's
+ worden hieronder beschreven, gevolgd door meer gedetailleerde
+ voorbeelden van gebruik.
+
+
+
+
+
+
+
+
+
+ Commando
+
+ Samenvatting
+
+
+
+
+
+ &man.adduser.8;
+
+ Het aanbevolen commandoregelprogramma voor het
+ aanmaken van nieuwe gebruikers.
+
+
+
+ &man.rmuser.8;
+
+ Het aanbevolen commandoregelprogramma voor het
+ verwijderen van gebruikers.
+
+
+
+ &man.chpass.1;
+
+ Een flexibel hulpprogramma voor het wijzigen van
+ informatie in de gebruikersdatabase.
+
+
+
+ &man.passwd.1;
+
+ Een eenvoudig commandoregelprogramma voor het
+ wijzigen van wachtwoorden van gebruikers.
+
+
+
+ &man.pw.8;
+
+ Een krachtig en flexibel hulpprogramma voor het
+ wijzigen van alle aspecten van
+ gebruikersaccounts.
+
+
+
+
- * adduser(Toevoegen van een
- account)
+ adduser
+
+
+ accounts
+
+ toevoegen
+
+
+ adduser
+
+ /usr/share/skel
+
+ skeleton map
-
+ &man.adduser.8; is een eenvoudig programma voor het
+ aanmaken van nieuwe gebruikers. Er worden regels mee
+ toegevoegd aan de systeembestanden passwd
+ en group. Het maakt ook een thuismap voor
+ de nieuwe gebruiker, kopieert de standaard
+ instellingenbestanden (dotfiles) uit
+ /usr/share/skel en kan, optioneel, de
+ nieuwe gebruiker een welkomstbericht mailen.
+
+ In &os; 5.0, is &man.adduser.8; herschreven van een
+ Perl script naar een shell script dat een wrapper om &man.pw.8;
+ is, zodat het gebruik wat verschilt tussen &os; 4.X en
+ &os; 5.X.
+
+ Een eerste instellingenbestand kan gemaakt worden met
+ adduser -s -config_create
+
+
+ Door de optie start &man.adduser.8;
+ standaard in stille modus. Later wordt de optie
+ gebruikt als de standaarden worden
+ aangepast.
+
+
+ . Hierna worden de &man.adduser.8; standaarden ingesteld en kan
+ de eerste gebruikersaccount gemaakt worden, omdat het gebruik
+ van root voor normaal gebruik boosaardig
+ en naar kan zijn.
+
+
+ adduser Instellen en een Gebruiker
+ op &os; 4.X Toevoegen
+
+ &prompt.root; adduser -v
+Use option ``-silent'' if you don't want to see all warnings and questions.
+Check /etc/shells
+Check /etc/master.passwd
+Check /etc/group
+Enter your default shell: csh date no sh tcsh zsh [sh]: zsh
+Your default shell is: zsh -> /usr/local/bin/zsh
+Enter your default HOME partition: [/home]:
+Copy dotfiles from: /usr/share/skel no [/usr/share/skel]:
+Send message from file: /etc/adduser.message no
+[/etc/adduser.message]: no
+Do not send message
+Use passwords (y/n) [y]: y
+
+Write your changes to /etc/adduser.conf? (y/n) [n]: y
+
+Ok, let's go.
+Don't worry about mistakes. I will give you the chance later to correct any input.
+Enter username [a-z0-9_-]: jru
+Enter full name []: J. Random User
+Enter shell csh date no sh tcsh zsh [zsh]:
+Enter home directory (full path) [/home/jru]:
+Uid [1001]:
+Enter login class: default []:
+Login group jru [jru]:
+Login group is ``jru''. Invite jru into other groups: guest no
+[no]: wheel
+Enter password []:
+Enter password again []:
+
+Name: jru
+Password: ****
+Fullname: J. Random User
+Uid: 1001
+Gid: 1001 (jru)
+Class:
+Groups: jru wheel
+HOME: /home/jru
+Shell: /usr/local/bin/zsh
+OK? (y/n) [y]: y
+Added user ``jru''
+Copy files from /usr/share/skel to /home/jru
+Add another user? (y/n) [y]: n
+Goodbye!
+&prompt.root;
+
+
+ Samenvattend is de standaard shell gewijzigd in
+ zsh (een extra shell uit de
+ portscollectie) en is het sturen van een welkomstbericht aan
+ nieuwe gebruikers uitgeschakeld. Daarna zijn de instellingen
+ opgeslagen en is een account gemaakt voor
+ jru en is jru in de
+ groep wheel geplaatst (zodat die gebruiker
+ de rol van root mag aannemen met het
+ commando &man.su.1;).
+
+
+ Het wachtwoord dat wordt ingegeven wordt niet weergegeven
+ en er worden ook geen sterretjes getoond. Het is belangrijk
+ geen typefouten in het wachtwoord te maken.
+
+
+
+ Vanaf nu kan &man.adduser.8; zonder argumenten gebruikt
+ worden en hoeven de standaardinstellingen niet meer aangepast
+ te worden. Als het programma vraagt om de instellingen te
+ wijzigen, kan het verlaten worden en opnieuw gestart worden
+ met de optie .
+
+
+
+ Een Gebruiker Toevoegen aan &os; 5.X
+
+ &prompt.root; adduser
+Username: jru
+Full name: J. Random User
+Uid (Leave empty for default):
+Login group [jru]:
+Login group is jru. Invite jru into other groups? []: wheel
+Login class [default]:
+Shell (sh csh tcsh zsh nologin) [sh]: zsh
+Home directory [/home/jru]:
+Use password-based authentication? [yes]:
+Use an empty password? (yes/no) [no]:
+Use a random password? (yes/no) [no]:
+Enter password:
+Enter password again:
+Lock out the account after creation? [no]:
+Username : jru
+Password : ****
+Full Name : J. Random User
+Uid : 1001
+Class :
+Groups : jru wheel
+Home : /home/jru
+Shell : /usr/local/bin/zsh
+Locked : no
+OK? (yes/no): yes
+adduser: INFO: Successfully added (jru) to the user database.
+Add another user? (yes/no): no
+Goodbye!
+&prompt.root;
+
- * rmuser(Verwijderen van een
- account)
+ rmuser
+
+ rmuser
+
+
+ accounts
+
+ verwijderen
+
+
+ Met &man.rmuser.8; kan een gebruiker volledig van een
+ systeem verwijderd worden. &man.rmuser.8; voert de volgende
+ stappen uit:
+
+
+
+ Verwijdert de &man.crontab.1; van de gebruiker (als die
+ bestaat).
+
+
+
+ Verwijdert bestaande &man.at.1; taken van de
+ gebruiker.
+
+
+
+ Stopt alle processen van de gebruiker.
+
+
+
+ Verwijdert de gebruiker uit het lokale
+ wachtwoordbestand van een systeem.
+
+
+
+ Verwijdert de thuismap van de gebruiker (als de
+ gebruiker daar eigenaar van is).
+
+
+
+ Verwijdert de inkomende e-mail voor de gebruiker uit
+ /var/mail.
+
+
+
+ Verwijdert alle bestanden waar de gebruiker eigenaar
+ van is uit opslaggebieden voor tijdelijke bestanden als
+ /tmp.
+
+
+
+ Als laatste wordt de gebruikersnaam uit alle groepen
+ in /etc/group waar die lid van was
+ verwijderd.
+
+
+ Als een groep leeg raakt en de groepsnaam is
+ hetzelfde als de gebruikersnaam, dan wordt de groep
+ verwijderd. Dit is het tegenovergestelde van wat
+ &man.adduser.8; met een unieke groep per
+ gebruiker.
+
+
+
+
-
+ &man.rmuser.8; kan niet gebruikt worden om superuser
+ accounts te verwijderen, omdat dat vrijwel altijd leidt tot
+ vreselijke verwoesting.
+
+ Standaard wordt een interactieve modus gebruikt, die ervoor
+ zorgt dat alle stappen bewust worden genomen.
+
+
+ Interactief Accounts Verwijderen met
+ rmuser
+
+ &prompt.root; rmuser jru
+Matching password entry:
+jru:*:1001:1001::0:0:J. Random User:/home/jru:/usr/local/bin/zsh
+Is this the entry you wish to remove? y
+Remove user's home directory (/home/jru)? y
+Updating password file, updating databases, done.
+Updating group file: trusted (removing group jru -- personal group is empty) done.
+Removing user's incoming mail file /var/mail/jru: done.
+Removing files belonging to jru from /tmp: done.
+Removing files belonging to jru from /var/tmp: done.
+Removing files belonging to jru from /var/tmp/vi.recover: done.
+&prompt.root;
+
- * chpass(Wijzigen
- accountgegevens)
+ chpass
+
+ chpass
+
+ &man.chpass.1; wijzigt informatie in de gebruikersdatabase,
+ zoals wachtwoorden, shells en persoonlijke informatie.
+
+ Alleen systeembeheerders, zoals de Superuser, mogen de
+ informatie en wachtwoorden voor andere andere gebruikers
+ wijzigen met &man.chpass.1;.
+
+ Als er geen opties worden meegegeven, buiten de optionele
+ gebruikersnaam, dan toont &man.chpass.1; een editor waarin de
+ gebruikersinformatie wordt weergegeven. Als de gebruiker de
+ editor verlaat, dan wordt de gebruikersdatabase bijgewerkt met
+ de nieuwe informatie.
-
+
+ In &os; 5.X wordt er gevraagd om een wachtwoord na
+ het verlaten van de editor als de uitvoerende gebruiker geen
+ superuser is.
+
+
+
+ Interactieve chpass door
+ Superuser
+
+ #Informatie in de gebruikersdatabase wijzigen voor jru.
+Login: jru
+Password: *
+Uid [#]: 1001
+Gid [# or name]: 1001
+Change [month day year]:
+Expire [month day year]:
+Class:
+Home directory: /home/jru
+Shell: /usr/local/bin/zsh
+Full Name: J. Random User
+Office Location:
+Office Phone:
+Home Phone:
+Other information:
+
+
+ Een normale gebruiker kan slechts een deel van de
+ bovenstaande informatie wijzen en alleen voor zijn eigen
+ account.
+
+
+ Interactieve chpass door een Gewone
+ Gebruiker
+
+ #Informatie in de gebruikersdatabase wijzigen voor jru.
+Shell: /usr/local/bin/zsh
+Full Name: J. Random User
+Office Location:
+Office Phone:
+Home Phone:
+Other information:
+
+
+
+ &man.chfn.1; en &man.chsh.1; zijn gewoon links naar
+ &man.chpass.1;. Dat geldt ook voor &man.ypchpass.1;,
+ &man.ypchfn.1; en &man.ypchsh.1;. Ondersteuning voor NIS
+ gaat automatisch; er hoeft dus geen yp
+ voor het commando aangegeven te worden. NIS wordt behandeld
+ in .
+
- * passwd
+ passwd
+
+ passwd
-
+
+ accounts
+
+ wachtwoord wijzigen
+
+
+ Met &man.passwd.1; wijzigt een gebruiker gewoonlijk zijn
+ eigen wachtwoord of dat van een andere gebruiker als het door
+ de Superuser wordt uitgevoerd.
+
+
+ Om onbedoelde of ongeautoriseerde wijzigen te voorkomen
+ moet het originele wachtwoord worden ingegeven voordat een
+ nieuw wachtwoord kan worden ingesteld.
+
+
+
+ Wachtwoord Wijzigen
+
+ &prompt.user; passwd
+Changing local password for jru.
+Old password:
+New password:
+Retype new password:
+passwd: updating the database...
+passwd: done
+
+
+
+ Als Superuser het Wachtwoord van een Andere Gebruiker
+ Wijzigen
+
+ &prompt.root; passwd jru
+Changing local password for jru.
+New password:
+Retype new password:
+passwd: updating the database...
+passwd: done
+
+
+
+ Net als bij &man.chpass.1; is &man.yppasswd.1; gewoon een
+ link naar &man.passwd.1;, dus NIS werkt met beide
+ commando's.
+
+
- * pw
+ pw
+
+ pw
-
+ &man.pw.8; is een commandoregelhulpprogramma om gebruikers
+ en groepen te maken, verwijderen, aan te passen en weer te
+ geven. Het werkt als een voorkant voor de systeembestanden met
+ gebruikers en groepen. &man.pw.8; heeft een zeer krachtige set
+ commandoregelopties, waardoor het erg geschikt is om in shell
+ scripts gebruikt te worden. Nieuwe gebruikers vinden het
+ wellicht gecompliceerder dan de andere commando's die hier
+ beschreven worden.
- * Limieten aan gebruikers stellen
+ Gebruikers Beperken
+
+ gebruikers beperken
+
+
+ accounts
+
+ beperken
+
+
+ Bij het hebben van gebruikers komt wellicht ook de gedachte
+ aan het beperken van de mogelijkheden op een systeem. &os;
+ biedt een aantal mogelijkheden waarmee een beheerder de
+ hoeveelheid systeembronnen die een gebruiker kan aanwenden kan
+ beperken. Die beperkingen zijn onderverdeeld in twee onderdelen:
+ schijfquota en andere beperkingen voor bronnen.
+
+ quota
+
+
+ gebruikers beperken
+
+ quota
+
+
+ schijfquota
+
+ Schijfquota beperken het schijfgebruik voor gebruikers en ze
+ bieden een mogelijkheid om dat gebruik snel te controleren zonder
+ het iedere keer te hoeven berekenen. Quota worden besproken in
+ .
+
+ De overige beperking van bronnen omvat het beperken van het
+ gebruik van CPU, geheugen en andere bronnen die gebruikers tot
+ hun beschikking hebben. Die worden ingesteld in aanmeldklassen
+ en worden hieronder beschreven.
+
+ /etc/login.conf
+
+ Aanmeldklassen worden ingesteld in
+ /etc/login.conf. De precieze semantiek
+ wordt niet behandeld in dit handboek, maar die staat beschreven
+ in &man.login.conf.5;. Hier is het voldoende aan te geven dat
+ iedere gebruiker wordt toegewezen aan een aanmeldklasse
+ (standaard default) en dat iedere
+ aanmeldklasse verbonden is met een groep aanmeldmogelijkheden
+ (login capability). Een aanmeldmogelijkheid is een
+ naam=waarde
+ paar, waar naam een bekende eigenschap
+ is en waarde een arbitraire string is
+ die wordt verwerkt afhankelijk van de naam. Het instellen van
+ aanmeldklassen en -mogelijkheden is een redelijk eenvoudig proces
+ en wordt ook beschreven in &man.login.conf.5;.
+
+
+ Een systeem leest de instellingen uit
+ /etc/login.conf niet direct, maar leest
+ het databasebestand /etc/login.conf.db.
+ /etc/login.conf.db kan met het volgende
+ commando gemaakt worden uit
+ /etc/login.conf:
+
+ &prompt.root; cap_mkdb /etc/login.conf
+
+
+ Beperkingen van bronnen verschillen van standaard
+ aanmeldmogelijkheden op twee manieren. Ten eerste is er voor
+ iedere beperking een zachte en een harde limiet. Een zachte
+ (huidige) limiet kan door een gebruiker of applicatie aangepast
+ worden, maar mag niet hoger zijn dan de harde limiet. De laatste
+ kan door een gebruiker verlaagd worden, maar nooit verhoogd.
+ Deze verschillen worden veroorzaakt door de specifieke
+ behandeling van de beperkingen, niet door de implementatie van
+ het aanmeldmogelijkheden framework, dat wil zeggen dat ze niet
+ echt bijzondere aanmeldmogelijkheden
+ zijn.
+
+ Hieronder worden de meest gebruikte beperkingen op bronnen
+ beschreven. De overige mogelijkheden, samen met alle andere
+ aanmeldmogelijkheden, staat beschreven in
+ &man.login.conf.5;.
+
+
+
+ coredumpsize
+
+
+ coredumpsize
+
+
+ gebruikers beperken
+
+ coredumpsize
+
+
+ De limiet op de grootte van een corebestand dat wordt
+ gemaakt door een programma is, om verschillende redenen,
+ ondergeschikt aan andere beperkingen op het gebied van
+ schijfgebruik (bijvoorbeeld filesize of
+ schijfquota). Desalniettemin wordt deze instelling vaak
+ gebruikt als een minder zware methode voor het beheersen
+ van het gebruik van schijfruimte. Omdat gebruikers niet
+ hun eigen corebestanden maken en ze vaak niet verwijderen,
+ kan deze instelling helpen te voorkomen dat een schijf vol
+ loopt in het geval een groot programma (bijvoorbeeld
+ emacs) zou crashen.
+
+
+
+
+ cputime
+
+
+ cputime
+
+
+ gebruikers beperken
+
+ processortijd
+
+
+ Dit is de maximale hoeveelheid processortijd die een
+ proces van een gebruiker mag gebruiken. Processen die meer
+ bronnen gebruiken worden afgeschoten door de kernel.
+
+
+ Dit is een beperking op de CPU
+ tijd die wordt gebruikt, niet op
+ een percentage van de CPU, zoals wordt getoond in
+ sommige velden door &man.top.1; en &man.ps.1;. Een
+ limiet op de laatste is op het moment van schrijven
+ niet mogelijk en zou ook redelijk waardeloos zijn:
+ een compiler – waarschijnlijk een legitieme taak
+ – kan makkelijk gedurende enige tijd bij 100% van
+ een CPU gebruiken.
+
+
+
+
+
+
+ filesize
+
+
+ filesize
+
+
+ gebruikers beperken
-
+ filesize
+
+
+ Dit is de maximale grootte voor een bestand waar een
+ gebruiker eigenaar van kan zijn. Anders dan bij schijfquota is deze limiet van
+ toepassing op individuele bestanden en niet op alle
+ bestanden samen waarvan een gebruiker eigenaar is.
+
+
+
+
+ maxproc
+
+
+ maxproc
+
+
+ gebruikers beperken
+
+ maxproc
+
+
+ Dit is het maximale aantal processen dat een gebruiker
+ mag draaien. Hieronder vallen zowel processen die op de
+ voorgrond draaien als op de achtergrond. Om duidelijke
+ reden kan deze waarde niet groter zijn dan de ingestelde
+ systeemlimiet voor kern.maxproc met
+ &man.sysctl.8;. Het te laag zetten van deze instelling kan
+ de productiviteit van een gebruiker schaden: vaak is het
+ zinvol om meerdere keren aangemeld te zijn of om pipelines
+ uit te voeren. Sommige taken, zoals het compileren van een
+ groot programma, spawnen ook meerdere processen
+ (bijvoorbeeld &man.make.1;, &man.cc.1; en andere
+ tussentijdse preprocessors).
+
+
+
+
+ memorylocked
+
+
+ memorylocked
+
+
+ gebruikers beperken
+
+ memorylocked
+
+
+ Dit is de maximale hoeveelheid geheugen die een proces
+ mag claimen om te locken in het hoofdgeheugen (zie
+ bijvoorbeeld &man.mlock.2;). Sommige systeemkritische
+ programma's, zoals &man.amd.8;, locken in het
+ hoofdgeheugen, zodat zij, in het geval het wisselbestand
+ gebruikt moet worden, niet hoeven bij te dragen aan dat
+ proces als het nodig is.
+
+
+
+
+ memoryuse
+
+
+ memoryuse
+
+
+ gebruikers beperken
+
+ memoryuse
+
+
+ Dit is de maximale hoeveelheid geheugen die een proces
+ op enig moment mag gebruiken. Hieronder vallen zowel
+ hoofdgeheugen als het gebruik van het wisselbestand. Deze
+ limiet vangt niet al het geheugengebruik af, maar het is
+ een prima begin.
+
+
+
+
+ openfiles
+
+
+ openfiles
+
+
+ gebruikers beperken
+
+ openfiles
+
+
+ Dit is het maximale aantal bestanden dat een proces
+ open mag hebben. In &os; representeren bestanden ook
+ sockets en IPC kanalen. Deze limiet mag dus niet te laag
+ gezet worden. De limiet voor het systeem staat ingesteld
+ in kern.maxfiles van
+ &man.sysctl.8;.
+
+
+
+
+ sbsize
+
+
+ sbsize
+
+
+ gebruikers beperken
+
+ sbsize
+
+
+ Dit is de limiet op de hoeveelheid netwerkgeheugen, en
+ dus mbufs, die een gebruiker ter beschikking staan. Deze
+ waarde komt voort uit het antwoord op een DoS aanval
+ waarmee veel sockets werden gemaakt, maar het kan in het
+ algemeen gebruikt worden om de hoeveelheid
+ netwerkcommunicatie te limiteren.
+
+
+
+
+ stacksize
+
+
+ stacksize
+
+
+ gebruikers beperken
+
+ stacksize
+
+
+ Dit is de maximale grootte voor een stack van een
+ proces. Deze instelling alleen is niet genoeg om de
+ hoeveelheid geheugen die een programma mag gebruiken te
+ beperken. Daarom moet deze limiet samen met andere
+ limieten gebruikt worden.
+
+
+
+
+ Er zijn nog een aantal dingen belangrijk bij het instellen
+ bronbeperkingen. Hierna worden een aantal algemene tips,
+ suggesties en commentaren gegeven.
+
+
+
+ Processen die bij het opstarten van een systeem gestart
+ worden vanuit /etc/rc worden toegewezen
+ aan de aanmeldklasse daemon.
+
+
+
+ Hoewel de /etc/login.conf die bij
+ een systeem zit een goede bron is voor redelijke waardes voor
+ de meeste limieten, kan alleen de beheerder van een machine
+ de echt juiste waarden kennen. Het te hoog instellen van een
+ limiet kan een systeem kwetsbaar maken voor misbruik, terwijl
+ het te laag instellen van limieten de productiviteit te veel
+ kan hinderen.
+
+
+
+ Gebruikers van het X Window Systeem (X11) horen
+ waarschijnlijk meer bronnen toegewezen te krijgen dan andere
+ gebruikers. X11 gebruikt zelf al meer bronnen, maar het
+ moedigt gebruikers ook aan om meerdere programma's
+ tegelijkertijd te draaien.
+
+
+
+ Het is belangrijk niet te vergeten dat veel limieten
+ betrekking hebben op individuele processen en niet op een
+ hele gebruiker. Het instellen van bijvoorbeeld
+ openfiles op 50, betekent dat ieder proces
+ dat een gebruiker draait 50 open bestanden mag hebben. Het
+ totale aantal bestanden dat een gebruiker dus open kan hebben
+ is het produkt van de waarde van openfiles
+ en de waarde van maxproc. Dit geldt ook
+ voor het gebruik van geheugen.
+
+
+
+ Meer informatie over bronbeperkingen en aanmeldklassen in het
+ algemeen staan in de relevante hulppagina's: &man.cap.mkdb.1;,
+ &man.getrlimit.2;, &man.login.conf.5;.
- * Gebruikers personaliseren
+ Gebruikers Personaliseren
-
+ Localisatie betekent dat een omgeving door een beheerder of
+ gebruiker is ingesteld om meerdere talen, karaktersets, datum en
+ tijdstandaarden, enzovoort, te ondersteunen. Dit staat
+ beschreven in het hoofdstuk over localisatie.
- * Groepen
+ Groepen
+
+ groepen
+
+ /etc/groups
+
+
+ accounts
+
+ groepen
+
+
+ Een groep is eenvoudigweg een lijst gebruikers. Groepen
+ kunnen geïdentificeerd worden aan de hand van hun naam en
+ GID (Groep ID). In &os; (en de meeste andere &unix;-achtige
+ systemen), worden besluiten door de kernel over of een proces
+ iets wel of niet mag doen genomen op basis van het bijbehorende
+ gebruikers ID en een lijst van groepen waar dat bij hoort.
+ Anders dan bij een gebruikers ID, heeft een proces een lijst met
+ bijbehorende groepen. Sommige programma's refereren wel eens aan
+ het groep ID van een gebruiker of een proces.
+ Meestal is dit gewoon de eerste groep in de hiervoor genoemde
+ lijst.
+
+ De vertaling van groep ID naar groepsnaam staat in
+ /etc/group. Dit is een tekstbestand met
+ vier velden die door het karakter : (dubbele
+ punt) worden gescheiden. Het eerste veld is de groepsnaam, het
+ tweede veld is het versleutelde wachtwoord, het derde het groep
+ ID, het vierde een door komma's gescheiden lijst van leden van de
+ groep. Het bestand kan zonder gevaar met de hand aangepast
+ worden (aangenomen dat er geen fouten in de syntaxis worden
+ gemaakt, natuurlijk). Een volledige beschrijving van de syntaxis
+ staat in &man.group.5;.
+
+ Als het onwenselijk is om /etc/group met
+ de hand aan te passen, dan kan &man.pw.8; gebruikt worden voor
+ het toevoegen en wijzigen van groepen. Om bijvoorbeeld een groep
+ met de naam teamtwo toe te voegen en
+ daarna het bestaan van die groep te bevestigen:
+
+
+ Groepen Toevoegen met &man.pw.8;
+
+ &prompt.root; pw groupadd teamtwo
+&prompt.root; pw groupshow teamtwo
+teamtwo:*:1100:
+
+
+ Het getal 1100 hierboven is het groep ID
+ van de groep teamtwo. Met de huidige
+ instelling heeft teamtwo geen leden en is
+ die redelijk waardeloos. Dat kan veranderen door
+ jru aan de groep
+ teamtwo toe te voegen.
+
+
+ Gebruikers aan Groepen Toevoegen met &man.pw.8;
+
+ &prompt.root; pw groupmod teamtwo -M jru
+&prompt.root; pw groupshow teamtwo
+teamtwo:*:1100:jru
+
+
+ Het argument voor de optie is een door
+ komma's gescheiden lijst van gebruikers die lid moeten zijn van
+ de aangegeven groep. In de voorgaande paragrafen is al
+ aangegeven dat het password bestand ook voor iedere gebruiker een
+ groep bevat. Een gebruiker wordt automatisch toegevoegd aan
+ de groepenlijst door een systeem. De gebruiker wordt niet als
+ lid getoond van die groep bij het gebruik van de optie
+ van &man.pw.8;, maar wordt wel getoond
+ als de informatie wordt opgevraagd via &man.id.1; of met een
+ soortgelijk programma. Met andere woorden: &man.pw.8; wijzigt
+ alleen het bestand /etc/group en probeert
+ nooit extra informatie te lezen uit
+ /etc/passwd.
+
+
+ &man.id.1; Gebruiken om Groepslidmaatschap te
+ Bepalen
+
+ &prompt.user; id jru
+uid=1001(jru) gid=1001(jru) groups=1001(jru), 1100(teamtwo)
+
+
+ Hierboven is te zien dat jru lid is van
+ de groepen jru en
+ teamtwo.
-
+ Meer informatie over &man.pw.8; staat in de hulppagina en
+ meer informatie over de opmaak van
+ /etc/group staat in &man.group.5;.