diff --git a/nl_NL.ISO8859-1/books/handbook/mirrors/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/mirrors/chapter.sgml index 008e3c8bef..74d73e55a9 100644 --- a/nl_NL.ISO8859-1/books/handbook/mirrors/chapter.sgml +++ b/nl_NL.ISO8859-1/books/handbook/mirrors/chapter.sgml @@ -1,3472 +1,3500 @@ &os; verkrijgen - Cd-rom en DVD uitgevers + CD-ROM en DVD uitgevers Winkelproducten in doos - &os; is beschikbaar in een doos (&os; cd-roms, additionele + &os; is beschikbaar in een doos (&os; CD-ROMs, additionele software en gedrukte documentatie) bij verschillende verkopers:
CompUSA WWW:
Frys Electronics WWW:
- Cd-roms en DVD's + CD-ROMs en DVD's - &os; cd-roms en DVD's zijn te koop bij veel online + &os; CD-ROMs en DVD's zijn te koop bij veel online winkels:
Daemon News Mall PO Box 161 Nauvoo, IL 62354 Verenigde Staten Telefoon: +1 866 273-6255 Fax: +1 217 453-9956 E–mail: sales@bsdmall.com WWW:
- -
- BSD-Systems - E–mail: info@bsd-systems.co.uk - WWW: -
-
-
&os; Mall, Inc. 3623 Sanford Street Concord, CA 94520-1405 Verenigde Staten Telefoon: +1 925 240-6652 Fax: +1 925 674-0821 E–mail: info@freebsdmall.com WWW:
Dr. Hinner EDV St. Augustinus-Str. 10 D-81825 München Duitsland Telefoon: (089) 428 419 WWW:
Ikarios 22-24 rue Voltaire 92000 Nanterre Frankrijk WWW:
JMC Software Ierland Telefoon: 353 1 6291282 WWW:
- -
- Linux CD Mall - Private Bag MBE N348 - Auckland 1030 - Nieuw Zeeland - Telefoon: +64 21 866529 - WWW: -
-
-
The Linux Emporium Hilliard House, Lester Way Wallingford OX10 9TA Verenigd Koninkrijk Telefoon: +44 1491 837010 Fax: +44 1491 837016 WWW: + url="http://www.linuxemporium.co.uk/products/bsd/">
Linux+ DVD Magazine Lewartowskiego 6 Warsaw 00-190 Polen Telefoon: +48 22 860 18 18 E–mail: editors@lpmagazine.org WWW:
Linux System Labs Australia 21 Ray Drive Balwyn North VIC - 3104 Australië Telefoon: +61 3 9857 5918 Fax: +61 3 9857 8974 WWW:
LinuxCenter.Ru Galernaya Street, 55 Saint-Petersburg 190000 Rusland Telefoon: +7-812-3125208 E–mail: info@linuxcenter.ru WWW: + url="http://linuxcenter.ru/shop/freebsd">
Distributeurs - Wederverkopers die &os; cd-rom producten willen verkopen + Wederverkopers die &os; CD-ROM producten willen verkopen kunnen contact opnemen met een distributeur:
Cylogistics 809B Cuesta Dr., #2149 Mountain View, CA 94040 Verenigde Staten Telefoon: +1 650 694-4949 Fax: +1 650 694-4953 E–mail: sales@cylogistics.com WWW:
Ingram Micro 1600 E. St. Andrew Place Santa Ana, CA 92705-4926 Verenigde Staten Telefoon: 1 (800) 456-8000 WWW:
Kudzu, LLC 7375 Washington Ave. S. Edina, MN 55439 Verenigde Staten Telefoon: +1 952 947-0822 Fax: +1 952 947-0876 E–mail: sales@kudzuenterprises.com
LinuxCenter.Ru Galernaya Street, 55 Saint-Petersburg 190000 Rusland Telefoon: +7-812-3125208 E–mail: info@linuxcenter.ru WWW:
Navarre Corp 7400 49th Ave South New Hope, MN 55428 Verenigde Staten Telefoon: +1 763 535-8333 Fax: +1 763 535-0341 WWW:
FTP sites - De officië broncode voor &os; is beschikbaar via anoniem - toegankelijke FTP in de hele wereld via vele mirrorsites. De - site + De officiële broncode voor &os; is beschikbaar via + anoniem toegankelijke FTP in de hele wereld via vele mirrorsites. + De site heeft een goede verbinding en staat veel verbindingen toe, maar het is waarschijnlijk beter om een mirrorsite te zoeken die dichterbij is (zeker als het doel is ook een soort mirrorsite op te zetten). De &os; mirrorsites database is beter bijgewerkt dan die in het Handboek omdat die lijst uit DNS komt in plaats van een met de hand ingevoerde lijst. &os; is beschikbaar via de onderstaande anonieme FTP mirror sites. Bij het kiezen van anonieme FTP voor het verkrijgen van &os; wordt aangeraden een site die dichtbij ligt te kiezen. De mirrorsites die in de lijst staan als Primaire Mirrorsites hebben meestal het complete &os; archief (alle beschikbare versies voor alle architecturen) maar downloads zijn waarschijnlijk sneller van een site die in het land of de regio van de gebruiker staat. De regionale sites hebben de meeste recente versies voor de meest populaire architecturen, maar hebben wellicht niet het complete archief. Alle sites geven toegang via anonieme FTP, maar een aantal sites hebben ook andere toegangsmogelijkheden. De toegangsmogelijkheden voor iedere site staan tussen haakjes achter de hostnaam. De rest van deze paragraaf wordt automatisch samengesteld en is niet vertaald. &chap.mirrors.ftp.inc; Anonieme CVS <anchor id="anoncvs-intro">Inleiding CVS anoniem Anonieme CVS (of ook wel bekend als anoncvs) is een functie die beschikbaar is met de hulpprogramma's die bij &os; zitten om te synchroniseren met een elders aanwezig CVS depot. Het staat gebruikers van &os; onder andere toe om zonder bijzondere rechten alleen-lezen operaties uit te voeren op een van de officiële anoncvs servers van het &os; project. Om het te kunnen gebruiken dient de omgevingsvariabele CVSROOT zo ingesteld te worden dat hij wijst naar de gewenste anoncvs server, dient het bekende wachtwoord anoncvs bij het commando cvs login opgegeven te worden en kan daarna &man.cvs.1; gebruikt worden om het te benaderen als ieder lokaal aanwezig depot. Het commando cvs login slaat de wachtwoorden die voor aanmelden bij de CVS server op in een bestand met de naam .cvspass in de map HOME. Als dit bestand niet bestaat, is het mogelijk dat er een foutmelding wordt gegeven als cvs login de eerste keer wordt gebruikt. Dat kan opgelost worden door een leeg bestand .cvspass te maken en dan opnieuw aan te melden. Hoewel de diensten CVSup en anoncvs beiden vrijwel dezelfde functie invullen, zijn er redenen die de keuze voor de synchronisatiemethode beïnvloeden. In een notendop is CVSup veel efficiënter in het gebruik van netwerkbronnen en is het de meest geavanceerde van de twee, maar daar staat iets tegenover. Voor het gebruik van CVSup moet eerst een speciale client geïnstalleerd en ingesteld worden voordat er bits kunnen gaan stromen en dat kan dan alleen in de redelijk grote brokken die in CVSup collections heten. Anoncvs kan daarentegen gebruikt worden om alles te bekijken van een individueel bestand tot aan een specifiek programma (als ls of grep) door aan de naam van de CVS module te refereren. Ook anoncvs is alleen geschikt voor alleen-lezen operaties op het CVS depot, dus als het de bedoeling is om lokaal ontwikkelwerk en hetzelfde depot met delen uit het &os; project te combineren, dan biedt alleen CVSup daar een oplossing voor. <anchor id="anoncvs-usage">Anonieme CVS gebruiken Het instellen van &man.cvs.1; om gebruik te maken van een Anoniem CVS depot is een kwestie van het instellen van de omgevingsvariabele CVSROOT op een van de anoncvs servers van het &os; project. Op het moment van schrijven zijn de volgende servers beschikbaar: - - Oostenrijk: - :pserver:anoncvs@anoncvs.at.FreeBSD.org:/home/ncvs - Gebruikt cvs login en gebruik een - willekeurig wachtwoord. - - Frankrijk: :pserver:anoncvs@anoncvs.fr.FreeBSD.org:/home/ncvs (pserver (wachtwoord anoncvs), ssh (geen wachtwoord) - - Duitsland: - :pserver:anoncvs@anoncvs.de.FreeBSD.org:/home/ncvs - (rsh, pserver, ssh, ssh/2022) - - Japan: :pserver:anoncvs@anoncvs.jp.FreeBSD.org:/home/ncvs Gebruik cvs login en gebruik als wachtwoord anoncvs Taiwan: :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs (pserver (gebruik cvs login en vul een willekeurig wachtwoord in wanneer daarom gevraagd wordt), ssh (geen wachtwoord)) SSH2 HostKey: 1024 e8:3b:29:7b:ca:9f:ac:e9:45:cb:c8:17:ae:9b:eb:55 /etc/ssh/ssh_host_dsa_key.pub VS: freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs (alleen ssh - geen wachtwoord) SSH HostKey: 1024 a1:e7:46:de:fb:56:ef:05:bc:73:aa:91:09:da:f7:f4 root@sanmateo.ecn.purdue.edu SSH2 HostKey: 1024 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65 ssh_host_dsa_key.pub VS: anoncvs@anoncvs1.FreeBSD.org:/home/ncvs (alleen ssh2 - geen wachtwoord) SSH2 HostKey: 2048 4d:59:19:7b:ea:9b:76:0b:ca:ee:da:26:e2:3a:83:b8 ssh_host_dsa_key.pub Omdat met CVS vrijwel iedere versie die ooit beschikbaar is geweest uitgecheckt kan worden, is het van belang op de hoogte te zijn van de &man.cvs.1; vlag voor revisie () en welke waarden zie zoal kan aannemen in het &os; Project depot. Er zijn twee soorten labels (tags): revisielabels en taklabels (branch). Een revisielabel refereert aan een specifieke revisie. De betekenis blijft van dag tot dag gelijk. Aan de andere kant refereert een taklabel aan de laatste revisie in een bepaalde ontwikkellijn op een bepaald moment. Omdat een taklabel niet refereert aan een specifieke revisie, kan die morgen anders zijn dan vandaag. bevat revisielabels waar gebruikers in geïnteresseerd kunnen zijn. Nogmaals: deze zijn allemaal niet geldig voor de Portscollectie omdat de Portscollectie geen meerdere ontwikkel takken kent. Als een specifiek taklabel wordt aangegeven, worden als alles goed gaat, de laatste revisies uit een bepaalde ontwikkellijn ontvangen. Als er een oudere versie opgehaald moet worden, kan dat door met de vlag een datum aan te geven. In &man.cvs.1; staan meer details. Voorbeelden Hoewel het sterk wordt aangeraden eerst de hulppagina's voor &man.cvs.1; grondig door te lezen, volgen hier een aantal snelle voorbeelden die feitelijk aangeven hoe Anonieme CVS gebruikt kan worden. SSH gebruiken om de <filename>src/</filename> tree uit te checken: &prompt.user; cvs -d freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs co src The authenticity of host 'anoncvs.freebsd.org (128.46.156.46)' can't be established. DSA key fingerprint is 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'anoncvs.freebsd.org' (DSA) to the list of known hosts. Iets uitchecken uit -CURRENT (&man.ls.1;): &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login Op de prompt, voer een willekeurig wachtwoord in wachtwoord. &prompt.user; cvs co ls SSH gebruiken om de <filename>src/</filename> structuur uit te checken: &prompt.user; cvs -d freebsdanoncvs@anoncvs.FreeBSD.org:/home/ncvs co src The authenticity of host 'anoncvs.freebsd.org (128.46.156.46)' can't be established. DSA key fingerprint is 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'anoncvs.freebsd.org' (DSA) to the list of known hosts. De versie van &man.ls.1; in de 6-STABLE tak uitchecken: &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login Op de prompt, voer een willekeurig wachtwoord in wachtwoord. &prompt.user; cvs co -rRELENG_6 ls Een lijst wijzigingen maken (als unified diffs) voor &man.ls.1; &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login Op de prompt, voer een willekeurig wachtwoord in wachtwoord. &prompt.user; cvs rdiff -u -rRELENG_5_3_0_RELEASE -rRELENG_5_4_0_RELEASE ls Uitzoeken welke modulenamen gebruikt kunnen worden: &prompt.user; setenv CVSROOT :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs &prompt.user; cvs login Op de prompt, voer een willekeurig wachtwoord in wachtwoord. &prompt.user; cvs co modules &prompt.user; more modules/modules Andere bronnen De volgende bronnen kunnen bijdragen aan een beter begrip van CVS: CVS Tutorial van Cal Poly. CVS Home, de CVS gemeenschap voor ontwikkeling en ondersteuning. CVSweb is de &os; Project webinterface voor CVS. CTM gebruiken CTM CTM is een methode om een map elders gesynchroniseerd te houden met een centrale. Het is ontwikkeld voor gebruik met de &os; broncode, hoewel sommigen het ook voor andere doeleinden handig vinden. Er bestaat op dit moment weinig tot geen documentatie over het proces van het maken van delta's. Voor informatie over het gebruik van CTM kan het beste contact gezocht worden met de &a.ctm-users.name; mailinglijst. Waarom <application>CTM</application> gebruiken? CTM geeft een lokale kopie van de &os; broncode. Die is in een aantal smaken beschikbaar. Of het gaat om slechts één tak of de complete CVS structuur, CTM kan het bieden. CTM is gewoon gemaakt voor actieve ontwikkelaars die met &os; werken, maar geen of - een slechte internetverbinding hebben of gewoon automatisch de + een slechte Internetverbinding hebben of gewoon automatisch de laatste wijzigingen willen ontvangen. De meest actieve takken kennen op z'n hoogst drie delta's per dag. Het is het overwegen waard om ze per automatische mail te laten sturen. De grootte van de updates wordt altijd zo klein mogelijk gehouden. Meestal kleiner dan 5 K en soms (in tien procent van de gevallen) is het 10–50 K. In uitzonderlijke gevallen komt het voor dat een mail van 100 K of meer wordt gestuurd. Het is wel van belang op de hoogte te zijn van de valkuilen die een rol spelen bij het direct werken met broncode in plaats van met een voorverpakte release. Dit geldt nog meer als wordt gewerkt met de current code. Het lezen van Bijblijven met &os; wordt sterk aangeraden. Wat is er nodig om <application>CTM</application> te gebruiken? Voor het gebruik van CTM zijn twee dingen nodig: het CTM programma en de initiële delta's om de applicatie te voeden en naar een current niveau te komen. CTM is al onderdeel van &os; sinds versie 2.0 is uitgebracht en is te vinden in /usr/src/usr.sbin/ctm, als de broncode aanwezig is. De delta's voor CTM kunnen op twee manieren komen: met FTP of per e-mail. De volgende FTP sites bieden ondersteuning voor CTM: Er staan er nog meer in de paragraaf mirrors. FTP de relevante map en download het bestand README vanaf daar. Voor delta's via e-mail: Er dient een abonnement genomen te worden op een van de CTM distributielijsten. &a.ctm-cvs-cur.name; ondersteunt de complete CVS structuur. &a.ctm-src-cur.name; ondersteunt het hoofd van de ontwikkeltak. &a.ctm-src-4.name; ondersteunt de 4.X release tak, enzovoort. Om te abonneren kan geklikt worden op de bovenstaande links of via &a.mailman.lists.link; kan in een lijst geklikt worden op de lijst waarvoor waarvoor een abonnement gewenst is. De lijstpagina bevat instructies over hoe te abonneren. Na het ontvangen van CTM updates per mail, kan ctm_rmail gebruikt worden voor het uitpakken en verwerken. ctm_rmail kan zelfs direct vanuit /etc/aliases gebruikt worden om het proces volledig automatisch te laten verlopen. In de hulppagina van ctm_rmail staan meer details. Welke methode ook gebruikt wordt voor de CTM delta's, het is belangrijk een abonnement te nemen op de &a.ctm-announce.name; mailinglijst. In de toekomst worden alleen op die lijst aankondigingen gedaan over het CTM systeem. Abonneren kan door op de link hierboven te klikken en de instructies te volgen. <application>CTM</application> de eerste keer gebruiken Voordat de CTM delta's gebruikt kunnen worden, moet er een startpunt voor bepaald worden. Eerst moet bepaald worden wat er al is. Het is mogelijk te beginnen vanuit een lege map. Dan moet een initiële Empty delta gebruikt worden om een door CTM ondersteunde structuur te starten. Het is de bedoeling dat deze start - delta's ooit voor het gemak op de cd-rom komen te staan, maar + delta's ooit voor het gemak op de CD-ROM komen te staan, maar dit is nog niet het geval. Omdat de structuren tientallen megabytes groot zijn, heeft het de voorkeur om al met iets te beginnen. Als er een - -RELEASE cd-rom beschikbaar is, kan de initiële broncode + -RELEASE CD-ROM beschikbaar is, kan de initiële broncode gekopieerd of uitgepakt worden. Dit bespaart nogal wat dataverkeer. De start delta's kunnen herkend worden aan de X die aan het nummer is toegevoegd (bijvoorbeeld src-cur.3210XEmpty.gz). De nummering achter de X komt overeen met de oorsprong van het initiële zaad. Empty is een lege map. Er wordt in het algemeen iedere honderd delta's een basistransitie voor Empty gemaakt. Die zijn trouwens groot: 70 tot 80 Megabytes gzip data is normaal voor de XEmpty delta's. Als er een delta als startpunt is gekozen, zijn ook alle delta's met hogere volgnummers nodig. <application>CTM</application> in het dagelijks leven gebruiken Om de delta's toe te passen: &prompt.root; cd /where/ever/you/want/the/stuff &prompt.root; ctm -v -v /where/you/store/your/deltas/src-xxx.* CTM begrijpt delta's in gzip formaat, dus het niet nodig om eerst gunzip te gebruiken. Dat spaart diskruimte. Tenzij het zeker is van de veiligheid van het proces, doet CTM niets met de structuur. Om een delta te verifiëren kan ook de vlag gebruikt worden en dan komt CTM ook niet aan een structuur. Dan wordt alleen de integriteit van de delta gecontroleerd en of die zonder problemen op de huidige structuur kan worden toegepast. CTM kent nog meer opties die in de hulppagina's worden besproken. Meer is er niet. Iedere keer dat er een delta wordt ontvangen, moet die door CTM gehaald worden om de broncode bijgewerkt te houden. Delta's kunnen het beste niet verwijderd worden als het lastig is ze opnieuw te downloaden. Dan kunnen ze het beste bewaard worden voor het geval er eens iets gebeurt. Zelfs als er alleen floppy's beschikbaar zijn, is het wellicht verstandig die te gebruiken met fdwrite. Lokale wijzigingen behouden Een ontwikkelaar wil graag experimenteren met bestanden in de structuur en die bestanden veranderen. CTM ondersteunt lokale wijzigingen in beperkte mate: alvorens te kijken of bestand foo bestaat, zoekt het eerst naar foo.ctm. Als dat bestand bestaat, past CTM de wijzigigen daarop toe in plaats van op foo. Dit gedrag biedt een eenvoudige mogelijkheid om lokale wijzigingen bij te houden. Dat kan dus door bestanden die gewijzigd gaan worden te kopiëren naar een bestand met dezelfde naam met de toevoeging .ctm. Dan kan er vrijelijk gespeeld worden met de code, terwijl CTM het bestand .ctm bijwerkt. Andere interessante mogelijkheden van <application>CTM</application> Uitvinden wat precies wordt veranderd met bijwerken Het is mogelijk een lijst met wijzigingen te maken die CTM zou maken op het broncodedepot met de optie . Dit is nuttig als het gewenst is om een logboek bij te houden van de wijzigingen, de te wijzigen bestanden voor- of na te bewerken op welke manier dan ook, of als de gebruiker gewoon een beetje paranoïde is. Back-ups maken vóór bijwerken Soms kan het wenselijk zijn om een back-up te maken van alle bestanden die gewijzigd gaan worden door een CTM update. Met back-upt CTM alle bestanden die gewijzigd gaan worden door een CTM delta naar back–upbestand. Te wijzigen bestanden door bijwerken beperken Soms is het wenselijk de reikwijdte voor een CTM update te beperken of kan het wenselijk zijn om maar een paar bestanden bij te werken uit een aantal delta's. Een lijst met bestanden die CTM mag bewerken kan aangegeven worden met de opties en en het opgeven van regular expressions. Om bijvoorbeeld een bijgewerkte kopie van lib/libc/Makefile te maken uit de verzameling met opgeslagen CTM delta's, kan het volgende commando uitgevoerd worden: &prompt.root; cd /where/ever/you/want/to/extract/it/ &prompt.root; ctm -e '^lib/libc/Makefile' ~ctm/src-xxx.* Voor ieder te wijzigen bestand in een CTM delta worden de opties en toegepast in de volgorde waarin ze op de commandoregel staan. Het bestand wordt alleen door CTM verwerkt als het passend is bevonden na het toepassen van alle parameters in en . Toekomstige plannen voor <application>CTM</application> Die zijn er: Een of andere vorm van authenticatie in het CTM systeem bouwen zodat vervalste CTM updates afgevangen kunnen worden; De opties voor CTM opruimen omdat ze verwarrend zijn geworden. Nog meer Er zijn ook delta's voor de portscollectie, maar daar is nog niet zo veel belangstelling voor. CTM mirrors CTM/&os; is op de volgende mirrorsites via anonieme FTP beschikbaar. Als voor CTM anonieme FTP wordt gebruikt, heeft het de voorkeur een site die in geografische zin dichtbij is te gebruiken. Bij problemen kan contact gezocht worden met de &a.ctm-users.name; mailinglijst. Californië, Bay Area, officiële bron Zuid-Afrika, back-upserver voor oude delta's Taiwan/R.O.C. Als er geen mirror dichtbij is of als die incompleet is, kan een zoekmachine als alltheweb gebruikt worden. CVSup gebruiken Inleiding CVSup is een softwarepakket voor - het verspreiden en bijwerken van broncodestructueren vanaf een + het verspreiden en bijwerken van broncodestructuren vanaf een master CVS depot op een andere server. De &os; broncode wordt beheerd in een broncode depot op een centrale ontwikkelmachine in Californië. Met CVSup kunnen &os; gebruikers op eenvoudige wijze hun broncode bijwerken. CVSup gebruikt een zogenaamd pull model voor het bijwerken. In het pull-model vraagt iedere client de server om updates als die nodig zijn. De server wacht passief op een verzoek om updates van zijn clients. Alle updates worden dus op initiatief van de client gedaan. De server stuurt nooit ongevraagde updates. Gebruikers moeten de CVSup client handmatig draaien om te updaten of een cron taak instellen om op regelmatige basis bij te werken. De term CVSup, op de gegeven wijze geschreven, doelt op het complete softwarepakket. De belangrijkste componenten zijn de client cvsup, die op de machine van een gebruiker draait, en de server cvsupd, die op alle &os; mirrorsites draait. In de &os; documentatie en op de mailinglijsten zijn referenties aan sup te vinden. Sup was de voorloper van CVSup en diende hetzelfde doel. CVSup wordt op dezelfde manier gebruikt als sup en gebruikt zelfs bestanden met instellingen die ook te gebruiken zijn met sup. Sup wordt niet langer gebruikt in het &os; project omdat CVSup sneller en flexibeler is. De csup applicatie is een herschreven versie van CVSup in de C taal. Het grootste voordeel ervan is dat het sneller is en dat het niet afhankelijk is van de Modula-3 taal, dus dat hoeft - niet geinstalleerd te worden als afhankelijkheid. Sterker nog + niet geïnstalleerd te worden als afhankelijkheid. Sterker nog als gebruik wordt gemaakt van &os; 6.2 of later, wordt de applicatie standaard meegeleverd, oudere versies hebben dit echter niet, maar deze kunnen simpel de net/csup port installeren of een vooraf gecompileerd pakket. Als je echter complete repositories wilt schaduwen, is CVSup nog steeds noodzakelijk. Als ervoor gekozen is om csup te gebruiken, sla dan de installatie stappen voor CVSup over en vervang de referenties naar CVSup met csup terwijl de rest van het artikel gevolgd wordt. Installatie De meest eenvoudige wijze van installatie van CVSup is met het voorgecompileerde - package net/cvsup uit de - &os; packagescollectie. Als het + pakket net/cvsup uit de + &os; pakkettencollectie. Als het gewenst is, kan CVSup ook uit de broncode gebouwd worden in net/cvsup. De net/cvsup port is afhankelijk van het Modula-3 systeem en dat kan wel even duren en er is ook nogal wat schijfruimte voor nodig om het te downloaden en te bouwen. Als CVSup gebruikt gaat worden op een machine waarop geen &xfree86; of &xorg; staat, zoals een server, dan dient de port waar geen CVSup GUI bij zit geïnstalleerd te worden: net/cvsup-without-gui. - Als csup geinstalleerd moet - worden op &os; 6.1 of eerder, kan gebruik gemaakt worden - van een van te voren gecompileerd + Als csup geïnstalleerd + moet worden op &os; 6.1 of eerder, kan gebruik gemaakt + worden van een van te voren gecompileerd net/csup pakket van de - &os; package collectie, of als de - voorkeur wordt gegeven aan het volledig compileren van - csup, kan gebruik gemaakt worden van - de net/csup port. + &os; pakkettencollectie, of als + de voorkeur wordt gegeven aan het volledig compileren van + csup, kan gebruik gemaakt worden + van de net/csup port. CVSup instellingen De werking van CVSup wordt gestuurd door een bestand met instellingen met de naam supfile. Er staan een aantal supfiles als voorbeeld in de map /usr/share/examples/cvsup/. De informatie in een supfile beantwoordt de volgende vragen voor CVSup: Welke bestanden moeten ontvangen worden? Welke versies daarvan moeten ontvangen worden? Waar moeten ze vandaan komen? Waar moeten ze komen te staan? Waar moet cvsup zijn statusbestanden bijhouden? In de volgende paragrafen wordt een supfile bestand opgebouwd door achtereenvolgens alle gestelde vragen te beantwoorden. Als eerste wordt de algemene structuur van een supfile beschreven. Een supfile is een tekstbestand. Commentaar begint met een # en loopt tot het einde van de regel. Lege regels en regels die alleen commentaar bevatten worden genegeerd. Iedere regel die overblijft slaat op een groep bestanden die ontvangen moet worden. De regel begint met de naam van een collectie, een logische groep bestanden op de server. De naam van de collectie geeft de server aan welke bestanden er gestuurd moeten worden. Na de naam van de collectie komen er geen of meer velden die gescheiden worden door witruimte. Die velden beantwoorden de hierboven gestelde vragen. Er zijn twee soorten velden: vlagvelden en waardevelden. Een vlagveld bestaat uit een alleenstaand sleutelwoord, bijvoorbeeld delete of compress. Een waardeveld begint ook met een sleutelwoord, maar het sleutelwoord wordt direct (zonder witruimte) gevolgd door = en een tweede woord. release=cvs is bijvoorbeeld een waardeveld. In een supfile wordt meestal aangegeven dat er meerdere collecties ontvangen moeten worden. Het is mogelijk om een supfile te structureren door expliciet alle relevante velden aan te geven voor iedere collectie, maar dat maakt de regels in de supfile nogal lang en het is onhandig omdat de meeste velden hetzelfde zijn voor alle collecties in een supfile. CVSup biedt een systeem met standaardinstellingen om dit probleem te omzeilen. Regels die - beginnen met de speciale pseuso-collectienaam + beginnen met de speciale pseudo-collectienaam *default kunnen gebruikt worden om standaarden in te stellen voor de collecties die er in de supfile achteraan komen. Een standaardwaarde kan voor individuele collecties overschreven worden door een andere waarde in de collectie zelf aan te geven. Standaarden kunnen ook middenin het bestand gewijzigd of aangevuld worden met extra *default regels. Na deze achtergronden wordt er nu een supfile samengesteld voor het ontvangen en bijwerken van de hoofd broncodestructuur van &os;-CURRENT. Welke bestanden moeten ontvangen worden? De bestanden die via CVSup beschikbaar zijn, zijn beschikbaar in groepen die collecties heten. De beschikbare collecties staan beschreven in de volgende paragraaf. In dit voorbeeld is het de bedoeling dat de hele hoofd broncodestructuur voor &os; wordt ontvangen. Daar is één grote collectie voor: src-all. De eerste stap in het maken van een supfile is het opsommen van de gewenste collecties, één per regel (in dit geval maar één regel): src-all Welke versies daarvan moeten ontvangen worden? Met CVSup kan vrijwel iedere versie van de broncode die ooit heeft bestaan opgehaald worden. Dat kan omdat de cvsupd server direct vanaf het CVS depot werkt, dat alle versies bevat. Er kan aangegeven welke ontvangen moeten worden met de waardevelden tag= en . Voorzichtigheid is geboden bij het correct aangeven van velden met tag=. Sommige labels zijn alleen geldig voor bepaalde collecties of bestanden. Als ze incorrect worden aangeven of als er een spelfout wordt gemaakt in een label, verwijdert CVSup bestanden waarvan dat waarschijnlijk niet de bedoeling is. Het label tag=. dient eigenlijk alleen gebruikt te worden voor de ports-* collecties. Het veld tag= benoemt een symbolisch label in het depot. Er zijn twee soorten labels: revisielabels en taklabels. Een revisielabel refereert aan een specifieke revisie. De betekenis blijft altijd hetzelfde. Een taklabel refereert echter aan de laatste revisie van een gegeven ontwikkellijn op een gegeven moment. Omdat een taklabel niet refereert aan een specifieke revisie, kan het morgen iets anders betekenen dan vandaag. beschrijft de meest interessante taklabels. Als er in het instellingenbestand van CVSup een label wordt aangegeven, moet dat vooraf gegaan worden door tag= (RELENG_4 zal tag=RELENG_4 worden). Voor de Portscollectie is alleen tag=. relevant. Labels dienen exact zo ingegeven te worden als ze staan beschreven. CVSup kan geen onderscheid maken tussen geldige en ongeldige labels. Als er een spelfout in een label wordt gemaakt, doet CVSup alsof er een geldig label is ingegeven dat aan geen enkel bestand refereert. Dan zal CVSup de bestaande broncode wissen. Bij het aangeven van een taklabel wordt meestal de laatste versie van de bestanden voor een bepaalde ontwikkellijn ontvangen. Om een oudere versie te ontvangen kan in het veld een datum opgegeven worden. In &man.cvsup.1; staat hoe dat werkt. Om bijvoorbeeld &os;-CURRENT te ontvangen dient het volgende aan het begin van supfile toegevoegd te worden: *default tag=. Er ontstaat een belangrijk speciaal geval als er geen velden met tag= of date= worden aangegeven. In dat geval worden de eigenlijke RCS bestanden direct uit het CVS depot van de server ontvangen in plaats van dat een bepaalde versie wordt ontvangen. Ontwikkelaars geven in het algemeen de voorkeur aan deze optie. Door zelf een kopie van de broncode op hun systeem te hebben, krijgen ze de mogelijkheid om zelf door eerdere versies van bestanden te bladeren en de geschiedenis ervan te bekijken. Dit voordeel kost wel veel schijfruimte. Waar moeten ze vandaan komen? Het veld host= wordt gebruikt om cvsup aan te geven waar de updates vandaan moeten komen. Dat kan van elke CVSup mirrorsite, hoewel er wordt aangeraden een site die geografisch dichtbij ligt te kiezen. In dit voorbeeld wordt een fictieve &os; distributiesite gebruikt, cvsup99.FreeBSD.org: *default host=cvsup99.FreeBSD.org In een werkelijke situatie dient de hostnaam gewijzigd te worden in een host die echt bestaat voordat CVSup gaat draaien. Iedere keer dat cvsup wordt gestart, kan er een andere host op de commandoregel opgegeven worden met de optie . Waar moeten ze komen te staan? Het veld prefix= geeft cvsup aan waar de ontvangen bestanden terecht moeten komen. In dit voorbeeld worden de bestanden direct in de hoofd broncodestructuur /usr/src geplaatst. De map src is al impliciet in de gekozen collecties, vandaar dat het onderstaande de juiste instelling is: *default prefix=/usr Waar moet cvsup zijn statusbestanden bijhouden? De CVSup client houdt statusbestanden bij in een map die base wordt genoemd. Die bestanden helpen CVSup efficiënter te werken door bij te houden welke updates al eerder zijn ontvangen. Hier wordt de standaard basemap gebruikt, /var/db: *default base=/var/db De bovenstaande instelling wordt standaard gebruikt als die niet wordt aangegeven in de supfile, dus hij is eigenlijk niet nodig. Als de basemap niet al bestaat, moet die gemaakt worden. De cvsup client weigert te draaien als de basemap niet bestaat. Allerlei supfile instellingen: Er is nog een regel die in een supfile moet staan: *default release=cvs delete use-rel-suffix compress release=cvs geeft de server aan dat de informatie uit het &os; hoofd CVS depot moet komen. Dat is eigenlijk altijd het geval, maar er zijn mogelijkheden die buiten het bereik van dit handboek vallen. delete geeft CVSup het recht om bestanden te verwijderen. Dit moet altijd aangegeven worden zodat CVSup de broncode altijd kan bijwerken. CVSup gaat voorzichtig om met het verwijderen van bestanden waar het verantwoordelijk voor is. Extra bestanden in de structuur worden met rust gelaten. use-rel-suffix is nogal geheimzinnig. Voor de nieuwsgierigen staat er meer over in &man.cvsup.1;. Anders kan het gewoon ingesteld worden zonder erover na te denken. compress schakelt het gebruikt van gzip compressie in voor het communicatiekanaal. Als de verbinding een E1 of sneller is, hoeft er geen compressie gebruikt te worden. Anders helpt het aanzienlijk. Alles combinerend: Hieronder staat de hele supfile uit het voorbeeld: *default tag=. *default host=cvsup99.FreeBSD.org *default prefix=/usr *default base=/var/db *default release=cvs delete use-rel-suffix compress src-all Het bestand <filename>refuse</filename> Zoals hierboven al is aangegeven, gebruikt CVSup een pull methode. Dat betekent eigenlijk dat er een verbinding wordt gemaakt met de CVSup server en die zegt dan: Dit kan er van mij gedownload worden..., en dan antwoordt de client met: Oké, ik wil dit en dat en zus en zo. Met de standaardinstellingen haalt de CVSup client alle bestanden die bij een collectie en het label horen dat in het bestand met de instellingen is opgegeven. Maar dat is niet altijd wenselijk, in het bijzonder als de doc, ports of www structuren worden gesynchroniseerd. De meeste mensen kunnen geen vier of vijf talen lezen en die hebben de taalspecifieke bestanden dus niet nodig. Als de Portscollectie met CVSup wordt opgehaald, is het mogelijk om iedere collectie apart aan te geven (bijvoorbeeld ports-astrology, ports-biology, enzovoort, in plaats van eenvoudigweg ports-all). Maar omdat de doc en www structuren geen taalspecifieke collecties hebben, moet er gebruik gemaakt worden van een van de vele mooie mogelijkheden van CVSup: het bestand refuse. Het bestand refuse geeft CVSup in feite aan dat niet ieder bestand uit een collectie opgehaald moet worden. Het geeft dus aan dat de client bepaalde bestanden van de server moet weigeren. Het bestand refuse staat in (of kan gemaakt worden in) base/sup/. base staat ingesteld in supfile. De standaardlocatie voor base is /var/db. De standaardplaats voor refuse is dus /var/db/sup/refuse. Het bestand refuse heeft een erg eenvoudige opmaak. Het bevat de namen van de bestanden die niet gedownload mogen worden. Als een gebruiker bijvoorbeeld geen andere talen spreekt dan Engels en Nederlands, maar de Nederlandse vertaling van de documentatie hoeft niet binnengehaald te worden, dan kan het volgende in het bestand refuse gezet worden: doc/bn_* doc/da_* doc/de_* doc/el_* doc/es_* doc/fr_* doc/hu_* doc/it_* doc/ja_* doc/mn_* doc/nl_* doc/no_* doc/pl_* doc/pt_* doc/ru_* doc/sr_* doc/tr_* doc/zh_* Dit gaat zo door voor de andere talen. De volledige lijst staat in het &os; CVS depot. Met deze handige eigenschap kunnen gebruikers met langzamere verbindingen of zij die per minuut voor hun - internetverbinding betalen waardevolle tijd besparen omdat er + Internetverbinding betalen waardevolle tijd besparen omdat er geen bestanden meer gedownload worden die nooit gebruikt worden. Meer informatie over refuse bestanden en andere leuke mogelijkheden van CVSup staat in de handleiding. <application>CVSup</application> draaien Nu kan het bijwerken beginnen. Het commando is best wel eenvoudig: &prompt.root; cvsup supfile De supfile is de naam van het supfile bestand dat gebruikt moet worden. Aangenomen dat er X11 draait op een machine, toont cvsup een GUI venster met wat knoppen om de bekende acties uit te voeren. Het proces start na het klikken op de knop go. Omdat in dit voorbeeld de werkelijke structuur in /usr/src wordt bijgewerkt, moet het programma als root uitgevoerd worden, zodat cvsup de rechten heeft die het nodig heeft om de bestanden bij te werken. Het is voorstelbaar dat de benodigde rechten, het net gemaakte bestand met instellingen en het voor de eerste keer draaien van een programma zorgt voor wat onrust. Daarom is het mogelijk proef te draaien zonder dat er bestanden gewijzigd worden. Dat kan door ergens een lege map te maken en een extra argument mee te geven op de commandoregel: &prompt.root; mkdir /var/tmp/dest &prompt.root; cvsup supfile /var/tmp/dest De opgegeven map is de bestemming voor alle bestandsupdates. CVSup bekijkt wel de bestanden in /usr/src, maar wijzigt ze niet. Alle updates belanden in /var/tmp/dest/usr/src. CVSup werkt ook de statusbestanden niet bij als het op deze wijze wordt uitgevoerd. De nieuwe versies van de bestanden worden naar de aangegeven map geschreven. Als er maar leestoegang is tot /usr/src, hoeft een gebruiker zelfs geen root te zijn bij het uitvoeren van dit experiment. Als er geen X11 draait of als het niet wenselijk is een GUI te gebruiken, dan kunnen daarvoor opties op de commandoregel meegegeven worden bij het draaien van cvsup: &prompt.root; cvsup -g -L 2 supfile De optie geeft CVSup aan dat de GUI niet gebruikt hoeft te worden. Dit gebeurt automatisch als X11 niet draait, maar anders moet het aangegeven worden. De optie geeft CVSup aan dat details getoond moeten worden over alle bestanden die bijgewerkt worden. Er - zijn drie niveau's van uitvoerigheid, van + zijn drie niveaus van uitvoerigheid, van tot . Standaard is het 0, wat betekent dat er geen enkel bericht wordt getoond, met uitzondering van foutmeldingen. Er zijn nog veel andere opties beschikbaar. Met cvsup -H wordt een lijst met korte uitleg getoond. Beschrijvingen met meer details staan in de handleiding. Als het bijwerken op de gewenste manier loopt, kan het regulier draaien van CVSup met &man.cron.8; ingesteld worden. Natuurlijk hoort CVSup zonder GUI te draaien als het programma vanuit de &man.cron.8; draait. <application>CVSup</application> bestandscollecties De via CVSup beschikbare bestandscollecties zijn hiërarchisch georganiseerd. Er zijn een paar grote collecties en die zijn opgedeeld in - kleinere sub-collecties. Het ontvangen van een collectie is - hetzelfde als het ontvangen van alle sub-collecties. De + kleinere subcollecties. Het ontvangen van een collectie is + hetzelfde als het ontvangen van alle subcollecties. De hiërarchische relatie tussen de collecties wordt hieronder aangegeven door het niveau van inspringen. De meest gebruikte collecties zijn src-all en ports-all. De andere collecties worden door kleine groepen mensen gebruikt voor bijzondere doeleinden en sommige mirrorsites hebben ze niet allemaal. cvs-all release=cvs Het &os; CVS hoofddepot, inclusief de cryptografische code. distrib release=cvs Bestanden die betrekking hebben op het verspreiden en spiegelen van &os;. doc-all release=cvs Broncode voor het &os; Handboek en andere documentatie, zonder de bestanden voor de &os; website. ports-all release=cvs De &os; Portscollectie. Als ports-all (het complete portssysteem) niet bijgewerkt hoeft te worden, maar enkele van de onderstaande - sub-collecties, dan moet + subcollecties, dan moet altijd ook de - ports-base sub-collectie + ports-base subcollectie bijgewerkt worden! Als er iets wijzigt in de infrastructuur van de ports waar ports–base voor staat, is het vrijwel zeker dat die wijzigingen heel snel door echte ports gebruikt gaan worden. Dus als alleen de echte ports bijgewerkt worden en als die gebruik maken van nieuwe mogelijkheden, dan is de kans groot dat het bouwen daarvan foutloopt met een vage foutmelding. Het eerste dat gedaan moeten worden is ervoor zorgen dat de - ports-base sub-collectie is + ports-base subcollectie is bijgewerkt. Bij het zelf bouwen van een lokale kopie van ports/INDEX - mOEt + moet ports-all geaccepteerd worden (de hele port structuur). Het bouwen van ports/INDEX met een gedeeltelijke structuur wordt niet ondersteund. Zie ook de FAQ. ports-accessibility release=cvs Software voor minder valide gebruikers. ports-arabic release=cvs Ondersteuning voor de Arabische taal. ports-archivers release=cvs Archiveringshulpmiddelen. ports-astro release=cvs Astronomie ports. ports-audio release=cvs Geluidsondersteuning. ports-base release=cvs De infrastructuur van de Portscollectie. Bestanden uit de mappen Mk/ en Tools/ van /usr/ports. Zie ook de belangrijke waarschuwing hierboven: deze - sub-collectie dient + subcollectie dient altijd bijgewerkt te worden als er een onderdeel van de &os; Portscollectie wordt bijgewerkt! ports-benchmarks release=cvs Benchmarks. ports-biology release=cvs Biologie. ports-cad release=cvs Computer aided design programma's. ports-chinese release=cvs Ondersteuning voor de Chinese taal. ports-comms release=cvs Communicatiesoftware. ports-converters release=cvs Karaktercode omzetters. ports-databases release=cvs Databases. ports-deskutils release=cvs Dingen die op een bureaublad stonden voordat computers waren uitgevonden. ports-devel release=cvs Ontwikkelhulpmiddelen. ports-dns release=cvs DNS gerelateerde software. ports-editors release=cvs Editors. ports-emulators release=cvs Emulatoren voor besturingssystemen. ports-finance release=cvs Monetaire, financiële en gerelateerde applicaties. ports-ftp release=cvs FTP client en server programma's. ports-games release=cvs Spelletjes. ports-german release=cvs Ondersteuning voor de Duitse taal. ports-graphics release=cvs Grafische programma's. ports-hebrew release=cvs Ondersteuning voor de Hebreeuwse taal. ports-hungarian release=cvs Ondersteuning voor de Hongaarse taal. ports-irc release=cvs Internet Relay Chat hulpprogramma's. ports-japanese release=cvs Ondersteuning voor de Japanse taal. ports-java release=cvs &java; programma's. ports-korean release=cvs Ondersteuning voor de Koreaanse taal. ports-lang release=cvs Programmeertalen. ports-mail release=cvs Mailsoftware. ports-math release=cvs Numerieke rekensoftware. ports-mbone release=cvs MBone applicaties. ports-misc release=cvs Verschillende programma's. ports-multimedia release=cvs Multimedia software. ports-net release=cvs Netwerksoftware. ports-net-im release=cvs Berichtenuitwisseling. ports-net-mgmt release=cvs Netwerkbeheersoftware. ports-net-p2p release=cvs Peer to Peer Netwerken ports-news release=cvs USENET news software. ports-palm release=cvs Softwareondersteuning voor Palm apparatuur. ports-polish release=cvs Ondersteuning voor de Poolse taal. ports-ports-mgmt release=cvs Programma's om ports en pakketten te beheren. ports-portuguese release=cvs Ondersteuning voor de Portugese taal. ports-print release=cvs Printsoftware. ports-russian release=cvs Ondersteuning voor de Russische taal. ports-science release=cvs Wetenschappelijk. ports-security release=cvs Beveiligingsprogramma's. ports-shells release=cvs Commandoregelshells. ports-sysutils release=cvs Systeemprogramma's. ports-textproc release=cvs Tekstverwerkingsprogramma's (zonder desktop publishing). ports-ukrainian release=cvs - Ondersteuning voor de Oekraïnische + Ondersteuning voor de Oekraïense taal. ports-vietnamese release=cvs - Ondersteuning voor de Vietnamese + Ondersteuning voor de Viëtnamese taal. ports-www release=cvs Software gerelateerd aan het Wereldwijde Web. ports-x11 release=cvs Ports voor het X windowsysteem. ports-x11-clocks release=cvs X11 klokken. ports-x11-drivers release=cvs - X11 drivers - + X11-stuurprogramma's + ports-x11-fm release=cvs X11 bestandsbeheerders. ports-x11-fonts release=cvs X11 lettertypen en lettertypeprogramma's. ports-x11-toolkits release=cvs X11 hulpprogramma's. ports-x11-servers release=cvs X11 servers. ports-x11-themes X11 thema's. ports-x11-wm release=cvs X11 vensterbeheerprogramma's. projects-all release=cvs Broncode's voor de &os; projecten repository. src-all release=cvs De hoofdbroncode van &os;, inclusief de cryptografische code. src-base release=cvs Verschillende bestanden bovenin de /usr/src structuur. src-bin release=cvs Gebruikersprogramma's die wellicht nodig zijn in single-user modus (/usr/src/bin). src-cddl release=cvs Programma's en bibliotheken die uitgegeven zijn onder de CDDL licentie (/usr/src/cddl). src-contrib release=cvs Programma's en bibliotheken van buiten het &os; project die vrijwel ongewijzigd gebruikt worden (/usr/src/contrib). src-crypto release=cvs Cryptografische programma's en bibliotheken van buiten het &os; project, die vrijwel ongewijzigd worden gebruikt (/usr/src/crypto). src-eBones release=cvs Kerberos en DES (/usr/src/eBones). Niet gebruikt in recente uitgaves van &os;. src-etc release=cvs Bestanden met systeeminstellingen (/usr/src/etc). src-games release=cvs Spelletjes (/usr/src/games). src-gnu release=cvs Programma's die onder de GNU Public License vallen (/usr/src/gnu). src-include release=cvs Headerbestanden (/usr/src/include). src-kerberos5 release=cvs Kerberos5 beveiligingspakket (/usr/src/kerberos5). src-kerberosIV release=cvs KerberosIV beveiligingspakket (/usr/src/kerberosIV). src-lib release=cvs Bibliotheken (/usr/src/lib). src-libexec release=cvs Systeemprogramma's die meestal door andere programma's worden uitgevoerd (/usr/src/libexec). src-release release=cvs Bestanden die nodig zijn voor het maken van een &os; release (/usr/src/release). src-release release=cvs Statisch gelinkte programma's voor nood onderhoud, zie &man.rescue.8; (/usr/src/rescue). src-sbin release=cvs Systeemprogramma's voor single-user modus (/usr/src/sbin). src-secure release=cvs Cryptografische bibliotheken en commando's (/usr/src/secure). src-share release=cvs Bestanden die tussen meerdere systemen gedeeld kunnen worden (/usr/src/share). src-sys release=cvs De kernel (/usr/src/sys). src-sys-crypto release=cvs Cryptografische kernelcode (/usr/src/sys/crypto). src-tools release=cvs Verschillende hulpprogramma's voor het onderhoud van &os; (/usr/src/tools). src-usrbin release=cvs Gebruikersprogramma's (/usr/src/usr.bin). src-usrsbin release=cvs Systeemprogramma's (/usr/src/usr.sbin). www release=cvs De broncode voor de &os; website. distrib release=self De instellingenbestanden van de CVSup server zelf. Gebruikt door de CVSup mirrorsites. gnats release=current De GNATS bug-tracking database. mail-archive release=current &os; mailinglijstarchief. www release=current De voorbewerkte &os; websitebestanden (niet de broncode). Gebruikt door WWW mirrorsites. Voor meer informatie De CVSup FAQ en andere informatie over CVSup is te vinden op De CVSup Homepage. De meeste &os;–gerelateerde discussie over CVSup vindt plaats op de &a.hackers;. Daar worden nieuwe versies van de software aangekondigd, net als op de &a.announce;. Voor vragen en foutrapporten moet een kijkje genomen worden op de CVSup FAQ CVSup sites CVSup servers voor &os; draaien op de onderstaande sites. Het overige deel van deze paragraaf wordt automatisch samengesteld en is daarom niet vertaald. &chap.mirrors.cvsup.inc; Portsnap gebruiken Introductie Portsnap is een systeem voor het veilig distribueren van de &os; portsstructuur. Er wordt ongeveer eens per uur een snapshot van de portsstructuur gemaakt en dat wordt cryptografisch getekend. De resulterende bestanden worden daarna gedistribueerd via HTTP. Net als CVSup gebruikt Portsnap een pull-model voor het bijwerken: de voorverpakte en getekende portsstructuren worden op een webserver geplaatst die passief wacht op verzoeken om bestanden door clients. Gebruikers dienen ofwel handmatig &man.portsnap.8; te draaien om de updates op te halen ofwel een taak in &man.cron.8; in te stellen om de updates regelmatig automatisch op te laten halen. Om technische redenen werkt Portsnap de portsstructuur in /usr/ports/ niet direct live bij. In plaats daarvan werkt het met een gecomprimeerde kopie van de portsstructuur die standaard in /var/db/portsnap/ staat. Deze gecomprimeerde kopie wordt daarna gebruikt om de eigenlijke portsstructuur bij te werken. Als Portsnap is geïnstalleerd uit de &os; Portscollectie, dan is de standaardlocatie voor het gecomprimeerde snapshot /usr/local/portsnap/ in plaats van /var/db/portsnap/. Installatie In &os; 6.0 en nieuwere versies, is Portsnap onderdeel van het &os; basissysteem. In oudere versies van &os; kan het geïnstalleerd worden met de port ports-mgmt/portsnap. Portsnap instellen De werking van Portsnap wordt bepaald door het instellingenbestand /etc/portsnap.conf. Voor de meeste gebruikers voldoen de standaard instellingen. Meer details staan in de handleiding van &man.portsnap.conf.5;. Als Portsnap is geïnstalleerd uit de Portscollectie, dan wordt als instellingenbestand /usr/local/etc/portsnap.conf gebruikt in plaats van /etc/portsnap.conf. Dit instellingenbestand wordt niet gemaakt als de port wordt geïnstalleerd, maar er wordt een voorbeeldbestand gedistribueerd. Voer het volgende commando uit om dit bestand juist te plaatsen: &prompt.root; cd /usr/local/etc && cp portsnap.conf.sample portsnap.conf <application>Portsnap</application> voor de eerste keer draaien De eerste keer dat &man.portsnap.8; wordt gedraaid, moet het een gecomprimeerde snapshot van de complete portsstructuur downloaden naar /var/db/portsnap/ (of /usr/local/portsnap/ als Portsnap geïnstalleerd is uit de Portscollectie). Aan het begin van 2006 was dit ongeveer een download van 41 MB. &prompt.root; portsnap fetch Als het gecomprimeerde snapshot is gedownload, dan kan een live kopie van de portsstructuur uitgepakt worden naar /usr/ports/. Dit moet gebeuren, zelfs als er al een portsstructuur bestaat in die map (bijvoorbeeld door gebruik van CVSup), omdat hiermee een uitgangspunt wordt gemaakt dat portsnap gebruikt om later te bepalen welke delen van de portsstructuur bijgewerkt moeten worden. &prompt.root; portsnap extract - In de standaard installatie wordt /usr/ports niet aangemaakt. + In de standaardinstallatie wordt /usr/ports niet aangemaakt. Als gebruik gemaakt wordt van &os; 6.0-RELEASE moet deze map gemaakt worden alvorens portsnap te gebruiken. In recentere versies van &os; en Portsnap wordt dit automatisch gedaan wanneer portsnap voor het eerst gebruikt wordt. Portsstructuur bijwerken Nadat een eerste gecomprimeerd snapshot van de portsstructuur is gedownload en uitgepakt in /usr/ports/, bestaat het bijwerken van de portsstructuur uit twee stappen: het ophalen van de gecomprimeerde updates voor het snapshot (fetch) en die gebruiken om de live portsstructuur bij te werken (update). Deze twee stappen kunnen door portsnap in een enkel commando worden uitgevoerd: &prompt.root; portsnap fetch update Sommige oudere versies van portsnap ondersteunen deze syntaxis niet. Als het bovenstaande niet werkt, probeer dan het volgende: - &prompt.root; portsnap fetch + &prompt.root; portsnap fetch &prompt.root; portsnap update Portsnap draaien vanuit cron Om het probleem dat hordes gebruikers inhameren op de servers voor Portsnap te voorkomen, draait portsnap fetch niet vanuit een &man.cron.8;-opdracht. In plaats daarvan is het commando portsnap cron beschikbaar, dat een willekeurige periode wacht, tot 3600 seconden, voordat de updates worden opgehaald. Daarnaast wordt het sterk aangeraden om portsnap update niet vanuit de cron te draaien, omdat er grote problemen te verwachten zijn als dit commando op hetzelfde moment draait als waarop een port wordt gebouwd of geïnstalleerd. Het is wel veilig om de INDEX-bestanden voor de ports bij te werken en dit kan gedaan worden door de vlag mee te geven aan portsnap. Natuurlijk is het op een later moment nodig om, als portsnap -I update draait vanuit de cron, portsnap update te draaien zonder de vlag om de rest van de structuur bij te werken. Door de volgende regel toe te voegen aan /etc/crontab werkt Portsnap zijn gecomprimeerde snapshot bij, worden de INDEX-bestanden in /usr/ports/ bijgewerkt en wordt er een e-mail verzonden als er ports zijn die bijgewerkt moeten worden: 0 3 * * * root portsnap -I cron update && pkg_version -vIL= Als een systeemklok niet is ingesteld op de lokale tijdzone, vervang 3 dan door een willekeurige waarde tussen 0 en 23 om de belasting op de servers voor Portsnap zo evenwichtig mogelijk te verdelen. Sommige oudere versie van portsnap bieden geen ondersteuning voor het opgeven van meerdere commando's, zoals bijvoorbeeld - cron update, in dezelde aanroep van + cron update, in dezelfde aanroep van portsnap. Als de regel hierboven faalt, probeer portsnap -I cron update dan te vervangen door portsnap cron && portsnap -I update. CVS labels Bij het ophalen of bijwerken van broncode met cvs of CVSup moet een revisielabel meegegeven worden. Een revisielabel refereert aan een specifieke lijn in de &os; ontwikkeling of aan een specifiek moment in de tijd. Het eerste type heet taklabel (branch tag) en het tweede type heet releaselabel (release tag). Taklabels Deze zijn, met uitzondering van HEAD (dat altijd een geldig label is), alleen van toepassing op de src/ structuur. De ports/, doc/ en www/ structuren kennen geen takken. HEAD Symbolische naam voor de hoofdlijn van &os;-CURRENT. Ook de standaard als geen revisie is aangegeven. In CVSup wordt dit label aangegeven met een . (dat is dus geen interpunctie, maar een echt . karakter). - In CVS is dit de standaard als er geen revisietabel + In CVS is dit de standaard als er geen revisielabel is aangegeven. Het is meestal geen goed idee om een checkout of update van CURRENT broncode op een STABLE machine te doen, tenzij dat expliciet de bedoeling is. + + RELENG_7 + + + De ontwikkellijn voor &os;-7.X, ook bekend als + &os; 7-STABLE. + + + + + RELENG_7_0 + + + De uitgavetak voor &os;-7.0, alleen gebruikt voor + beveiligingswaarschuwingen en andere kritische + aanpassingen. + + + RELENG_6 De ontwikkellijn voor &os;-6.X, ook bekend als &os; 6-STABLE. + + RELENG_6_3 + + + De uitgavetak voor &os;-6.3, alleen gebruikt voor + beveiligingswaarschuwingen en andere kritische + aanpassingen. + + + RELENG_6_2 De releasetak voor &os;-6.2, alleen gebruikt voor - beveilingswaarschuwingen en andere kritische + beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_6_1 De releasetak voor &os;-6.1, alleen gebruikt voor - beveilingswaarschuwingen en andere kritische + beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_6_0 De releasetak voor &os;-6.0, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_5 De ontwikkellijn voor &os;-5.X, ook bekend als &os; 5-STABLE. RELENG_5_5 De releasetak voor &os;-5.5, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_5_4 De releasetak voor &os;-5.4, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_5_3 De releasetak voor &os;-5.3, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_5_2 De releasetak voor &os;-5.2 en &os;-5.2.1, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_5_1 De releasetak voor &os;-5.1, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_5_0 De releasetak voor &os;-5.0, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_4 De ontwikkellijn voor &os;-4.X, ook bekend als &os; 4-STABLE. RELENG_4_11 De releasetak voor &os;-4.11, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_4_10 De releasetak voor &os;-4.10, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_4_9 De releasetak voor &os;-4.9, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_4_8 De releasetak voor &os;-4.8, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_4_7 De releasetak voor &os;-4.7, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_4_6 De releasetak voor &os;-4.6 en &os;-4.6.2, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_4_5 De releasetak voor &os;-4.5, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_4_4 De releasetak voor &os;-4.4, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_4_3 De releasetak voor &os;-4.3, alleen gebruikt voor beveiligingswaarschuwingen en andere kritische aanpassingen. RELENG_3 De ontwikkellijn voor &os;-3.X, ook bekend als 3.X-STABLE. RELENG_2_2 De ontwikkellijn voor &os;-2.2.X, ook bekend als 2.2-STABLE. Deze tak is sterk verouderd. Releaselabels Deze labels refereren aan een specifiek moment in de tijd waarop een versie van &os; is uitgegeven. Het proces om tot een release te komen is gedetailleerder beschreven in de Release Engineering Informatie en Release Proces documenten. De src structuur gebruikt labelnamen die beginnen met RELENG_ labels. De ports en doc structuren gebruiken labels waarvan de naam begint met het label RELEASE. De www tenslotte, is niet gemarkeerd met een bijzondere naam bij releases. + + RELENG_7_0_0_RELEASE + + + &os; 7.0 + + + + + RELENG_6_3_0_RELEASE + + + &os; 6.3 + + + RELENG_6_2_0_RELEASE &os; 6.2 RELENG_6_1_0_RELEASE &os; 6.1 RELENG_6_0_0_RELEASE &os; 6.0 RELENG_5_5_0_RELEASE &os; 5.5 RELENG_5_4_0_RELEASE &os; 5.4 RELENG_4_11_0_RELEASE &os; 4.11 RELENG_5_3_0_RELEASE &os; 5.3 RELENG_4_10_0_RELEASE &os; 4.10 RELENG_5_2_1_RELEASE &os; 5.2.1 RELENG_5_2_0_RELEASE &os; 5.2 RELENG_4_9_0_RELEASE &os; 4.9 RELENG_5_1_0_RELEASE &os; 5.1 RELENG_4_8_0_RELEASE &os; 4.8 RELENG_5_0_0_RELEASE &os; 5.0 RELENG_4_7_0_RELEASE &os; 4.7 RELENG_4_6_2_RELEASE &os; 4.6.2 RELENG_4_6_1_RELEASE &os; 4.6.1 RELENG_4_6_0_RELEASE &os; 4.6 RELENG_4_5_0_RELEASE &os; 4.5 RELENG_4_4_0_RELEASE &os; 4.4 RELENG_4_3_0_RELEASE &os; 4.3 RELENG_4_2_0_RELEASE &os; 4.2 RELENG_4_1_1_RELEASE &os; 4.1.1 RELENG_4_1_0_RELEASE &os; 4.1 RELENG_4_0_0_RELEASE &os; 4.0 RELENG_3_5_0_RELEASE &os;-3.5 RELENG_3_4_0_RELEASE &os;-3.4 RELENG_3_3_0_RELEASE &os;-3.3 RELENG_3_2_0_RELEASE &os;-3.2 RELENG_3_1_0_RELEASE &os;-3.1 RELENG_3_0_0_RELEASE &os;-3.0 RELENG_2_2_8_RELEASE &os;-2.2.8 RELENG_2_2_7_RELEASE &os;-2.2.7 RELENG_2_2_6_RELEASE &os;-2.2.6 RELENG_2_2_5_RELEASE &os;-2.2.5 RELENG_2_2_2_RELEASE &os;-2.2.2 RELENG_2_2_1_RELEASE &os;-2.2.1 RELENG_2_2_0_RELEASE &os;-2.2.0 AFS sites Er draaien AFS servers voor &os; op de volgende sites: Sweden The path to the files are: /afs/stacken.kth.se/ftp/pub/FreeBSD/ stacken.kth.se # Stacken Computer Club, KTH, Sweden 130.237.234.43 #hot.stacken.kth.se 130.237.237.230 #fishburger.stacken.kth.se 130.237.234.3 #milko.stacken.kth.se Beheerder: ftp@stacken.kth.se rsync sites De volgende sites bieden &os; aan via het protocol rsync. Het programma rsync werkt vrijwel hetzelfde als &man.rcp.1;, maar kent meer mogelijkheden en gebruikt het rsync remote-update protocol, dat alleen verschillen tussen twee groepen bestanden overbrengt, waardoor het synchroniseren via een netwerk drastisch wordt versneld. Dit kan het beste gedaan worden als er een mirrorsite voor de &os; FTP server of het &os; CVS depot draait. De rsync suite is voor veel - besturingssystemen beschikbaar. Voor &os; kan het package of de + besturingssystemen beschikbaar. Voor &os; kan het pakket of de port uit net/rsync geïnstalleerd worden. - Tschechische Republiek + Tsjechische Republiek rsync://ftp.cz.FreeBSD.org/ Beschikbare collecties: ftp: een gedeeltelijke mirror van de &os; FTP server. &os;: een volledige mirror van de &os; FTP server. Duitsland rsync://grappa.unix-ag.uni-kl.de/ Beschikbare collecties: freebsd-cvs: het volledige &os; CVS depot. Deze machine mirrort onder andere ook de CVS depots voor de NetBSD en OpenBSD projecten. Nederland rsync://ftp.nl.FreeBSD.org/ Beschikbare collecties: vol/4/freebsd-core: een volledige mirror van de &os; FTP server. + + Rusland + + + rsync://cvsup4.ru.FreeBSD.org/ + + Beschikbare collecties: + + + FreeBSD-gnats: De GNATS bug-tracking database. + + + + Taiwan rsync://ftp.tw.FreeBSD.org/ rsync://ftp2.tw.FreeBSD.org/ rsync://ftp6.tw.FreeBSD.org/ Beschikbare collecties: FreeBSD: een volledige mirror van de &os; FTP server. Verenigd Koninkrijk rsync://rsync.mirror.ac.uk/ Beschikbare collecties: ftp.FreeBSD.org: een volledige mirror van de &os; FTP server. Verenigde Staten rsync://ftp-master.FreeBSD.org/ Deze server mag alleen gebruikt worden door &os; primaire mirrorsites. Beschikbare collecties: &os;: het masterarchief van de &os; FTP server. acl: de &os; master ACL lijst. rsync://ftp13.FreeBSD.org/ Beschikbare collecties: &os;: een volledige mirror van de &os; FTP server.
diff --git a/nl_NL.ISO8859-1/books/handbook/multimedia/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/multimedia/chapter.sgml index 7ec042cdd1..4109750544 100644 --- a/nl_NL.ISO8859-1/books/handbook/multimedia/chapter.sgml +++ b/nl_NL.ISO8859-1/books/handbook/multimedia/chapter.sgml @@ -1,2052 +1,1950 @@ Ross Lippert Aangepast door Siebrand Mazeland Vertaald door Multimedia 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. + Met wat 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 goed + hercoderingsprogramma in de &os; Portscollectie beschikbaar wat + gebruikt kan worden om tussen formaten onderling 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 getest kan worden of een kaart werkt; 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 + Hoe de inhoud van CD's en DVD's 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 + Het proberen aan te koppelen van audio-CD's met + &man.mount.8; resulteert in ieder geval in een foutmelding en in + het ergste geval tot een kernel panic. Dat + type media heeft een formaat dat afwijkt van het gebruikelijke ISO-bestandssysteem. Moses Moore Geschreven door Marc Fonvieille Aangepast voor &os; 5.X door Geluidskaart installeren Systeem instellen PCI ISA 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 + kaarten. De ondersteunde audio-apparaten staan in een lijst in de Hardware Notes. - In dit document staat ook beschreven welk stuurprogramma welke - kaart(en) ondersteunt. + In de Hardware Notes staat ook beschreven welk stuurprogramma + uw kaart ondersteunt. kernel instellen 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 uit te vinden welk struurprogramma na het laden van het + Om uit te vinden welk stuurprogramma na het laden van het metastuurprogramma snd_driver wordt geladen kan de inhoud van het bestand /dev/sndstat nagekeken worden met - cat /dev/sndstat. - - - Om onder &os; 4.X alle geluidsstuurprogramma's te - laden, dient de module snd geladen te - worden in plaats van snd_driver. - + cat /dev/sndstat. 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 . Aangepaste kernel maken met geluidsondersteuning - Eerst moet het generieke audiostuurprogramma + Eerst moet het stuurprogramma voor het audioraamwerk &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 + worden in de lijst met ondersteunde audio-apparaten 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). + syntaxis gebruikt kan worden. De expliciete syntaxis voor de + kernelinstellingen voor elk ondersteund geluidsstuurprogramma + staat ook in /usr/src/sys/conf/NOTES. - Voor niet-PnP ISA-kaarten kan het nodig zijn dat de + Voor niet-PnP ISA-geluidskaarten 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; samen met - snd_sb16(4) en dient de volgende regel toegevoegd te worden - aan het bestand met kernelinstellingen: + van de kaart (IRQ, I/O poort, enzovoort), zoals dat geldt voor + alle niet-PnP ISA-kaarten. 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; samen met + snd_sb16 en dient de volgende regel + toegevoegd te worden aan het kernelinstellingenbestand: device snd_sbc device snd_sb16 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 - + de hulppagina &man.sound.4; en de hulppagina voor het + gevraagde stuurprogramma. + + De bovenstaande instellingen zijn de + standaardinstellingen. 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 over + deze kaart. 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 - . + apparaten pcm genoemd worden, dienen + eerdere stappen herzien te worden. Bekijk nogmaals de + instellingen van de kernel en bevestig dat het juiste + apparaatstuurprogramma was 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: + Als het goed is werkt de geluidskaart nu. Als pinnen voor + audio-out van de CD-ROM- of DVD-ROM-drive juist zijn aangesloten + op de geluidskaart, dan kan er een CD in de drive gestopt 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: + te installeren om naar MP3 audiobestanden te luisteren. - &prompt.user; cat filename > /dev/dsp + Een snelle manier om de kaart te testen is het als volgt + sturen van gegevens naar /dev/dsp: - filename kan ieder bestand zijn. - Deze commandoregel hoort wat ruis tot gevolg te hebben, - waardoor wordt bevestigd dat de geluidskaart echt werkt. + &prompt.user; cat bestandsnaam > /dev/dsp - - &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. - + bestandsnaam + kan ieder bestand zijn. Deze commandoregel hoort wat ruis te + maken, waardoor wordt bevestigd dat de geluidskaart echt werkt. - Niveau's voor de geluidskaartmixer kunnen aangepast worden + Niveaus voor de geluidskaartmixer kunnen aangepast worden met het commando &man.mixer.8;. Er staan meer details in &man.mixer.8;. Bekende problemen - apparaatnodes + apparaatknooppunten 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 Geschreven door 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. + Geluidskanalen, die aangezet kunnen worden met de + faciliteit &man.sysctl.8;. Met virtuele kanalen kunnen het + afspelen 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 het bovenstaande voorbeeld worden vier virtuele kanalen + toegewezen, wat in het dagelijks gebruik voldoende is. In hw.snd.pcm0.vchans staat het aantal - vitruele kanalen dat pcm0 heeft en is + virtuele 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. Het aantal virtuele kanalen voor een apparaat kan niet gewijzigd worden als het in gebruik is. Sluit eerst alle programma's die het apparaat gebruiken, zoals muziekspelers of geluidsdaemons. 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. + programma dat om /dev/dsp0 vraagt + automatisch transparant gealloceerd. Josef El-Rayes Geschreven door Standaardwaarden voor mixerkanalen instellen - - Dit wordt alleen ondersteund op &os; 5.3-RELEASE en - later. - - - De standaard waarden voor de mixerkanelen zijn ingesteld in + De standaardwaarden voor de mixerkanalen 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: + weer kunnen worden ingesteld, maar dit is geen nette + oplossing. Het is mogelijk om de standaardwaarden in te + stellen op het niveau van het stuurprogramma — dit wordt + bereikt door de gewenste waarden in te stellen in + /boot/device.hints, bijvoorbeeld: - hint.pcm.0.vol="100" + hint.pcm.0.vol="50" Met de bovenstaande instelling wordt het volume van een - kanaal standaard op 100 ingesteld bij het laden van de module + kanaal standaard op 50 ingesteld bij het laden van de module &man.pcm.4;. Chern Lee Geschreven door 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 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. + pakket. De interface van XMMS is - intuïtief met een playlist, grafische equalizer en meer. - Gebruikers die bekend zijn met + intuïtief met een afspeellijst, 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. + /dev/dsp1.0 + dient gewijzigd te worden in het dsp apparaatingang op uw systeem. 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. + worden moeten de audiogegevens naar de harde schijf geript + worden. Dit gaat door de ruwe CDDA (CD Digital Audio) gegevens + naar WAV-bestanden te 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) - cd-rom drives. Om van een IDE drive te rippen, dient de + CD-ROM-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 + &prompt.root; cdda2wav -D /dev/acd0 -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 CD 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 - Tegenwoodig is de MP3 encoder + Tegenwoordig 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: + 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 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 + ongecomprimeerde bestanden naar toe geschreven 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. + Voer mpg123 -s audio01.mp3 + > audio01.pcm uit. - XMMS schijft een bestand in het + XMMS schrijft 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 + gebruikt, is er een tikgeluid 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 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: + symbolische link te maken naar de juiste apparaten: &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 - - CPU_ENABLE_SSE - - - - kernelopties - - USER_LDT - - - Een aantal van de hier besproken ports hebben specifieke - kernelopties nodig om correct gebouwd te worden. Voeg de - onderstaande instelling toe aan het bestand met - kernelinstellingen, bouw en installeer daarna de kernel en - herstart het systeem: - - option CPU_ENABLE_SSE - - - In &os; 4.X dient option USER_LDT - toegevoegd te worden aan het bestand met kernelinstellingen. - In &os; 5.X en later bestaat deze optie niet. - - - Om de gedeeld geheugen interface van X11 te verbeteren, - wordt aangeraden dat een aantal variablelen van &man.sysctl.8; + Om de gedeeld-geheugeninterface van X11 te verbeteren, + wordt aangeraden dat een aantal variabelen 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; SDL: de Simple Directmedia Layer; DGA: de Direct Graphics Access; SVGAlib: low level console grafische laag. 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. Of de uitbreiding actief is, kan gecontroleerd worden met het commando xvinfo: &prompt.user; xvinfo XVideo wordt ondersteund als de uitvoer er ongeveer als volgt uitziet: 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 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: 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 + Ports en pakketten met video videopoorten - videopackages + videopakketten 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 + Een ogenschijnlijk 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. + het aantal work-arounds dat nodig was voor het overzetten 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 + pakket 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 + testbestand.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 xv testbestand.avi - &prompt.user; mplayer -vo sdl testfile.avi + &prompt.user; mplayer -vo sdl testbestand.avi - &prompt.user; mplayer -vo x11 testfile.avi + &prompt.user; mplayer -vo x11 testbestand.avi - &prompt.root; mplayer -vo dga testfile.avi + &prompt.root; mplayer -vo dga testbestand.avi - &prompt.root; mplayer -vo 'sdl:dga' testfile.avi + &prompt.root; mplayer -vo 'sdl:dga' testbestand.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 + testbestand.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: + APPARAAT het + apparaatknooppunt is voor de DVD-ROM. Om bijvoorbeeld titel + 3 van /dev/dvd af te spelen: &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. 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. 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 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: + beschreven. Eerst een eenvoudige kopie: - &prompt.user; mencoder input.avi -oac copy -ovc copy -o output.avi + &prompt.user; mencoder invoer.avi -oac copy -ovc copy -o uitvoer.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): + Om invoer.avi + te converteren naar de MPEG4-codec met MPEG3-audio + encodering (audio/lame + is verplicht): - &prompt.user; mencoder input.avi -oac mp3lame -lameopts br=192 \ --ovc lavc -lavcopts vcodec=mpeg4:vhq -o output.avi + &prompt.user; mencoder invoer.avi -oac mp3lame -lameopts br=192 \ +-ovc lavc -lavcopts vcodec=mpeg4:vhq -o utvoer.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. + invoer.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 + kan als pakket 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. + fijnafstellingsmogelijkheden weg. De videospeler + xine 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 + &prompt.user; xine -g -p mijnfilm.avi <application>transcode</application> hulpprogramma's De software transcode is geen speler, maar een verzameling hulpprogramma's voor het hercoderen van video- en audiobestanden. Met transcode wordt het mogelijk om videobestanden samen te voegen, kapotte bestanden te repareren en commandoregelprogramma's te gebruiken met stdin/stdout stream interfaces. Tijdens het bouwen van de port multimedia/transcode kan een groot aantal opties opgegeven worden en de volgende commandoregel wordt geadviseerd om transcode te bouwen: &prompt.root; make WITH_OPTIMIZED_CFLAGS=yes WITH_LIBA52=yes WITH_LAME=yes WITH_OGG=yes \ WITH_MJPEG=yes -DWITH_XVID=yes De geadviseerde instellingen zijn toereikend voor de meeste gebruikers. Om de mogelijkheden van transcode te illustreren volgt nu een voorbeeld van hoe een DivX-bestand om te zetten in een PAL MPEG-1-bestand (PAL VCD): - &prompt.user; transcode -i input.avi -V --export_prof vcd-pal -o output_vcd -&prompt.user; mplex -f 1 -o output_vcd.mpg output_vcd.m1v output_vcd.mpa + &prompt.user; transcode -i invoer.avi -V --export_prof vcd-pal -o uitvoer_vcd +&prompt.user; mplex -f 1 -o uitvoer_vcd.mpg uitvoer_vcd.m1v uitvoer_vcd.mpa Het resulterende MPEG-bestand, - output_vcd.mpg, is klaar om afgespeeld - te worden met MPlayer. Het kan - ook op een CD-R gebrand worden om er een Video CD mee te - maken. In dat geval is het nodig om de programma's uitvoer_vcd.mpg, + is klaar om afgespeeld te worden met + MPlayer. Het kan ook op een CD-R + gebrand worden om er een Video-CD mee te maken. In dat geval + is het nodig om de programma's multimedia/vcdimager en sysutils/cdrdao te installeren. Er is een hulppagina voor transcode, maar kijk ook op transcode wiki voor meer informatie en voorbeelden. 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, + op prijs gesteld als iemand de documentatie niet heeft gelezen, dus het is verstandig RTFM in gedachten te houden alvorens - bug reports naar ze te mailen. + bug rapportages 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; + role="package">multimedia/avifile; Ogle is er ook als port: multimedia/ogle; + role="package">multimedia/ogle; Xtheater; multimedia/dvdauthor, een open source pakket voor authoring van DVD content. Josef El-Rayes Oorspronkelijk geschreven door Marc Fonvieille Verbeterd en aangepast door TV-kaarten installeren TV-kaarten 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. 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 + In de hulppagina voor &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). + over de beschikbare opties. 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 + 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 + In &os; is toegang tot scanners mogelijk met 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 + &os; ondersteunt 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 + url="http://www.sane-project.org/sane-supported-devices.html">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;): + aangesloten worden. Een regel die de detectie van uw scanner + aangeeft zou in de berichtenbuffer van het systeem + (&man.dmesg.8;) moeten verschijnen: 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. - + Het bovenstaande geeft aan dat de scanner het + apparaatknooppunt /dev/uscanner0 + gebruikt. 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 + NOTES 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: + Als de kernel juist gecompileerd en geïnstalleerd is, + horen de apparaten tijdens het opstarten zichtbaar te zijn in + de systeemberichtbuffer: 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;. + Meer details over SCSI-apparaten staan in de hulppagina's + voor &man.scsi.4; en &man.camcontrol.8;. 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 + url="http://www.sane-project.org/sane-supported-devices.html">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 + De eerste stap is om de port of het pakket graphics/sane-backends te + installeren. 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. + In de uitvoer is te lezen welk type interface en welk + apparaatknooppunt 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 + gedetecteerd, dat hij de USB-interface gebruikt en is + aangesloten op het apparaatknooppunt /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: + interface en apparaatknooppunt 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 + De USB-scanner is geïdentificeerd. Het is niet + belangrijk dat het merk en model niet overeenkomen met de + scanner. Het belangrijkste is het veld + `epson:/dev/uscanner0', dat de + juiste benamingen voor het backend en het apparaatknooppunt 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. - Scannergebruik voor andere gebruikers toestaan + Andere gebruikers toegang tot de scanner geven 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: + apparaatknooppunt voor een scanner. Een USB-scanner gebruikt + bijvoorbeeld apparaatknooppunt + /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 + In &man.pw.8; staan meer details. Op het apparaatknooppunt /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: + operator alleen lezen op het + apparaatknooppunt. 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. + de hulppagina voor &man.devfs.8;. 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/preface/preface.sgml b/nl_NL.ISO8859-1/books/handbook/preface/preface.sgml index e3f1a51e01..518747f4b9 100644 --- a/nl_NL.ISO8859-1/books/handbook/preface/preface.sgml +++ b/nl_NL.ISO8859-1/books/handbook/preface/preface.sgml @@ -1,744 +1,791 @@ Voorwoord Bedoeld publiek De nieuwkomers bij &os; zullen zien dat de eerste sectie van - dit boek ze begleidt door de &os; installatieprocedure en de + dit boek ze begeleidt door de &os; installatieprocedure en de geleidelijke introductie in de concepten van &unix;. Om deze sectie goed te kunnen doorlopen is meer nodig dan de wens om te ontdekken en de mogelijkheid om nieuwe concepten op te nemen wanneer ze geïntroduceerd worden. De tweede, veel grotere, sectie van het handboek is een uitvoerige referentie naar alle mogelijke (relevante) onderwerpen die interessant zijn voor &os; systeembeheerders. Sommige van deze hoofdstukken adviseren mogelijk om eerdere documentatie te lezen. Dit wordt aangegeven in de samenvatting aan het begin van elk hoofdstuk. Voor een lijst van extra bronnen van informatie zie . Wijzigingen ten opzichte van de tweede editie Deze derde editie is het resultaat van meer dan twee jaar - werk van de toegewijde leden van het &os; Documentatieproject. + werk van de toegewijde leden van het &os; Documentation Project. Hieronder staan de grootste veranderingen in deze nieuwe editie: , Instellingen en optimalisatie, is uitgebreid met nieuwe informatie over ACPI - power en resource management, het systeemhulpprogramma cron - en er staan meer opties voor het optimaliseren van de kernel - beschreven. + power en resource management, het systeemhulpprogramma + cron en er staan meer opties voor het + optimaliseren van de kernel beschreven. , Beveiliging, is uitgebreid met meer informatie over virtuele private netwerken (VPN's), toegangscontrolelijsten voor het bestandssysteem (ACL's) en beveiligingswaarschuwingen. , Verplichte toegangscontrole (MAC), is een nieuw hoofdstuk in deze editie. Er wordt in uitgelegd wat MAC is en hoe het gebruikt kan worden om &os; te beveiligen. , Opslag, is uitgebreid met informatie over USB opslagapparaten, snapshots van bestandssystemen, bestandssystemen op basis van bestanden - en het netwerk en versleutelde partities op disks. + en het netwerk en versleutelde partities op schijven. , Vinum, is een nieuw hoofdstuk in deze editie. Er wordt in beschreven hoe Vinum gebruikt kan worden. Vinum is een logische volume - manager die apparaat onafhankelijke logische disks kan + manager die apparaat onafhankelijke logische schijven kan aanbieden en software RAID-0, RAID-1 en RAID-5. Aan , PPP en SLIP, is een paragraaf toegevoegd over problemen oplossen. , E-mail, is uitgebreid met informatie over alternatieve transport programma's, - SMTP authenticatie, UUCP, fetchmail, procmail en een - aantal andere gevorderde onderwerpen. + SMTP authenticatie, UUCP, fetchmail, + procmail en een aantal andere + gevorderde onderwerpen. , Netwerkdiensten, is nieuw in deze editie. Dit hoofdstuk bevat informatie over - het opzetten van een Apache HTTP Server, FTPd en het - opzetten van een server voor Microsoft &windows; clients + het opzetten van een + Apache HTTP Server, + ftpd en het + opzetten van een server voor µsoft; &windows; clients met Samba. Een aantal paragrafen - uit , Netwerken voor - Gevorderden, zijn om reden van presentatie naar dit hoofdstuk + uit , Geavanceerde + Netwerken, zijn om reden van presentatie naar dit hoofdstuk verplaatst. , Netwerken voor gevorderden, is uitgebreid met informatie over het gebruik - van Bluetooth apparaten met &os;, het opzetten van draadloze + van &bluetooth; apparaten met &os;, het opzetten van draadloze netwerken en Asynchronous Transfer Mode (ATM) netwerken. Er is een termenoverzicht toegevoegd als centrale locatie voor definities van technische termen die in dit boek gebruikt worden. - Tenslotte zijn er nog veel estetische wijzigingen + Tenslotte zijn er nog veel esthetische wijzigingen doorgevoerd aan tabellen en figuren in het boek. Veranderingen ten opzichte van de eerste editie Deze tweede editie is een optelsom van meer dan twee jaar werk door vaste leden van het &os; Documentation Project. Het volgende zijn de grote wijzigingen in deze editie: Er is een complete INDEX toegevoegd. Alle ASCII figuren zijn vervangen door grafische diagrammen. Aan elk hoofdstuk is een standaardsamenvatting toegevoegd om een snel overzicht te geven welke informatie zich in het hoofdstuk bevindt en wat de lezer geacht wordt te weten. De inhoud is logisch ingedeeld in drie delen: Starten, Systeembeheer en Appendix. (&os; installeren) is compleet herschreven met veel - screenshots erbij om het makkelijker te maken voor nieuwe + schermafdrukken erbij om het makkelijker te maken voor nieuwe gebruikers om greep te krijgen op de tekst. (&unix; beginselen) is uitgebreid met extra informatie over processen, daemons en signalen. (Applicaties installeren) is uitgebreid met extra informatie over binair package-beheer. (Het X Window systeem) is compleet herschreven met de nadruk op het gebruik van moderne bureaubladtechnologiën zoals KDE en GNOME op &xfree86; 4.X. (Het &os; Opstartproces) is uitgebreid. (Opslag) is herschreven uit wat eens twee aparte hoofdstukken waren over - disks en backups. We vinden + schijven en backups. We vinden dat de onderwerpen beter begrijpbaar zijn wanneer ze in één hoofdstuk zijn ondergebracht. Er is ook een - sectie ver RAID (zowel hardware als softwarematig) + sectie over RAID (zowel hardware- als softwarematig) toegevoegd. (Seriële communicatie) is compleet gereorganiseerd en bijgewerkt voor &os; 4.X/5.X. (PPP en SLIP) is aanzienlijk bijgewerkt. Veel nieuwe secties zijn toegevoegd aan (Geavanceerd netwerken). (E-mail) is uitgebreid met meer informatie over het instellen van sendmail. ( &linux; binaire compatibiliteit) is uitgebreid met informatie over het installeren van &oracle; en &sap.r3; De volgende nieuwe onderwerpen worden behandeld in de tweede editie: Instellingen en optimalisatie (). Multimedia () De opbouw van dit boek Dit boek is opgedeeld in vijf logische secties. De eerste sectie, Beginnen, behandelt de installatie en het basisgebruik van &os;. Er wordt verwacht dat lezers deze hoofdstukken volgt, en mogelijk hoofdstukken overslaat met bekende onderwerpen. De tweede sectie, Algemene Taken, behandelt veelgebruikte functies van &os;. Deze sectie en alle volgende kunnen in een willekeurige volgorde gelezen worden. Iedere sectie begint met een beknopte samenvatting die beschrijft wat het hoofdstuk inhoudt en wat de lezer al moet weten. Dit is bedoeld om de lezer de kans te geven alleen dat te lezen wat voor hem van belang is. In de derde sectie, Systeembeheer, wordt het beheer behandeld. De vierde sectie, Netwerkcommunicatie, gaat over netwerken en servers. De vijfde sectie bevat appendices met referentiemateriaal. , Introductie Introduceert &os; aan een nieuwe gebruiker. Het beschrijft de geschiedenis van het &os; project, de doelen en het ontwikkelmodel. , Installatie Begeleidt een gebruiker door de installatieprocedure. Sommige geavanceerde installatie-onderwerpen zoals installatie door middel van een seriële console worden ook behandeld. , &unix; beginselen Behandelt de basiscommando's en functionaliteit van het - &os; besturingssyteem. Als de lezer bekend is met &linux; of + &os; besturingssysteem. Als de lezer bekend is met &linux; of een andere &unix; variant, kan dit hoofdstuk waarschijnlijk overgeslagen worden. , Applicaties installeren Behandelt de installatie van software van derden, met zowel &os;'s innovatieve Portscollectie als de standaard binaire packages. , Het X Window systeem Beschrijft het X Window systeem in het algemeen en het gebruik van X11 op &os; in het bijzonder. Het beschrijft ook standaard bureaubladomgevingen zoals KDE en GNOME. , Bureaubladapplicaties Levert standaard bureaubladapplicaties in een lijst, zoals webbrowsers en productiviteitspakketten, en beschrijft hoe ze te installeren op &os;. , Multimedia Laat zien hoe geluid- en video-ondersteuning te installeren voor een systeem. Het beschrijft ook een aantal voorbeeld audio- en video- applicaties. , Instellen van de &os; kernel Beschrijft waarom misschien een nieuwe kernel ingesteld moet worden en levert gedetailleerde instructies voor het instellen, bouwen en installeren van een eigen kernel. , Afdrukken Beschrijft hoe printers beheerd worden onder &os;, - met informatie over bannerpagina's, afdruk-accouting en + met informatie over bannerpagina's, afdruk-accounting en initiële installatie. + + , &linux; binaire compatibiliteit + + + Beschrijft de mogelijkheden van &os; voor binaire + compatibiliteit met &linux;. Het biedt ook gedetailleerde + installatie-instructies voor vele populaire &linux; + applicaties zoals &oracle;, + &sap.r3;, en + &mathematica;. + + + , Instellingen en optimalisatie Beschrijft de parameters beschikbaar voor systeembeheerders om een &os; te optimaliseren voor de beste prestaties. Het beschrijft ook diverse instellingenbestanden die gebruikt worden in &os; en waar die te vinden zijn. , Het &os; opstartproces Beschrijft de &os; opstartprocedure en legt uit hoe deze aan te passen met instellingen. , Gebruikers en basis accountbeheer - Beschrijft hoe gebruikers-accounts aan te maken en te - wijzigen. Het beschrijft ook welke resource-beperkingen er + Beschrijft hoe gebruikersaccounts aan te maken en te + wijzigen. Het beschrijft ook welke resourcebeperkingen er gezet kunnen worden op gebruikers en andere account-beheerstaken. , Beveiliging Beschrijft vele verschillende hulpapplicaties die beschikbaar zijn die helpen om een &os; systeem veilig te houden, met oa: Kerberos, IPsec en OpenSSH. + + , Jails + + + Beschrijft het jail-raamwerk, en de verbeteringen van + jails (gevangenissen) ten opzichte van de traditionele + ondersteuning voor chroot van &os;. + + + , Verplichte Toegangscontrole (MAC) Legt uit was Verplichte Toegangscontrole (MAC) is en hoe het gebruikt kan worden om een &os; te beveiligen. + + , Security Event Auditing + + + Beschrijft wat &os; Event Auditing is, hoe het + geïnstalleerd kan worden, en hoe audit trails + geïnspecteerd en gemonitord kunnen worden. + + + , Opslag Beschrijft hoe opslagmedia en bestandssystemen beheerd worden onder &os;. Dit omvat fysieke schijven, RAID arrays, optische en tape media, geheugenschijven en netwerkbestandssystemen. , - Geom + GEOM - Beschrijft wat het GEOM framwork in &os; is en hoe de + Beschrijft wat het GEOM raamwerk in &os; is en hoe de verschillende ondersteunde RAID-niveau's in te stellen. , Vinum Beschrijft hoe Vinum gebruikt wordt, een logische - volumebeheerder die apparaatonafhankelijke logische disken + volumebeheerder die apparaatonafhankelijke logische schijven levert, met software RAID-0, RAID-1 en RAID-5. + + , Virtualisatie + + + Beschrijft wat virtualisatiesystemen bieden, en hoe ze met + &os; gebruikt kunnen worden. + + + , Lokalisatie - I18N/L10N gebruiken en instellen Beschrijft hoe &os; met andere talen dan Engels te gebruiken is. Behandelt zowel het systeem- als applicatieniveau van localisatie. , Het scherp van de snede Geeft uitleg over de verschillen tussen &os;-STABLE, - &os;-CURRENT en &os; releases. Beschrijft welke gebruikers + &os;-CURRENT en &os; uitgaven. Beschrijft welke gebruikers voordeel hebben van het bijhouden van een ontwikkelsysteem en legt dat proces uit. , Seriële communicatie Legt uit hoe een verbinding te maken met terminals en modems op een &os; systeem voor zowel dial-in als dial-out verbindingen. , PPP en SLIP Beschrijft hoe PPP, SLIP en PPP over Ethernet te gebruiken om verbinding te maken met remote systemen met &os;. , E-mail Legt verschillende componenten uit van een mailserver en gaat dieper in op simpele instellingen voor de populairste mailserver software: sendmail. , Netwerkdiensten Geeft gedetailleerde instructies en voorbeeldinstellingen om een &os; machine als een netwerk bestandssysteem server, DNS server, netwerk informatiesysteem server of tijdserver in te stellen. , Firewalls Licht de filosofie achter op software gebaseerde firewalls toe en beschrijf in detail hoe de verschillende firewalls die in &os; beschikbaar zijn ingesteld kunnen worden. , Netwerken voor gevorderden Beschrijft meerdere netwerk onderwerpen, inclusief - het delen van een internetverbinding met andere computers in + het delen van een Internetverbinding met andere computers in een LAN, routeren voor gevorderden, draadloze netwerken, - bluetooth, ATM, IPv6 en nog veel meer. + &bluetooth;, ATM, IPv6 en nog veel meer. , &os; verkrijgen Geeft verschillende bronnen aan voor het verkrijgen van - &os; media op cd-rom of DVD evenals verschillende sites op - het internet die gebruikers in staat stellen &os; te + &os; media op CD-ROM of DVD evenals verschillende sites op + het Internet die gebruikers in staat stellen &os; te downloaden en te installeren. , Bibliografie Dit boek behandelt veel verschillende onderwerpen die de - lezer misschien hongerig maken naar een gedetaileerdere + lezer misschien hongerig maken naar een gedetailleerdere uitleg. De bibliografie bevat verwijzingen naar een aantal uitstekende boeken. , Bronnen op Internet Beschrijft de vele forums die beschikbaar zijn voor &os; gebruikers om vragen te stellen, en om deel te nemen aan technische conversaties over &os;. , PGP sleutels Geeft de PGP-vingerafdrukken van verschillende &os; ontwikkelaars. Overeenkomsten in dit boek Om consistentie en leesbaarheid te behouden en de leesbaarheid te behouden worden er een aantal overeenkomsten nageleefd in dit boek. Typografische overeenkomsten Italic Een italic lettertype wordt gebruikt voor bestandsnamen, URL's, benadrukte tekst, en het eerste gebruik van technische termen. Monospace Een monospaced lettertype wordt gebruikt voor foutmeldingen, commando's, omgevingsvariabelen, namen van ports, hostnamen, gebruikersnamen, groepsnamen, apparaatnamen, variabelen en stukjes code. Vet Een vet lettertype wordt gebruikt voor applicaties, commando's en toetsen. Gebruikersinvoer Toetsen worden weergegeven in bold om op te vallen tussen andere tekst. Toetscombinaties die bedoeld zijn om tegelijkertijd getypt te worden worden weergeven met +' tussen de toetsen zoals Ctrl AltDel Betekent dat de gebruiker de volgende toetsen op hetzelfde moment moet indrukken: Ctrl, Alt en Del. Toetsen die bedoeld zijn om achter elkaar te typen worden gescheiden door komma's, bijvoorbeeld Ctrl X, Ctrl S zou betekenen dat de gebruiker de Ctrl en X toetsen tegelijk moet indrukken en erna Ctrl en S tegelijkertijd moet indrukken. Voorbeelden Voorbeelden die beginnen met E:\> geven aan dat het een &ms-dos; commando betreft. Tenzij anders vermeld, kunnen deze commando's in een Command promptscherm in een moderne µsoft.windows; omgeving worden gebruikt. E:\> tools\fdimage floppies\kern.flp A: Voorbeelden die starten met een &prompt.root; geven aan dat een commando ingegeven moet worden als de superuser in &os;. Er kan aangemeld worden met root om het commando in te typen, of er kan na als gewone gebruiker aangemeld te hebben gebruikt gemaakt worden van &man.su.1; om superuser-rechten te verkrijgen. &prompt.root; dd if=kern.flp of=/dev/fd0 Voorbeelden die starten met &prompt.user; geven aan dat een commando opgegeven moet worden vanuit een normale gebruikersaccount. Tenzij anders vermeld, wordt de C-shell syntaxis gebruikt voor het instellen van omgevingsvariabelen en andere shellcommando's. &prompt.user; top Dankwoorden Het boek dat nu voorligt representeert de inspanningen van honderden mensen over de hele wereld. Of ze nu foutjes verbeteren of complete hoofdstukken inleveren, ze hebben allemaal nuttig bijgedragen. Verschillende bedrijven hebben bijgedragen aan het maken - van dit document door de schrijvers te betalen om hier full-time + van dit document door de schrijvers te betalen om hier voltijds aan te werken, door te betalen voor de publicatie, etc. In het bijzonder heeft BSDi (Overgenomen door Wind River Systems) leden - van het &os; Documentatie Project betaald om full-time te werken + van het &os; Documentation Project betaald om voltijds te werken aan het verbeteren van dit boek, wat leidde tot de publicatie van de eerste editie in maart 2000 (ISBN 1-57176-241-8). Wind River Systems heeft daarna verschillende schrijvers betaald om een aantal verbeteringen uit te voeren voor de printuitvoer-infrastructuur en om extra hoofdstukken toe te voegen aan de tekst. Dit werk leverde de publicatie van de tweede gedrukte editie in november 2001 (ISBN 1-57176-303-1). In 2003-2004 heeft &os; Mall, Inc een aantal mensen die bijdragen hebben geleverd betaald om het handboek te verbeteren voor een derde gedrukte editie. diff --git a/nl_NL.ISO8859-1/books/handbook/users/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/users/chapter.sgml index 588b8fb29a..bc80d31b7f 100644 --- a/nl_NL.ISO8859-1/books/handbook/users/chapter.sgml +++ b/nl_NL.ISO8859-1/books/handbook/users/chapter.sgml @@ -1,1182 +1,1198 @@ Neil Blakey-Milner Geschreven door Siebrand Mazeland Vertaald door Gebruikers en basis accountbeheer 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 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 + waarin een gebruikersnaam wordt opgegeven, 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. + aanmelden, email lezen, enzovoort. 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. + email, 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 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), news en www. 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 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, + instellingen kunnen verpesten of elkaars email kunnen lezen, enzovoort. Iedere gebruiker kan zijn eigen omgeving instellen op een systeem, door andere shells, editors, toetsenbordinstellingen en taal te kiezen. 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> 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. Een gebruiker toevoegen aan &os; &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; Het wachtwoord wat ingegeven wordt, wordt niet getoond, er worden ook geen sterretjes getoond. Zorg ervoor dat het wachtwoord correct ingevuld wordt. <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 + Verwijdert de inkomende email 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> 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. - Er zal om je wachtwoord gevraagd worden na het verlaten van - editor, als de huidige gebruiker niet de superuser is. + Er zal om uw wachtwoord gevraagd worden na het verlaten + van de tekstverwerker, als de huidige gebruiker niet de + 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> 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> 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. 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 normaal gesproken /etc/login.conf niet direct, maar leest het databasebestand /etc/login.conf.db welke snellere opzoekmogelijkheden biedt. /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 + het aanmeldmogelijkheden raamwerk, 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 + groot programma, brengen ook meerdere processen voort (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 + is het product 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;. 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; + De lijst van groepsleden instellen 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. + komma's gescheiden lijst van gebruikers die in de aangegeven groep + moeten komen. In de voorgaande paragrafen is al aangegeven dat + het wachtwoordbestand 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. + + + Een nieuw lid aan een groep toevoegen met &man.pw.8; + + &prompt.root; pw groupmod teamtwo -m db +&prompt.root; pw groupshow teamtwo +teamtwo:*:1100:jru,db + + + Het argument voor de optie is een door + komma's gescheiden lijst van gebruikers die aan de groep worden + toegevoegd. In tegenstelling tot het vorige voorbeeld, worden + deze gebruikers aan de groep toegevoegd en vervangen ze de lijst + van gebruikers in de groep niet. &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;. diff --git a/nl_NL.ISO8859-1/books/handbook/virtualization/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/virtualization/chapter.sgml index d8e2fd3a72..fe582873fd 100644 --- a/nl_NL.ISO8859-1/books/handbook/virtualization/chapter.sgml +++ b/nl_NL.ISO8859-1/books/handbook/virtualization/chapter.sgml @@ -1,1013 +1,1016 @@ Murray Stokely Bijgedragen door René Ladan Vertaald door Virtualisatie Overzicht Virtualisatiesoftware maakt het mogelijk om meerdere besturingssystemen gelijktijdig op dezelfde computer te draaien. Zulke softwaresystemen voor PC's gebruiken vaak een gastheer-besturingssysteem dat de virtualisatiesoftware draait en dat elk aantal gast-besturingssystemen ondersteunt. Aan het einde van dit hoofdstuk weet de lezer: Het verschil tussen een gastheer-besturingssysteem en een gast-besturingssysteem. Hoe &os; op een &intel;-gebaseerde &apple; &macintosh; computer te installeren. Hoe &os; op Linux te installeren met &xen;. Hoe &os; op µsoft.windows; te installeren met Virtual PC. Hoe een &os;-systeem in te stellen voor de beste prestaties tijdens virtualisatie. Voordat het lezen van dit hoofdstuk, dient de lezer: De beginselen van &unix; en &os; () te begrijpen. Te weten hoe &os; te installeren (). Te weten hoe een netwerkverbinding te installeren (). Te weten hoe aanvullende software van derde partijen te installeren (). &os; als een gast-besturingssysteem Parallels op &macos; Parallels Desktop voor &macos; is een commercieel softwareprodukt voor &intel;-gebaseerde &apple; &mac; computers die &macos; 10.4.6 of nieuwer draaien. &os; is een volledig ondersteund gast-besturingssysteem. Nadat Parallels is geïnstalleerd op &macos; X dient de gebruiker een virtuele machine in te stellen en daarna het gewenste gast-besturingssysteem te installeren. &os; installeren op Parallels/&macos; X De eerste stap in het installeren van &os; op &macos; X Parallels is het aanmaken van een nieuwe virtuele machine voor het installeren van &os;. Selecteer &os; als het Guest OS Type wanneer dit gevraagd wordt: Kies verder een hoeveelheid aan schijf- en geheugenruimte afhankelijk van de plannen voor deze virtuele instantie van &os;. 4GB aan schijfruimte en 512MB aan RAM werken goed voor de meeste gebruikers van &os; onder Parallels : Selecteer het type netwerk en een netwerkinterface: Bewaar de instellingen en sluit af: Nadat de virtuele &os;-machine is aangemaakt, dient er &os; op geïnstalleerd te worden. Dit gaat het beste met een officiële &os; CDROM of met een ISO-beeld dat is gedownload van een officiële FTP-site. Wanneer het juiste ISO-beeld op het plaatselijke &mac;-bestandssysteem of een CDROM in de CD-drive van de &mac; aanwezig is, dient op het schijfikoon in de rechteronderhoek van het &os; Parallels-scherm geklikt te worden. Dit zal een scherm tonen dat het mogelijk maakt om de CDROM-drive in de virtuele machine te associëren met een ISO-bestand op schijf of met een echte CDROM-drive. Nadat deze associatie met de CDROM-bron is gemaakt, dient de virtuele &os;-machine herstart te worden door op het herstart-icoon te klikken. Parallels zal herstarten met een speciale BIOS dat eerst controleert of er een CDROM aanwezig is, net zoals een normale BIOS zou doen. In dit geval zal het de installatiemedia van &os; vinden en een normale installatie gebaseerd op sysinstall beginnen zoals beschreven in . X11 kan nu geïnstalleerd, maar nog niet ingesteld, worden. Nadat de installatie is voltooid, kan naar de nieuw geïnstalleerde virtuele &os;-machine herstart worden. &os; instellen op &macos; X/Parallels Nadat &os; succesvol op &macos; X met Parallels is geïnstalleerd, zijn er een aantal instellingen die gewijzigd kunnen worden om het systeem voor virtuele werking te optimaliseren. De variabelen voor de bootloader instellen De belangrijkste stap is om de tunable te verlagen om het CPU-gebruik van &os; onder de Parallels-omgeving te verminderen. Dit kan bereikt worden door de volgende regel aan /boot/loader.conf toe te voegen: kern.hz=100 Zonder deze instelling zal een rustend &os; Parallels gast-besturingssysteem ongeveer 15% van de CPU van een enkele &imac;-processor gebruiken. Na deze wijziging zal het gebruik slechts ongeveer 5% zijn. Een nieuw instellingenbestand voor de kernel aanmaken Alle stuurprogramma's voor SCSI, FireWire, en USB kunnen verwijderd worden. Parallels biedt een virtuele netwerkadapter die door het stuurpogramma &man.ed.4; wordt gebruikt, dus kunnen alle andere netwerkapparaten behalve &man.ed.4; en &man.miibus.4; uit de kernel verwijderd worden. Het netwerk instellen De eenvoudigste netwerkinstallatie omvat het gebruik van DHCP om de virtuele machine met hetzelfde LAN te verbinden als het &mac;-gastheer. Dit kan bereikt worden door ifconfig_ed0="DHCP" aan /etc/rc.conf toe te voegen. Meer geavanceerde netwerkinstallaties staan beschreven in . Fukang Chen (Loader) Bijgedragen door &os; met &xen; op Linux De hypervisor van &xen; is een open-source paravirtualisatieproduct dat nu wordt ondersteund door het commerciële bedrijf XenSource. Gast-besturingssystemen staan bekend als domU-domeinen, en het gastheer-besturingssysteem staat bekend als dom0. De eerste stap in het virtueel draaien van &os; op Linux is om &xen; voor Linux dom0 te installeren. Het gastheer-besturingssysteem zal een Slackware Linux-distributie zijn. &xen; 3 op Linux dom0 installeren &xen; 3.0 van XenSource downloaden Download xen-3.0.4_1-src.tgz van . De tarball uitpakken &prompt.root; cd xen-3.0.4_1-src &prompt.root; KERNELS="linux-2.6-xen0 linux-2.6-xenU" make world &prompt.root; make install Om de kernel voor dom0 opnieuw te compileren: &prompt.root; cd xen-3.0.4_1-src/linux-2.6.16.33-xen0 &prompt.root; make menuconfig &prompt.root; make &prompt.root; make install Voor oudere versies van &xen; kan het nodig zijn om make ARCH=xen menuconfig te specificeren. Een menuregel voor menu.lst van Grub toevoegen Voeg de volgende regels aan /boot/grub/menu.lst toe: title Xen-3.0.4 root (hd0,0) kernel /boot/xen-3.0.4-1.gz dom0_mem=262144 module /boot/vmlinuz-2.6.16.33-xen0 root=/dev/hda1 ro De computer naar &xen; opstarten Voeg als eerste de volgende regel toe aan /etc/xen/xend-config.sxp toe: (network-script 'network-bridge netdev=eth0') Nu kan &xen; gestart worden: &prompt.root; /etc/init.d/xend start &prompt.root; /etc/init.d/xendomains start dom0 draait: &prompt.root; xm list Name ID Mem VCPUs State Time(s) Domain-0 0 256 1 r----- 54452.9 &os; 7-CURRENT domU Download de &os; domU-kernel voor &xen; 3.0 en het schijfimage van http://www.fsmware.com kernel-current mdroot-7.0.bz2 xmexample1.bsd Sla het instellingenbestand xmexample1.bsd op in /etc/xen en pas de regels over waar de kernel en het schijfimage zijn opgeslagen aan. Het dient er als volgt uit te zien: kernel = "/opt/kernel-current" memory = 256 name = "freebsd" vif = [ '' ] disk = [ 'file:/opt/mdroot-7.0,hda1,w' ] #on_crash = 'preserve' extra = "boot_verbose" extra += ",boot_single" extra += ",kern.hz=100" extra += ",vfs.root.mountfrom=ufs:/dev/xbd769a" Het mdroot-7.0.bz2 dient uitgepakt te worden. Vervolgens dient de sectie over __xen_guest in kernel-current aangepast te worden om de VIRT_BASE dat &xen; 3.0.3 nodig heeft toe te voegen: &prompt.root; objcopy kernel-current -R __xen_guest &prompt.root; perl -e 'print "LOADER=generic,GUEST_OS=freebsd,GUEST_VER=7.0,XEN_VER=xen-3.0,BSD_SYMTAB,VIRT_BASE=0xC0000000\x00"' > tmp &prompt.root; objcopy kernel-current --add-section __xen_guest=tmp &prompt.root; objdump -j __xen_guest -s kernel-current kernel-current: file format elf32-i386 Contents of section __xen_guest: 0000 4c4f4144 45523d67 656e6572 69632c47 LOADER=generic,G 0010 55455354 5f4f533d 66726565 6273642c UEST_OS=freebsd, 0020 47554553 545f5645 523d372e 302c5845 GUEST_VER=7.0,XE 0030 4e5f5645 523d7865 6e2d332e 302c4253 N_VER=xen-3.0,BS 0040 445f5359 4d544142 2c564952 545f4241 D_SYMTAB,VIRT_BA 0050 53453d30 78433030 30303030 3000 SE=0xC0000000. Nu kan onze eigen domU aangemaakt en gestart worden: &prompt.root; xm create /etc/xen/xmexample1.bsd -c Using config file "/etc/xen/xmexample1.bsd". Started domain freebsd WARNING: loader(8) metadata is missing! Copyright (c) 1992-2006 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 7.0-CURRENT #113: Wed Jan 4 06:25:43 UTC 2006 kmacy@freebsd7.gateway.2wire.net:/usr/home/kmacy/p4/freebsd7_xen3/src/sys/i386-xen/compile/XENCONF WARNING: DIAGNOSTIC option enabled, expect reduced performance. Xen reported: 1796.927 MHz processor. Timecounter "ixen" frequency 1796927000 Hz quality 0 CPU: Intel(R) Pentium(R) 4 CPU 1.80GHz (1796.93-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0xf29 Stepping = 9 Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH, DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE> Features2=0x4400<CNTX-ID,<b14>> real memory = 265244672 (252 MB) avail memory = 255963136 (244 MB) xc0: <Xen Console> on motherboard cpu0 on motherboard Timecounters tick every 10.000 msec [XEN] Initialising virtual ethernet driver. xn0: Ethernet address: 00:16:3e:6b:de:3a [XEN] Trying to mount root from ufs:/dev/xbd769a WARNING: / was not properly dismounted Loading configuration files. No suitable dump device was found. Entropy harvesting: interrupts ethernet point_to_point kickstart. Starting file system checks: /dev/xbd769a: 18859 files, 140370 used, 113473 free (10769 frags, 12838 blocks, 4.2% fragmentation) Setting hostname: demo.freebsd.org. lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2 inet 127.0.0.1 netmask 0xff000000 Additional routing options:. Mounting NFS file systems:. Starting syslogd. /etc/rc: WARNING: Dump device does not exist. Savecore not run. ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/X11R6/lib /usr/local/lib a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout /usr/X11R6/lib/aout Starting usbd. usb: Kernel module not available: No such file or directory Starting local daemons:. Updating motd. Starting sshd. Initial i386 initialization:. Additional ABI support: linux. Starting cron. Local package initialization:. Additional TCP options:. Starting background file system checks in 60 seconds. Sun Apr 1 02:11:43 UTC 2007 FreeBSD/i386 (demo.freebsd.org) (xc0) login: De domU zou nu de kernel van &os; 7.0-CURRENT moeten draaien: &prompt.root; uname -a FreeBSD demo.freebsd.org 7.0-CURRENT FreeBSD 7.0-CURRENT #113: Wed Jan 4 06:25:43 UTC 2006 kmacy@freebsd7.gateway.2wire.net:/usr/home/kmacy/p4/freebsd7_xen3/src/sys/i386-xen/compile/XENCONF i386 Het netwerk kan nu op de domU ingesteld worden. Het domU van &os; zal het interface xn0 gebruiken: &prompt.root; ifconfig xn0 10.10.10.200 netmask 255.0.0.0 &prompt.root; ifconfig xn0: flags=843<UP,BROADCAST,RUNNING,SIMPLEX> mtu 1500 inet 10.10.10.200 netmask 0xff000000 broadcast 10.255.255.255 ether 00:16:3e:6b:de:3a lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2 inet 127.0.0.1 netmask 0xff000000 Op dom0 Slackware zouden nu afhankelijke netwerkinterfaces te zien moeten zijn: &prompt.root; ifconfig eth0 Link encap:Ethernet HWaddr 00:07:E9:A0:02:C2 inet addr:10.10.10.130 Bcast:0.0.0.0 Mask:255.0.0.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:815 errors:0 dropped:0 overruns:0 frame:0 TX packets:1400 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:204857 (200.0 KiB) TX bytes:129915 (126.8 KiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:99 errors:0 dropped:0 overruns:0 frame:0 TX packets:99 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:9744 (9.5 KiB) TX bytes:9744 (9.5 KiB) peth0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF UP BROADCAST RUNNING NOARP MTU:1500 Metric:1 RX packets:1853349 errors:0 dropped:0 overruns:0 frame:0 TX packets:952923 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2432115831 (2.2 GiB) TX bytes:86528526 (82.5 MiB) Base address:0xc000 Memory:ef020000-ef040000 vif0.1 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF UP BROADCAST RUNNING NOARP MTU:1500 Metric:1 RX packets:1400 errors:0 dropped:0 overruns:0 frame:0 TX packets:815 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:129915 (126.8 KiB) TX bytes:204857 (200.0 KiB) vif1.0 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF UP BROADCAST RUNNING NOARP MTU:1500 Metric:1 RX packets:3 errors:0 dropped:0 overruns:0 frame:0 TX packets:2 errors:0 dropped:157 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:140 (140.0 b) TX bytes:158 (158.0 b) xenbr1 Link encap:Ethernet HWaddr FE:FF:FF:FF:FF:FF UP BROADCAST RUNNING NOARP MTU:1500 Metric:1 RX packets:4 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:112 (112.0 b) TX bytes:0 (0.0 b) &prompt.root; brctl show bridge name bridge id STP enabled interfaces xenbr1 8000.feffffffffff no vif0.1 peth0 vif1.0 Virtual PC op &windows; Virtual PC voor &windows; is een softwareprodukt van µsoft; dat gratis gedownload kan worden . Zie systeemeisen. Nadat Virtual PC is geïnstalleerd op µsoft.windows;, dient de gebruiker een virtuele machine in te stellen en daarna het gewenste gast-besturingssysteem te installeren. &os; installeren op Virtual PC/µsoft.windows; De eerste stap in het installeren van &os; op µsoft.windows;/Virtual PC is het aanmaken van een nieuwe virtuele machine voor het installeren van &os;. Kies Create a virtual machine wanneer daarom wordt gevraagd: Selecteer Other als het Operating system wanneer dat gevraagd wordt: Kies vervolgens een gepaste hoeveelheid aan schijf- en geheugenruimte afhankelijk van de plannen voor deze virtuele instantie van &os;. 4GB aan schijfruimte en 512MB aan RAM werken goed voor de meeste gebruikers van &os; onder Virtual PC: Bewaar de instellingen en sluit ze af: Selecteer de virtuele &os;-machine en klik op Settings, stel daarna het type netwerk en een netwerkinterface in: Nadat de virtuele &os;-machine is aangemaakt, dient &os; erop geïnstalleerd te worden. Dit gaat het beste met een officiële &os;-CDROM of met een ISO-beeld dat van een officiële FTP-site is gedownload. Wanneer het juiste ISO-beeld op het lokale bestandssysteem van &windows; staat of er een CDROM in de CD-drive zit, dubbelklik dan op de virtuele &os;-machine om op te starten. Klik daarna op CD en kies Capture ISO Image... in het venster van Virtual PC . Dit toont een scherm dat het mogelijk maakt om de CDROM-drive in de virtuele machine te associëren met een ISO-bestand op schijf of met een echte CDROM-drive. Start, nadat deze associatie met de CDROM-bron is gemaakt, de virtuele &os;-machine opnieuw op zoals gewoonlijk door op Action en Reset te klikken. Virtual PC zal herstarten met een speciale BIOS dat eerst controleert of er een CDROM aanwezig is, net zoals eeen normale BIOS dat zou doen. In dit geval zal het de installatiemedia van &os; vinden en een normale installatie gebaseerd op sysinstall beginnen zoals beschreven in . X11 kan nu geïnstalleerd, maar nog niet ingesteld, worden. Denk eraan om de CDROM of het ISO-beeld te verwijderen nadat de installatie voltooid is. Start als laatste op naar de nieuw geïnstalleerde virtuele &os;-machine. &os; instellen op µsoft.windows;/Virtual PC Nadat &os; succesvol is geïnstalleerd op µsoft.windows; met Virtual PC zijn er een aantal instellingen die aangepast kunnen worden om het system te optimaliseren voor virtueel gebruik. De variabelen voor de bootloader instellen De belangrijkste stap is om de tunable te verlagen om zo het CPU-gebruik van &os; in de omgeving van Virtual PC te verminderen. Dit kan bereikt worden door de volgende regel aan /boot/loader.conf toe te voegen: kern.hz=100 Zonder deze instelling zal een &os; als gast-besturingssysteem voor Virtual PC in rust ongeveer 40% van de CPU van een computer met een enkele processor gebruiken. Na deze verandering zal het gebruik slechts rond de 3% liggen. Een nieuw instellingenbestand voor de kernel aanmaken Alle stuurprogramma's voor SCSI, FireWire, en USB kunnen verwijderd worden. Virtual PC beidt een virtuele netwerkadapter dat door het stuurprogramma &man.de.4; gebruikt wordt, dus kunnen alle netwerkapparaten behalve &man.de.4; en &man.miibus.4; uit de kernel verwijderd worden. Het netwerk instellen De eenvoudigste netwerkinstallatie omvat het gebruik van DHCP om de virtuele machine met het zelfde LAN te verbinden als de µsoft.windows;-gastheer. Dit kan bereikt worden door ifconfig_de0="DHCP" toe te voegen aan /etc/rc.conf. Geavanceerdere netwerkinstallaties staan beschreven in . VMWare op &macos; VMWare Fusion voor &mac; is een comercieel softwareprodukt beschikbaar voor op &intel; gebaseeerde &mac;-computers die &macos; 10.4.9 of nieuwer draaien. &os; is een volledig ondersteund gast-besturingssysteem. Nadat VMWare Fusion is geïnstalleerd op &macos; X dient de gebruiker een virtuele machine in te stellen en daarna het gewenste gast-besturingssysteem te installeren. &os; installeren op VMWare/&macos; X De eerste stap is om VMWare Fusion te laden, de Virtual Machine Library zal geladen worden. Klik op "New" om de VM aan te maken: Dit laadt de New Virtual Machine Assistant dat helpt om de VM aan te maken, klik op Continue om verder te gaan: Selecteer Other als het Operating System en &os; of &os; 64-bit , afhankelijk van de wens voor ondersteuning voor 64-bit, als de Version wanneer dat gevraagd wordt: Kies de naam van het VM-beeld en de map waarin het bewaard dient te worden: Kies de grootte van de virtuele harde schijf voor de VM: Kies de manier om de VM te installeren, van een ISO-beeld of van een CD: Nadat op Finish is geklikt, zal de VM opstarten: Installeer &os; zoals gewoonlijk, of door de aanwijzingen in op te volgen: Nadat de installatie voltooid is kunnen de instellingen van de VM aangepast worden, zoals het geheugengebruik: De instellingen van de systeemhardware van de VM kunnen niet veranderd worden zolang de VM draait. Het aantal CPU's waartoe de VM toegang heeft: De status van het CD-ROM-apparaat. Gewoonlijk kan de CD-ROM of het ISO-beeld van de VM worden losgekoppeld wanneer het niet meer nodig is. Het laatste om te veranderen is de manier waarop de VM verbinding met het netwerk maakt. Indien verbindingen naar de VM van andere machines naast de gastheer gewenst zijn, dient Connect directly to the physical network (Bridged) gekozen te worden. In andere situaties is Share the host's internet connection (NAT) te verkiezen, zodat de VM toegang kan hebben tot het Internet, maar dat het netwerk geen toegang heeft tot de VM. Herstart de nieuw geïnstalleerde virtuele &os;-machine nadat alle instellingen zijn aangepast. &os; instellen op &macos; X/VMWare Nadat &os; succesvol is geïnstalleerd op &macos; X met VMWare, zijn er een aantal instellingen die gewijzigd kunnen worden op het systeem te optimaliseren voor virtueel gebruik. De variabelen voor de bootloader instellen De belangrijkste stap is het verlagen van de tunable om het CPU-gebruik van &os; in de omgeving van VMWare te verminderen. Dit kan bereikt worden door de volgende regel aan /boot/loader.conf toe te voegen: kern.hz=100 Zonder deze instelling gebruikt &os; als VMWare gast-besturingssysteem ongeveer 15% van de CPU van een enkele &imac;-processor. Na deze verandering zal het gebruik dichter bij 5% liggen. Een nieuw instellingenbestand voor de kernel aanmaken Alle stuurprogramma's voor FireWire en USB kunnen verwijderd worden. VMWare biedt een virtuele netwerkadapter dat door het stuurpogramma &man.em.4; gebruikt wordt, dus alle netwerkapparaten behalve &man.em.4; kunnen uit de kernel verwijderd worden. Het netwerk instellen De eenvoudigste netwerkinstallatie omvat het gebruik van DHCP om de virtuele machine met hetzelfde LAN te verbinden als de &mac;-gastheer. Dit kan bereikt worden door ifconfig_em0="DHCP" toe te voegen aan /etc/rc.conf. Geavanceerdere netwerkinstallaties staan beschreven in . &os; als een gastheer-besturingssysteem &os; wordt momenteel niet officieel ondersteund als gastheer-besturingssysteem door virtualisatiepakketten, maar veel mensen gebruiken hiervoor oudere versies van VMware. Er wordt ook gewerkt om &xen; als gastheeromgeving voor &os; werkend te krijgen.