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 @@ Jim Mock - Geupdate en herstructureerd door + Bijgewerkt en opnieuw gestructureerd door Jake Hamby - 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 <quote>Traditionele + Wijze</quote> 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 <quote>Nieuwe Wijze</quote> + 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 gif zelfklonend 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 - (<acronym>PAE</acronym>) + Instellingen bij Veel Geheugen + (<acronym>PAE</acronym>) + + + 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. + - Moses Moore - 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. + + + + Munish Chopra - 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. + Chern Lee - 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. + + + + <command>mencoder</command> + + 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. + + + + + <application>xine</application> 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 + + + + <application>transcode</application> + 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. + + + + Josef El-Rayes - Originele bijdrage door + Oorspronkelijk geschreven door Marc Fonvieille - 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 SANE ondersteunde + 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 + + Chern Lee Bijgedragen 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 met<command>imake</command> + Omgaan met <command>imake</command> - + 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 @@ Neil Blakey-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. + + + + - * <command>adduser</command>(Toevoegen van een - account) + <command>adduser</command> + + + 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. + + + <command>adduser</command> 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; + - * <command>rmuser</command>(Verwijderen van een - account) + <command>rmuser</command> + + 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 + <command>rmuser</command> + + &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; + - * <command>chpass</command>(Wijzigen - accountgegevens) + <command>chpass</command> + + 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 <command>chpass</command> 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 <command>chpass</command> 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 . + - * <command>passwd</command> + <command>passwd</command> + + 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. + + - * <command>pw</command> + <command>pw</command> + + 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;.