diff --git a/nl_NL.ISO8859-1/books/handbook/Makefile b/nl_NL.ISO8859-1/books/handbook/Makefile index c9e2fb9013..04236bbc7e 100644 --- a/nl_NL.ISO8859-1/books/handbook/Makefile +++ b/nl_NL.ISO8859-1/books/handbook/Makefile @@ -1,297 +1,304 @@ # # $FreeBSD$ # $FreeBSDnl: doc/nl_NL.ISO8859-1/books/handbook/Makefile,v 1.19 2006/01/03 21:17:07 siebrand Exp $ -# Gebaseerd op: 1.97 # -# Build the FreeBSD Dutch Handbook. +# %SOURCE% en_US.ISO8859-1/books/handbook/Makefile +# %SRCID% 1.109 +# +# Bouw het Nederlandse FreeBSD Handboek. # # ------------------------------------------------------------------------ # # Handboekspecifieke variabelen # # WITH_PGPKEYS De gedrukte verie van het handboek geeft standaard # alleen PGP vingerafdrukken weer. Als het gewenst # is dat de complete sleutel wordt weergegeven dan # dient deze variabele insteld te worden. De optie # heeft geen invloed op de HTML formaten. # # Handboekspecifieke doelen # # pgpkeyring Dit doel leest de inhoud van pgpkeys/chapter.sgml # en schrijft dan alle PGP sleutels naar stdout. # De uitvoer kan omgeleid worden naar een bestand # en verspreid worden als een publieke sleutelring # van FreeBSD ontwikkelaars die eenvoudig in # PGP/GPG ingelezen kan worden. # # ------------------------------------------------------------------------ .PATH: ${.CURDIR}/../../share/sgml/glossary MAINTAINER= remko@FreeBSD.org DOC?= book FORMATS?= html-split HAS_INDEX= true USE_PS2PDF= yes INSTALL_COMPRESSED?= gz INSTALL_ONLY_COMPRESSED?= IMAGES_EN = advanced-networking/isdn-bus.eps IMAGES_EN+= advanced-networking/isdn-twisted-pair.eps IMAGES_EN+= advanced-networking/natd.eps IMAGES_EN+= advanced-networking/net-routing.pic IMAGES_EN+= advanced-networking/static-routes.pic IMAGES_EN+= geom/striping.pic IMAGES_EN+= install/adduser1.scr IMAGES_EN+= install/adduser2.scr IMAGES_EN+= install/adduser3.scr +IMAGES_EN+= install/boot-loader-menu.scr IMAGES_EN+= install/boot-mgr.scr +IMAGES_EN+= install/config-country.scr IMAGES_EN+= install/console-saver1.scr IMAGES_EN+= install/console-saver2.scr IMAGES_EN+= install/console-saver3.scr IMAGES_EN+= install/console-saver4.scr -IMAGES_EN+= install/desktop.scr IMAGES_EN+= install/disklabel-auto.scr IMAGES_EN+= install/disklabel-ed1.scr IMAGES_EN+= install/disklabel-ed2.scr IMAGES_EN+= install/disklabel-fs.scr IMAGES_EN+= install/disklabel-root1.scr IMAGES_EN+= install/disklabel-root2.scr IMAGES_EN+= install/disklabel-root3.scr IMAGES_EN+= install/disk-layout.eps IMAGES_EN+= install/dist-set.scr IMAGES_EN+= install/dist-set2.scr IMAGES_EN+= install/docmenu1.scr IMAGES_EN+= install/ed0-conf.scr IMAGES_EN+= install/ed0-conf2.scr IMAGES_EN+= install/edit-inetd-conf.scr IMAGES_EN+= install/fdisk-drive1.scr IMAGES_EN+= install/fdisk-drive2.scr IMAGES_EN+= install/fdisk-edit1.scr IMAGES_EN+= install/fdisk-edit2.scr IMAGES_EN+= install/ftp-anon1.scr IMAGES_EN+= install/ftp-anon2.scr IMAGES_EN+= install/hdwrconf.scr IMAGES_EN+= install/keymap.scr IMAGES_EN+= install/main1.scr IMAGES_EN+= install/mainexit.scr IMAGES_EN+= install/main-std.scr IMAGES_EN+= install/main-options.scr IMAGES_EN+= install/main-doc.scr IMAGES_EN+= install/main-keymap.scr IMAGES_EN+= install/media.scr IMAGES_EN+= install/mouse1.scr IMAGES_EN+= install/mouse2.scr IMAGES_EN+= install/mouse3.scr IMAGES_EN+= install/mouse4.scr IMAGES_EN+= install/mouse5.scr IMAGES_EN+= install/mouse6.scr IMAGES_EN+= install/mta-main.scr IMAGES_EN+= install/net-config-menu1.scr IMAGES_EN+= install/net-config-menu2.scr IMAGES_EN+= install/nfs-server-edit.scr IMAGES_EN+= install/ntp-config.scr IMAGES_EN+= install/options.scr IMAGES_EN+= install/pkg-cat.scr IMAGES_EN+= install/pkg-confirm.scr IMAGES_EN+= install/pkg-install.scr IMAGES_EN+= install/pkg-sel.scr IMAGES_EN+= install/probstart.scr IMAGES_EN+= install/routed.scr IMAGES_EN+= install/security.scr IMAGES_EN+= install/sysinstall-exit.scr IMAGES_EN+= install/timezone1.scr IMAGES_EN+= install/timezone2.scr IMAGES_EN+= install/timezone3.scr IMAGES_EN+= install/userconfig.scr IMAGES_EN+= install/userconfig2.scr -IMAGES_EN+= install/xf86setup.scr IMAGES_EN+= mail/mutt1.scr IMAGES_EN+= mail/mutt2.scr IMAGES_EN+= mail/mutt3.scr IMAGES_EN+= mail/pine1.scr IMAGES_EN+= mail/pine2.scr IMAGES_EN+= mail/pine3.scr IMAGES_EN+= mail/pine4.scr IMAGES_EN+= mail/pine5.scr IMAGES_EN+= install/example-dir1.eps IMAGES_EN+= install/example-dir2.eps IMAGES_EN+= install/example-dir3.eps IMAGES_EN+= install/example-dir4.eps IMAGES_EN+= install/example-dir5.eps IMAGES_EN+= security/ipsec-network.pic IMAGES_EN+= security/ipsec-crypt-pkt.pic IMAGES_EN+= security/ipsec-encap-pkt.pic IMAGES_EN+= security/ipsec-out-pkt.pic IMAGES_EN+= vinum/vinum-concat.pic IMAGES_EN+= vinum/vinum-mirrored-vol.pic IMAGES_EN+= vinum/vinum-raid10-vol.pic IMAGES_EN+= vinum/vinum-raid5-org.pic IMAGES_EN+= vinum/vinum-simple-vol.pic IMAGES_EN+= vinum/vinum-striped-vol.pic IMAGES_EN+= vinum/vinum-striped.pic IMAGES_EN+= virtualization/parallels-freebsd1.png IMAGES_EN+= virtualization/parallels-freebsd2.png IMAGES_EN+= virtualization/parallels-freebsd3.png IMAGES_EN+= virtualization/parallels-freebsd4.png IMAGES_EN+= virtualization/parallels-freebsd5.png IMAGES_EN+= virtualization/parallels-freebsd6.png IMAGES_EN+= virtualization/parallels-freebsd7.png IMAGES_EN+= virtualization/parallels-freebsd8.png IMAGES_EN+= virtualization/parallels-freebsd9.png IMAGES_EN+= virtualization/parallels-freebsd10.png IMAGES_EN+= virtualization/parallels-freebsd11.png IMAGES_EN+= virtualization/parallels-freebsd12.png IMAGES_EN+= virtualization/parallels-freebsd13.png IMAGES_EN+= virtualization/virtualpc-freebsd1.png IMAGES_EN+= virtualization/virtualpc-freebsd2.png IMAGES_EN+= virtualization/virtualpc-freebsd3.png IMAGES_EN+= virtualization/virtualpc-freebsd4.png IMAGES_EN+= virtualization/virtualpc-freebsd5.png IMAGES_EN+= virtualization/virtualpc-freebsd6.png IMAGES_EN+= virtualization/virtualpc-freebsd7.png IMAGES_EN+= virtualization/virtualpc-freebsd8.png IMAGES_EN+= virtualization/virtualpc-freebsd9.png IMAGES_EN+= virtualization/virtualpc-freebsd10.png IMAGES_EN+= virtualization/virtualpc-freebsd11.png IMAGES_EN+= virtualization/virtualpc-freebsd12.png IMAGES_EN+= virtualization/virtualpc-freebsd13.png IMAGES_EN+= virtualization/vmware-freebsd01.png IMAGES_EN+= virtualization/vmware-freebsd02.png IMAGES_EN+= virtualization/vmware-freebsd03.png IMAGES_EN+= virtualization/vmware-freebsd04.png IMAGES_EN+= virtualization/vmware-freebsd05.png IMAGES_EN+= virtualization/vmware-freebsd06.png IMAGES_EN+= virtualization/vmware-freebsd07.png IMAGES_EN+= virtualization/vmware-freebsd08.png IMAGES_EN+= virtualization/vmware-freebsd09.png IMAGES_EN+= virtualization/vmware-freebsd10.png IMAGES_EN+= virtualization/vmware-freebsd11.png IMAGES_EN+= virtualization/vmware-freebsd12.png # Images from the cross-document image library IMAGES_LIB= callouts/1.png IMAGES_LIB+= callouts/2.png IMAGES_LIB+= callouts/3.png IMAGES_LIB+= callouts/4.png IMAGES_LIB+= callouts/5.png IMAGES_LIB+= callouts/6.png IMAGES_LIB+= callouts/7.png IMAGES_LIB+= callouts/8.png IMAGES_LIB+= callouts/9.png IMAGES_LIB+= callouts/10.png +IMAGES_LIB+= callouts/11.png +IMAGES_LIB+= callouts/12.png +IMAGES_LIB+= callouts/13.png +IMAGES_LIB+= callouts/14.png +IMAGES_LIB+= callouts/15.png -# +# # SRCS lists the individual SGML files that make up the document. Changes # to any of these files will force a rebuild # # SGML content SRCS+= audit/chapter.sgml SRCS+= book.sgml SRCS+= colophon.sgml SRCS+= freebsd-glossary.sgml SRCS+= advanced-networking/chapter.sgml SRCS+= basics/chapter.sgml SRCS+= bibliography/chapter.sgml SRCS+= boot/chapter.sgml SRCS+= config/chapter.sgml SRCS+= cutting-edge/chapter.sgml SRCS+= desktop/chapter.sgml SRCS+= disks/chapter.sgml SRCS+= eresources/chapter.sgml SRCS+= firewalls/chapter.sgml SRCS+= geom/chapter.sgml SRCS+= install/chapter.sgml SRCS+= introduction/chapter.sgml SRCS+= jails/chapter.sgml SRCS+= kernelconfig/chapter.sgml SRCS+= l10n/chapter.sgml SRCS+= linuxemu/chapter.sgml SRCS+= mac/chapter.sgml SRCS+= mail/chapter.sgml SRCS+= mirrors/chapter.sgml SRCS+= multimedia/chapter.sgml SRCS+= network-servers/chapter.sgml SRCS+= pgpkeys/chapter.sgml SRCS+= ports/chapter.sgml SRCS+= ppp-and-slip/chapter.sgml SRCS+= preface/preface.sgml SRCS+= printing/chapter.sgml SRCS+= security/chapter.sgml SRCS+= serialcomms/chapter.sgml SRCS+= users/chapter.sgml SRCS+= vinum/chapter.sgml SRCS+= virtualization/chapter.sgml SRCS+= x11/chapter.sgml # Entities -SRCS+= chapters.ent +SRCS+= chapters.ent SYMLINKS= ${DESTDIR} index.html handbook.html # Turn on all the chapters. CHAPTERS?= ${SRCS:M*chapter.sgml} SGMLFLAGS+= ${CHAPTERS:S/\/chapter.sgml//:S/^/-i chap./} SGMLFLAGS+= -i chap.freebsd-glossary pgpkeyring: pgpkeys/chapter.sgml @${JADE} -V nochunks ${OTHERFLAGS} ${JADEOPTS} -d ${DSLPGP} -t sgml ${MASTERDOC} # # Handbook-specific variables # .if defined(WITH_PGPKEYS) JADEFLAGS+= -V withpgpkeys .endif URL_RELPREFIX?= ../../../.. DOC_PREFIX?= ${.CURDIR}/../../.. # # rules generating lists of mirror site from XML database. # XMLDOCS= mirrors-ftp:::mirrors.sgml.ftp.inc.tmp \ mirrors-cvsup:::mirrors.sgml.cvsup.inc.tmp \ eresources:::eresources.sgml.www.inc.tmp DEPENDSET.DEFAULT= transtable mirror XSLT.DEFAULT= ${XSL_MIRRORS} XML.DEFAULT= ${XML_MIRRORS} NO_TIDY.DEFAULT= yes PARAMS.mirrors-ftp+= --param 'type' "'ftp'" \ --param 'proto' "'ftp'" \ --param 'target' "'handbook/mirrors/chapter.sgml'" PARAMS.mirrors-cvsup+= --param 'type' "'cvsup'" \ --param 'proto' "'cvsup'" \ --param 'target' "'handbook/mirrors/chapter.sgml'" PARAMS.eresources+= --param 'type' "'www'" \ --param 'proto' "'http'" \ --param 'target' "'handbook/eresources/chapter.sgml'" SRCS+= mirrors.sgml.ftp.inc \ mirrors.sgml.cvsup.inc \ eresources.sgml.www.inc CLEANFILES+= mirrors.sgml.ftp.inc mirrors.sgml.ftp.inc.tmp \ mirrors.sgml.cvsup.inc mirrors.sgml.cvsup.inc.tmp \ eresources.sgml.www.inc eresources.sgml.www.inc.tmp .include "${DOC_PREFIX}/share/mk/doc.project.mk" .for p in ftp cvsup mirrors.sgml.${p}.inc: mirrors.sgml.${p}.inc.tmp ${SED} -e 's,<\([^ >]*\)\([^>]*\)/>,<\1\2>,;s,,,'\ < $@.tmp > $@ || (${RM} -f $@ && false) .endfor eresources.sgml.www.inc: eresources.sgml.www.inc.tmp ${SED} -e 's,<\([^ >]*\)\([^>]*\)/>,<\1\2>,;s,,,'\ < $@.tmp > $@ || (${RM} -f $@ && false) diff --git a/nl_NL.ISO8859-1/books/handbook/advanced-networking/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/advanced-networking/chapter.sgml index 6371849f47..3c5b047736 100644 --- a/nl_NL.ISO8859-1/books/handbook/advanced-networking/chapter.sgml +++ b/nl_NL.ISO8859-1/books/handbook/advanced-networking/chapter.sgml @@ -1,795 +1,6194 @@ - * Geavanceerde netwerken + + + + René + Ladan + Vertaald door + + + + + Geavanceerde netwerken - * Samenvatting - - Wordt nog vertaald + Samenvatting + + Dit hoofdstuk zal een aantal onderwerpen over geavanceerde + netwerken behandelen. + + Na het lezen van dit hoofdstuk is bekend: + + + + De beginselen van gateways en routes. + + + + Hoe IEEE 802.11- en &bluetooth;-apparaten te installeren. + + + + + Hoe &os; als een bridge te laten werken. + + + + Hoe een schijfloze machine vanaf het netwerk op te + starten. + + + + Hoe Network Address Translation te installeren. + + + + Hoe twee computers via PLIP met elkaar te verbinden. + + + + Hoe IPv6 op een &os;-machine te installeren. + + + + Hoe ATM in te stellen. + + + + Hoe de mogelijkheden van CARP, het Common Access + Redundancy Protocol, aan te zetten en te benutten. + + + + Voordat dit hoofdstuk gelezen wordt, dient de lezer: + + + + De beginselen van de scripts in + /etc/rc te begrijpen. + + + + Bekend te zijn met basisnetwerktermen. + + + + Te weten hoe een nieuwe &os;-kernel in te stellen en te + installeren (). + + + + Te weten hoe aanvullende software van derde partijen te + installeren (). + + - - Coranth - Gryphon + + Coranth + Gryphon Bijgedragen door - + - * Gateways en routes + Gateways en routes - Wordt nog vertaald + routing - - * Een voorbeeld + gateway - Wordt nog vertaald + subnet + + Indien een machine een andere machine over een netwerk wil + vinden, dient er een mechanisme te zijn dat beschrijft hoe van de + ene naar de andere machine te gaan. Dit wordt + routen genoemd. Een route + is een gedefinieerd adressenpaar: een bestemming en + een gateway. Het paar geeft aan dat door deze + gateway gecommuniceerd moet worden om bij + deze bestemming aan te komen. Er zijn drie + soorten bestemmingen: individuele host, subnetten en + standaard. De standaardroute wordt + gebruikt indien geen van de andere routes van toepassing zijn. + Verderop wordt verder op standaardroutes ingegaan. Er zijn ook + drie soorten gateways: individuele hosts, interfaces (ook wel + verbindingen genoemd), en + Ethernet-hardware-adressen (MAC-adressen). + + + Een voorbeeld + + Om de verschillende aspecten van routen te illustreren, + wordt het volgende voorbeeld van netstat + gebruikt: + + &prompt.user; netstat -r +Routing tables + +Destination Gateway Flags Refs Use Netif Expire + +default outside-gw UGSc 37 418 ppp0 +localhost localhost UH 0 181 lo0 +test0 0:e0:b5:36:cf:4f UHLW 5 63288 ed0 77 +10.20.30.255 link#1 UHLW 1 2421 +example.com link#1 UC 0 0 +host1 0:e0:a8:37:8:1e UHLW 3 4601 lo0 +host2 0:e0:a8:37:8:1e UHLW 0 5 lo0 => +host2.example.com link#1 UC 0 0 +224 link#1 UC 0 0 + + standaardroute + + De eerste twee regels geven de standaardroute (die behandeld + wordt in de volgende + sectie) en de localhost-route aan. + + teruglusapparaat + + De interface (kolom Netif) dat deze + routeertabel aangeeft om voor localhost te + gebruiken is lo0, ook bekend als het + teruglusapparaat. Dit geeft aan dat alle verkeer voor deze + bestemming intern gehouden moet worden, in plaats van het over + het LAN te sturen, aangezien het alleen aankomt op de plaats + waar het verzonden werd. + + + Ethernet + + MAC-adres + + + Het volgende dat opvalt zijn de adressen die beginnen met + 0:e0:. Dit zijn Ethernet-hardware + adressen, ook bekend als MAC-adressen. &os; zal automatisch + elke host (test0 in het voorbeeld) op het + lokale Ethernet identificeren en een route voor die host + toevoegen, direct van deze host over de Ethernet-interface, + ed0. Er is ook een timeout (kolom + Expire) met deze routesoort geassocieerd, + die gebruikt wordt indien er binnen een bepaalde tijd geen + bericht komt van de host. Indien dit gebeurt, wordt de route + naar deze host automatisch verwijderd. Deze hosts worden + geïdentificeerd door middel van een mechanisme dat bekend + staat als RIP (Routing Information Protocol), dat routes naar + lokale hosts bepaald door middel van een kortste-pad + algoritme. + + subnet + + &os; zal ook subnetroutes voor het lokale subnet toevoegen + (10.20.30.255 is het + broadcast-adres voor het subnet + 10.20.30, en + example.com is de + domeinnaam die bij dat subnet hoort). De aanduiding + link#1 verwijst naar de eerste Ethernetkaart + in de machine. Merk op dat voor hen geen aanvullende interface + is gespecificeerd. + + Voor beide groepen (lokale netwerkhosts en lokale subnetten) + worden de routes automatisch ingesteld door een daemon genaamd + routed. Indien dit niet draait, + zullen alleen routes die statisch gedefinieerd (i.e. expliciet + vermeld zijn) bestaan. + + De regel met host1 verwijst naar deze + host, het kent deze door het Ethernetadres. Aangezien het de + zendende host is, weet &os; dat het de teruglus-interface + (lo0) moet gebruiken, in plaats van het + over de Ethernet-interface te verzenden. + + De twee regels met host2 geven een + voorbeeld van wat er gebeurt als een alias met &man.ifconfig.8; + gebruikt wordt (in de sectie over Ethernet staan redenen waarom + dit gedaan wordt). Het symbool => na de + interface lo0 zegt dat niet alleen de + teruglus gebruikt wordt (aangezien dit adres ook verwijst naar + de lokale host), maar specifiek dat dit een alias is. Zulke + routes verschijnen alleen op de hosts die de alias ondersteunen; + alle andere hosts op het lokale netwerk vermelden simpelweg een + regel met link#1 voor zulke routes. + + De laatste regel (bestemming subnet + 224) heeft te maken met + multicasten, wat in een andere sectie besproken wordt. + + Als laatste staan in de kolom Flags + verschillende attributen. Hieronder staat een korte tabel met + enkele van deze vlaggen en hun betekenis: + + + + + + + + + + U + + Up: De route is actief. + + + + H + + Host: De bestemming van de route is een enkele + host. + + + + G + + Gateway: Stuur alles voor deze bestemming door naar + dit verre systeem, dat zoekt daar uit waar het verder + naar te sturen. + + + + S + + Statisch: Deze route was handmatig ingesteld, dus + niet automatisch door het systeem aangemaakt. + + + + C + + Kloon: Maakt op basis van deze route een nieuwe + route aan voor machines waarmee verbinding wordt + gemaakt. Dit soort routes wordt gewoonlijk in lokale + netwerken gebruikt. + + + + W + + WasGekloond: Geeft aan dat een route automatisch + was ingesteld gebaseerd op een LAN (kloon)-route. + + + + + L + + Verbinding: De route maakt gebruik van verwijzingen + naar Ethernet-hardware. + + + + - * Standaard routes - - Wordt nog vertaald + Standaardroutes + + standaardroute + + Wanneer het lokale systeem een verbinding met een verre host + moet maken, controleert het de routeertabel op reeds bekende + paden. Indien de verre host binnen een subnet valt waarvan + bekend is hoe het bereikt kan worden (gekloonde routes), + controleert het systeem of het met de daarbij behorende + interface verbinding kan maken. + + Indien alle bekende paden falen, heeft het systeem + één laatste mogelijkheid: de + standaardroute. Deze route is een speciaal soort + gateway-route (gewoonlijk de enig aanwezige in het systeem) en + is altijd gemarkeerd met een c in het + vlaggenveld. Voor hosts op een LAN staat deze gateway ingesteld + op de machine die een directe verbinding met de buitenwereld + heeft (via een PPP-verbinding, DSL, kabelmodem, T1, of een ander + netwerkinterface). + + Indien de standaardroute wordt ingesteld voor een machine + die zelf als gateway naar de buitenwereld werkt, zal de + standaardroute de gateway-machine van de internetprovider + zijn. + + Hieronder volgt een voorbeeld van standaardroutes. Dit is + een veelgebruikte opstelling: + + + + + + + + +[Lokaal2] <--ether--> [Lokaal1] <--PPP--> [IP-Serv] <--ether--> [T1-GW] + + + + + De hosts Lokaal1 en + Lokaal2 staan op deze site. + Lokaal1 is verbonden met een internetprovider + via een inbel-PPP-verbinding. Deze PPP-server is door een LAN + verbonden met een andere gateway-computer door een externe + interface naar de Internet-feed van de internetprovider. + + De standaardroutes voor de machines zijn: + + + + + + Host + + Standaard gateway + + Interface + + + + + + Lokaal2 + + Lokaal1 + + Ethernet + + + + Lokaal1 + + T1-GW + + PPP + + + + + + Een veelvoorkomende vraag is Waarom (of hoe) moet + worden ingesteld dat T1-GW de standaard gateway + is voor Lokaal1, in plaats van de server van + de internetprovider waarmee het verbonden is?. + + Onthoud dat, aangezien de PPP-interface een adres gebruikt + op het lokale netwerk van de internetprovider voor deze kant van + de verbinding, routes voor alle andere machines op het lokale + netwerk van de internetprovider automatisch aangemaakt worden. + Daarom is het al bekend hoe de machine T1-GW + bereikt kan worden, dus is de tussenstap dat het verkeer eerst + naar de server van de internetprovider gestuurd wordt niet + nodig. + + Het is gebruikelijk om het adres X.X.X.1 te gebruiken als het + gateway-adres voor het lokale netwerk. Dus (gebruikmakend van + hetzelfde voorbeeld), indien de lokale klasse-C adresruimte + 10.20.30 was en de + internetprovider 10.9.9 + gebruikte, zouden de standaardroutes als volgt zijn: + + + + + + Host + + Standaardroute + + + + + Lokaal2 (10.20.30.2) + + Lokaal1 (10.20.30.1) + + + Lokaal1 (10.20.30.1, 10.9.9.30) + + T1-GW (10.9.9.1) + + + + + + De standaardroute kan eenvoudig met het bestand + /etc/rc.conf gedefinieerd worden. In dit + voorbeeld werd de volgende regel aan + /etc/rc.conf van Lokaal2 + toegevoegd: + + defaultrouter="10.20.30.1" + + Het is ook mogelijk dit met het commando &man.route.8; + direct vanaf de opdrachtregel te doen: + + &prompt.root; route add default 10.20.30.1 + + Voor meer informatie over het handmatig manipuleren van + netwerkrouteertabellen kan de hulppagina &man.route.8; + geraadpleegd worden. - * <quote>Dual Homed</quote> machines - - Wordt nog vertaald + Dual Homed machines + + dual homed hosts + + Er is nog één andere soort opstelling die + behandeld dient te worden, en dat is een host die in twee + verschillende netwerken zit. Technisch gezien telt elke machine + die als gateway dienst doet (in bovenstaand voorbeeld door een + PPP-verbinding te gebruiken) als een dual-homed host. Maar de + term wordt echt alleen gebruikt om naar een machine te verwijzen + die in twee LAN's zit. + + In het ene geval heeft de machine twee Ethernetkaarten, + waarbij elke kaart een adres op de gescheiden subnetten heeft. + Een alternatief is dat de machine slechts één + Ethernetkaart heeft en gebruikt maakt van &man.ifconfig.8; + aliasing. Het eerste wordt gebruikt indien er twee fysiek + gescheiden Ethernet-netwerken in gebruik zijn, het laatste + indien er één fysiek netwerksegment is, maar er + twee logisch gescheiden subnetten zijn. + + In beide gevallen worden er routeertabellen aangemaakt zodat + elk subnet weet dat deze machine de gedefinieerde gateway + (ingaande route) naar het andere subnet is. Deze opstelling, + waarbij de machine dienst doet als router tussen de twee + subnetten, wordt vaak gebruikt voor het implementeren van + pakketfilters of firewall-beveiliging in één of + beide richtingen. + + Om deze machine daadwerkelijk pakketten te laten forwarden + tussen de twee interfaces, moet aan &os; verteld worden dat het + deze mogelijkheid aan moet zetten. In de volgende sectie staan + meer details over hoe dit te doen. - * Een router bouwen - - Wordt nog vertaald + Een router bouwen + + router + + Een netwerkrouter is simpelweg een systeem dat pakketten van + de ene naar de andere interface doorstuurt. + Internetstandaarden en goede ontwerppraktijken verhinderen het + &os; Project dit standaard in &os; aan te zetten. Deze + mogelijkheid kan worden aangezet door de volgende variabele in + &man.rc.conf.5; op YES in te stellen: + + gateway_enable=YES # Op YES instellen indien deze host een gateway is + + Deze optie stelt de &man.sysctl.8; variabele + net.inet.ip.forwarding in op + 1. Indien het nodig is om het routen + tijdelijk te stoppen, kan deze variabele tijdelijk op + 0 worden teruggezet. + + De nieuwe router heeft routes nodig om te weten waar het + het verkeer naar toe moet sturen. Voor een eenvoudig netwerk + kunnen statische routes gebruikt worden. &os; wordt met het + standaard BSD routeer-daemon &man.routed.8; geleverd, dat + RIP (zowel versie 1 en versie 2) en IRDP spreekt. Ondersteuning + voor BGP v4, OSPF v2, en andere slimme routeerprotocollen is + beschikbaar via het pakket net/zebra. Ook zijn + commerciële producten als + &gated; beschikbaar voor complexere + netwerkrouteer-oplossingen. + + BGP + + RIP + + OSPF Al Hoang Bijgedragen door + - * Opzetten van statische routes - - Wordt nog vertaald + Statische routes opzetten - * Handmatige configuratie - - Wordt nog vertaald + Handmatige configuratie + + Er wordt van het volgende netwerk uitgegaan: + + + + + + + + + INTERNET + | (10.0.0.1/24) Standaardrouter naar Internet + | + |Interface xl0 + |10.0.0.10/24 + +------+ + | | RouterA + | | (FreeBSD gateway) + +------+ + | Interface xl1 + | 192.168.1.1/24 + | + +--------------------------------+ + Intern Net 1 | 192.168.1.2/24 + | + +------+ + | | RouterB + | | + +------+ + | 192.168.2.1/24 + | + Intern Net 2 + + + + + In dit scenario is RouterA een + &os;-machine die dienst doet als router naar de rest van het + Internet. Het heeft een standaardroute ingesteld op 10.0.0.1, dat het in staat stelt om + verbindingen met de buitenwereld te maken. Er wordt + aangenomen dat RouterB reeds juist is + ingesteld en dat het weet hoe het waar naar toe moet gaan. (In + dit plaatje is dit simpel. Voeg een standaardroute op + RouterB toe door 192.168.1.1 als gateway te + gebruiken.) + + De routeertabel voor RouterA zou er + ongeveer als volgt uitzien: + + &prompt.user; netstat -nr +Routing tables + +Internet: +Destination Gateway Flags Refs Use Netif Expire +default 10.0.0.1 UGS 0 49378 xl0 +127.0.0.1 127.0.0.1 UH 0 6 lo0 +10.0.0/24 link#1 UC 0 0 xl0 +192.168.1/24 link#2 UC 0 0 xl1 + + Met de huidige routeertabel is RouterA + niet in staat om Intern Net 2 te bereiken. Het heeft geen + route voor 192.168.2.0/24. Een + manier om dit te verhelpen is om de route handmatig toe te + voegen. Het volgende commando voegt het netwerk Intern Net 2 + toe aan de routeertabel van RouterA door + 192.168.1.2 als de volgende hop + te gebruiken: + + &prompt.root; route add -net 192.168.2.0/24 192.168.1.2 + + Nu kan RouterA elke host op het netwerk + 192.168.2.0/24 bereiken. - * Persistente configuratie - - Wordt nog vertaald + Persistente configuratie + + Bovenstaand voorbeeld is perfect voor het instellen van + een statische route op een draaiend systeem. Een probleem is + dat de routeerinformatie verdwijnt indien de &os;-machine + opnieuw wordt opgestart. De manier om een statische route toe + te voegen is om het in het bestand + /etc/rc.conf toe te voegen: + + # Voeg Intern Net 2 als een statische route toe +static_routes="internnet2" +route_internnet2="-net 192.168.2.0/24 192.168.1.2" + + De instellingsvariabele static_routes + is een lijst van strings gescheiden door een spatie. Elke + string verwijst naar een routenaam. Bovenstaand voorbeeld + heeft slechts één string in + static_routes. Dit is de string + internnet2. Vervolgens wordt een + instellingsvariabele + route_internnet2 + toegevoegd waarin alle instellingsparameters staan die aan + het commando &man.route.8; moeten worden doorgegeven. Voor + bovenstaand voorbeeld zou het volgende commando zijn + gebruikt: + + &prompt.root; route add -net 192.168.2.0/24 192.168.1.2 + + Dus is "-net 192.168.2.0/24 192.168.1.2" + nodig. + + Zoals hierboven is vermeld is het mogelijk om meerdere + strings in static_routes te hebben. Dit + maakt het mogelijk om meerdere statische routes aan te maken. + De volgende regels geven een voorbeeld van het toevoegen van + statische routes voor de netwerken 192.168.0.0/24 en 192.168.1.0/24 op een denkbeeldige + router: + + static_routes="net1 net2" +route_net1="-net 192.168.0.0/24 192.168.0.1" +route_net2="-net 192.168.1.0/24 192.168.1.1" - * Routes propageren - - Wordt nog vertaald + Routes propageren + + routes propageren + + Er is al gesproken over hoe routes naar de buitenwereld te + definiëren, maar niet over hoe de buitenwereld ons kan + vinden. + + Het is al bekend dat routeertabellen aangemaakt kunnen + worden zodat al het verkeer voor een bepaalde adresruimte (in + ons voorbeeld een klasse-C subnet) naar een bepaalde host op dat + netwerk gezonden kan worden, dat de ingaande pakketten + doorgeeft. + + Wanneer een adresruimte aan een site wordt toegewezen, stelt + de serviceprovider al hun routeertabellen zodanig in dat al het + verkeer voor het bijhorende subnet naar de PPP-verbinding van de + site gezonden wordt. Maar hoe weten sites door het land heen + hoe naar de internetprovider van deze site te versturen? + + Er bestaat een systeem (dat veel lijkt op de gedistribueerde + DNS-informatie) dat alle toegewezen adresruimtes bijhoudt, en + hun verbindingspunt met de Internet Backbone definieert. De + Backbone zijn de grote kabels die Internetverkeer + door het land en over de wereld sturen. Elke backbone-machine + heeft een kopie van een master-verzameling van tabellen, die + verkeer voor een bepaald netwerk naar een bepaalde + backbone-carrier sturen, en van daaruit naar een keten van + serviceproviders totdat het het netwerk van de site + bereikt. + + Het is de taak van de serviceprovider om bij de + backbone-sites aan te geven dat zij het verbindingspunt (en dus + het ingaande pad) zijn voor de site. Dit staat bekend als + routepropagatie. - * Problemen oplossen + Problemen oplossen + + traceroute + + Soms is er een probleem met routepropagatie en kunnen + sommige sites geen verbinding maken. Misschien is het nuttigste + commando om proberen uit te zoeken waar het routen misgaat + &man.traceroute.8;. Het is ook nuttig als er geen verbinding + mogelijk lijkt met een verre machine (dus als &man.ping.8; + faalt). - Wordt nog vertaald + Het commando &man.traceroute.8; wordt gedraaid met de naam + van de verre host waarmee geprobeerd wordt te verbinden. Het + laat de gateway-hosts zien langs het gepoogde pad, dat + uiteindelijk de doelhost bereikt, of wegens een gebrek aan + verbinding afgebroken wordt. + + Raadpleeg voor meer informatie de hulppagina voor + &man.traceroute.8;. - * Multicast routering - - Wordt nog vertaald + Multicast routen + + multicast routen + + + kernelopties + + MROUTING + + + &os; ondersteunt zowel multicast-applicaties als multicast + routen van huis uit. Voor multicast-applicaties is geen + speciale configuratie van &os; nodig; applicaties draaien over + het algemeen als geleverd. Voor multicast routen dient + ondersteuning in de kernel gecompileerd te worden: + + options MROUTING + + Ook dient de multicast-routeer-daemon &man.mrouted.8; + ingesteld worden zodat het tunnels en DVMRP + via /etc/mrouted.conf aanmaakt. Kijk voor + meer details over multicast-instellingen in de hulppagina voor + &man.mrouted.8;. + + + Sinds &os; 7.0 is het multicast-routeer-daemon + &man.mrouted.8; uit het basissysteem verwijderd. Het + implementeert het multicast-routeer-protocol + DVRMP, welke in veel multicast-installaties + grotendeels is vervangen door &man.pim.4;. De gerelateerde + gereedschappen &man.map-mbone.8; en &man.mrinfo.8; zijn ook + verwijderd. Deze programma's zijn nu beschikbaar in de &os; + Ports Collectie als net/mrouted. + - - Eric - Anderson - Geschreven door - + + Loader + + + + Marc + Fonvieille + + + + Murray + Stokely + - * Draadloze netwerken + Draadloze netwerken - Wordt nog vertaald + draadloze netwerken - - * Introductie + + 802.11 - Wordt nog vertaald - + draadloze netwerken + - * Draadloze operatie modes + De beginselen van draadloos netwerken + + De meeste draadloze netwerken zijn op de IEEE 802.11 + standaarden gebaseerd. Een eenvoudig draadloos netwerk bestaat + uit meerdere stations die met radio's communiceren die in de + 2,4GHz of de 5GHz band uitzenden (alhoewel dit regionaal + varieert en het ook verandert om communicatie in de 2,3GHz en + de 4,9GHz banden mogelijk te maken). + + 802.11-netwerken zijn op twee manieren georganiseerd: in + infrastructuurmodus treedt + één station als meester op, alle andere stations + associëren met dit station; dit netwerk staat bekend als + een BSS en het meesterstation heet een toegangspunt (AP). In + een BSS gaat alle communicatie via het AP; zelfs als een station + met een ander draadloos station wil communiceren gaan de + boodschappen door het AP. In de tweede netwerkvorm is er geen + meester en communiceren de stations direct. Deze netwerkvorm is + een IBSS en staat gewoonlijk bekend als een ad-hoc + netwerk. + + 802.11 netwerken begonnen in de 2,4GHz band waarbij gebruik + werd gemaakt van protocollen die door de IEEE 802.11 en 802.11b + standaarden worden gedefinieerd. Deze specificaties omvatten de + werkfrequenties, karakteristieken van de MAC-lagen waaronder + frame- en zendsnelheden (communicatie kan met verschillende + snelheden plaatsvinden). Later definieerde de 802.11a-standaard + het werken in de 5GHz band, inclusief andere mechanismen voor + signalering en hogere zendsnelheden. Nog later werd de + 802.11g-standaard gedefinieerd om gebruik te kunnen maken van de + signalerings- en zendmechanismen van 802.11a in de 2,4GHz band + zodanig dat het met terugwerkende kracht werkt op + 802.11b-netwerken. + + Afgezien van de onderliggende zendtechnieken beschikken + 802.11-netwerken over een verscheidenheid aan + beveiligingstechnieken. De originele 802.11-specificaties + definieerden een eenvoudig beveiligingsprotocol genaamd WEP. + Dit protocol maakt gebruik van een vaste, van te voren gedeelde + sleutel en het cryptografische algoritme RC4 om de gegevens die + over het netwerk verstuurd worden te coderen. Alle stations + dienen dezelfde sleutel te gebruiken om te kunnen communiceren. + Het is bewezen dat dit mechanisme eenvoudig te kraken is en + wordt nu, afgezien om voorbijgaande gebruikers te ontmoedigen + het netwerk te gebruiken, nog zelden gebruikt. De huidige + beveiligingsmethoden worden gegeven door de IEEE 802.11i + specificatie dat nieuwe cryptografische algoritmen en een + aanvullend protocol om stations aan een toegangspunt te + authenticeren en om sleutels voor gegevenscommunicatie uit te + wisselen definieert. Verder worden cryptografische sleutels + periodiek ververst en zijn er mechanismen om indringpogingen + te detecteren (en om indringpogingen tegen te gaan). Een andere + specificatie van een veelgebruikt beveiligingsprotocol in + draadloze netwerken is WPA. Dit was een voorloper op 802.11i + en gedefinieerd door een industriegroep als een tussenmaatregel + terwijl er gewacht werd op de ratificatie van 802.11i. WPA + specificeert een deel van de eisen van 802.11i en is ontworpen + voor implementatie op verouderde hardware. In het bijzonder + vereist WPA alleen de TKIP-sleutel die van de originele + WEP-sleutel is afgeleid. 802.11i staat het gebruik van TKIP toe + maar vereist ook ondersteuning voor een sterkere sleutel, + AES-CCM, om gegevens te versleutelen. (De AES-sleutel was niet + nodig in WPA omdat het rekenkundig te kostbaar werd geacht voor + implementatie op verouderde hardware.) + + Afgezien van de bovenstaande protocolstandaarden is de + andere belangrijke standaard waarvan bewustzijn belangrijk is + 802.11e. Deze standaard definieert het opstellen van + multimediatoepassingen zoals gestroomde video en voice over IP + (VoIP) binnen een 802.11-netwerk. Net als 802.11i heeft ook + 802.11e een voorgaande specificatie genaamd WME (later hernoemd + tot WMM) die door een industriegroep is gedefinieerd als een + deelverzameling van 802.11e die nu kan worden gebruikt om + multimediatoepassingen mogelijk te maken terwijl er gewacht + wordt op de uiteindelijke ratificatie van 802.11e. Het + belangrijkste om over 802.11e en WME/WMM te weten is dat ze + gepriotiseerd verkeersgebruik van een draadloos netwerk mogelijk + maken door middel van Quality of Service (QoS) protocollen en + protocollen voor verbeterde mediatoegang. Een juiste + implementatie van deze protocollen maken snelle gegevensbursts + en gepriotiseerde verkeersstromen mogelijk. + + Sinds versie 6.0 ondersteunt &os; netwerken die met 802.11a, + 802.11b, en 802.11g werken. Ook worden de + veiligheidsprotocollen WPA en 802.11i ondersteund (samen met + 11a, 11b, of 11g) en QoS en de verkeerspriorisatieprotocollen + die nodig zijn voor de protocollen WME/WMM worden voor een + beperkte verzameling draadloze apparatuur ondersteund. + - Wordt nog vertaald + + Basisinstallatie - * BSS mode - - Wordt nog vertaald - - - - * IBSS mode - - Wordt nog vertaald + Kernelinstellingen + + Om van een draadloos netwerk gebruik te maken is het nodig + om een draadloze netwerkkaart te hebben en om de kernel met de + juiste ondersteuning voor draadloze netwerken in te stellen. + Het laatste is verdeeld in meerdere modulen zodat alleen de + software ingesteld hoeft te worden die daadwerkelijk gebruikt + zal worden. + + Ten eerste is een draadloos netwerkapparaat nodig. De + meestgebruikte apparaten zijn degenen die onderdelen van + Atheros gebruiken. Deze apparaten worden ondersteund door het + stuurprogramma &man.ath.4; en voor hen dient de volgende regel + aan het bestand /boot/loader.conf + toegevoegd te worden: + + if_ath_load="YES" + + Het stuurprogramma voor Atheros is opgedeeld in drie + verschillende delen: het eigenlijke stuurprogramma + (&man.ath.4;), de ondersteuningslaag voor de hardware die + chip-specifieke functies afhandelt (&man.ath.hal.4;), en een + algoritme om de snelheid om frames te verzenden te kiezen uit + een reeks mogelijke waarden (hier ath_rate_sample). Indien + deze ondersteuning als modules wordt geladen, zullen de + afhankelijkheden automatisch afgehandeld worden. Voor andere + apparaten dan die van Atheros dient de module voor dat + stuurprogramma geladen te worden; bijvoorbeeld: + + if_wi_load="YES" + + voor apparaten die op onderdelen van Intersil Prism zijn + gebaseerd (stuurprogramma &man.wi.4;). + + + In de rest van dit document zal een &man.ath.4; apparaat + gebruikt worden, de naam van het apparaat in de voorbeelden + dient aangepast te worden aan de lokale installatie. Een + lijst van beschikbare draadloze stuurprogramma's staat aan + begin van de hulppagina &man.wlan.4;. Indien er geen + origineel stuurprogramma voor het draadloze apparaat + bestaat, is het mogelijk om te proberen om direct het + stuurprogramma van &windows; proberen te gebruiken met + behulp van de stuurprogramma-wrapper NDIS. + + + Nadat het apparaatstuurprogramma is ingesteld is het ook + nodig om de ondersteuning voor 802.11-netwerken waarvan het + stuurprogramma gebruik maakt in te stellen. Voor het + stuurprogramma &man.ath.4; zijn dit minimaal de modules + &man.wlan.4;, wlan_scan_ap en + wlan_scan_sta; de module &man.wlan.4; wordt + automatisch geladen met het stuurprogramma voor draadloze + apparaten, de overige modules dienen tijdens het opstarten + geladen te worden via het bestand + /boot/loader.conf: + + wlan_scan_ap_load="YES" +wlan_scan_sta_load="YES" + + Daarvoor zijn ook de modules nodig die cryptografische + ondersteuning implementeren voor de te gebruiken + veiligheidsprotocollen. Het is de bedoeling dat ze dynamisch + door de module &man.wlan.4; worden geladen maar momenteel + dienen ze handmatig ingesteld te worden. De volgende modules + zijn beschikbaar: &man.wlan.wep.4;, &man.wlan.ccmp.4;, en + &man.wlan.tkip.4;. Zowel de stuurprogramma's + &man.wlan.ccmp.4; en &man.wlan.tkip.4; zijn alleen nodig + indien het veiligheidsprotocol WPA en/of 802.11i gebruikt + wordt. Indien het netwerk geheel open dient te zijn (i.e. + geen versleuteling) is zelfs de ondersteuning van + &man.wlan.wep.4; niet nodig. Om deze modules tijdens het + opstarten te laden, dienen de volgende regels aan + /boot/loader.conf toegevoegd te worden: + + + wlan_wep_load="YES" +wlan_ccmp_load="YES" +wlan_tkip_load="YES" + + Nadat deze informatie aan het instellingenbestand om het + systeem op te starten (i.e. + /boot/loader.conf) is toegevoegd, is het + noodzakelijk om de &os;-computer opnieuw op te starten. + Indien het ongewenst is om de computer nu opnieuw op te + starten, kunnen de modules ook handmatig worden geladen door + &man.kldload.8; te gebruiken. + + + Indien het gebruik van modules ongewenst is, kunnen deze + stuurprogramma's in de kernel worden gecompileerd door de + volgende regels aan het kernelinstellingenbestand toe te + voegen: + + device ath # Atheros IEEE 802.11 stuurprogramma voor draadloze netwerken +device ath_hal # Atheros Hardware Access Layer +device ath_rate_sample # John Bicket's SampleRate stuuralgoritme. +device wlan # 802.11 ondersteuning (vereist) +device wlan_scan_ap # 802.11 AP-modus scannen +device wlan_scan_sta # 802.11 STA-modus scannen +device wlan_wep # WEP crypto ondersteuning voor 802.11 apparaten +device wlan_ccmp # AES-CCMP crypto ondersteuning voor 802.11 apparaten +device wlan_tkip # TKIP en Michael crypto ondersteuning voor 802.11 apparaten + + Met deze informatie in het kernelinstellingenbestand kan + de kernel opnieuw gecompileerd en de &os;-computer opnieuw + opgestart worden. + + + Wanneer het systeem draait, is het mogelijk om enige + informatie over de draadloze apparaten in de + opstartboodschappen te vinden, zoals: + + ath0: <Atheros 5212> mem 0xff9f0000-0xff9fffff irq 17 at device 2.0 on pci2 +ath0: Ethernet address: 00:11:95:d5:43:62 +ath0: mac 7.9 phy 4.5 radio 5.6 - * Infrastructuur mode - - Wordt nog vertaald + Infrastructuurmodus - - * Toegangspunten - - Wordt nog vertaald - + De infrastructuur- of BSS-modus is de modus die normaliter + gebruikt wordt. In deze modus zijn een aantal draadloze + toegangspunten verbonden met een bedraad netwerk. Elk draadloos + netwerk heeft een eigen naam, deze naam wordt de SSID van het + netwerk genoemd. Draadloze cliënten verbinden zich met de + draadloze toegangspunten. - * Een &os; toegangspunt bouwen - - Wordt nog vertaald + &os; cliënten - * Benodigdheden - - Wordt nog vertaald + Hoe toegangspunten te vinden + + Voor het scannen van netwerken wordt het commando + ifconfig gebruikt. Het kan even duren + voordat dit verzoek is afgehandeld aangezien het systeem op + elke beschikbare draadloze frequentie naar toegangspunten + moet zoeken. Alleen de super-gebruiker kan zo'n scan + opzetten: + + &prompt.root; ifconfig ath0 up scan +SSID BSSID CHAN RATE S:N INT CAPS +dlinkap 00:13:46:49:41:76 6 54M 29:3 100 EPS WPA WME +freebsdap 00:11:95:c3:0d:ac 1 54M 22:1 100 EPS WPA + + + De interface dient als up te worden gemarkeerd + voordat het scannen begint. Voor verdere scans is het + niet nodig om de interface als up te markeren. + + + De uitvoer van een scanverzoek vermeld elk gevonden + BSS/IBSS-netwerk. Naast de naam van het netwerk, + SSID, staat het BSSID, + wat het MAC-adres van het toegangspunt is. Het veld + CAPS identificeert het type van elk + netwerk en de mogelijkheden van de stations die daar + werkzaam zijn: + + + + E + + + Uitgebreide dienstenverzameling (ESS). Geeft aan + dat het station deel uitmaakt van een + infrastructuurnetwerk (in tegenstelling tot een IBSS-/ + ad-hoc-netwerk). + + + + + I + + + IBSS-/ad-hoc-netwerk. Geeft aan dat het station + deel uitmaakt van een ad-hoc-netwerk (in tegenstelling + tot een ESS-netwerk). + + + + + P + + + Privacy. Vertrouwelijkheid is vereist voor alle + gegevensframes die binnen het BSS worden uitgewisseld. + Dit betekent dat dit BSS eist dat het station + cryptografische middelen als WEP, TKIP of AES-CCMP + dient te gebruiken om de gegevensframes die met + anderen worden uitgewisseld te versleutelen en te + ontsleutelen. + + + + + S + + + Korte preambule. Geeft aan dat het netwerk korte + preambules gebruikt (gedefinieerd in 802.11b Hoge + Snelheid/DSSS PHY, korte preambule gebruikt een + 56-bits synchronisatieveld in tegenstelling tot een + 128-bits dat bij lange preambules wordt + gebruikt). + + + + + s + + + Korte slottijd. Geeft aan dat het 802.11g-netwerk + een korte slottijd gebruikt omdat er geen verouderde + (802.11b) stations aanwezig zijn. + + + + + Het is ook mogelijk om de huidige lijst van bekende + netwerken weer te geven met: + + &prompt.root; ifconfig ath0 list scan + + Deze informatie kan automatisch bijgewerkt worden door + de adapter of handmatig met een + verzoek. Oude gegevens worden automatisch uit de cache + verwijderd, dus kan deze lijst na verloop van tijd korter + worden tenzij er meer scanverzoeken gedaan worden. - * Het opzetten - - Wordt nog vertaald + Basisinstellingen + + Deze sectie geeft een eenvoudig voorbeeld hoe de + draadloze netwerkadapter in &os; zonder encryptie aan de + praat te krijgen. Nadat deze concepten bekend zijn, wordt + het sterk aangeraden om WPA te gebruiken om + de draadloze netwerken op te zetten. + + Er zijn drie basisstappen om een draadloos netwerk in te + stellen: een toegangspunt kiezen, het station authenticeren, + en een IP-adres instellen. De volgende secties behandelen + elk een stap. + + + Een toegangspunt kiezen + + In de meeste gevallen is het voldoende om het systeem + een toegangspunt gebaseerd op de ingebouwde heuristieken + te laten kiezen. Dit is het standaardgedrag wanneer een + interface als up wordt gemarkeerd of als een interface + wordt ingesteld door het te noemen in + /etc/rc.conf, bijvoorbeeld: + + ifconfig_ath0="DHCP" + + Indien er meerdere toegangspunten zijn en het gewenst + is om een specifieke te kiezen, kan dit met het SSID: + + + ifconfig_ath0="ssid uw_ssid_hier DHCP" + + In een omgeving waar meerdere toegangspunten hetzelfde + SSID hebben (vaak gedaan om roamen eenvoudiger te maken) + kan het nodig zijn om met één specifiek + apparaat te associëren. In dit geval kan ook het + BSSID van het toegangspunt gespecificeerd worden (het SSID + kan ook weggelaten worden): + + ifconfig_ath0="ssid uw_ssid_hier bssid xx:xx:xx:xx:xx:xx DHCP + + Er zijn andere manieren om de keuze van een + toegangspunt te beperken zoals het beperken van het aantal + frequenties waarop het systeem scant. Dit kan handig zijn + bij multi-band-netwerkkaarten aangezien het scannen van + alle mogelijke kanalen tijdrovend kan zijn. Om de werking + tot een specifieke band te beperken kan de parameter + gebruikt worden; bijvoorbeeld: + + ifconfig_ath0="mode 11g ssid uw_ssid_hier DHCP" + + zal de kaart forceren om te werken in 802.11g welke + alleen voor 2,4GHz frequenties is gedefinieerd dus de 5GHz + kanalen blijven buiten beschouwing. Andere manieren om + dit te doen zijn de parameter , + om bewerkingen op één specifieke frequentie + vast te zetten, en de parameter , + om een lijst van te scannen kanalen te specificeren. Meer + informatie over deze parameters kan in de hulppagina + &man.ifconfig.8; gevonden worden. + + + + Authenticatie + + Nadat er een toegangspunt is gekozen moet het station + zich authenticeren voordat het gegevens kan versturen. + Authenticatie kan op verschillende manieren gebeuren. Het + meest gebruikte schema wordt open authenticatie genoemd en + staat doe dat elk station aan het netwerk deelneemt en + communiceert. Deze manier van authenticatie dient + gebruikt te worden voor testdoeleinden tijdens het voor de + eerste keer opzetten van een draadloos netwerk. Andere + schema's vereisen dat cryptografische overeenkomsten + voltooid worden voordat gegevensverkeer kan stromen; ofwel + door vooraf gedeelde sleutels of geheimen te gebruiken, of + door complexere schema's te gebruiken welke achterliggende + diensten zoals RADIUS betrekken. De meeste gebruikers + zullen open authenticatie gebruiken welke de + standaardinstelling is. De dan meest voorkomende + opstelling is WPA-PSK, ook bekend als WPA Personal, welke + hieronder + beschreven is. + + + Indien er een &apple; &airport; Extreme basisstation + als toegangspunt wordt gebruikt kan het nodig zijn om + gedeelde-sleutel-authenticatie samen met een WEP-sleutel + in te stellen. Dit kan gedaan worden in het bestand + /etc/rc.conf of door het programma + &man.wpa.supplicant.8; te gebruiken. Indien er een + enkel &airport; basisstation wordt gebruikt kan de + toegang met zoiets als het volgende worden + ingesteld: + + ifconfig_ath0="authmode shared wepmode on weptxkey 1 wepkey 01234567 DHCP" + + Over het algemeen dient authenticatie via gedeelde + sleutels worden voorkomen omdat het het materiaal van de + WEP-sleutel op een zeer afgedwongen manier gebruikt wat + het zelfs gemakkelijker maakt om de sleutel te kraken. + Indien WEP gebruikt moet worden (bijvoorbeeld voor + compatibiliteit met verouderde apparaten) is het beter + om WEP met open authenticatie te + gebruiken. Meer informatie met betrekking tot WEP kan + gevonden worden in . + + + + + + Een IP-adres verkrijgen met DHCP + + Nadat het toegangspunt is gekozen en de parameters + voor de authenticatie zijn ingesteld, dient er een + IP-adres ter communicatie verkregen worden. In de meeste + gevallen wordt het draadloze IP-adres verkregen via DHCP. + Om dat te bereiken, dient + /etc/rc.conf bewerkt te worden en + DHCP aan de instellingen voor het + apparaat toegevoegd te worden zoals in de verschillende + bovenstaande voorbeelden is laten zien: + + ifconfig_ath0="DHCP" + + Op dit moment kan de draadloze interface geactiveerd + worden: + + &prompt.root; /etc/rc.d/netif start + + Wanneer de interface draait, kan + ifconfig gebruikt worden om de status + van de interface ath0 te + zien: + + &prompt.root; ifconfig ath0 +ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 + inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1 + inet 192.168.1.100 netmask 0xffffff00 broadcast 192.168.1.255 + ether 00:11:95:d5:43:62 + media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/54Mbps) + status: associated + ssid dlinkap channel 6 bssid 00:13:46:49:41:76 + authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100 + + Het status: associated betekent + dat er verbinding is met een draadloos netwerk (in dit + geval met het netwerk dlinkap). Het + gedeelte bssid 00:13:46:49:41:76 is het + MAC-adres van het toegangspunt; de regel met + authmode vertelt dat de communicatie + niet versleuteld (OPEN) is. + + + + Statisch IP-adres + + In het geval dat het niet mogelijk is om een IP-adres + van een DHCP-server te krijgen, kan er een vast IP-adres + worden ingesteld. Vervang het sleutelwoord + DHCP van hierboven met de + adresinformatie. Zorg ervoor dat de andere parameters + voor het selecteren van een toegangspunt behouden + blijven: + + ifconfig_ath0="ssid uw_ssid_hier inet 192.168.1.100 netmask 255.255.255.0" + + + + + WPA + + WPA (Wi-Fi Protected Access) is een beveiligingsprotocol + dat samen met 802.11-netwerken wordt gebruikt om het gebrek + aan degelijke authenticatie en de zwakte van WEP te benadrukken. + WPA verbetert het 802.1X-authenticatieprotocol en gebruikt + een sleutel gekozen uit meerdere in plaats van WEP voor + gegevensintegriteit. De enige sleutel welke WPA vereist is + TKIP (Temporary Key Integrity Protocol), een sleutel dat de + basis-RC4-sleutel welke door WEP wordt gebruikt uitbreidt + door integriteitscontroles, knoeidetectie, en maatregelen om + op elke gedetecteerde inbraak te reageren toe te voegen. + TKIP is ontworpen om op verouderde hardware met enkel + wijzigingen in software te draaien; het representeert een + compromis dat de veiligheid verbetert maar nog steeds niet + geheel immuun is tegen aanvallen. WPA specificeert ook de + sleutel AES-CCMP als een alternatief voor TKIP welke te + verkiezen is indien mogelijk; voor deze specificatie wordt + gewoonlijk de term WPA2 (of RSN) gebruikt. + + WPA definieert protocollen voor authenticatie en + versleuteling. Authenticatie gebeurt het meeste door + één van deze twee technieken te gebruiken: + door 802.1X en een achterliggende authenticatiedienst zoals + RADIUS, of door een minimale overeenkomst tussen het station + en het toegangspunt door een van te voren gedeeld geheim te + gebruiken. Het eerste wordt vaak WPA Enterprise genoemd en + het laatste staat bekend als WPA Personal. Aangezien de + meeste mensen geen achterliggende RADIUS-server voor een + draadloos netwerk zullen opzetten, is WPA-PSK veruit de + meest gebruikte configuratie voor WPA. + + Het beheer van de draadloze verbinding en de + authenticatie (sleutelonderhandeling of authenticatie met + een server) gebeurt met het gereedschap + &man.wpa.supplicant.8;. Dit programma vereist dat er een + instellingenbestand, + /etc/wpa_supplicant.conf, draait. + Meer informatie over dit bestand kan in de hulppagina + &man.wpa.supplicant.conf.5; worden gevonden. + + + WPA-PSK + + WPA-PSK, ook bekend als WPA-Personal, is gebaseerd op + een vooraf gedeelde sleutel (PSK) gegenereerd vanuit een + gegeven wachtwoord die gebruikt zal worden als de + hoofdsleutel in het draadloze netwerk. Dit betekent dat + alle draadloze gebruikers dezelfde sleutel zullen delen. + WPA-PSK is bedoeld voor kleine netwerken waar het gebruik + van een authenticatieserver niet mogelijk of gewenst + is. + + + Gebruik altijd sterke wachtwoorden welke voldoende + lang zijn en opgebouwd zijn uit een grote + tekenverzameling zodat ze niet gemakkelijk worden + geraden of aangevallen. + + + De eerste stap is het instellen van het bestand + /etc/wpa_supplicant.conf met het SSID + en de vooraf gedeelde sleutel van het netwerk: + + network={ + ssid="freebsdap" + psk="freebsdmall" +} + + Daarna zal in /etc/rc.conf worden + aangegeven dat de draadloze configuratie met WPA zal + gebeuren en dat het IP-adres met DHCP zal worden + verkregen: + + ifconfig_ath0="WPA DHCP" + + Hierna kan de interface geactiveerd worden: + + &prompt.root; /etc/rc.d/netif start +Starting wpa_supplicant. +DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 5 +DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 6 +DHCPOFFER from 192.168.0.1 +DHCPREQUEST on ath0 to 255.255.255.255 port 67 +DHCPACK from 192.168.0.1 +bound to 192.168.0.254 -- renewal in 300 seconds. +ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 + inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1 + inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255 + ether 00:11:95:d5:43:62 + media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/36Mbps) + status: associated + ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac + authmode WPA privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36 + protmode CTS roaming MANUAL bintval 100 + + Ook kan gepoogd worden dit handmatig in te stellen + door hetzelfde + /etc/wpa_supplicant.conf als hierboven + te gebruiken, en dit te draaien: + + &prompt.root; wpa_supplicant -i ath0 -c /etc/wpa_supplicant.conf +Trying to associate with 00:11:95:c3:0d:ac (SSID='freebsdap' freq=2412 MHz) +Associated with 00:11:95:c3:0d:ac +WPA: Key negotiation completed with 00:11:95:c3:0d:ac [PTK=TKIP GTK=TKIP] + + De volgende stap is het lanceren van het commando + dhclient om een IP-adres van de + DHCP-server te krijgen: + + &prompt.root; dhclient ath0 +DHCPREQUEST on ath0 to 255.255.255.255 port 67 +DHCPACK from 192.168.0.1 +bound to 192.168.0.254 -- renewal in 300 seconds. +&prompt.root; ifconfig ath0 +ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 + inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1 + inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255 + ether 00:11:95:d5:43:62 + media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/48Mbps) + status: associated + ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac + authmode WPA privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36 + protmode CTS roaming MANUAL bintval 100 + + + Indien /etc/rc.conf is + ingesteld met de regel + ifconfig_ath0="DHCP" is het niet + nodig om het commando dhclient + handmatig te draaien, dhclient zal + dan gedraaid worden nadat + wpa_supplicant de sleutels heeft + onderzocht. + + + In het geval dat het niet mogelijk is om DHCP te + gebruiken, kan een statisch IP-adres worden ingesteld + nadat wpa_supplicant het station heeft + geauthenticeerd: + + &prompt.root; ifconfig ath0 inet 192.168.0.100 netmask 255.255.255.0 +&prompt.root; ifconfig ath0 +ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 + inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1 + inet 192.168.0.100 netmask 0xffffff00 broadcast 192.168.0.255 + ether 00:11:95:d5:43:62 + media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/36Mbps) + status: associated + ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac + authmode WPA privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36 + protmode CTS roaming MANUAL bintval 100 + + Indien DHCP niet wordt gebruikt, dienen ook de + standaard gateway en de naamserver handmatig ingesteld te + worden: + + &prompt.root; route add default uw_standaard_router +&prompt.root; echo "nameserver uw_DNS_server" >> /etc/resolv.conf + + + + WPA met EAP-TLS + + De tweede manier om WPA te gebruiken is met een + achterliggende 802.1X-authenticatieserver, in dit geval + wordt WPA WPA-Enterprise genoemd om het verschil met het + minder veilige WPA-Personal met de vooraf gedeelde sleutel + aan te duiden. De authenticatie in WPA-Enterprise is + gebaseerd op EAP (Extensible Authentication + Protocol). + + EAP wordt niet met een encryptiemethode geleverd, het + was besloten om EAP in een versleutelde tunnel te + omsluiten. Er zijn vele soorten van + EAP-authenticatiemethodes ontworpen, de meest voorkomende + methodes zijn EAP-TLS, EAP-TTLS, en EAP-PEAP. + + EAP-TLS (EAP met Transport Layer Security) is een zeer + goed ondersteund authenticatieprotocol in de draadloze + wereld aangezien het de eerste EAP-methode was die + gecertificeerd werd door de Wi-Fi alliantie. + EAP-TLS vereist dat er drie certificaten draaien: het + CA-certificaat (geïnstalleerd op alle machines), het + servercertificaat voor de authenticatieserver, en een + cliëntcertificaat voor elke draadloze cliënt. + Bij deze EAP-methode authenticeren zowel de + authenticatieserver als de draadloze cliënt elkaar + door hun respectievelijke certificaten te laten zien, en + ze controleren dat deze certificaten zijn getekend door de + certificatenauthoriteit (CA) van de organisatie. + + Zoals voorheen gebeurt het instellen via + /etc/wpa_supplicant.conf: + + network={ + ssid="freebsdap" + proto=RSN + key_mgmt=WPA-EAP + eap=TLS + identity="loader" + ca_cert="/etc/certs/cacert.pem" + client_cert="/etc/certs/clientcert.pem" + private_key="/etc/certs/clientkey.pem" + private_key_passwd="freebsdmallclient" +} + + + + Dit veld geeft de naam van het netwerk (SSID) aan. + + + + + Hier wordt het RSN (IEEE 802.11i) protocol + gebruikt, ofwel WPA2. + + + + De regel key_mgmt verwijst naar + het gebruikte sleutelbeheerprotocol. In dit geval is + het WPA dat EAP-authenticatie gebruikt: + WPA-EAP. + + + + In dit veld wordt de EAP-methode voor de + verbinding genoemd. + + + + Het veld identity bevat de + identiteitsstring voor EAP. + + + + Het veld ca_cert geeft de + padnaam van het CA-certificaatbestand aan. Dit + bestand is nodig om het servercertificaat te + controleren. + + + + De regel client_cert geeft de + padnaam van het cliëntcertificaatbestand aan. + Dit certificaat is uniek voor elke draadloze + cliënt van het netwerk. + + + + Het veld private_key is de + padnaam naar het bestand dat de privésleutel + van het cliëntcertificaat bevat. + + + + Het veld private_key_passwd + bevat het wachtwoord voor de privésleutel. + + + + + Voeg vervolgens de volgende regel toe aan + /etc/rc.conf: + + ifconfig_ath0="WPA DHCP" + + De volgende stap is het activeren van de interface met + behulp van de faciliteit rc.c: + + &prompt.root; /etc/rc.d/netif start +Starting wpa_supplicant. +DHCPREQUEST on ath0 to 255.255.255.255 port 67 +DHCPREQUEST on ath0 to 255.255.255.255 port 67 +DHCPACK from 192.168.0.20 +bound to 192.168.0.254 -- renewal in 300 seconds. +ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 + inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1 + inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255 + ether 00:11:95:d5:43:62 + media: IEEE 802.11 Wireless Ethernet autoselect (DS/11Mbps) + status: associated + ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac + authmode WPA2/802.11i privacy ON deftxkey UNDEF TKIP 2:128-bit + txpowmax 36 protmode CTS roaming MANUAL bintval 100 + + Zoals eerder is laten zien, is het ook mogelijk om de + interface handmatig te activeren met zowel de commando's + wpa_supplicant en + ifconfig. + + + + WPA met EAP-TTLS + + Bij EAP-TLS hebben zowel de authenticatieserver als de + cliënt een certificaat nodig, met EAP-TTLS + (EAP-Tunneled Transport Layer Security) is een + cliëntcertificaat optioneel. Deze methode komt in de + buurt van wat sommige beveiligde websites doen, waar de + webserver een veilige SSL-tunnel kan aanmaken zelfs als de + bezoekers geen certificaten aan de cliëntkant hebben. + EAP-TTLS zal de versleutelde TLS-tunnel gebruiken voor het + veilig transporteren van de authenticatiegegevens. + + De instellingen worden gedaan via het bestand + /etc/wpa_supplicant.conf: + + network={ + ssid="freebsdap" + proto=RSN + key_mgmt=WPA-EAP + eap=TTLS + identity="test" + password="test" + ca_cert="/etc/certs/cacert.pem" + phase2="auth=MD5" +} + + + + Dit veld noemt de EAP-methode voor de + verbinding. + + + + Het veld identity bevat de + identiteitsstring voor EAP-authenticatie binnen de + versleutelde TLS-tunnel. + + + + Het veld password bevat het + wachtwoord voor de EAP-authenticatie. + + + + Het veld ca_cert wijst naar de + padnaam van het CA-certificaatbestand. Dit bestand is + nodig om het servercertificaat te controleren. + + + + Dit veld noemt de gebruikte authenticatiemethode + in de versleutelde TLS-tunnel. In dit geval is EAP + met MD5-Challenge gebruikt. De binnenste + authenticatie-fase wordt vaak + phase2 genoemd. + + + + Ook dient de volgende regel toegevoegd te worden aan + /etc/rc.conf: + + ifconfig_ath0="WPA DHCP" + + De volgende stap is het activeren van de interface: + + &prompt.root; /etc/rc.d/netif start +Starting wpa_supplicant. +DHCPREQUEST on ath0 to 255.255.255.255 port 67 +DHCPREQUEST on ath0 to 255.255.255.255 port 67 +DHCPREQUEST on ath0 to 255.255.255.255 port 67 +DHCPACK from 192.168.0.20 +bound to 192.168.0.254 -- renewal in 300 seconds. +ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 + inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1 + inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255 + ether 00:11:95:d5:43:62 + media: IEEE 802.11 Wireless Ethernet autoselect (DS/11Mbps) + status: associated + ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac + authmode WPA2/802.11i privacy ON deftxkey UNDEF TKIP 2:128-bit + txpowmax 36 protmode CTS roaming MANUAL bintval 100 + + + + WPA met EAP-PEAP + + PEAP (Beveiligd EAP) is ontworpen als een alternatief + voor EAP-TTLS. Er zijn twee soorten PEAP-methodes, de + meest voorkomende is PEAPv0/EAP-MSCHAPv2. In de rest van + dit document wordt de term PEAP gebruikt om te verwijzen + naar die EAP-methode. PEAP is de meest gebruikte + EAP-standaard na EAP-TLS, in andere woorden, indien er een + netwerk met verschillende besturingssystemen is, zou PEAP + de best ondersteunde standaard na EAP-TLS moeten + zijn. + + PEAP is soortgelijk aan EAP-TTLS: het gebruikt een + server-side certificaat om de cliënten te + authenticeren door een beveiligde TLS-tunnel tussen de + cliënt en de authenticatieserver aan te maken, welke + de uitwisseling van de authenticatie-informatie beschermt. + Vanuit een beveiligingsoogpunt gezien is het verschil + tussen EAP-TTLS en PEAP dat PEAP-authenticatie de + gebruikersnaam onversleuteld uitzendt, alleen het + wachtwoord wordt in de beveiligde TLS-tunnel verzonden. + EAP-TTLS gebruikt de TLS-tunnel voor zowel de + gebruikersnaam als het wachtwoord. + + Het bestand + /etc/wpa_supplicant.conf dient + gewijzigd te worden om de EAP-PEAP-gerelateerde + instellingen toe te voegen: + + network={ + ssid="freebsdap" + proto=RSN + key_mgmt=WPA-EAP + eap=PEAP + identity="test" + password="test" + ca_cert="/etc/certs/cacert.pem" + phase1="peaplabel=0" + phase2="auth=MSCHAPV2" +} + + + + Dit veld noemt de EAP-methode voor de + verbinding. + + + + Het veld identity bevat de + identiteitsstring voor EAP-authenticatie binnen de + versleutelde TLS-tunnel. + + + + Het veld password bevat het + wachtwoord voor de EAP-authenticatie. + + + + Het veld ca_cert wijst naar de + padnaam van het CA-certificaatbestand. Dit bestand is + nodig om het servercertificaat te controleren. + + + + Dit veld bevat de parameters voor de eerste fase + van de authenticatie (de TLS-tunnel). Afhankelijk van + de gebruikte authenticatieserver moet er een specifiek + label voor de authenticatie worden opgegeven. In de + meeste gevallen zal het label client EAP + encryption zijn welke ingesteld is door + peaplabel=0 te gebruiken. Meer + informatie kan in de hulppagina + &man.wpa.supplicant.conf.5; gevonden worden. + + + + Dit veld noemt het authenticatieprotocol dat in de + versleutelde TLS-tunnel gebruikt wordt. In het geval + van PEAP is dit auth=MSCHAPV2. + + + + + Het volgende dient te worden toegevoegd aan + /etc/rc.conf: + + ifconfig_ath0="WPA DHCP" + + Hierna kan de interface worden geactiveerd: + + &prompt.root; /etc/rc.d/netif start +Starting wpa_supplicant. +DHCPREQUEST on ath0 to 255.255.255.255 port 67 +DHCPREQUEST on ath0 to 255.255.255.255 port 67 +DHCPREQUEST on ath0 to 255.255.255.255 port 67 +DHCPACK from 192.168.0.20 +bound to 192.168.0.254 -- renewal in 300 seconds. +ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 + inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1 + inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255 + ether 00:11:95:d5:43:62 + media: IEEE 802.11 Wireless Ethernet autoselect (DS/11Mbps) + status: associated + ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac + authmode WPA2/802.11i privacy ON deftxkey UNDEF TKIP 2:128-bit + txpowmax 36 protmode CTS roaming MANUAL bintval 100 + - - * Status informatie - - Wordt nog vertaald + + WEP + + WEP (Wired Equivalent Privacy) maakt deel uit van de + oorspronkelijke 802.11 standaard. Er is geen + authenticatiemechanisme, slechts een zwakke vorm van + toegangscontrole, en het is gemakkelijk te kraken. + + WEP kan worden opgezet met + ifconfig: + + &prompt.root; ifconfig ath0 ssid mijn_net wepmode on weptxkey 3 wepkey 3:0x3456789012 \ + inet 192.168.1.100 netmask 255.255.255.0 + + + + De weptxkey geeft aan welke + WEP-sleutel zal worden gebruikt tijdens het verzenden. + Hier wordt de derde sleutel gebruikt. Dit dient + overeen te komen met de instelling in het toegangspunt. + Indien onbekend is welke sleutel door het toegangspunt + wordt gebruikt, dient geprobeerd te worden om + 1 (i.e. de eerste sleutel) voor deze + waarde te gebruiken. + + + + De wepkey stelt de geselecteerde + WEP-sleutel in. Het dient in het formaat + index:sleutel te zijn, als de + sleutel niet is gegeven, wordt sleutel + 1 ingesteld. Dat wil zeggen dat de + index opgegeven dient te worden indien er een andere + sleutel dan de eerste wordt gebruikt. + + + De 0x3456789012 dient vervangen + te worden door de sleutel die ingesteld is voor + gebruik met het toegangspunt. + + + + + Het wordt aangeraden om de hulppagina &man.ifconfig.8; + te lezen voor verdere informatie. + + De faciliteit wpa_supplicant kan ook + gebruikt worden om de draadloze interface in te stellen voor + WEP. Het bovenstaande voorbeeld kan worden ingesteld door + de volgende regels toe te voegen aan + /etc/wpa_supplicant.conf: + + network={ + ssid="mijn_net" + key_mgmt=NONE + wep_key3=3456789012 + wep_tx_keyid=3 +} + + Daarna: + + &prompt.root; wpa_supplicant -i ath0 -c /etc/wpa_supplicant.conf +Trying to associate with 00:13:46:49:41:76 (SSID='dlinkap' freq=2437 MHz) +Associated with 00:13:46:49:41:76 + - - * Cliënten - - Wordt nog vertaald - - - * Benodigdheden - - Wordt nog vertaald - - - - * Opzetten van een draadloze &os; cliënt + + Ad-hoc-modus + + IBSS-modus, ook ad-hoc-modus genoemd, is ontworpen voor + point-to-point-verbindingen. Om bijvoorbeeld een ad-hoc-netwerk + tussen de machine A en de machine + B op te zetten, is het slechts nodig om twee + IP-adressen en een SSID te kiezen. + + Op machine A: + + &prompt.root; ifconfig ath0 ssid freebsdap mediaopt adhoc inet 192.168.0.1 netmask 255.255.255.0 +&prompt.root; ifconfig ath0 + ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 + inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255 + inet6 fe80::211:95ff:fec3:dac%ath0 prefixlen 64 scopeid 0x4 + ether 00:11:95:c3:0d:ac + media: IEEE 802.11 Wireless Ethernet autoselect <adhoc> (autoselect <adhoc>) + status: associated + ssid freebsdap channel 2 bssid 02:11:95:c3:0d:ac + authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100 + + De parameter adhoc geeft aan dat de + interface in de IBSS-modus draait. + + Op B zal het mogelijk moeten zijn om + A te detecteren: + + &prompt.root; ifconfig ath0 up scan + SSID BSSID CHAN RATE S:N INT CAPS + freebsdap 02:11:95:c3:0d:ac 2 54M 19:3 100 IS + + De I in de uitvoer bevestigt dat machine + A in ad-hoc-modus verkeert. Het is slechts + nodig om B met een ander IP-adres in te + stellen: + + &prompt.root; ifconfig ath0 ssid freebsdap mediaopt adhoc inet 192.168.0.2 netmask 255.255.255.0 +&prompt.root; ifconfig ath0 + ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 + inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1 + inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.255 + ether 00:11:95:d5:43:62 + media: IEEE 802.11 Wireless Ethernet autoselect <adhoc> (autoselect <adhoc>) + status: associated + ssid freebsdap channel 2 bssid 02:11:95:c3:0d:ac + authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100 + + Zowel A als B zijn nu + klaar om informatie uit te wisselen. + - Wordt nog vertaald - + + &os; Host Toegangspunten + + &os; kan als toegangspunt (AP) functioneren wat de noodzaak + om een hardwarematig AP te kopen of een ad-hoc-netwerk te + draaien wegneemt. Dit kan bijzonder nuttig zijn indien de + &os;-machine als gateway naar een ander netwerk (bijvoorbeeld + het Internet) functioneert. + + + Basisinstellingen + + Voordat de &os;-machine als een AP wordt ingesteld, dient + de kernel te worden ingesteld met de juiste ondersteuning voor + draadloos netwerken voor de draadloze kaart. Ook dient er + ondersteuning voor de te gebruiken beveiligingsprotocollen te + worden toegevoegd. Meer details staan in . + + + Momenteel staan de NDIS-stuurprogrammawrapper en de + stuurprogramma's van &windows; het werken als AP niet toe. + Alleen originele draadloze &os;-stuurprogramma's + ondersteunen AP-modus. + + + Wanneer de ondersteuning voor draadloos netwerken is + geladen, kan gecontroleerd worden of het draadloze apparaat + de hostgebaseerde toegangspuntmodus ondersteunt (ook bekend + als hostap-modus): + + &prompt.root; ifconfig ath0 list caps +ath=783ed0f<WEP,TKIP,AES,AES_CCM,IBSS,HOSTAP,AHDEMO,TXPMGT,SHSLOT,SHPREABLE,MONITOR,TKIPMIC,WPA1,WPA2,BURST,WME> + + Deze uitvoer geeft de mogelijkheden van de kaart weer, het + woord HOSTAP bevestigt dat deze draadloze + kaart als toegangspunt kan functioneren. Ook worden + verschillende ondersteunde versleutelmethoden genoemd: WEP, + TKIP, WPA2, enz., deze informatie is belangrijk om te weten + welke beveiligingsprotocollen ingesteld kunnen worden op het + toegangspunt. + + Het draadloze apparaat kan nu in hostap-modus worden gezet + en ingesteld worden met de juiste SSID en IP-adres: + + &prompt.root; ifconfig ath0 ssid freebsdap mode 11g mediaopt hostap inet 192.168.0.1 netmask 255.255.255.0 + + Gebruik weer ifconfig om de status van + de interface ath0 te zien: + + &prompt.root; ifconfig ath0 + ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 + inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255 + inet6 fe80::211:95ff:fec3:dac%ath0 prefixlen 64 scopeid 0x4 + ether 00:11:95:c3:0d:ac + media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <hostap> + status: associated + ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac + authmode OPEN privacy OFF txpowmax 38 bmiss 7 protmode CTS burst dtimperiod 1 bintval 100 + + De parameter hostap geeft aan dat de + interface in hostgebaseerde toegangspuntmodus draait. + + Het instellen van de interface kan automatisch tijdens het + opstarten gedaan worden door de volgende regel aan + /etc/rc.conf toe te voegen: + + ifconfig_ath0="ssid freebsdap mode 11g mediaopt hostap inet 192.168.0.1 netmask 255.255.255.0" - * Encryptie - - Wordt nog vertaald - - - * WEP - - Wordt nog vertaald - - - - * IPsec - - Wordt nog vertaald - + Hostgebaseerde toegangspunt zonder authenticatie of + versleuteling + + Hoewel het niet aangeraden wordt om een AP zonder enige + vorm van authenticatie of encryptie te draaien, is dit een + eenvoudige manier om te controleren of het AP werkt. Deze + configuratie is ook belangrijk voor het debuggen van problemen + met cliënten. + + Nadat het AP is ingesteld als eerder is laten zien, is het + mogelijk om van een andere draadloze machine een scan te + beginnen om het AP te vinden: + + &prompt.root; ifconfig ath0 up scan +SSID BSSID CHAN RATE S:N INT CAPS +freebsdap 00:11:95:c3:0d:ac 1 54M 22:1 100 ES + + De cliëntmachine heeft het AP gevonden en kan ermee + geassocieerd worden: + + &prompt.root; ifconfig ath0 ssid freebsdap inet 192.168.0.2 netmask 255.255.255.0 +&prompt.root; ifconfig ath0 + ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 + inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1 + inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.255 + ether 00:11:95:d5:43:62 + media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/54Mbps) + status: associated + ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac + authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100 - * Hulpprogramma's + WPA hostgebaseerde toegangspunt - Wordt nog vertaald - - * Het <application>bsd-airtools</application> - pakket + Deze sectie zal zich richten op opzetten van een &os; + toegangspunt dat het beveiligingsprotocol WPA gebruikt. Meer + details over WPA en het instellen van op WPA gebaseerde + draadloze cliënten kan gevonden worden in . - Wordt nog vertaald - + De daemon hostapd wordt + gebruikt om cliëntauthenticatie en sleutelbeheer op het + toegangspunt met WPA af te handelen. - - * De <command>wicontrol</command>, - <command>ancontrol</command> en - <command>raycontrol</command> programma's + In het volgende zullen alle instellingsbewerkingen worden + uitgevoerd op de &os;-machine die als AP dienst doet. Wanneer + het AP correct werkt, zou hostapd + automatisch tijdens het opstarten aangezet moeten worden met + de volgende regel in /etc/rc.conf: - Wordt nog vertaald - + hostapd_enable="YES" - - * Het <command>ifconfig</command> commando + Zorg ervoor dat voordat geprobeerd wordt om + hostapd in te stellen, de + basisinstellingen die in zijn geïntroduceerd + zijn uitgevoerd. - Wordt nog vertaald + + WPA-PSK + + WPA-PSK is bedoeld voor kleine netwerken waar het + gebruik van een achterliggende authenticatieserver niet + mogelijk of gewenst is. + + Het instellen wordt gedaan in het bestand + /etc/hostapd.conf: + + interface=ath0 +debug=1 +ctrl_interface=/var/run/hostapd +ctrl_interface_group=wheel +ssid=freebsdap +wpa=1 +wpa_passphrase=freebsdmall +wpa_key_mgmt=WPA-PSK +wpa_pairwise=CCMP TKIP + + + + Dit veld geeft aan welke draadloze interface voor + het toegangspunt wordt gebruikt. + + + + Dit veld stelt het verbositeitsniveau in dat tijdens + het draaien van hostapd wordt + gebruikt. Een waarde van 1 + vertegenwoordigt het minimale niveau. + + + + Het veld ctrl_interface geeft de + padnaam van de door hostapd + gebruikte map om de domeinsocketbestanden voor + communicatie met externe programma's zoals + &man.hostapd.cli.8; in op te slaan. Hier wordt de + standaardwaarde gebruikt. + + + + De regel ctrl_interface_group + stelt de groep in (hier is het de groep + wheel) die toegang heeft tot de + controle interfacebestanden. + + + + Het veld wpa maakt WPA mogelijk + en specificeert welk WPA-authenticatieprotocol nodig zal + zijn. De waarde 1 stelt het AP in op + WPA-PSK. + + + + Het veld wpa_passphrase bevat het + ASCII-wachtwoord voor de WPA-authenticatie. + + + Gebruik altijd sterke wachtwoorden welke voldoende + lang zijn en opgebouwd zijn uit een grote + tekenverzameling zodat ze niet gemakkelijk worden + geraden of aangevallen. + + + + + De regel wpa_key_mgmt verwijst + naar het gebruikte sleutelbeheerprotocol. In dit geval + is dat WPA-PSK. + + + + Het veld wpa_pairwise geeft aan + welke versleutelingsalgoritmes door het toegangspunt + worden geaccepteerd. Hier worden zowel de versleuteling + TKIP (WPA) en CCMP (WPA2) geaccepteerd. De + versleuteling CCMP is een alternatief voor TKIP en wordt + sterk aangeraden indien mogelijk; TKIP dient alleen + gebruikt te worden voor stations die geen CCMP + aankunnen. + + + + De volgende stap is het starten van + hostapd: + + &prompt.root /etc/rc.d/hostapd forcestart + + &prompt.root; ifconfig ath0 + ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2290 + inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255 + inet6 fe80::211:95ff:fec3:dac%ath0 prefixlen 64 scopeid 0x4 + ether 00:11:95:c3:0d:ac + media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <hostap> + status: associated + ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac + authmode WPA2/802.11i privacy MIXED deftxkey 2 TKIP 2:128-bit txpowmax 36 protmode CTS dtimperiod 1 bintval 100 + + Het toegangspunt draait nu, de cliënten kunnen er + nu mee worden geassocieerd, zie voor meer details. Het is + mogelijk om de stations die met het AP geassocieerd zijn te + zien door het commando ifconfig + ath0 list te + gebruiken. - * Ondersteunde kaarten - - Wordt nog vertaald - - - * Toegangspunten - - Wordt nog vertaald - - - - * 802.11b cliënten - - Wordt nog vertaald - - - - * 802.11a & 802.11g cliënten - - Wordt nog vertaald - + WEP hostgebaseerd toegangspunt + + Het wordt niet aangeraden om WEP te gebruiken om een + toegangspunt op te zetten aangezien er geen + authenticatiemechanisme is en het gemakkelijk is te kraken. + Sommige verouderde draadloze kaarten ondersteunen alleen WEP + als een beveiligingsprotocol, met deze kaarten is het alleen + mogelijk om een AP zonder authenticatie of encryptie of een AP + dat het WEP-protocol gebruikt op te zetten. + + Het draadloze apparaat kan nu in hostap-modus worden + gezet en ingesteld worden met het juiste SSID en + IP-adres: + + &prompt.root; ifconfig ath0 ssid freebsdap wepmode on weptxkey 3:0x3456789012 mode 11g hostap \ + inet 192.168.0.1 netmask 255.255.255.0 + + + + Het weptxkey geeft aan welke + WEP-sleutel tijdens het zenden zal worden gebruikt. Hier + wordt de derde sleutel gebruikt (merk op dat de nummering + van de sleutels bij 1 begint). Deze + parameter moet gespecificeerd worden om de gegevens + daadwerkelijk te versleutelen. + + + + Het wepkey geeft aan dat de + geselecteerde WEP-sleutel wordt ingesteld. Het dient in + het formaat index:key te zijn, + indien de index niet is gegeven, wordt sleutel + 1 gebruikt. Dus indien een andere + sleutel dan de eerste wordt gebruikt dient de index te + worden ingesteld. + + + + Weer wordt ifconfig gebruikt om de + status van de interface ath0 te + zien: + + &prompt.root; ifconfig ath0 + ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 + inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255 + inet6 fe80::211:95ff:fec3:dac%ath0 prefixlen 64 scopeid 0x4 + ether 00:11:95:c3:0d:ac + media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <hostap> + status: associated + ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac + authmode OPEN privacy ON deftxkey 3 wepkey 3:40-bit txpowmax 36 protmode CTS dtimperiod 1 bintval 100 + + Vanaf een andere draadloze machine is het mogelijk om een + scan te beginnen om het AP te vinden: + + &prompt.root; ifconfig ath0 up scan +SSID BSSID CHAN RATE S:N INT CAPS +freebsdap 00:11:95:c3:0d:ac 1 54M 22:1 100 EPS + + De cliëntmachine heeft het toegangspunt gevonden en + kan ermee geassocieerd worden door de juiste parameters + (sleutel, enz.) te gebruiken, zie voor meer details. + + + Problemen verhelpen + + Indien er problemen met het draadloos netwerk zijn, zijn er + een aantal stappen die genomen kunnen worden om het probleem te + helpen verhelpen. + + + + Indien het toegangspunt niet vermeld wordt tijdens het + scannen, controleer dan of het draadloze apparaat niet is + ingesteld op een beperkt aantal kanalen. + + + + Indien het niet mogelijk is om met een toegangspunt te + associëren, controleer dan of de instellingen van het + station overeenkomen met die van het toegangspunt. Dit + omvat het authenticatieschema en de beveiligingsprotocollen. + Versimpel de configuratie zoveel mogelijk. Indien een + beveiligingsprotocol als WPA of WEP wordt gebruikt, stel het + toegangspunt dan in voor open authenticatie en geen + beveiliging en kijk of er verkeer door kan. + + + + Wanneer er met het toegangspunt geassocieerd kan worden, + stel dan een diagnose over alle beveiligingsinstellingen met + eenvoudige gereedschappen zoals &man.ping.8;. + + wpa_supplicant biedt veel + ondersteuning voor debuggen; probeer het handmatig te + draaien met de optie en controleer de + systeemlogs. + + + + Er zijn ook veel debug-gereedschappen op lagere niveaus. + Het is mogelijk om debugberichten in de laag die het 802.11 + protocol ondersteunt aan te zetten door het programma + wlandebug te gebruiken dat gevonden wordt + in /usr/src/tools/tools/net80211. + Bijvoorbeeld: + + &prompt.root; wlandebug -i ath0 +scan+auth+debug+assoc + net.wlan.0.debug: 0 => 0xc80000<assoc,auth,scan> + + kan worden gebruikt om consoleberichten aan te zetten + die te maken hebben met het scannen van toegangspunten en + het uitvoeren van 802.11 handshakes die nodig zijn om + communicatie te regelen. + + Er worden ook veel nuttige statistieken door de 802.11 + laag bijgehouden; het gereedschap + wlanstats geeft deze informatie weer. + Deze statistieken zouden alle fouten die door de 802.11 laag + zijn geïdentificeerd moeten identificeren. Let erop + dat sommige fouten worden geïdentificeerd in de + apparaatstuurprogramma's die onder de 802.11 laag liggen + zodat ze niet verschijnen. Voor het diagnosticeren van + apparaatspecifieke problemen dient de documentatie van het + stuurprogramma geraadpleegd te worden. + + + + Indien de bovenstaande informatie niet helpt om het probleem + te verhelderen, stuur dan een probleemrapport op inclusief de + uitvoer van de bovenstaande gereedschappen. + - - Pav - Lucistnik - Geschreven door - -
pav@oook.cz
-
-
+ + Pav + Lucistnik + Geschreven door + +
pav@FreeBSD.org
+
+
- * Bluetooth + Bluetooth - Wordt nog vertaald + Bluetooth - * Introductie - - Wordt nog vertaald + Introductie + + Bluetooth is een draadloze technologie om persoonlijke + netwerken aan te maken die in de vrije 2,4GHz-band werken binnen + een straal van 10 meter. Deze netwerken worden gewoonlijk + ad-hoc gevormd en bestaan uit draagbare apparaten zoals mobiele + telefoons, handhelds en laptops. In tegenstelling tot die + andere populaire draadloze techniek, Wi-Fi, biedt Bluetooth een + hoger niveau van serviceprofielen, zoals FTP-achtige + bestandsservers, pushing van bestanden, stemtransport, emulatie + van seriële lijnen, en meer. + + De Bluetooth stack is in &os; geïmplementeerd door + gebruik te maken van het Netgraph-raamwerk (zie + &man.netgraph.4;). Veel van de Bluetooth USB-dongles worden + ondersteund door het stuurprogramma &man.ng.ubt.4;. Apparaten + gebaseerd op de Broadcom BCM2033 chip worden ondersteund door de + stuurprogramma's &man.ubtbcmfw.4; en &man.ng.ubt.4;. De 3Com + Bluetooth PC Card 3CRWB60-A wordt ondersteund door het + stuurprogramma &man.ng.bt3c.4;. Seriële en op UART + gebaseerde Bluetooth-apparaten worden ondersteund via + &man.sio.4;, &man.ng.h4.4;, en &man.hcseriald.8;. Deze sectie + beschrijft het gebruik van de USB Bluetooth-dongle. - * Het apparaat inprikken - - Wordt nog vertaald + Het apparaat inprikken + + Standaard zijn stuurprogramma's voor Bluetooth-apparaten + beschikbaar als kernelmodules. Voordat een apparaat wordt + aangekoppeld, dient het stuurprogramma in de kernel geladen te + worden: + + &prompt.root; kldload ng_ubt + + Indien het Bluetooth-apparaat tijdens het opstarten van het + systeem in het systeem aanwezig is, kan de module vanuit + /boot/loader.conf geladen worden: + + ng_ubt_load="YES" + + Prik de USB-dongle in. Uitvoer vergelijkbaar aan de + onderstaande zal op de console (of in syslog) verschijnen: + + ubt0: vendor 0x0a12 product 0x0001, rev 1.10/5.25, addr 2 +ubt0: Interface 0 endpoints: interrupt=0x81, bulk-in=0x82, bulk-out=0x2 +ubt0: Interface 1 (alt.config 5) endpoints: isoc-in=0x83, isoc-out=0x3, + wMaxPacketSize=49, nframes=6, buffer size=294 + + Kopieer + /usr/share/examples/netgraph/bluetooth/rc.bluetooth + naar een handige plaats zoals + /etc/rc.bluetooth. Dit script wordt + gebruikt om de Bluetooth-stack te starten en te stoppen. Het is + een goed idee om de Bluetooth-stack te stoppen voordat het + apparaat wordt losgekoppeld, maar het is gewoonlijk niet fataal. + Tijdens het opstarten van de stack verschijnt er uitvoer + vergelijkbaar aan de onderstaande: + + &prompt.root; /etc/rc.bluetooth start ubt0 +BD_ADDR: 00:02:72:00:d4:1a +Features: 0xff 0xff 0xf 00 00 00 00 00 +<3-Slot> <5-Slot> <Encryption> <Slot offset> +<Timing accuracy> <Switch> <Hold mode> <Sniff mode> +<Park mode> <RSSI> <Channel quality> <SCO link> +<HV2 packets> <HV3 packets> <u-law log> <A-law log> <CVSD> +<Paging scheme> <Power control> <Transparent SCO data> +Max. ACL packet size: 192 bytes +Number of ACL packets: 8 +Max. SCO packet size: 64 bytes +Number of SCO packets: 8 - - * Host Controller Interface (HCI) + HCI - Wordt nog vertaald + + Host Controller Interface (HCI) + + Het Host Controller Interface (HCI) biedt een + opdrachtinterface naar de controller van de basisband en de + verbindingsbeheerder, en toegang tot hardwarestatus en + controleregisters. Deze interface biedt een uniforme manier + om de mogelijkheden van de basisband van Bluetooth te benaderen. + De HCI-laag op de gastheer wisselt gegevens en opdrachten uit + met de HCI-firmware in de Bluetooth-hardware. Het + stuurprogramma voor de Host Controller Transport Layer (i.e. de + fysieke bus) biedt aan beide HCI-lagen de mogelijkheid om + informatie met elkaar uit te wisselen. + + Voor een enkel Bluetooth-apparaat wordt een enkele Netgraph + knoop van het type hci aangemaakt. De + HCI-knoop is normaliter verbonden met de knoop van het + Bluetooth-apparaatstuurprogramma (naar beneden toe) en de + L2CAP-knoop (naar boven toe). Alle HCI-bewerkingen dienen te + worden uitgevoerd op de HCI-knoop en niet op de knoop van het + apparaatstuurprogramma. De standaardnaam voor de HCI-knoop is + devicehci. Kijk voor meer details in de + hulppagina &man.ng.hci.4;. + + Eén van de meest voorkomende taken is het ontdekken + van Bluetooth-apparaten binnen radiobereik. Deze bewerking + wordt ondervragen genoemd. Ondervragen en + andere HCI-gerelateerde bewerkingen worden uitgevoerd met het + programma &man.hccontrol.8;. Het onderstaande voorbeeld laat + zien hoe kan worden uitgezocht welke Bluetooth-apparaten zich + binnen het bereik bevinden. De lijst met apparaten zou binnen + enkele seconden moeten binnenkomen. Bedenk dat een apparaat op + afstand alleen antwoord op de ondervraging zal geven indien het + in ontdekbare modus staat. + + &prompt.user; hccontrol -n ubt0hci inquiry +Inquiry result, num_responses=1 +Inquiry result #0 + BD_ADDR: 00:80:37:29:19:a4 + Page Scan Rep. Mode: 0x1 + Page Scan Period Mode: 00 + Page Scan Mode: 00 + Class: 52:02:04 + Clock offset: 0x78ef +Inquiry complete. Status: No error [00] + + BD_ADDR is een uniek adres van een + Bluetooth-apparaat, vergelijkbaar met een MAC-adres van een + netwerkkaart. Dit adres is nodig voor verdere communicatie met + een apparaat. Het is mogelijk om een menselijk leesbare naam + aan een BD_ADDR toe te kennen. Het bestand + /etc/bluetooth/hosts bevat informatie over + de bekende Bluetooth-gastheren. Het volgende voorbeeld laat + zien hoe de menselijk leesbare naam dat aan het apparaat op + afstand was toegekend te verkrijgen is: + + &prompt.user; hccontrol -n ubt0hci remote_name_request 00:80:37:29:19:a4 +BD_ADDR: 00:80:37:29:19:a4 +Name: Pav's T39 + + Tijdens het uitvoeren van een ondervraging op een + Bluetooth-apparaat op afstand zal het de computer als + uw.gastheer.naam (ubt0) vinden. De naam die aan + het lokale apparaat is toegekend, kan altijd gewijzigd + worden. + + Het Bluetooth-systeem biedt een punt-naar-punt-verbinding + (slechts twee Bluetooth-eenheden betrokken), of een + punt-naar-veelpunt-verbinding. Bij een + punt-naar-veelpunt-verbinding wordt de verbinding met meerdere + Bluetooth-apparaten gedeeld. Het volgende voorbeeld laat zien + hoe de lijst met actieve basisbandverbindingen voor het lokale + apparaat te verkrijgen is: + + &prompt.user; hccontrol -n ubt0hci read_connection_list +Remote BD_ADDR Handle Type Mode Role Encrypt Pending Queue State +00:80:37:29:19:a4 41 ACL 0 MAST NONE 0 0 OPEN + + Een verbindingshandvat is nuttig indien + het beëindigen van de basisbandverbinding noodzakelijk is. + Normaalgesproken is het niet nodig om dit handmatig te doen. De + stack zal automatisch niet-actieve basisbandverbindingen + beëindigen. + + &prompt.root; hccontrol -n ubt0hci disconnect 41 +Connection handle: 41 +Reason: Connection terminated by local host [0x16] + + Raadpleeg hccontrol help voor een + volledige lijst van beschikbare HCI-opdrachten. Voor de meeste + HCI-opdrachten zijn geen beheerdersrechten nodig. + L2CAP + - * Logical Link Control and Adaptation + <title>Logical Link Control and Adaptation Protocol (L2CAP) - Wordt nog vertaald + Het Logical Link Control and Adaptation Protocol (L2CAP) + biedt verbindingsgeoriënteerde en verbindingsloze + gegevensdiensten met mogelijkheden om protocollen te multiplexen + en mogelijkheden voor segmentatie/herassemblage voor protocollen + in hogere lagen. L2CAP staat toe dat protocollen en + toepassingen in hogere lagen L2CAP-gegevenspakketten met een + maximale lengte van 64 kB te verzenden en ontvangen. + + L2CAP is op het concept van kanalen + gebaseerd. Een kanaal is een logische verbinding bovenop een + basisbandverbinding. Elk kanaal is op een + veel-op-één manier aan een enkel protocol + gebonden. Aan hetzelfde protocol kunnen meerdere kanalen worden + gebonden, maar één kanaal kan niet aan meerdere + protocollen worden gebonden. Elk L2CAP-pakket dat op een kanaal + wordt ontvangen, wordt naar het juiste hogere protocol + doorgestuurd. Meerdere kanalen kunnen dezelfde + basisbandverbinding delen. + + Voor elk Bluetooth-apparaat wordt een enkele Netgraph-knoop + van het soort l2cap aangemaakt. De + L2CAP-knoop is normaalgesproken verbonden met de Bluetooth + HCI-knoop (naar beneden toe) en de knopen van de stopcontacten + voor Bluetooth (naar boven toe). De standaardnaam voor de + L2CAP-knoop is devicel2cap. Zie voor meer + details de hulppagina &man.ng.l2cap.4;. + + Een nuttig commando is &man.l2ping.8;, dat gebruikt kan + worden om andere apparaten te pingen. Sommige + Bluetooth-implementaties geven niet alle verzonden gegevens + terug, dus is 0 bytes normaal in het volgende + voorbeeld. + + &prompt.root; l2ping -a 00:80:37:29:19:a4 +0 bytes from 0:80:37:29:19:a4 seq_no=0 time=48.633 ms result=0 +0 bytes from 0:80:37:29:19:a4 seq_no=1 time=37.551 ms result=0 +0 bytes from 0:80:37:29:19:a4 seq_no=2 time=28.324 ms result=0 +0 bytes from 0:80:37:29:19:a4 seq_no=3 time=46.150 ms result=0 + + Met het programma &man.l2control.8; kunnen verschillende + bewerkingen op L2CAP-knopen worden uitgevoerd. Dit voorbeeld + laat zien hoe de lijst met logische verbindingen (kanalen) + en de lijst met basisbandverbindingen voor het lokale apparaat + verkregen kunnen worden: + + &prompt.user; l2control -a 00:02:72:00:d4:1a read_channel_list +L2CAP channels: +Remote BD_ADDR SCID/ DCID PSM IMTU/ OMTU State +00:07:e0:00:0b:ca 66/ 64 3 132/ 672 OPEN +&prompt.user; l2control -a 00:02:72:00:d4:1a read_connection_list +L2CAP connections: +Remote BD_ADDR Handle Flags Pending State +00:07:e0:00:0b:ca 41 O 0 OPEN + + Een ander diagnostisch programma is &man.btsockstat.1;. Het + heeft ongeveer hetzelfde doel als &man.netstat.1;, maar dan voor + Bluetooth-netwerkgerelateerde gegevensstructuren. Het + onderstaande voorbeeld laat dezelfde logische verbinding zien + als die van &man.l2control.8; hierboven. + + &prompt.user; btsockstat +Active L2CAP sockets +PCB Recv-Q Send-Q Local address/PSM Foreign address CID State +c2afe900 0 0 00:02:72:00:d4:1a/3 00:07:e0:00:0b:ca 66 OPEN +Active RFCOMM sessions +L2PCB PCB Flag MTU Out-Q DLCs State +c2afe900 c2b53380 1 127 0 Yes OPEN +Active RFCOMM sockets +PCB Recv-Q Send-Q Local address Foreign address Chan DLCI State +c2e8bc80 0 250 00:02:72:00:d4:1a 00:07:e0:00:0b:ca 3 6 OPEN - - * Het RFCOMM protocol + RFCOMM - Wordt nog vertaald + + Het RFCOMM-protocol + + Het RFCOMM-protocol biedt emulatie van seriële poorten + over het L2CAP-protocol. Het protocol is gebaseerd op de + ETSI-standaard TS 07.10. RFCOMM is een eenvoudig + transportprotocol, met aanvullende voorzieningen om de 9 + circuits van RS-232- (EIATIA-232-E-) seriële poorten te + emuleren. Het RFCOMM-protocol ondersteunt tot 60 gelijktijdige + verbindingen (RFCOMM-kanalen) tussen twee + Bluetooth-apparaten. + + Het is de bedoeling van RFCOMM dat in een volledig + communicatiepad twee toepassingen op verschillende apparaten + draaien (de eindpunten van de communicatie) met daartussen een + communicatiesegment. RFCOMM is bedoeld om de toepassingen te + beheren die gebruik maken van de seriële poorten van de + apparaten waarop ze zijn geïnstalleerd. Het + communicatiesegment is een directe Bluetooth-verbinding van het + ene apparaat naar het andere. + + RFCOMM houdt zich alleen bezig met de verbinding tussen twee + apparaten bij directe verbindingen, of tussen het apparaat en + een modem in het geval van een netwerk. RFCOMM kan andere + opstellingen ondersteunen, zoals modules die via draadloze + Bluetooth-technologie communiceren aan de ene kant, en een + draadinterface aanbieden aan de andere kant. + + In &os; is het RFCOMM-protocol in de laag van de + Bluetooth-stopcontacten geïmplementeerd. - - * Apparaatparen + paren - Wordt nog vertaald + + Het paren van apparaten + + Standaard is Bluetooth-communicatie niet geauthenticeerd en + kan elk apparaat met elk ander apparaat praten. Een + Bluetooth-apparaat (bijvoorbeeld een mobiele telefoon) kan + ervoor kiezen dat voor bepaalde diensten authenticatie nodig is + (bijvoorbeeld voor de inbeldienst). Bluetooth-authenticatie + geschied normaalgesproken met PIN-codes. + Een PIN-code is een ACII-reeks van maximaal 16 tekens lang. De + gebruiker dient dezelfde PIN-code op beide apparaten in te + voeren. Nadat de gebruiker de PIN-code heeft ingevoerd, zullen + beide apparaten een verbindingssleutel + aanmaken. Hierna kan de verbindingssleutel òfwel in de + apparaten zelf, òfwel in een permanente opslag worden + opgeslagen. De volgende keer zullen beide apparaten de van + tevoren aangemaakte verbindingssleutel gebruiken. Bovenstaande + procedure wordt paren genoemd. Merk op dat + indien een apparaat de verbindingssleutel verliest, het paren + moet worden herhaald. + + De daemon &man.hcsecd.8; is verantwoordelijk voor het + behandelen van alle verzoeken voor Bluetooth-authenticatie. Het + standaard instellingenbestand is + /etc/bluetooth/hcsecd.conf. Een + voorbeeldsectie voor een mobiele telefoon waarvan de PIN-code + willekeurig op 1234 is hieronder + beschreven: + + device { + bgaddr 00:80:37:29:19:a4; + name "Pav's T39"; + key nokey; + pin "1234"; + } + + Er is geen limiet voor PIN-codes (behalve de lengte). Voor + sommige apparaten (bijvoorbeeld Bluetooth-headsets) kan de + PIN-code vast zijn ingebouwd. De schakelaar + dwingt de daemon &man.hcsecd.8; om op de voorgrond te blijven, + zodat het gemakkelijk is om te zien wat er gebeurt. Stel het + andere apparaat in om paarverzoeken te ontvangen en initialiseer + de Bluetooth-verbinding naar het andere apparaat. Het apparaat + moet zeggen dat het paarverzoek geaccepteerd is en om de + PIN-code vragen. Geef dezelfde PIN-code op als in + hcsecd.conf. Nu zijn de PC en het andere + apparaat gepaard. Als alternatief kan paren op het andere + apparaat worden geïnitialiseerd. + + Op &os; 5.5, 6.1, en nieuwer kan de volgende regel aan + het bestand /etc/rc.conf worden toegevoegd + om hcsecd automatisch met het + systeem op te starten: + + hscecd_enable="YES" + + Het volgende is een voorbeeld van de uitvoer van de daemon + hcsecd: + + hcsecd[16484]: Got Link_Key_Request event from 'ubt0hci', remote bdaddr 0:80:37:29:19:a4 +hcsecd[16484]: Found matching entry, remote bdaddr 0:80:37:29:19:a4, name 'Pav's T39', link key doesn't exist +hcsecd[16484]: Sending Link_Key_Negative_Reply to 'ubt0hci' for remote bdaddr 0:80:37:29:19:a4 +hcsecd[16484]: Got PIN_Code_Request event from 'ubt0hci', remote bdaddr 0:80:37:29:19:a4 +hcsecd[16484]: Found matching entry, remote bdaddr 0:80:37:29:19:a4, name 'Pav's T39', PIN code exists +hcsecd[16484]: Sending PIN_Code_Reply to 'ubt0hci' for remote bdaddr 0:80:37:29:19:a4 - - * Service Discovery Protocol (SDP) + SDP - Wordt nog vertaald + + Service Discovery Protocol (SDP) + + Het Service Discovery Protocol (SDP) biedt voor + cliënttoepassingen de mogelijkheid om diensten te ontdekken + die door servertoepassingen worden aangeboden alsook de + kenmerken van deze diensten. De kenmerken van een dienst + omvatten de soort of klasse van de aangeboden dienst en de + informatie over het mechanisme of protocol dat nodig is om de + dienst te gebruiken. + + SDP omvat communicatie tussen een SDP-server en een + SDP-cliënt. De server houdt een lijst van + dienstenregistraties bij die de eigenschappen van de diensten + beschrijven die met de server geassocieerd zijn. Elke + dienstregistratie bevat informatie over een enkele dienst. Een + cliënt kan informatie over een dienstregistratie opvragen + die door de SDP-server wordt bijgehouden door een SDP-verzoek in + te dienen. Indien de cliënt, of een toepassing die met de + cliënt geassocieerd is, besluit om de dienst te gebruiken, + moet het een aparte verbinding naar de aanbieder van de dienst + openen om de dienst te gebruiken. SDP biedt een mechanisme om + diensten en hun attributen te ontdekken, maar het biedt geen + mechanisme om die diensten te gebruiken. + + Normaalgesproken zoekt een SDP-cliënt naar diensten + naar aanleiding van enkele gewenste eigenschappen van die + diensten. Soms is het echter wenselijk om te ontdekken welke + soorten diensten door de dienstregistraties van een SDP-server + worden beschreven zonder enige voorkennis van deze diensten. + Dit kijken naar alle aangeboden diensten wordt + browsen genoemd. + + De Bluetooth SDP-server &man.sdpd.8; en de + opdrachtregelcliënt &man.sdpcontrol.8; zitten in de + standaard &os;-installatie. Het volgende voorbeeld laat zien + hoe een SDP-browse query uit te voeren. + + &prompt.user; sdpcontrol -a 00:01:03:fc:6e:ec browse +Record Handle: 00000000 +Service Class ID List: + Service Discovery Server (0x1000) +Protocol Descriptor List: + L2CAP (0x0100) + Protocol specific parameter #1: u/int/uuid16 1 + Protocol specific parameter #2: u/int/uuid16 1 + +Record Handle: 0x00000001 +Service Class ID List: + Browse Group Descriptor (0x1001) + +Record Handle: 0x00000002 +Service Class ID List: + LAN Access Using PPP (0x1102) +Protocol Descriptor List: + L2CAP (0x0100) + RFCOMM (0x0003) + Protocol specific parameter #1: u/int8/bool 1 +Bluetooth Profile Descriptor List: + LAN Access Using PPP (0x1102) ver. 1.0 + + ... enzovoorts. Merk op dat elke dienst een lijst met + attributen heeft (bijvoorbeeld een RFCOMM-kanaal). Afhankelijk + van de dienst kan het nodig zijn om een aantekening van sommige + attributen te maken. Sommige Bluetooth-implementaties + ondersteunen dienst-browsen niet en zullen een lege lijst + teruggeven. In dit geval is het mogelijk om naar de specifieke + dienst te zoeken. Het onderstaande voorbeeld laat zien hoe naar + de dienst OBEX Object Push (OPUSH) gezocht kan worden: + + &prompt.user; sdpcontrol -a 00:01:03:fc:6e:ec search OPUSH + + Het aanbieden van diensten op &os; aan + Bluetooth-cliënten wordt gedaan met de server &man.sdpd.8;. + Op &os; 5.5, 6.1, en nieuwer, kan de volgende regel aan het + bestand /etc/rc.conf worden + toegevoegd: + + sdpd_enable="YES" + + Het daemon sdpd kan worden + gestart met: + + &prompt.root; /etc/rc.d/sdpd start + + De plaatselijke servertoepassing die Bluetooth-diensten wil + aanbieden aan verre cliënten zal de dienst registreren bij + de plaatselijke SDP-daemon. Een voorbeeld van zo'n toepassing + is &man.rfcomm.pppd.8;. Nadat het gestart is zal het de + Bluetooth LAN-dienst bij de plaatselijke SDP-daemon + registreren. + + De lijst met diensten die bij de plaatselijke SDP-server + zijn geregistreerd kan worden opgevraagd door te SDP-browsen + via het plaatselijke controlekanaal: + + &prompt.root; sdpcontrol -l browse - * Dial-Up Networking (DUN) en netwerk toegang met PPP (LAN) - profielen - - Wordt nog vertaald + Dial-Up Networking (DUN) en netwerktoegang met PPP (LAN) + profielen + + Het inbelnetwerk (DUN) profiel wordt het meeste gebruikt met + modems en mobiele telefoons. De volgende scenario's worden in + dit profiel behandeld: + + + + het gebruik van een mobiele telefoon of modem door een + computer als een draadloze modem voor het verbinden met een + inbelserver voor Internet-toegang, of voor andere + inbeldiensten; + + + + het gebruik van een mobiele telefoon of modem door een + computer om gegevensoproepen te ontvangen. + + + + Het profiel voor netwerktoegang met PPP (LAN) kan in de + volgende situaties gebruikt worden: + + + LAN-toegang voor een enkel Bluetooth-apparaat; + + LAN-toegang voor meerdere Bluetooth-apparaten; + + PC naar PC (door PPP-netwerken over een seriële kabel te emuleren). + + + Op &os; zijn beide profielen geïmplementeerd met + &man.ppp.8; en &man.rfcomm.pppd.8; - een wrapper die een RFCOMM + Bluetooth-verbinding omzet in iets waar PPP mee overweg kan. + Voordat een profiel gebruikt kan worden, dient een nieuw + PPP-label in het bestand /etc/ppp/ppp.conf + te worden aangemaakt. Raadpleeg de hulppagina + &man.rfcomm.pppd.8; voor voorbeelden. + + In het volgende voorbeeld zal &man.rfcomm.pppd.8; gebruikt + worden om RFCOMM-verbinding met een ver apparaat met BD_ADDR + 00:80:37:29:19:a4 op een DUN RFCOMM-kanaal te maken. Het + eigenlijke RFCOMM-kanaalnummer wordt via SDP van het verre + apparaat verkregen. Het is mogelijk om het RFCOMM-kanaal + handmatig op te geven, en in dat geval zal &man.rfcomm.pppd.8; + het SDP-verzoek niet uitvoeren. Gebruik &man.sdpcontrol.8; om + het RFCOMM-kanaal op het verre apparaat te achterhalen. + + &prompt.root; rfcomm_pppd -a 00:80:37:29:19:a4 -c -C dun -l rfcomm-dialup + + Om netwerktoegang met PPP (LAN) aan te bieden moet de server + &man.sdpd.8; draaien. Er dient een nieuwe regel voor + LAN-cliënten in het bestand + /etc/ppp/ppp.conf aangemaakt te worden. + Raadpleeg de hulppagina &man.rfcomm.pppd.8; voor voorbeelden. + Tenslotte dient de RFCOMM PPP-server op een geldig RFCOMM-kanaal + gestart te worden. De RFCOMM PPP-server zal automatisch de + Bluetooth LAN-dienst bij de plaatselijke SDP-daemon registreren. + Het volgende voorbeeld laat zien hoe een RFCOMM PPP-server te + starten: + + &prompt.root; rfcomm_pppd -s -C 7 -l rfcomm-server - - * Het OBEX Object Push (OPUSH) profiel + OBEX - Wordt nog vertaald + + Het OBEX Object Push (OPUSH) profiel + + OBEX is een veelgebruikt protocol voor eenvoudige + bestandsoverdrachten tussen mobiele apparaten. Het primaire + gebruik is infraroodcommunicatie, waar het wordt gebruikt voor + generieke bestandsoverdrachten tussen notebooks of PDA's, en + om visitekaarten en kalenderregels tussen mobiele telefoons en + andere apparaten met PIM-toepassingen over te dragen. + + De OBEX-server en clieënt zijn geïmplenteerd als + een pakket van derde partij, obexapp, + dat beschikbaar is als de port + comms/obexapp. + + De OBEX-cliënt wordt gebruikt om objecten naar en/of + van de OBEX-server te duwen/trekken. Een object kan + bijvoorbeeld een visitekaart of een afspraak zijn. De + OBEX-cliënt kan het RFCOMM-kanaalnummer van het verre + apparaat via SDP opvragen. Dit kan gedaan worden door de + dienstnaam in plaats van het RFCOMM-kanaalnummer op te geven. + De ondersteunde dienstnamen zijn: IrMC, FTRN, en OPUSH. Het is + mogelijk om het RFCOMM-kanaal als een nummer op te geven. Het + onderstaande is een voorbeeld van een OBEX-sessie, waar een + apparaatinformatie-object van de mobiele telefoon wordt + getrokken, en een nieuw object (een visitekaart) in de gids van + de telefoon wordt geduwd: + + &prompt.user; obexapp -a 00:80:37:29:19:a4 -C IrMC +obex> get telecom/devinfo.txt devinfo-t39.txt +Success, response: OK, Success (0x20) +obex> put new.vcf +Success, response: OK, Success (0x20) +obex> di +Success, response: OK, Success (0x20) + + Om de dienst OBEX Object Push aan te bieden, moet de server + &man.sdpd.8; draaien. Er moet een hoofdmap worden aangemaakt + waarin alle binnenkomende objecten worden opgeslagen. Het + standaardpad naar de hoofdmap is + /var/spool/obex. Tenslotte moet de + OBEX-server op een geldig RFCOMM-kanaal worden gestart. De + OBEX-server zal automatisch de dienst OBEX Object Push bij de + plaatselijke SDP-daemon registeren. Het onderstaande voorbeeld + laat zien hoe de OBEX-server gestart wordt: + + &prompt.root; obexapp -s -C 10 - * Serial Port Profile (SPP) - - Wordt nog vertaald + Serial Port Profile (SPP) + + Het Seriële Poort Profiel (SPP) zorgt ervoor dat + Bluetooth-apparaten RS232 (of gelijkwaardige) seriële + kabels kunnen emuleren. Het scenario dat dit profiel behandelt + zorgt ervoor dat oude toepassingen Bluetooth kunnen gebruiken + als vervanging van kabels, door gebruik te maken van een + virtuele seriële poort. + + Het programma &man.rfcomm.sppd.1; implementeert het + Seriële Poort profiel. Een pseudo-tty wordt gebruikt als + abstractie voor een virtuele seriële poort. Onderstaand + voorbeeld laat zien hoe met een Seriële Poortdienst voor + verre apparaten te verbinden. Merk op dat het niet nodig is om + een RFCOMM-kanaal te kiezen - &man.rfcomm.sppd.1; kan het via + SDP van het verre apparaat verkrijgen. Dit kan worden overruled + door een RFCOMM-kanaal op de opdrachtregel te specificeren. + + + &prompt.root; rfcomm_sppd -a 00:07:E0:00:0B:CA -t /dev/ttyp6 +rfcomm_sppd[94692]: Starting on /dev/ttyp6... + + Als er een verbinding is, kan de pseudo-tty als seriële + poort worden gebruikt: + + &prompt.root; cu -l ttyp6 - * Problemen oplossen + Problemen oplossen - Wordt nog vertaald - * Een apparaat op afstand kan geen verbinding - maken - - Wordt nog vertaald + Een apparaat op afstand kan geen verbinding maken + + Sommige oudere Bluetooth-apparaten ondersteunen het + wisselen van rol niet. Standaard probeert &os;, wanneer het + een nieuwe verbinding accepteert, een rolwisseling uit te + voeren en meester te worden. Apparaten die dit niet + ondersteunen zullen niet kunnen verbinden. Merk op dat van + rol wordt gewisseld wanneer een nieuwe verbinding wordt + gemaakt, dus het is niet mogelijk om het verre apparaat te + vragen of het rolwisseling ondersteunt. Er is een HCI-optie + om rolwisselen aan de plaatselijke kant uit te zetten: + + &prompt.root; hccontrol -n ubt0hci write_node_role_switch 0 - * Er gaat iets mis, kan ik ergens precies zien wat er - gebeurd? - - Wordt nog vertaald + Er gaat iets mis, kan ik precies zien wat er gebeurt? + + Ja, dit is mogelijk. Gebruik het pakket + hcidump, dat beschikbaar is als de + port comms/hcidump. Het + gereedschap hcidump is + vergelijkbaar met &man.tcpdump.1;. Het kan gebruikt worden om + de inhoud van Bluetooth-pakketten op de terminal te laten zien + en om de Bluetooth-pakketten naar een bestand te schrijven. +
- - Steve - Peterson + + Andrew + Thompson Geschreven door - + - * Bridging - - Wordt nog vertaald + Bridging - * Introductie + Introductie + + IP-subnet + + bridge + + Soms is het handig om één fysiek netwerk + (zoals een Ethernet-segment) in twee gescheiden netwerksegmenten + te verdelen zonder de noodzaak om een IP-subnet aan te maken en + een router te gebruiken om de segmenten met elkaar te verbinden. + Een apparaat dat twee netwerken op deze manier met elkaar + verbindt wordt een bridge (brug) genoemd. Een + &os;-systeem met twee netwerkkaarten kan als bridge + dienen. + + De bridge werkt door de adressen van de MAC-laag + (Ethernetadressen) van de apparaten op elke netwerkinterface + te leren. Het stuurt alleen verkeer tussen twee netwerken door + indien de bron en het doel zich op verschillende netwerken + bevinden. - Wordt nog vertaald + In vele opzichten is een bridge als een Ethernet-switch met + erg weinig poorten. - * Situaties waarin bridging juist is + Situaties waarin bridging juist is - Wordt nog vertaald + Er zijn vandaag de dag veel situaties waarin een bridge + gebruikt wordt. - * Veel verkeer op een segment + Netwerken verbinden + + Het basisgebruik van een bridge is het met elkaar + verbinden van twee of meer netwerksegmenten. Er zijn vele + redenen om een hostgebaseerde bridge te gebruiken in plaats + van simpele netwerkapparaten zoals kabelbeperkingen, + firewalling of het verbinden van pseudonetwerken zoals een + interface van een virtuële machine. Een bridge kan ook + een draadloze interface die in hostap-modus draait met een + bedraad netwerk verbinden en als een toegangspunt + dienen. + + + + Filtering/Bandbreedtebeheersende firewall + + firewall + + NAT + + Een gebruikelijke situatie dient zich voor wanneer de + functionaliteit van een firewall nodig is zonder routing of + network address translation (NAT). + + Een voorbeeld is een klein bedrijf dat via DSL of ISDN met + hun internetprovider verbonden is. Dit bedrijf heeft 13 + wereldwijd bereikbare IP-adressen van de internetprovider en + 10 PC's op hun netwerk. In deze situatie is een firewall die + op een router gebaseerd is lastig wegens + subnet-problemen. + + router + + DSL + + ISDN + + Een firewall die op een bridge gebaseerd is kan ingesteld + en net na de DSL- of ISDN-router geplaatst worden zonder dat + er problemen met IP-nummers optreden. + - Wordt nog vertaald + + Netwerktap + + Een bridge kan twee netwerksegmenten verbinden en kan + gebruikt worden om alle Ethernetframes die tussen dezen + voorbijkomen te inspecteren. Dit kan òfwel vanuit het + gebruik van &man.bpf.4;/&man.tcpdump.1; op de bridge-interface + òfwel door een kopie van alle frames naar een extra + interface (overspanpoort) te versturen. - * Filtering/Bandbreedte beheersende firewall + Laag 2 VPN + + Twee Ethernetnetwerken kunnen over een IP-verbinding + verbonden worden door de netwerken naar een EtherIP-tunnel te + bridgen of met een oplossing gebaseerd po &man.tap.4; zoals + OpenVPN. + - Wordt nog vertaald + + Laag 2 Redundancy + + Een netwerk kan met meerdere verbindingen verbonden worden + en het Spanning Tree Protocol gebruiken om overbodige paden te + blokkeren. Een Ethernetnetwerk kan alleen juist functioneren + indien er slechts één actief pad bestaat tussen + twee apparaten, Spanning Tree zal lussen detecteren en de + overbodige verbindingen in een geblokkeerde toestand zetten. + Indien een van de actieve verbindingen faalt zal het protocol + een andere boom berekenen en een van de geblokkeerde paden + weer activeren om de verbindingen naar alle punten in het + netwerk te herstellen. - * Een bridge configureren + De kernel instellen + + Deze sectie behandelt de bridges geïmplementeerd met + &man.if.bridge.4;, een stuurprogramma dat bridges met netgraph + implementeert is ook beschikbaar, zie voor meer informatie de + hulppagina &man.ng.bridge.4;. + + Het bridge-stuurprogramma is een kernelmodule en zal + automatisch door &man.ifconfig.8; worden geladen wanneer er een + bridge-interface wordt aangemaakt. Het is mogelijk om de bridge + in de kernel te compileren door + device if_bridge aan het + kernelinstellingenbestand toe te voegen. + + Pakketfiltering kan met elk firewall-pakket worden gebruikt + dat via het raamwerk &man.pfil.9; aankoppelt. De firewall kan + als een module worden geladen of in de kernel worden + gecompileerd. + + De bridge kan als met &man.altq.4; of &man.dummynet.4; als + een verkeersregelaar worden gebruikt. + - Wordt nog vertaald + + De bridge inschakelen + + De bridge wordt aangemaakt door interfaces te klonen. Om + een bridge aan te maken wordt &man.ifconfig.8; gebruikt, indien + het bridge-stuurprogramma niet in de kernel aanwezig is zal het + automatisch worden geladen. + + &prompt.root; ifconfig bridge create +&prompt.root; ifconfig bridge0 +bridge0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500 + ether 96:3d:4b:f1:79:7a + id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15 + maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200 + root id 00:00:00:00:00:00 priority 0 ifcost 0 port 0 + + Een bridge-interface is aangemaakt en er is automatisch een + random gegenereerd Ethernetadres aan toegekend. De parameters + maxaddr en timeout bepalen + hoeveel MAC-adressen de bridge in de doorstuurtabel houdt en + hoeveel seconden voordat elke regel wordt verwijderd nadat het + voor het laatst gezien is. De andere parameters bepalen hoe + Spanning Tree werkt. + + Voeg de netwerkinterfaces die lid zijn aan de bridge toe. + Om de bridge pakketten te laten doorsturen dienen alle + lidinterfaces en de bridge actief te zijn: + + &prompt.root; ifconfig bridge0 addm fxp0 addm fxp1 up +&prompt.root; ifconfig fxp0 up +&prompt.root; ifconfig fxp1 up + + De bridge stuurt nu Ethernet-frames door tussen + fxp0 en fxp1. + De overeenkomstige configuratie in + /etc/rc.conf zodat de bridge tijdens het + opstarten wordt aangemaakt is: + + cloned_interfaces="bridge0" +ifconfig_bridge0="addm fxp0 addm fxp1 up" +ifconfig_fxp0="up" +ifconfig_fxp1="up" + + Indien de bridge-gastheer een IP-adres nodig heeft dan is de + juiste plaats om dit in te stellen op de bridge-interface zelf + in plaats van op een van de lidinterfaces. Dit kan statisch of + via DHCP worden ingesteld: + + &prompt.root; ifconfig bridge0 inet 192.168.0.1/24 + + Het is ook mogelijk om een IPv6-adres aan een + bridge-interface toe te kennen. + - - * Netwerkkaart selectie + + Firewalls gebruiken + + firewall + + Wanneer pakketten worden gefilterd, zullen gebridgede + pakketten het filter inbound op de vertrekkende interface + passeren, op de bridge-interface en outbound op de bestemde + interface. Elke stap kan uitgezet worden. Wanneer de richting + van het pakketverkeer belangrijk is, kan de firewall het beste + op de lidinterfaces draaien en niet op de bridge zelf. + + De bridge heeft verschillende aanpasbare instellingen voor + het doorlaten van non-IP- en ARP-pakketten, en een laag 2 + firewall met IPFW. Zie &man.if.bridge.4; voor meer + informatie. + - Wordt nog vertaald + + Opspannende boom + + Het bridge-stuurprogramma implementeert het Rapid Spanning + Tree Protocol (RSTP of 802.1w) met terugwaartse compatibiliteit + met het verouderde Spanning Tree Protocol (STP). Spanning Tree + wordt gebruikt om lussen in een netwerktopologie te detecteren + en verwijderen. RSTP biedt snellere convergentie naar een + opspannende boom dan het verouderde STP, het protocol wisselt + informatie met naburige switches uit om snel naar forwarding + over te gaan zonder lussen te creëren. + + De volgende tabel laat de ondersteunende werkwijzen + zien: + + + + + + OS-versie + + STP-modi + + Standaard modus + + + + + + &os; 5.4—&os; 6.2 + + STP + + STP + + + + &os; 6.3+ + + RSTP of STP + + STP + + + + &os; 7.0+ + + RSTP of STP + + RSTP + + + + + + Spanning Tree kan op lidinterfaces worden geactiveerd met + het commando stp. Voor een bridge met + fxp0 en fxp1 + alle huidige interfaces, wordt STP met het volgende + geactiveerd: + + &prompt.root; ifconfig bridge0 stp fxp0 stp fxp1 +bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 + ether d6:cf:d5:a0:94:6d + id 00:01:02:4b:d4:50 priority 32768 hellotime 2 fwddelay 15 + maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200 + root id 00:01:02:4b:d4:50 priority 32768 ifcost 0 port 0 + member: fxp0 flags=1c7<LEARNING,DISCOVER,STP,AUTOEDGE,PTP,AUTOPTP> + port 3 priority 128 path cost 200000 proto rstp + role designated state forwarding + member: fxp1 flags=1c7<LEARNING,DISCOVER,STP,AUTOEDGE,PTP,AUTOPTP> + port 4 priority 128 path cost 200000 proto rstp + role designated state forwarding + + De bridge heeft spanning tree ID + 00:01:02:4b:d4:50 en prioriteit + 32768. Aangezien het + root id hetzelfde is geeft dit aan dat dit de + hoofdbridge voor de boom is. + + Een andere bridge in het netwerk heeft spanning tree ook + geactiveerd: + + bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 + ether 96:3d:4b:f1:79:7a + id 00:13:d4:9a:06:7a priority 32768 hellotime 2 fwddelay 15 + maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200 + root id 00:01:02:4b:d4:50 priority 32768 ifcost 400000 port 4 + member: fxp0 flags=1c7<LEARNING,DISCOVER,STP,AUTOEDGE,PTP,AUTOPTP> + port 4 priority 128 path cost 200000 proto rstp + role root state forwarding + member: fxp1 flags=1c7<LEARNING,DISCOVER,STP,AUTOEDGE,PTP,AUTOPTP> + port 5 priority 128 path cost 200000 proto rstp + role designated state forwarding + + De reegl root id 00:01:02:4b:d4:50 priority 32768 + ifcost 400000 port 4 geeft aan dat de hoofdbridge + 00:01:02:4b:d4:50 is zoals boven en dat de + padkosten 400000 zijn vanaf deze bridge, het + pad naar de hoofdbridge gaat via port 4 + welke fxp0 is. + + + + Geavanceerd bridgen + + + Verkeersstromen reconstrueren + + De bridge ondersteunt monitormodus, waarin de pakketten + worden verwijderd nadat ze door &man.bpf.4; zijn verwerkt, + en ze niet verder verwerkt of doorgestuurd worden. Dit kan + worden gebruikt om de invoer van twee of meer interfaces naar + een enkele &man.bpf.4;-stroom te multiplexen. Dit is nuttig + voor het reconstrueren van het verkeer voor netwerktaps welke + de RX/TX-signalen over twee verschillende interfaces + uitzenden. + + Om de invoer van vier netwerkinterfaces als + één stroom te lezen: + + &prompt.root; ifconfig bridge0 addm fxp0 addmfxp1 addm fxp2 addm fxp3 monitor up +&prompt.root; tcpdump -i bridge0 - * Kernel configuratie wijzigingen + SPAN poorten - Wordt nog vertaald + Van elk Ethernet-frame dat door de bridge wordt ontvangen + wordt er een kopie naar de aangewezen SPAN-poort verstuurd. + Het aantal geconfigureerde SPAN-poorten op een bridge is + onbeperkt, indien een interface aangewezen is als SPAN-poort + kan het niet ook als gewone bridgepoort gebruikt worden. Dit + is het nuttigste voor het passief afluisteren van een + gebridged netwerk op een andere host die met een van de + SPAN-poorten van de bridge verbonden is. + + Om een kopie van alle frames naar het interface + fxp4 te versturen: + + &prompt.root; ifconfig bridge0 span fxp4 - * Firewall ondersteuning + Privé-interfaces + + Een privé-interface stuurt geen verkeer door naar + poorten die niet ook een privé-interface zijn. Het + verkeer wordt onvoorwaardelijk geblokkeerd, dus worden er + geen Ethernetframes doorgestuurd, inclusief ARP. Indien + verkeer selectief dient te worden geblokkeerd dient er in + plaats hiervan een firewall gebruikt te worden. + - Wordt nog vertaald + + Klevende interfaces + + Indien een lidinterface van een bridge als klevend is + gemarkeerd worden dynamisch geleerde adresregels als statisch + behandelt wanneer ze in de doorstuurcache komen. Klevende + interfaces vallen nooit uit de cache en worden nooit vervangen, + zelfs niet als het adres op een andere interface wordt gezien. + Dit biedt het voordeel van statische adresregels zonder dat de + doorstuurtabel van te voren gevuld hoeft te worden, + cliënten die geleerd zijn op een bepaald segment van de + bridge kunnen niet roamen naar een ander segment. + + Een ander voorbeeld voor het gebruik van klevende adressen + zou het combineren van de bridge met VLANs zijn om een router + te creëren waar klantnetwerken geïsoleerd zijn + zonder dat IP-adresruimte verspild wordt. Neem aan dat + KlantA op + vlan100 zit en KlantB op + vlan101. De bridge heeft het adres + 192.168.0.1 en is tevens een + internet-router. + + &prompt.root; ifconfig bridge0 addm vlan100 sticky vlan100 addm vlan101 sticky vlan101 +&prompt.root; ifconfig bridge0 inet 192.168.0.1/24 + + Beide cliënten zien 192.168.0.1 als hun standaard gateway + en aangezien de bridge-cache kleverig is kunnen ze niet het + MAC-adres van de andere klant spoofen om hun verkeer op te + vangen. + + Alle communicatie tussen de VLANs kan geblokkeerd worden + door het gebruik van privé-interfaces (of een firewall): + + &prompt.root; ifconfig bridge0 private vlan100 private vlan101 + + De klanten zijn compleet geïsoleerd van elkaar, het + volledige /24 adresruimte kan + zonder subnetten toegewezen worden. - * Bandbreedte beheersing ondersteuning + Adresbeperkingen + + Het aantal unieke bron-MAC-adressen achter een interface + kan beperkt zijn. Wanneer de limiet bereikt is worden + pakketten met een onbekend bronadres gedropt totdat een + bestaande ingang in de host-cache vervalt of wordt + verwijderd. + + Het volgende voorbeeld stelt het maximum aantal + Ethernetapparaten voor KlantA op + vlan100 in op 10. - Wordt nog vertaald + &prompt.root; ifconfig bridge0 ifmaxaddr vlan100 10 + + + + SNMP-monitoring + + De bridge-interface en STP-parameters kunnen gemonitord + worden via het SNMP-daemon dat met het basis &os;-systeem + wordt meegeleverd. De geëxporteerde bridge-MIBs houden + zich aan de standaarden van de IETF zodat elke + SNMP-cliënt of monitorpakket kan worden gebruikt om de + gegevens te verzamelen. + + Op de bridge-machine dient de regel + begemotSnmpdModulePath."bridge" = + "/usr/lib/snmp_bridge.so" van + /etc/snmp.config geactiveerd te worden en + het daemon bsnmpd gestart te worden. + Andere instellingen zoals gemeenschapsnamen en toegangslijsten + dienen eventueel aangepast te worden. Zie &man.bsnmpd.1; en + &man.snmp.bridge.3; voor meer informatie. + + Het volgende voorbeeld gebruikt de software + Net-SNMP (net-mgmt/net-snmp om een bridge te + ondervragen, de port net-mgmt/bsnmptools kan ook worden + gebruikt. Voeg de volgende regels toe aan + $HOME/.snmp/snmp.conf op de + SNMP-cliënt-host om de MIB-definities van de bridge in + Net-SNMP te importeren: + + mibdirs +/usr/share/snmp/mibs +mibs +BRIDGE-MIB:RSTP-MIB:BEGEMOT-MIB:BEGEMOT-BRIDGE-MIB + + Om een enkele bridge via de IETF BRIDGE-MIB (RFC4188) te + monitoren: + + &prompt.user; snmpwalk -v 2c -c public bridge1.example.com mib-2.dot1dBridge +BRIDGE-MIB::dot1dBaseBridgeAddress.0 = STRING: 66:fb:9b:6e:5c:44 +BRIDGE-MIB::dot1dBaseNumPorts.0 = INTEGER: 1 ports +BRIDGE-MIB::dot1dStpTimeSinceTopologyChange.0 = Timeticks: (189959) 0:31:39.59 centi-seconds +BRIDGE-MIB::dot1dStpTopChanges.0 = Counter32: 2 +BRIDGE-MIB::dot1dStpDesignatedRoot.0 = Hex-STRING: 80 00 00 01 02 4B D4 50 +... +BRIDGE-MIB::dot1dStpPortState.3 = INTEGER: forwarding(5) +BRIDGE-MIB::dot1dStpPortEnable.3 = INTEGER: enabled(1) +BRIDGE-MIB::dot1dStpPortPathCost.3 = INTEGER: 200000 +BRIDGE-MIB::dot1dStpPortDesignatedRoot.3 = Hex-STRING: 80 00 00 01 02 4B D4 50 +BRIDGE-MIB::dot1dStpPortDesignatedCost.3 = INTEGER: 0 +BRIDGE-MIB::dot1dStpPortDesignatedBridge.3 = Hex-STRING: 80 00 00 01 02 4B D4 50 +BRIDGE-MIB::dot1dStpPortDesignatedPort.3 = Hex-STRING: 03 80 +BRIDGE-MIB::dot1dStpPortForwardTransitions.3 = Counter32: 1 +RSTP-MIB::dot1dStpVersion.0 = INTEGER: rstp(2) + + De waarde dot1dStpTopChanges.0 is twee + wat betekent dat de topologie van de STP-bridge twee maal + veranderd is, een topologieverandering houdt in dat + één of meerdere links in het netwerk zijn + veranderd of hebben gefaald en dat er een nieuwe boom is + berekend. De waarde + dot1dStpTimeSinceTopologyChange.0 laat zien + wanneer dit gebeurde. + + Om meerdere bridge-interfaces te monitoren kan men het + privé BEGEMOT-BRIDGE-MIB gebruiken: + + &prompt.user; snmpwalk -v 2c -c public bridge1.example.com +enterprises.fokus.begemot.begemotBridge +BEGEMOT-BRIDGE-MIB::begemotBridgeBaseName."bridge0" = STRING: bridge0 +BEGEMOT-BRIDGE-MIB::begemotBridgeBaseName."bridge2" = STRING: bridge2 +BEGEMOT-BRIDGE-MIB::begemotBridgeBaseAddress."bridge0" = STRING: e:ce:3b:5a:9e:13 +BEGEMOT-BRIDGE-MIB::begemotBridgeBaseAddress."bridge2" = STRING: 12:5e:4d:74:d:fc +BEGEMOT-BRIDGE-MIB::begemotBridgeBaseNumPorts."bridge0" = INTEGER: 1 +BEGEMOT-BRIDGE-MIB::begemotBridgeBaseNumPorts."bridge2" = INTEGER: 1 +... +BEGEMOT-BRIDGE-MIB::begemotBridgeStpTimeSinceTopologyChange."bridge0" = Timeticks: (116927) 0:19:29.27 centi-seconds +BEGEMOT-BRIDGE-MIB::begemotBridgeStpTimeSinceTopologyChange."bridge2" = Timeticks: (82773) 0:13:47.73 centi-seconds +BEGEMOT-BRIDGE-MIB::begemotBridgeStpTopChanges."bridge0" = Counter32: 1 +BEGEMOT-BRIDGE-MIB::begemotBridgeStpTopChanges."bridge2" = Counter32: 1 +BEGEMOT-BRIDGE-MIB::begemotBridgeStpDesignatedRoot."bridge0" = Hex-STRING: 80 00 00 40 95 30 5E 31 +BEGEMOT-BRIDGE-MIB::begemotBridgeStpDesignatedRoot."bridge2" = Hex-STRING: 80 00 00 50 8B B8 C6 A9 + + Om de bridge-interface die via de subboom + mib-2.dot1dBridge wordt gemonitord te + veranderen: + + &prompt.user; snmpset -v 2c -c private bridge1.example.com +BEGEMOT-BRIDGE-MIB::begemotBridgeDefaultBridgeIf.0 s bridge2 + + + + + + + Andrew + Thompson + Geschreven door + + + + + Verbindingsaggregatie en failover + + lagg + + failover + + fec + + lacp + + loadbalance + + roundrobin - * De bridge inschakelen + Introductie - Wordt nog vertaald + De interface &man.lagg.4; maakt het mogelijk om meerdere + netwerkinterfaces te aggregeren in één virtueel + interface voor het bieden van fout-tolerante en zeer snelle + verbindingen. - * Overige informatie + Werkmodi + + + + failover + + + Zendt en ontvangt verkeer alleen door de meesterpoort. + Wanneer de meesterpoort niet beschikbaar is, wordt de + volgende actieve poort gebruikt. De eerste toegevoegde + interface is de meesterpoort; alle interfaces die hierna + zijn toegevoegd worden gebruikt als failover-apparaten. + + + + + + fec + + + Ondersteunt Cisco EtherChannel. Dit is een statische + installatie en onderhandelt niet over aggregatie met de + peer noch wisselt het frames uit om de verbinding te + monitoren, indien de switch LACP ondersteunt dient dat + gebruikt te worden. + + Balanceert uitgaand verkeer over de actieve poorten + gebaseerd op gehashde informatie over protocolheaders en + accepteert inkomend verkeer van elke actieve poort. De + hash bevat het Ethernet bron- en doeladres, en indien + beschikbaar, de VLAN-tag, en de IPv4/IPv6 bron- en + doeladressen. + + + + + lacp + + + Ondersteunt het IEEE 802.3ad Link Aggregation Control + Protocol (LACP) en het Marker Protocol. LACP onderhandelt + met de peer over een verzameling aggregeerbare + verbindingen in een of meerdere Link Aggregated Groups. + Elke LAG is opgebouwd uit poorten die dezelfde snelheid + hebben, ingesteld op full-duplex werking. Het verkeer zal + over de poorten in de LAG gebalanceerd worden met de + hoogste totaalsnelheid, in de meeste gevallen zal er + slechts één LAG zijn die alle poorten bevat. + Wanneer er fysieke verbindingen veranderen, zal Link + Aggregation snel naar een nieuwe opstelling + convergeren. + + Balanceert uitgaand verkeer over de actieve poorten + gebaseerd op gehashde informatie over protocolheaders en + accepteert inkomend verkeer van elke actieve poort. De + hash bevat het Ethernet bron- en doeladres, en indien + beschikbaar, de VLAN-tag, en de IPv4/IPv6 bron- en + doeladressen. + + + + + loadbalance + + + Dit is een alias van de fec + modus. + + + + + roundrobin + + + Distribueert uitgaand verkeer door middel van een + round-robin scheduler over alle actieve poorten en + accepteert inkomend verkeer van elke actieve poort. Deze + modus schendt Ethernet frame-ordering en dient met zorg + gebruikt te worden. + + + + - Wordt nog vertaald + + Voorbeelden + + + LACP aggregatie met een Cisco switch + + Dit voorbeeld verbindt twee interfaces op een &os;-machine + met de switch als een enkele loadgebalanceerde en + fout-tolerante verbinding. Er kunnen meer interfaces worden + toegevoegd om de doorvoer en fouttolerantie te verhogen. + Aangezien frame-ordering verplicht is op Ethernetverbindingen + stroomt al het verkeer tussen twee stations altijd over + dezelfde fysieke verbinding zodat de maximum snelheid beperkt + wordt tot die van één interface. Het + verzendalgoritme probeert zoveel mogelijk informatie te + gebruiken voor het onderscheiden van verschillende + verkeersstromen en deze over de beschikbare interfaces te + balanceren. + + Voeg op de Cisco switch de interfaces aan de kanaalgroep + toe. + + interface FastEthernet0/1 + channel-group 1 mode active + channel-protocol lacp +! +interface FastEthernet0/2 + channel-group 1 mode active + channel-protocol lacp +! + + Maak op de &os;-machine de lagg-interface aan. + + &prompt.root; ifconfig lagg0 create +&prompt.root; ifconfig lagg0 up laggproto lacp laggport fxp0 laggport fxp1 + + Bekijk de interfacestatus van ifconfig; poorten die als + ACTIVE zijn gemarkeerd zijn lid van de + actieve aggregatiegroep waarover onderhandeld is met de verre + switch en waarover verkeer zal worden verzonden en ontvangen. + Gebruik de uitgebreide uitvoer van &man.ifconfig.8; om de + LAG-identifiers te bekijken. + + lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 + options=8<VLAN_MTU> + ether 00:05:5d:71:8d:b8 + media: Ethernet autoselect + status: active + laggproto lacp + laggport: fxp1 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING> + laggport: fxp0 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING> + + De switch zal laten zien welke poorten actief zijn. + Gebruik voor meer detail + show lacp neighbor detail. + + switch# show lacp neighbor +Flags: S - Device is requesting Slow LACPDUs + F - Device is requesting Fast LACPDUs + A - Device is in Active mode P - Device is in Passive mode + +Channel group 1 neighbors + +Partner's information: + + LACP port Oper Port Port +Port Flags Priority Dev ID Age Key Number State +Fa0/1 SA 32768 0005.5d71.8db8 29s 0x146 0x3 0x3D +Fa0/2 SA 32768 0005.5d71.8db8 29s 0x146 0x4 0x3D + + + + + Failover-modus + + Failover-modus kan worden gebruikt om op een ander + interface over te schakelen wanneer de verbinding op de + meester verloren is. + + &prompt.root; ifconfig lagg0 create +&prompt.root; ifconfig lagg0 up laggproto failover laggport fxp0 laggport fxp1 + + lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 + options=8<VLAN_MTU> + ether 00:05:5d:71:8d:b8 + media: Ethernet autoselect + status: active + laggproto failover + laggport: fxp1 flags=0<> + laggport: fxp0 flags=5<MASTER,ACTIVE> + + Het verkeer zal worden verzonden en ontvangen op + fxp0. Indien de verbinding op + fxp0 verloren is, zal + fxp1 de actieve verbinding worden. + Indien de verbinding op de meesterinterface hersteld is, zal + het weer de actieve verbinding worden. + - - Jean-François - Dockès - Geupdate door - + + Jean-François + Dockès + Bijgewerkt door + Alex Dupre Gereorganiseerd en uitgebreid door - * Diskloze operatie - - Wordt nog vertaald + Schijfloos werken + + schijfloos werkstation + + schijfloos werken + + Een &os;-machine kan over het netwerk opstarten en zonder een + plaatselijke schijf werken, door gebruik te maken van + bestandssystemen die van een NFS-server + aangekoppeld worden. Er zijn geen systeemwijzigingen nodig anders + dan de standaard instellingenbestanden. Dit soort systemen is + relatief eenvoudig op te zetten omdat alle noodzakelijke elementen + al aanwezig zijn: + + + + Er zijn minstens twee manieren om de kernel over het + netwerk te laden: + + + + PXE: De &intel; Preboot eXecution + Environment is een vorm een smart boot ROM dat in sommige + netwerkkaarten en moederborden is ingebouwd. Bekijk de + hulppagina &man.pxeboot.8; voor meer informatie. + + + + De poort Etherboot + (net/etherboot) maakt + code aan dat naar een ROM geschreven kan worden en dat + kernels over het netwerk opstart. De code kan + òfwel naar een opstart-PROM op een netwerkkaart + geflashed worden, òfwel van een floppy (of harde) + schijf geladen worden, òfwel van een draaiend + &ms-dos; systeem geladen worden. Vele netwerkkaarten + worden ondersteund. + + + + + + Een voorbeeldscript + (/usr/share/examples/diskless/clone_root) + vergemakkelijkt het aanmaken en beheren van het root + bestandssysteem van het werkstation op de server. Het kan + nodig zijn dat het script wat aangepast moet worden, maar het + zorgt voor een snelle start. + + + + Er bestaan standaardbestanden voor het opstarten van het + systeem in /etc om een systeemstart + zonder schijf te detecteren en te ondersteunen. + + + + Het gebruik van een wisselbestand, indien nodig, kan + worden gedaan naar òfwel een NFS + bestand òfwel naar een plaatselijke schijf. + + + + Er zijn vele manieren om een schijfloos werkstation op te + zetten. Hierbij zijn veel elementen betrokken, en vele kunnen aan + de eigen smaak worden aangepast. Het volgende beschrijft + variaties met betrekking tot het installeren van een compleet + systeem, waarbij de nadruk ligt op de eenvoud en de + compatibiliteit met de standaard opstartscripts van &os;. Het + beschreven systeem heeft de volgende eigenschappen: + + + + De schijfloze werkstations gebruiken een gedeeld + bestandssysteem voor /, dat alleen + gelezen kan worden, en een gedeeld bestandssysteem voor + /usr, dat eveneens alleen gelezen kan + worden. + + Het root-bestandssysteem is een kopie van een standaard + root-bestandssysteem voor &os; (typisch van een server), + waarbij enkele instellingenbestanden zijn overschreven door + versies die specifiek zijn voor een schijfloos systeem of, + mogelijk, door het werkstation horen waar ze bij horen. + + De delen van het root-bestandssysteem die beschrijfbaar + moeten zijn, zijn overdekt met &man.md.4; bestandssystemen. + Alle veranderingen gaan verloren indien het systeem opnieuw + wordt opgestart. + + + + De kernel is overgedragen en òfwel met + Etherboot òfwel met + PXE geladen, aangezien sommige situaties + het gebruik van één van de methodes kan eisen. + + + + + + Het systeem zoals hierboven beschreven is onveilig. Het + dient in een beschermd gebied van een netwerk te functioneren, en + niet vertrouwd te worden door andere hosts. + + + Alle informatie in deze sectie is getest met + &os; 5.2.1-RELEASE. - * Achtergrond informatie - - Wordt nog vertaald + Achtergrondinformatie + + Het installeren van schijfloze werkstations is zowel vrij + rechttoe-rechtaan als foutgevoelig. Deze fouten zijn soms + moeilijk vast te stellen wegens een aantal redenen. + Bijvoorbeeld: + + + + Opties die tijdens het compileren zijn opgegeven kunnen + verschillend gedrag tonen tijdens het draaien. + + + + Foutmeldingen zijn vaak cryptisch of geheel afwezig. + + + + Op dit gebied is het bezit van wat achtergrondkennis over de + gebruikte mechanismen zeer nuttig om mogelijke problemen op te + lossen. + + Voor een succesvol opstarten dienen verschillende + handelingen uitgevoerd te worden: + + + + De machine moet een aantal initiële parameters + zoals het IP-adres, de bestandsnaam van de executable, de + naam van de server, en het root-pad verkrijgen. Dit wordt + gedaan door gebruik te maken van de DHCP + of BOOTP protocollen. DHCP is een + compatible uitbreiding van BOOTP, het gebruikt dezelfde + poorten en het pakketformaat heeft dezelfde basis. + + Het is mogelijk om een systeem in te stellen zodat het + alleen BOOTP gebruikt. Het serverprogramma &man.bootpd.8; + wordt met het basissysteem van &os; meegeleverd. + + DHCP biedt echter een aantal + voordelen boven BOOTP (fijnere instellingenbestanden, + mogelijkheid om PXE te gebruiken, en vele + anderen die niet direct verband houden met schijfloos + werken), er zal hoofdzakelijk een opstelling met + DHCP worden beschreven, met analoge + voorbeelden voor &man.bootpd.8; indien mogelijk. De + voorbeeldopstelling zal het softwarepakket van + ISC DHCP gebruiken (versie + 3.0.1.r12 was geïnstalleerd op de testserver). + + + + De machine moet één of meerdere + programma's naar het plaatselijke geheugen versturen. + Eén van TFTP of + NFS wordt gebruikt. De keuze tussen + TFTP en NFS is op + verschillende plaatsen een optie tijdens het compileren. + Een veelgemaakte fout is het opgeven van bestandsnamen voor + het verkeerde protocol: TFTP verstuurd + typisch alle bestanden vanuit één map op de + server, en verwacht dat alle bestandsnamen relatief aan + deze map zijn; NFS verwacht absolute + bestandspaden. + + + + De mogelijke tussentijdse opstartprogramma's en de + kernel dienen geïnitialiseerd en uitgevoerd te worden. + Er zijn enkele belangrijke variaties op dit gebied: + + + + PXE zal &man.pxeboot.8; laden, + wat een aangepaste versie is van de lader voor stage + drie van &os;. &man.loader.8; zal de meeste parameters + verkrijgen die noodzakelijk zijn om het systeem op te + starten, en zal ze in de kernelomgeving laten staan + voordat het de controle overdraagt. Het is in dit geval + mogelijk om een GENERIC kernel te + gebruiken. + + + + Etherboot zal met minder + voorbereiding direct de kernel laden. Hiervoor is het + noodzakelijk om een kernel met specifieke opties te + bouwen. + + + + PXE en + Etherboot werken beide even goed; + echter, omdat kernels normaalgesproken meer werk overlaten + aan &man.loader.8;, is PXE de te + verkiezen methode. + + Indien het BIOS en de netwerkkaarten + PXE ondersteunen, dient dat + waarschijnlijk gebruikt te worden. + + + + Tenslotte: de machine heeft toegang tot de + bestandssystemen nodig. NFS wordt in + alle gevallen gebruikt. + + + + Zie ook de hulppagina &man.diskless.8;. - * Installatie instructies - - Wordt nog vertaald + Installatie-instructies - * Configuratie door gebruik van + <title>Instellen met behulp van <application>ISC DHCP</application> - Wordt nog vertaald + + DHCP + + schijfloos werken + + + De ISC DHCP server kan zowel + verzoeken voor BOOTP als DHCP + beantwoorden. + + ISC DHCP 3.0 maakt geen deel + uit van het basissysteem. Eerst dient de poort net/isc-dhcp3-server of het + corresponderende pakket geïnstalleerd te worden. + + Wanneer ISC DHCP is + geïnstalleerd, heeft het een instellingenbestand nodig om + te draaien (normaliter + /usr/local/etc/dhcpd.conf genoemd). + Hieronder volgt een voorbeeld met commentaar, waarbij host + margaux gebruik maakt van + Etherboot en + corbieres gebruik maakt van + PXE: + + +default-lease-time 600; +max-lease-time 7200; +authoritative; + +option domain-name "example.com"; +option domain-name-servers 192.168.4.1; +option routers 192.168.4.1; + +subnet 192.168.4.0 netmask 255.255.255.0 { + use-host-decl-names on; + option subnet-mask 255.255.255.0; + option broadcast-address 192.168.4.255; + + host margaux { + hardware ethernet 01:23:45:67:89:ab; + fixed-address margaux.example.com; + next-server 192.168.4.4; + filename "/data/misc/kernel.diskless"; + option root-path "192.168.4.4:/data/misc/diskless"; + } + host corbieres { + hardware ethernet 00:02:b3:27:62:df; + fixed-address corbieres.example.com; + next-server 192.168.4.4; + filename "pxeboot"; + option root-path "192.168.4.4:/data/misc/diskless"; + } +} + + + + + Deze optie vertelt dhcpd + om de waarde die in de verklaringen voor + host staan te versturen als de hostnaam + voor de schijfloze host. Een andere mogelijkheid is om + option + host-name margaux + binnen de verklaringen voor host op te + nemen. + + + + De aanwijzing next-server bepaalt + de TFTP of NFS + server die gebruikt moet worden voor het laden van het + lader- of kernelbestand (standaard wordt dezelfde host als + voor de DHCP-server gebruikt). + + + + De aanwijzing filename bepaalt het + bestand dat Etherboot of + PXE gebruikt voor de volgende + uitvoerstap. Het dient gespecificeerd te worden volgens + de gebruikte verzendmethode. Voor + Etherboot kan tijdens het + compileren worden opgegeven of het NFS + of TFTP moet gebruiken. De &os;-poort + stelt standaard NFS in. + PXE gebruikt TFTP, + vandaar dat hier een relatieve bestandsnaam wordt gebruikt + (dit kan afhangen van de instellingen van de + TFTP-server, maar het is de gewoonte). + Verder geldt dat PXE + pxeboot en niet de kernel laadt. Er + zijn andere interessante mogelijkheden, zoals het laden + van pxeboot vanuit de map /boot van een &os; CD-ROM + (aangezien &man.pxeboot.8; de GENERIC + kernel kan laden, bestaat de mogelijkheid om + PXE te gebruiken om van een CDROM op + afstand op te starten. + + + + De optie root-path definieert het + pad naar het root-bestandssysteem, in de gebruikelijke + notatie van NFS. Indien + PXE gebruikt wordt, is het mogelijk om + het IP-adres van de host weg te laten zolang de + kerneloptie BOOTP niet geactiveerd is. De + NFS-server is dan dezelfde als die van + TFTP. + + - * Configuratie door gebruik van BOOTP - - Wordt nog vertaald + Configuratie door gebruik van BOOTP + + + BOOTP + + schijfloos werken + + + Hieronder staan de equivalente instellingen voor + bootpd (gereduceerd tot + één cliënt). Dit staat in + /etc/bootptab. + + Merk op dat Etherboot + gecompileerd dient te worden met de afwijkende optie + NO_DHCP_SUPPORT om BOOTP te gebruiken, en + dat PXE DHCP + nodig heeft. Het enige duidelijke + voordeel van bootpd is dat het in + het basissysteem zit. + + +.def100:\ + :hn:ht=1:sa=192.168.4.4:vm=rfc1048:\ + :sm=255.255.255.0:\ + :ds=192.168.4.1:\ + :gw=192.168.4.1:\ + :hd="/tftpboot":\ + :bf="/kernel.diskless":\ + :rp="192.168.4.4:/data/misc/diskless": + +margaux:ha=0123456789ab:tc=.def100 + - * Een bootprogramma voorbereiden met + <title>Een opstartprogramma voorbereiden met <application>Etherboot</application> - Wordt nog vertaald + Etherboot + + De website + van Etherboot bevat + uitgebreide documentatie die over het algemeen is + bedoeld voor Linux-systemen, maar die desalniettemin bruikbare + informatie bevat. Het volgende geeft een samenvatting over + hoe Etherboot op een &os;-systeem + te gebruiken. + + Ten eerste dient het pakket of de poort net/etherboot geïnstalleerd + te worden. + + De instellingen van Etherboot + (i.e. om TFTP in plaats van + NFS te gebruiken) kunnen gewijzigd worden + door het bestand Config in de bronmap van + Etherboot te bewerken. + + Hieronder zal een opstartdiskette gebruikt worden. + Raadpleeg voor andere methoden (PROM, of een + &ms-dos;-programma) de documentatie van + Etherboot. + + Om een opstartdiskette te maken, dient er een diskette in + het diskettestation van de machine aanwezig te zijn waarop + Etherboot is geïnstalleerd, + daarna dient er naar de map src in de + mapboom van Etherboot gegaan te + worden, en het volgende ingetypt te worden: + + &prompt.root; gmake bin32/apparaatsoort.fd0 + + apparaatsoort hangt af van het + soort Ethernetkaart dat in het schijfloze werkstation + aanwezig is. Raadpleeg het bestand NIC + in dezelfde map om het juiste + apparaatsoort te bepalen. - * Opstarten met <acronym>PXE</acronym> - - Wordt nog vertaald + Opstarten met <acronym>PXE</acronym> + + Standaard laadt de lader &man.pxeboot.8; de kernel via + NFS. Het kan zodanig gecompileerd worden + dat het TFTP gebruikt door de optie + LOADER_TFTP_SUPPORT in + /etc/make.conf te specificeren. + Raadpleeg het commentaar in + /usr/share/examples/etc/make.conf + voor instructies. + + Er zijn nog twee andere opties voor + make.conf die nuttig kunnen zijn bij het + opzetten van een schijfloze machine die als seriële + console gebruikt wordt: + BOOT_PXELDR_PROBE_KEYBOARD, en + BOOT_PXELDR_ALWAYS_SERIAL. + + Om PXE bij het opstarten van de machine + te gebruiken, is het gewoonlijk nodig om de optie + Boot from network in het + BIOS te selecteren, of om een functietoets + tijdens de initialisatie van de PC in te typen. - * De <acronym>TFTP</acronym> en <acronym>NFS</acronym> - servers configureren - - Wordt nog vertaald + De <acronym>TFTP</acronym> en <acronym>NFS</acronym> + servers instellen + + + TFTP + + schijfloos werken + + + + NFS + + schijfloos werken + + + Indien PXE of + Etherboot gebruikt wordt, welke is + ingesteld om TFTP te gebruiken, is het + nodig om om tftpd op de + bestandsserver aan te zetten: + + + + Maak een map aan van waaruit + tftpd de bestanden serveert, + bijvoorbeeld /tftpboot. + + + + Voeg deze regel toe aan + /etc/inetd.conf: + + tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -s /tftpboot + + + Het schijnt dat sommige versies van + PXE de TCP-versie + van TFTP vereisen. In dit geval + dient een tweede regel toegevoegd te worden, waarbij + dgram udp door + stream tcp vervangen wordt. + + + + + inetd dient de + instellingenbestanden opnieuw te lezen. De regel + dient in het bestand + /etc/rc.conf aanwezig te zijn voor de + juiste werking van deze opdracht: + + &prompt.root; /etc/rc.d/inetd restart + + + + De map tftpboot kan overal op de + server geplaatst worden. De plaats dient zowel in + inetd.conf als in + dhcpd.conf ingesteld te worden. + + In alle gevallen dient er ook voor gezorgd te worden dat + NFS aanstaat en dat het juiste + bestandssysteem op de NFS-server + geëxporteerd wordt. + + + + Voeg het volgende toe aan + /etc/rc.conf: + + nfs_server_enable="YES" + + + + Exporteer het bestandssysteem waar de schijfloze + root-map zich bevindt door het volgende aan + /etc/exports toe te voegen (pas het + aankoppelpunt van het volume aan en vervang + margaux corbieres door de namen + van de schijfloze werkstations): + + /data/misc -alldirs -ro margaux corbieres + + + + mountd dient het + instellingenbestand opnieuw te lezen. Indien het nodig + was om NFS in + /etc/rc.conf + tijdens de eerste stap aan te zetten, is het + waarschijnlijk gewenst om in plaats hiervan opnieuw op te + starten. + + &prompt.root; /etc/rc.d/mountd restart + + - * Een diskloze kernel bouwen - - Wordt nog vertaald + Een schijfloze kernel bouwen + + + schijfloos werken + + kernelinstellingen + + + Indien Etherboot gebruikt wordt, + is het nodig om een kernelinstellingenbestand voor de + schijfloze cliënt met de volgende opties (naast de + gebruikelijke) aan te maken: + + +options BOOTP # Gebruik BOOTP om het IP-adres en de hostnaam te verkrijgen +options BOOTP_NFSROOT # NFS-mount het root-bestandssysteem door gebruik te maken van de informatie van BOOTP + + + Het kan ook gewenst zijn om BOOTP_NFSV3, + BOOT_COMPAT, en + BOOTP_WIRED_TO te gebruiken (raadpleeg + hiervoor NOTES). + + De namen van deze opties zijn historisch en enigszins + misleidend aangezien ze eigenlijk onverschillig gebruik van + DHCP en BOOTP in de kernel mogelijk maken + (het is ook mogelijk om strikt gebruik van BOOTP of + DHCP te forceren). + + De kernel dient gebouwd te worden (zie ) en gekopieerd te worden naar de + plaats die in dhcpd.conf is + aangegeven. + + + Indien PXE gebruikt wordt, is het + bouwen van een kernel met bovenstaande opties niet strikt + noodzakelijk (maar wel aangeraden). Door deze opties aan te + zetten zullen er meer verzoeken voor DHCP + tijdens het opstarten van de kernel verstuurd worden, met in + sommige speciale gevallen een klein risico op inconsistentie + tussen de nieuwe waarden en degenen die door &man.pxeboot.8; + zijn ontvangen. Het voordeel van het gebruik van deze + opties is dat de hostnaam als een bijverschijnsel wordt + ingesteld. In de andere gevallen dient de hostnaam op een + andere manier ingesteld te worden, bijvoorbeeld in een + cliënt-specifiek bestand + rc.conf. + + + + Om laadbaar te zijn met + Etherboot, dienen de + apparaataanwijzingen in de kernel gecompileerd te worden. + Normaalgesproken wordt hiervoor de volgende optie in het + instellingenbestand gebruikt (zie het + instellingencommentaarbestand + NOTES): + + hints "GENERIC.hints" + - * Het root bestandssysteem voorbereiden + Het root-bestandssysteem voorbereiden - Wordt nog vertaald + + root-bestandssysteem - - * Het <filename>clone_root</filename> script gebruiken + schijfloos werken + - Wordt nog vertaald - + Er dient een root-bestandssysteem voor de schijfloze + werkstations op de plaats die als root-path + in dhcpd.conf staat aangegeven aangemaakt + te worden. - * De standaard <command>make world</command> - procedure gebruiken - - Wordt nog vertaald + <command>make world</command> gebruiken om het + root-bestandssysteem te bevolken + + Deze methode is snel en installeert een compleet + maagdelijk systeem (niet alleen het root-bestandssysteem) in + DESTDIR. Hiervoor dient slechts het volgende + script uitgevoerd te worden: + + #!/bin/sh +export DESTDIR=/data/misc/diskless +mkdir -p ${DESTDIR} +cd /usr/src; make buildworld && make buildkernel +cd /usr/src/etc; make distribution + + Nadat dit gedaan is, kunnen + /etc/rc.conf en + /etc/fstab die in + DESTDIR geplaatst zijn naar behoefte worden + aangepast. - * Swapruimte configureren + Swapruimte instellen - Wordt nog vertaald + Indien nodig kan een wisselbestand dat zich op de server + bevindt via NFS worden benaderd. - * <acronym>NFS</acronym> swapruimte met - &os; 4.X + Swapruimte via <acronym>NFS</acronym> - Wordt nog vertaald - + De kernel biedt geen ondersteuning om swapruimte via + NFS tijdens het opstarten aan te zetten. + De swapruimte moet door de opstartscripts worden aangezet, + door een beschrijfbaar bestandssysteem aan te koppelen en + een wisselbestand aan te maken en aan te zetten. De + volgende opdracht maakt een wisselbestand van de juiste + grootte aan: - - * <acronym>NFS</acronym> swapruimte met - &os 5.X + &prompt.root; dd if=/dev/zero of=/pad/naar/wisselbestand bs=1k count=1 oseek=100000 + + Om het aan te zetten dient de volgende regel aan + /etc/rc.conf te worden + toegevoegd: - Wordt nog vertaald - + swapfile=/pad/naar/wisselbestand + - * Diverse problemen - - Wordt nog vertaald + Diverse problemen - * Draaien met een alleen-lezen + <title>Draaien met een alleen-lezen <filename>/usr</filename> - Wordt nog vertaald + + schijfloos werken + + /usr alleen-lezen + + + Indien het schijfloze werkstation is ingesteld om X te + draaien, is het nodig om het instellingenbestand van + XDM te wijzigen, dat standaard + het foutenlogboek in /usr + plaatst. - * Gebruik maken van een niet &os; server - - Wordt nog vertaald + Gebruik maken van een niet-&os;-server + + Indien de server voor het root-bestandssysteem geen &os; + draait, is het nodig om het root-bestandssysteem op een + &os;-machine aan te maken, en het daarna naar de bestemming + te kopiëren, door gebruik te maken van + tar of cpio. + + In deze situatie zijn er af en toe problemen met de + speciale bestanden in /dev, vanwege + verschillen in de groottes van grote/kleine integers. Een + oplossing voor dit probleem is om een map van de + niet-&os;-server te exporteren, deze map op een &os;-machine + aan te koppelen, en &man.devfs.5; te gebruiken om de + apparaatknooppunten transparant voor de gebruiker toe te + wijzen. - * ISDN + ISDN + + ISDN + + Een goede bron voor informatie over de technologie van en + hardware over ISDN is + Dan Kegel's + ISDN Page. + + Hieronder staat een snelle eenvoudige handleiding voor + ISDN: + + + + Indien u in Europa leeft is het raadzaam om de sectie over + ISDN-kaarten te bestuderen. + + + + Indien het plan is om ISDN hoofdzakelijk te gebruiken om + via een niet-toegewijde inbellijn een verbinding met het + Internet te maken, zijn Terminal Adapters wellicht een optie. + Dit biedt de meeste flexibiliteit, en de minste problemen bij + het wisselen van providers. + + + + Indien twee LANs met elkaar verbonden worden, of indien er + een toegewijde ISDN-verbinding wordt gebruikt om met het + Internet te verbinden, is het gebruik van een zelfstandige + router/bridge te overwegen. + + + + Financiële kosten zijn een belangrijke factor in de + uiteindelijke oplossing. De volgende opties zijn gesorteerd in + volgorde van oplopende kosten. - - - Hellmuth - Michaelis - Bijgedragen door - - + + + Hellmuth + Michaelis + Bijgedragen door + + - * ISDN kaarten - - Wordt nog vertaald + ISDN-kaarten + + + ISDN + + kaarten + + + De ISDN-implementatie in &os; biedt alleen ondersteuning + voor de DSS1/Q.931 (of Euro-ISDN) standaard indien passieve + kaarten gebruikt worden. Sommige actieve kaarten worden + ondersteund indien de firmware ook ondersteuning voor andere + signaleringsprotocollen biedt; dit omvat ook de eerst + ondersteunde Primary Rate (PRI) ISDN-kaart. + + De isdn4bsd-software biedt de + mogelijkheid om met andere ISDN-routers te verbinden door + òfwel IP over rauwe HDLC òfwel synchrone PPP te + gebruiken: òfwel via kernel-PPP met + isppp, een aangepast stuurprogramma voor + &man.sppp.4;, òfwel via het gebruikersprogramma + &man.ppp.8;. Door het gebruikersprogramma &man.ppp.8; te + gebruiken, is het combineren van twee of meer ISDN B-kanalen + mogelijk. Ook zijn een toepassing die de telefoon beantwoordt + en vele gereedschappen zoals een 300 Baud-modem in software + beschikbaar. + + Een groeiend aantal ISDN-kaarten voor de PC wordt door &os; + ondersteund en volgens de rapportages wordt het succesvol in + heel Europa en in vele andere delen van de wereld + gebruikt. + + De ondersteunde passieve ISDN-kaarten zijn meestal uitgerust + met de Infineon (voormalig Siemens) ISAC/HSCX/IPAC ISDN-chipsets, + maar ook worden ISDN-kaarten ondersteund met chips van Cologne + Chip (alleen ISA-bus), PCI-kaarten met Winbond W6692-chips, + enkele kaarten met combinaties van Tiger300/320/ISAC chipsets en + enkele kaarten die gebaseerd zijn op fabrikantspecifieke + chipsets zoals de AVM Fritz!Card PCI V.1.0 en de AVM Fritz!Card + PnP. + + Momenteel zijn de actieve ISDN-kaarten die ondersteund + worden de AVM B1 (ISA en PCI) BRI-kaarten en de AVM T1 PCI + PRI-kaarten. + + Kijk voor documentatie over + isdn4bsd in de map + /usr/share/examples/isdn op het + &os;-systeem of op de homepage van + isdn4bsd, welke ook verwijzingen naar tips, errata, en + veel meer documentatie zoals het isdn4bsd handboek + bevat. + + Indien er interesse is om ondersteuning voor een ander + ISDN-protocol, een momenteel niet-ondersteunde ISDN-kaart voor + de PC, of een andere verbetering voor + isdn4bsd toe te voegen, dient er + contact opgenomen te worden met &a.hm;. + + Voor vragen over het installeren, instellen, en problemen + met isdn4bsd oplossen is er een + mailinglijst, &a.isdn.name;, beschikbaar. - * ISDN Terminal Adapters - - Wordt nog vertaald + ISDN Terminal Adapters + + Terminal adapters (TA) zijn voor ISDN wat modems voor gewone + telefoonlijnen zijn. + + modem + + De meeste TA's gebruiken de standaard opdrachtenverzameling + van de Hayes-modem, en kunnen direct als vervanging van een + modem gebruikt worden. + + Een TA zal als een gewoon modem werken behalve dat de + verbindings- en doorvoersnelheden veel hoger zullen zijn dan van + het oude modem. Het is noodzakelijk om PPP precies hetzelfde als voor het modem + in te stellen. Zorg ervoor dat de seriële snelheid zo hoog + mogelijk wordt ingesteld. + + PPP + + Het grootste voordeel van met een TA met een + internetprovider te verbinden is de mogelijkheid tot dynamisch + PPP. Aangezien IP-adresruimte steeds schaarser wordt, zijn de + meeste providers niet meer bereid om een statisch IP te geven. + De meeste zelfstandige routers zijn niet in staat tot dynamische + IP-toewijzing. + + TA's zijn geheel afhankelijk van het PPP-daemon dat gedraaid + wordt voor hun mogelijkheden en stabiliteit van de verbinding. + Dit maakt het mogelijk om gemakkelijk om op een &os;-machine van + een modem naar ISDN over te gaan, indien PPP reeds is ingesteld. + Echter, dezelfde problemen die er waren met het PPP-programma + zullen blijven voorkomen. + + Indien maximale stabiliteit gewenst is, dient de kernel + PPP-, niet de gebruikers-PPP-optie gebruikt te + worden. + + Van de volgende TA's is bekend dat ze met &os; werken: + + + + Motorola BitSurfer en BitSurfer Pro + + + + Adtran + + + + De meeste andere TA's zullen waarschijnlijk ook werken, + TA-verkopers proberen er zeker van te zijn dat hun product het + meeste van de AT-opdrachtverzameling van het standaardmodem + accepteert. + + Het echte probleem met externe TA's is dat, net zoals bij + modems, een goede seriële kaart in de computer nodig + is. + + Voor een goed begrip van seriële apparaten dient de + tutorial &os; + Serial Hardware en de verschillen tussen asynchrone en + synchrone seriële poorten gelezen te worden. + + Een TA die op een standaard seriële poort (asynchroon) + van een PC draait beperkt de snelheid tot 115.2 Kbps, zelfs + als er een 128 Kbps-verbinding beschikbaar is. Om de + volledige 128 Kbps waartoe ISDN in staat is te gebruiken, + dient de TA op een synchrone seriële kaart overgeplaatst te + worden. + + Het kopen van een interne TA voorkomt het probleem van + synchroon/asynchroon niet. Interne TA's hebben simpelweg een + seriële poortchip van een standaard PC ingebouwd. Dit + ontlast de gebruiker alleen van het kopen van nog een + seriële kabel en het vinden van nog een leeg elektronisch + uitbreidingsslot. + + Een synchrone kaart met een TA is minstens zo snel als een + zelfstandige router, en wanneer het door een eenvoudige + 386 met &os; erop wordt aangestuurd, waarschijnlijk + flexibeler. + + De keuze tussen synchrone kaart/TA en zelfstandige router is + grotendeels religieus. Hierover zijn wat discussies in de + mailinglijsten gevoerd. Het wordt aangeraden om de archieven te + doorzoeken voor de volledige discussie. - * Stand-alone ISDN Bridges/Routers - - Wordt nog vertaald + Zelfstandige ISDN bridges/routers + + + ISDN + + zelfstandige bridges/routers + + + ISDN-bridges of -routers zijn in het geheel niet specifiek + voor &os; of enig ander besturingssysteem. Raadpleeg voor een + volledigere beschrijving van de technologie van routing en + bridging een referentieboek over netwerken. + + In deze sectie zullen de termen router en bridge door elkaar + worden gebruikt. + + Aangezien de prijzen van eenvoudige ISDN-routers/-bridges + zakken, zal dit waarschijnlijk een steeds populairdere keuze + worden. Een ISDN-router is en kleine doos die direct in het + plaatselijke Ethernetnetwerk geprikt wordt, en zijn eigen + verbinding met de andere bridge/router beheert. Het heeft + ingebouwde software om via PPP en andere populaire protocollen + te communiceren. + + Een router staat veel snellere doorvoer dan een standaard-TA + toe, aangezien het een volledig synchrone ISDN-verbinding zal + gebruiken. + + Het grootste probleem met ISDN-routers en -bridges is dat + samenwerking tussen fabrikanten nog steeds een probleem kan zijn. + Indien er plannen zijn om met een internetprovider te verbinden, + is het raadzaam de wensen met hen te bespreken. + + Indien er gepland is om twee LAN-segmenten met elkaar te + verbinden, zoals het thuis-LAN en het kantoor-LAN, is dit de + eenvoudigste en onderhoudarmste oplossing. Aangezien de + apparatuur voor beide kanten van de verbinding wordt gekocht is + het zeker dat de verbinding zal werken. + + De volgende installatie kan worden gebruikt om bijvoorbeeld + een thuiscomputer of een netwerk van een afdelingskantoor met + een netwerk van het hoofdkantoor te verbinden: + + + Netwerk van afdelingskantoor of thuis + + 10 base 2 + + Het netwerk gebruikt een topologie gebaseerd op een bus + met een 10 base 2 Ethernet (thinnet). Verbind + indien nodig de router met de netwerkkabel met een AUI/10BT + transceiver. + + + + + + + + ---Sun werkstation +| +---FreeBSD computer +| +---Windows 95 +| +Zelfstandige router + | +ISDN BRI lijn + + + + 10 Base 2 Ethernet + + + + Wanneer het thuis-/afdelingskantoornetwerk uit slechts + één computer bestaat kan een twisted-pair + crossover-kabel gebruikt worden om direct met de zelfstandige + router te verbinden. + + + + Hoofdkantoor- of ander LAN + + 10 base T + + Het netwerk gebruikt een stertopologie met 10 base T + Ethernet (Twisted Pair). + + + + + + + + -------Novell Server + | H | + | ---Sun + | | + | U ---FreeBSD + | | + | ---Windows 95 + | B | + |___---Zelfstandige router + | + ISDN BRI lijn + + + + ISDN Netwerkdiagram + + + + + Een groot voordeel van de meeste routers/bridges is dat ze + gelijktijdig 2 gescheiden + onafhankelijke PPP-verbindingen met 2 gescheiden + sites toestaan. Dit wordt door de meeste TA's niet ondersteund, + behalve voor specifieke (gewoonlijk dure) modellen die twee + seriële poorten hebben. Dit dient niet met kanaalbinding, + MPP, etc. verward te worden. + + Dit kan een erg handige eigenschap zijn indien, bijvoorbeeld, + er een toegewijde ISDN-verbinding op kantoor is en het gewenst + is om deze af te tappen, maar een andere ISDN-lijn op het werk + ongewenst is. Een router op kantoor kan een toegewijde B-kanaal + verbinding (64 Kbps) met het Internet beheren en het andere + B-kanaal voor een gescheiden gegevensverbinding gebruiken. Het + tweede B-kanaal kan voor inbellen, uitbellen, of dynamisch + binden (MPP, etc.) gebruikt worden met het eerste B-kanaal voor + meer bandbreedte. + + IPX/SPX + + Een Ethernet-bridge staat ook toe om meer dan alleen + IP-verkeer te verzenden. Het is ook mogelijk om IPX/SPX of + enig ander protocol te gebruiken. - - Chern - Lee - Bijgedragen door - + + Chern + Lee + Bijgedragen door + - * Network Address Translation (NAT) - - Wordt nog vertaald + Network Address Translation - * Overzicht + Overzicht + + + natd + + + Het Network Address Translation daemon van &os;, in het + algemeen bekend als &man.natd.8;, is een daemon dat rauwe + binnenkomende IP-pakketten accepteert, de bron naar die van de + plaatselijke machine verandert en de pakketten terug in de + uitgaande IP-pakketstroom injecteert. &man.natd.8; doet dit + door het IP-adres en de poort van de bron zo te veranderen dat + wanneer de gegevens weer ontvangen worden, het in staat is om + de originele plaats van de gegevens te achterhalen en ze door + te sturen naar de originele aanvrager. + + Internetverbinding delen - Wordt nog vertaald + NAT + + NAT wordt het meest gebruikt wat in het algemeen bekend is + als het delen van een Internetverbinding. - * Installatie - - Wordt nog vertaald + Installatie + + Wegens de krimpende IP-ruimte in IPv4, en het groeiend + aantal gebruikers van consumentenlijnen op hoge snelheid zoals + kabel of DSL, hebben steeds meer mensen een oplossing als het + delen van een Internetverbinding nodig. Vanwege de mogelijkheid + om meerdere computers online te verbinden door één + verbinding en IP-adres is &man.natd.8; een redelijke keuze. + + + In de meeste gevallen heeft een gebruiker een machine + verbonden met een kabel- of DSL-lijn met één + IP-adres en is het gewenst om deze ene verbonden computer te + gebruiken om Internettoegang aan meerdere computers over een LAN + te geven. + + Hiervoor dient de &os;-machine op het Internet dienst doen + als gateway. Deze gateway-machine heeft twee NICs nodig — + één voor de verbinding met de Internetrouter, de + andere voor de verbinding met het LAN. Alle machines op het LAN + zijn verbonden door een hub of switch. + + + Er zijn vele manieren om een LAN via een &os;-gateway met + het Internet te verbinden. Dit voorbeeld behandelt slechts + een gateway met tenminste twee NICs. + + + + + + + + + _______ __________ ________ + | | | | | | + | Hub |-----| Client B |-----| Router |----- Internet + |_______| |__________| |________| + | + ____|_____ +| | +| Client A | +|__________| + + + + Netwerkschema + + + + Dit soort installaties wordt in het algemeen gebruikt om een + Internetverbinding te delen. Eén van de + LAN-machines is verbonden met het Internet. + De rest van de machines hebben internettoegang via die + gateway-machine. - * Configuratie - - Wordt nog vertaald + + kernel + + instellingen + + + Configuratie + + De volgende opties dienen in het kernelinstellingenbestand + aanwezig te zijn: + + options IPFIREWALL +options IPDIVERT + + De volgende opties kunnen naar eigen inzicht worden + toegevoegd: + + gateway_enable="YES" +firewall_enable="YES" +firewall_type="OPEN" +natd_enable="YES" +natd_interface="fxp0" +natd_flags="" + + + + Stelt de machine in om dienst te doen als gateway. Het + draaien van + sysctl net.inet.ip.forwarding=1 heeft + hetzelfde effect. + + + + Activeert de firewall-regels in + /etc/rc.firewall tijdens het opstarten. + + + + + Dit specificeert een vooraf gedefinieerde verzameling + van firewall-regels die alles binnenlaat. Raadpleeg + /etc/rc.firewall voor aanvullende + types. + + + + Geeft aan welke interface te gebruiken om pakketten naar + door te sturen (de interface die met het Internet verbonden + is). + + + + Alle aanvullende instelopties die tijdens het opstarten + aan &man.natd.8; worden doorgegeven. + + + + Het gedefinieerd hebben van de bovenstaande opties in + /etc/rc.conf zal natd -interface + fxp0 draaien tijdens het opstarten. Dit kan ook + handmatig worden gedraaid. + + + Het is ook mogelijk om een instellingenbestand voor + &man.natd.8; te gebruiken als er teveel opties zijn om door te + geven. In dit geval dient het instellingenbestand te worden + gedefinieerd door de volgende regel aan + /etc/rc.conf toe te voegen: + + natd_flags="-f /etc/natd.conf" + + Het bestand /etc/natd.conf zal een + lijst met instelopties bevatten, één per regel. + Het geval in de volgende sectie bijvoorbeeld zal het volgende + bestand gebruiken: + + redirect_port tcp 192.168.0.2:6667 6667 +redirect_port tcpc 192.168.0.3:80 80 + + Raadpleeg voor meer informatie over het + instellingenbestand het gedeelte over de optie + van de hulppagina &man.natd.8;. + + + Elke machine en interface achter het LAN dient een IP-adres + in de privé-netwerkruimte toegewezen te krijgen zoals + gedefinieerd in RFC 1918 + en een standaard gateway van het interne IP-adres van de + natd-machine hebben. + + Bijvoorbeeld, cliënt A en + B achter het LAN hebben IP-adressen 192.168.0.2 en 192.168.0.3, terwijl de LAN-interface + van de natd-machine IP-adres 192.168.0.1 heeft. De standaard + gateway van van cliënt A en + B dient ingesteld te worden op die van de + natd-machine, 192.168.0.1. Voor de externe, of + Internet-interface van de + natd-machine zijn geen speciale + wijzigingen nodig om &man.natd.8; te laten werken. - * Poorten opnieuw toewijzen - - Wordt nog vertaald + Poorten omleiden + + Het nadeel van &man.natd.8; is is dat de LAN-cliënten + niet vanaf het Internet toegankelijk zijn. Cliënten op het + LAN kunnen uitgaande verbinden naar de wereld maken maar kunnen + geen inkomende verbindingen ontvangen. Dit vormt een probleem + wanneer geprobeerd wordt om Internetdiensten op een van de + LAN-cliëntmachines te draaien. Een eenvoudige om dit te + omzeilen is om bepaalde Internetpoorten op de + natd-machine om te leiden naar een + LAN-cliënt. + + Bijvoorbeeld, er draait een IRC-server op cliënt + A, en er draait een webserver op cliënt + B. Om dit goed te laten werken, dienen + verbindingen die worden ontvangen op poorten 6667 (IRC) en 80 + (web) te worden omgeleid naar de respectievelijke + machines. + + De optie dient aan + &man.natd.8; met de juiste opties te worden doorgegeven. De + syntaxis is als volgt: + + -redirect_port proto doelIP:doelPOORT[-doelPOORT] + [aliasIP:]aliasPOORT[-aliasPOORT] + [verIP[:verrePOORT[-verrePOORT]]] + + In het bovenstaand voorbeeld dienen de argumenten te + zijn: + + -redirect_port tcp 192.168.0.2:6667 6667 +-redirectport tcp 192.168.0.3:80 80 + + Dit zal de juiste tcp-poorten naar de + LAN-cliënt-machines omleiden. + + Het argument kan worden + gebruikt om poortbereiken over individuele poorten aan te geven. + Bijvoorbeeld, tcp 192.168.0.2:2000-3000 + 2000-3000 zal alle verbindingen die op poorten + 2000 tot 3000 worden ontvangen omleiden naar poorten 2000 tot + 3000 op cliënt A. + + Deze opties kunnen worden gebruikt wanneer &man.natd.8; + direct wordt gedraaid, wanneer ze zijn geplaatst in de optie + natd_flags="" van + /etc/rc.conf, of wanneer ze via een + instellingenbestand worden doorgegeven. + + Raadpleeg voor meer instelopties &man.natd.8;. - * Adressen opnieuw toewijzen - - Wordt nog vertaald + Adressen omleiden + + adressen omleiden + + Adressen omleiden is handig wanneer er verschillende + IP-adressen beschikbaar zijn, maar ze op één + machine moeten zitten. Hiermee kan &man.natd.8; aan elke + LAN-cliënt een eigen extern IP-adres toewijzen. Vervolgens + overschrijft &man.natd.8; de uitgaande pakketten van de + LAN-cliënten met het juiste IP-adres en leidt het al het + binnenkomende verkeer op dat ene IP-adres terug naar de + specifieke LAN-cliënt. Dit staat ook bekend als statisch + NAT. Bijvoorbeeld, de IP-adressen 128.1.1.1, 128.1.1.2, en 1281.2..3 behoren toe aan de + natd gateway-machine. 128.1.1.1 kan gebruikt worden als het + externe IP-adres van de natd + gateway-machine, terwijl 128.1.1.2 en 128.1.1.3 terug worden gestuurd naar + de LAN-cliënten A en + B. + + De syntaxis van is als + volgt: + + -redirect_address lokaalIP publiekIP + + + + + + lokaalIP + + Het interne IP-adres van de LAN-cliënt. + + + + + publiekIP + + Het externe IP-adres overeenkomend met de + LAN-cliënt. + + + + + + In het voorbeeld zou dit argument zijn: + + -redirect_address 192.168.0.2 128.1.1.2 +-redirect_address 192.168.0.3 128.1.1.3 + + Net zoals worden ook deze + argumenten geplaatst in de optie + natd_flags="" van + /etc/rc.conf, of doorgegeven via een + instellingenbestand. Met adresomleiding is het omleiden van + poorten niet nodig aangezien alle gegevens die op een bepaald + IP-adres worden ontvangen worden omgeleidt. + + Het externe IP-adres op de natd + machine dient actief en naar een externe interface gealiased te + zijn. In &man.rc.conf.5; staat hoe dit te doen. - * Parallel Line IP (PLIP) + Parallel Line IP (PLIP) + + PLIP - Wordt nog vertaald + + Parallel Line IP + + PLIP + + + PLIP maakt het mogelijk om TCP/IP tussen parallelle poorten te + draaien. Het is nuttig op machines zonder netwerkkaarten, of om + op laptops te installeren. In deze sectie wordt besproken: + + + + Het maken van een parallelle (laplink) kabel. + + + + Twee computers met PLIP verbinden. + + - * Een paralelle kabel creeëren + Een parallelle kabel maken + + Een parallelle is te koop in de meeste computerwinkels. + Wanneer dit niet mogelijk is, of indien de het gewenst is om te + weten hoe ze worden gemaakt, laat de volgende tabel zien hoe ze + met een gewone parallelle printerkabel gemaakt kunnen + worden. + + + Een parallelle kabel voor netwerken bedraden + + + + + A-naam + + A-einde + + B-einde + + Beschrijving + + Post/Bit + + + + + + DATA0 +-ERROR + + 2 +15 + + 15 +2 + + Gegevens + + 0/0x01 +1/0x08 + + + + DATA1 ++SLCT + + 3 +13 + + 13 +3 + + Gegevens + + 0/0x02 +1/0x10 + + + + DATA2 ++PE + + 4 +12 + + 12 +4 + + Gegevens + + 0/0x04 +1/0x20 + + + + DATA3 +-ACK + + 5 +10 + + 10 +5 + + Strobe + + 0/0x08 +1/0x40 + + + + DATA4 +BUSY + + 6 +11 + + 11 +6 + + Gegevens + + 0/0x10 +1/0x80 + + + + GND - Wordt nog vertaald + 18-25 + + 18-25 + + GND + + - + + + +
- * PLIP Opzetten + PLIP opzetten + + Als eerste dient er een laplink-kabel aanwezig te zijn. + Controleer vervolgens dat beide computers een kernel hebben met + ondersteuning voor het stuurprogramma &man.lpt.4;: + + &prompt.root; grep lp /var/run/dmesg.boot +lpt0: <Printer> on ppbus0 +lpt0: Interrupt-driven port + + De parallelle poort dient een interrupt-gestuurde poort te + zijn, regels zoals de volgende dienen in het bestand + /boot/device.hints aanwezig te zijn: + + hint.ppc0.at="isa" +hint.ppc0.irq="7" + + Controleer vervolgens dat het kernelinstellingenbestand een + regel device plip bevat of dat de + kernelmodule plip.ko is geladen. In beide + gevallen dienen de parallelle netwerkinterfaces te verschijnen + wanneer het commando &man.ifconfig.8; gebruikt wordt om het weer + te geven: + + &prompt.root; ifconfig plip0 +plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500 + + Steek de laplink-kabel in de parallelle interface op beide + computers. + + Stel als root op beide sites de + parameters voor de netwerkinterface in. Bijvoorbeeld, indien + het gewenst is om host host1 met een andere + machine host2 te verbinden: + + host1 <-----> host2 +IP Address 10.0.0.1 10.0.0.2 + + Stel de interface op host1 in met: - Wordt nog vertaald + &prompt.root; ifconfig plip0 10.0.0.1 10.0.0.2 + + Stel de interface op host2 in met: + + &prompt.root; ifconfig plip0 10.0.0.2 10.0.0.1 + + Er dient nu een werkende verbinding te zijn. Lees voor meer + details de hulppagina's &man.lp.4; en &man.lpt.4;. + + Ook dienen beide hosts aan /etc/hosts + toegevoegd te worden: + + 127.0.0.1 localhost.mijn.domein localhost +10.0.0.1 host1.mijn.domein host1 +10.0.0.2 host2.mijn.domein + + Ga naar elke host en ping de andere om te bevestigen dat de + verbinding werkt. Bijvoorbeeld, op + host1: + + &prompt.root; ifconfig plip0 +plip0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1500 + inet 10.0.0.1 --> 10.0.0.2 netmask 0xff000000 +&prompt.root; netstat -r +Routing tables + +Internet: +Destination Gateway Flags Refs Use Netif Expire +host2 host1 UH 0 0 plip0 +&prompt.root; ping -c 4 host2 +PING host2 (10.0.0.2): 56 data bytes +64 bytes from 10.0.0.2: icmp_seq=0 ttl=255 time=2.774 ms +64 bytes from 10.0.0.2: icmp_seq=1 ttl=255 time=2.530 ms +64 bytes from 10.0.0.2: icmp_seq=2 ttl=255 time=2.556 ms +64 bytes from 10.0.0.2: icmp_seq=3 ttl=255 time=2.714 ms + +--- host2 ping statistics --- +4 packets transmitted, 4 packets received, 0% packet loss +round-trip min/avg/max/stddev = 2.530/2.643/2.774/0.103 ms
Aaron Kaplan Origineel geschreven door Tom Rhodes - * Herstructureerd en toegevoegd door + Geherstructureerd en toegevoegd door Brad Davis Uitgebreid door - * IPv6 - - Wordt nog vertaald + IPv6 + + IPv6 (ook bekend als IPng IP next generation) + is de nieuwe versie van het welbekende IP-protocol (ook bekend als + IPv4). Net zoals de andere huidige + *BSD-systemen, bevat &os; de referentie-implementatie van KAME + IPv6. Het &os;-systeem wordt dus geleverd met alles wat nodig is + om met IPv6 te experimenteren. Deze sectie richt zich op het + ingesteld en draaiend krijgen van IPv6. + + In de vroege jaren 1990 werden mensen zich bewust van de snel + krimpende adresruimte van IPv4. De uitbreidingssnelheid van het + Internet baarde twee grote zorgen: + + + + Geen adresruimte meer. Tegenwoordig is dit niet zo'n + probleem meer aangezien RFC1918 voor privé-adresruimte + (10.0.0.0/8, + 172.16.0.0/12, en + 192.168.0.0/16) en Network + Address Translation (NAT) worden gebruikt. + + + + De regels in de routeertabellen werden te groot. Dit is + tegenwoordig nog steeds een probleem. + + + + IPv6 behandelt deze en vele andere zaken: + + + + 128-bits adresruimte. Met andere woorden, er zijn + theoretisch + 340.282.366.920.938.463.463.374.607.431.768.211.456 adressen + beschikbaar. Dit betekent dat er ongeveer 6,67 * 10^27 + IPv6-adressen per vierkante meter op onze planeet beschikbaar + zijn. + + + + Routers zullen alleen netwerkaggregatie-adressen in hun + routeertabellen opslaan en dus de gemiddelde ruimte van een + routeertabel verkleinen tot 8192 regels. + + + + IPv6 heeft ook vele andere nuttige eigenschappen zoals: + + + + Automatische adresconfiguratie (RFC2462) + + + + Anycast-adressen + (ééen-van-velen) + + + + Verplichte multicast-adressen + + + + IPsec (IP security) + + + + Versimpelde structuur van de headers + + + + Mobiele IP + + + + Overgangsmechanismen voor IPv6 naar IPv4 + + + + Bekijk voor meer informatie: + + + + IPv6-overzicht op playground.sun.com + + + + KAME.net + + - * Achtergrond over IPv6 adressen + Achtergrond over IPv6 adressen - Wordt nog vertaald - + Er zijn verschillende soorten IPv6-adressen: unicast, + anycast, en multicast. - - * IPv6 adressen lezen + Unicast-adressen zijn de bekende adressen. Een pakket dat + naar een unicast-adres wordt verzonden arriveert precies op de + interface dat bij dat adres hoort. + + Anycast-adressen zijn syntactisch niet van unicast-adressen + te onderscheiden maar ze adresseren een groep interfaces. Een + pakket dat bestemd is voor een anycast-adres zal bij de + dichtstbijzijnde interface arriveren (in router-metrieken). + Anycast-adressen mogen alleen door routers worden + gebruikt. + + Multicast-adressen identificeren een groep interfaces. Een + pakket dat bestemd is voor en multicast-adres zal bij alle + interfaces die bij de multicast-groep horen arriveren. + + + Het broadcast-adres van IPv4 (gewoonlijk xxx.xxx.xxx.255) wordt in IPv6 met + multicast-adressen uitgedrukt. + + + + Gereserveerde IPv6-adressen + + + + + IPv6-adres + + Prefixlengte (bits) + + Beschrijving + + Opmerkingen + + + + + + :: + + 128 bits + + niet gespecificeerd + + cf. 0.0.0.0 in IPv4 + + + + ::1 + + 128 bits + + teruglusadres + + cf. 127.0.0.1 in IPv4 + + + + ::00:xx:xx:xx:xx + + 96 bits + + ingebouwd IPv4 + + De laagste 32 bits zijn het IPv4-adres. Ook + IPv4 compatibel IPv6-adres genoemd. + + + + + ::ff:xx:xx:xx:xx + + 96 bits + + IPv4-afgebeeld IPv6-adres + + De laagste 32 bits zijn het IPv4-adres. Voor hosts + die geen IPv6 ondersteunen. + - Wordt nog vertaald + + fe80:: - feb:: + + 10 bits + + link-lokaal + + cf. teruglusadres in IPv4 + + + + fec0:: - fef:: + + 10 bits + + site-lokaal + +   + + + + ff:: + + 8 bits + + multicast + +   + + + + 001 (base 2) + + 3 bits + + globale unicast + + Alle globale unicast-adressen worden vanuit deze + pool toegewezen. De eerste 3 bits zijn + 001. + + + +
- * Verbinding krijgen + IPv6-adressen lezen + + De canonieke vorm wordt weergegeven als: x:x:x:x:x:x:x:x, waarbij elke + x een 16-bits hexadecimale waarde is. + Bijvoorbeeld FEBC:A574:382B:23C1:AA49:4592:4EFE:9982 + + Vaak bevat een adres lange deelstrings van allen nullen, + daarom kan per adres één zo'n deelstring worden + afgekort als ::. Ook kunnen maximaal drie + voorlopende 0's per hexadecimaal viertal worden + weggelaten. Bijvoorbeeld, fe80::1 komt overeen met de canonieke + vorm fe80:0000:0000:0000:0000:0000:0000:0001. + + Een derde vorm is het schrijven van de laatste 32 bits in de + bekende (decimale) IPv4-stijl met punten . als + scheidingstekens. Bijvoorbeeld, 2002::10.0.0.1 komt overeen met de + (hexadecimale) canonieke representatie 2002:0000:0000:0000:0000:0000:0a00:0001 + wat weer hetzelfde is als 2002::a00:1. + + Op dit punt dient de lezer het volgende te begrijpen: + + &prompt.root; ifconfig + + rl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500 + inet 10.0.0.10 netmask 0xffffff00 broadcast 10.0.0.255 + inet6 fe80::200:21ff:fe03:8e1%rl0 prefixlen 64 scopeid 0x1 + ether 00:00:21:03:08:e1 + media: Ethernet autoselect (100baseTX ) + status: active + + fe80::200:21ff:fe03:8e1%rl0 + is een automatisch ingesteld link-lokaal adres. Het is als deel + van de automatische instelling vanuit het MAC-adres + aangemaakt. + + Kijk voor verdere informatie over de structuur van + IPv6-adressen op RFC3513. + - Wordt nog vertaald + + Verbinding krijgen + + Er zijn momenteel vier manieren om met andere IPv6-hosts en + -netwerken te verbinden: + + + + Neem contact op met de Internetprovider om te zien of ze + al IPv6 aanbieden. + + + + SixXS biedt + wereldwijd tunnels met eindpunten aan. + + + + Tunnelen via 6-naar-4 (RFC3068) + + + + Gebruik de poort net/freenet6 indien er een + inbelverbinding wordt gebruikt. + + - * DNS in de IPv6 wereld + DNS in de IPv6-wereld + + Er waren twee soorten DNS-records voor IPv6. De IETF heeft + A6-records overbodig verklaard. AAAA-records zijn nu de + standaard. + + AAAA-records gebruiken gaat rechttoe-rechtaan. Wijs de + hostnaam toe aan het nieuwe IPv6-adres dat net ontvangen is door + het volgende aan de DNS-bestand voor primaire zones toe te + voegen: - Wordt nog vertaald + MIJNHOSTNAAM AAAA MIJNIPv6ADRES + + Vraag het aan de DNS-provider indien de + DNS-zones niet zelf worden geserveerd. De + huidige versies van bind (versie 8.3 + en 9) en dns/djbdns (met de + IPv6-patch) ondersteunen AAAA-records. - * De benodigde wijzigingen doorvoeren in + <title>De benodigde wijzigingen doorvoeren in <filename>/etc/rc.conf</filename> - Wordt nog vertaald - - * IPv6 cliënt instellingen + IPv6-cliëntinstellingen + + Deze instellingen helpen bij het configureren van een + machine in het LAN die als cliënt in plaats van router + dienst zal doen. Om &man.rtsol.8; automatisch de interface + tijdens het opstarten te laten configureren dient het volgende + toegevoegd te worden: + + ipv6_enable="YES" + + Voeg het volgende toe om statisch een IP-adres zoals + 2001:471:1f11:251:290:27ff:fee0:2093 + aan de interface fxp0 toe te + voegen: + + ipv6_ifconfig_fxp0="2001:471:1f11:251:290:27ff:fee0:2093" - Wordt nog vertaald + Voeg het volgende aan /etc/rc.conf + toe om een standaardrouter 2001:471:1f11:251::1 toe te + wijzen: + + ipv6_defaultrouter="2001:471:1f11:251::1" - * IPv6 Router/Gateway instellingen + IPv6 router/gateway instellingen + + Deze paragraaf helpt bij het opvolgen van de aanwijzingen + die de tunnelprovider heeft gegeven en ze om te zetten in + instellingen die blijven na een herstart. Om de tunnel + tijdens het opstarten te herstellen kan het volgende in + /etc/rc.conf gebruikt worden: + + Noem de generieke tunnelinterfaces die zullen worden + ingesteld, bijvoorbeeld gif0: + + gif_interfaces="gif0" + + Om de interface met een lokaal eindpunt + MIJN_IPv4_ADRES in te stellen naar + een ver eindpunt + VER_IPv4_ADRES: + + gifconfig_gif0="MIJN_IPv4_ADRES VER_IPv4_ADRES" + + Voeg het volgende toe om het IPv6-adres dat is toegewezen + als het eindpunt van de IPv6-tunnel te gebruiken: - Wordt nog vertaald + ipv6_ifconfig_gif0="MIJN_TOEGEWEZEN_IPv6_TUNNEL_EINDPUNT_ADRES" + + Nu hoeft alleen de standaardroute voor IPv6 ingesteld te + worden. Dit is de andere kant van de IPv6-tunnel: + + ipv6_defaultrouter="MIJN_IPv6_VER_TUNNEL_EINDPUNT_ADRES" + + + IPv6-tunnelinstellingen + + Indien de server gebruikt wordt om IPv6 tussen de rest van + het netwerk en de wereld te routen, is ook de volgende + instelling in /etc/rc.conf nodig: + + ipv6_gateway_enable="YES" - * Router advertentie en automatische host - configuratie + Routeradvertentie en automatische hostconfiguratie - Wordt nog vertaald + Deze sectie helpt bij het instellen van &man.rtadvd.8; om de + standaard IPv6-route te adverteren. + + Het volgende is nodig in /etc/rc.conf + om &man.rtadvd.8; aan te zetten: + + rtadvd_enable="YES" + + Het is belangrijk om de interface te specificeren waarop het + IPv6-routerverzoek plaatsvindt. Om bijvoorbeeld &man.rtadvd.8; + te vertellen om fxp0 te + gebruiken: + + rtadvd_interfaces="fxp0" + + Nu dient het instellingenbestand + /etc/rtadvd.conf aangemaakt te worden. + Hier is een voorbeeld: + + fxp0:\ + :addrs#1:addr="2001:471:1f11:246::":prefixlen#64:tc=ether: + + Vervang fxp0 door de interface die + gebruikt gaat worden. + + Vervang vervolgens 2001:471:1f11:246:: met de prefix van uw + toewijzing. + + Indien een /64 subnet is + toegewezen, hoeft er verder niets veranderd te worden. In + andere gevallen dient de juiste waarde voor + prefixlen# gebruikt te worden.
Harti Brandt Bijgedragen door - * Asynchronous Transfer Mode (ATM) op &os; 5.X - - Wordt nog vertaald + Asynchronous Transfer Mode (ATM) - * Klassiek IP configuren over ATM (PVCs) + Klassiek IP configureren over ATM (PVCs) - Wordt nog vertaald + Klassiek IP over ATM (CLIP) is de + eenvoudigste methode om Asynchronous Transfer Mode (ATM) met IP + te gebruiken. Het kan met geswitchte verbindingen (SVCs) en met + permanente verbindingen (PVCs) gebruikt worden. Deze sectie + beschrijft hoe een netwerk gebaseerd op PVCs op te zetten. - * Een volledig geschakelde configuratie + Volledig geschakelde configuraties + + De eerste methode om een CLIP met PVCs + op te zetten is om elke machine met elke andere machine in het + netwerk te verbinden via een toegewijde PVC. Hoewel dit + eenvoudig te configureren is, wordt het onpraktisch voor een + groter aantal machines. Dit netwerk gaat ervan uit dat er + vier machines in het netwerk zijn, allen verbonden met het + ATM + netwerk met een + ATM + adapterkaart. De eerste stap is het plannen van de + IP-adressen en de + ATM + verbindingen tussen de machines. Het volgende wordt + gebruikt: + + + + - Wordt nog vertaald + + + + Host + + IP-adres + + + + + + hostA + + 192.168.173.1 + + + + hostB + + 192.168.173.2 + + + + hostC + + 192.168.173.3 + + + + hostD + + 192.168.173.4 + + + + + + Om een volledig geschakeld net te bouwen is er een + ATM-verbinding nodig tussen elk paar machines: + + + + + + + + + Machines + + VPI.VCI koppel + + + + + + hostA - hostB + + 0.100 + + + + hostA - hostC + + 0.101 + + + + hostA - hostD + + 0.102 + + + + hostB - hostC + + 0.103 + + + + hostB - hostD + + 0.104 + + + + hostC - hostD + + 0.105 + + + + + + De VPI- en VCI-waarde kunnen aan beide kanten van de + verbinding verschillen, maar voor de eenvoud wordt aangenomen + dat ze hetzelfde zijn. Vervolgens dienen de ATM-interfaces op + elke host geconfigureerd te worden: + + hostA&prompt.root; ifconfig hatm0 192.168.173.1 up +hostB&prompt.root; ifconfig hatm0 192.168.173.2 up +hostC&prompt.root; ifconfig hatm0 192.168.173.3 up +hostD&prompt.root; ifconfig hatm0 192.168.173.4 up + + aannemende dat de ATM-interface op alle hosts + hatm0 is. Nu dienen de PVCs op + hostA geconfigureerd te worden (er wordt + aangenomen dat ze reeds op de ATM-switches zijn geconfigureerd, + raadpleeg de handleiding van de switch hoe dit te doen). + + hostA&prompt.root; atmconfig natm add 192.168.173.2 hatm0 0 100 llc/snap ubr +hostA&prompt.root; atmconfig natm add 192.168.173.3 hatm0 0 101 llc/snap ubr +hostA&prompt.root; atmconfig natm add 192.168.173.4 hatm0 0 102 llc/snap ubr + +hostB&prompt.root; atmconfig natm add 192.168.173.1 hatm0 0 100 llc/snap ubr +hostB&prompt.root; atmconfig natm add 192.168.173.3 hatm0 0 103 llc/snap ubr +hostB&prompt.root; atmconfig natm add 192.168.173.4 hatm0 0 104 llc/snap ubr + +hostC&prompt.root; atmconfig natm add 192.168.173.1 hatm0 0 101 llc/snap ubr +hostC&prompt.root; atmconfig natm add 192.168.173.2 hatm0 0 103 llc/snap ubr +hostC&prompt.root; atmconfig natm add 192.168.173.4 hatm0 0 105 llc/snap ubr + +hostD&prompt.root; atmconfig natm add 192.168.173.1 hatm0 0 102 llc/snap ubr +hostD&prompt.root; atmconfig natm add 192.168.173.2 hatm0 0 104 llc/snap ubr +hostD&prompt.root; atmconfig natm add 192.168.173.3 hatm0 0 105 llc/snap ubr + + Uiteraard kunnen ook andere verkeerscontracten dan UBR + worden gebruikt indien de ATM-adapter die ondersteunt. In dit + geval wordt de naam van het verkeerscontract gevolgd door de + parameters van het verkeer. Hulp voor het gereedschap + &man.atmconfig.8; kan verkregen worden met: + + &prompt.root; atmconfig help natm add + + of in de hulppagina &man.atmconfig.8;. + + Dezelfde configuratie kan ook bereikt worden via + /etc/rc.conf. Voor + hostA wordt dit: + +network_interfaces="lo0 hatm0" +ifconfig_hatm0="inet 192.168.173.1 up" +natm_static_routes="hostB hostC hostD" +route_hostB="192.168.173.2 hatm0 0 100 llc/snap ubr" +route_hostC="192.168.173.3 hatm0 0 101 llc/snap ubr" +route_hostD="192.168.173.4 hatm0 0 102 llc/snap ubr" + + De huidige toestand van alle CLIP + routes kan worden verkregen met: + + hostA&prompt.root; atmconfig natm show + + + + + + Tom + Rhodes + Bijgedragen door + + + + + Common Access Redundancy Protocol (CARP) + + CARP + + Common Access Redundancy Protocol + + Het Common Access Redundancy Protocol, of + CARP, staat toe dat meerdere hosts hetzelfde + IP-adres gebruiken. In sommige opstellingen + wordt dit gebruikt voor beschikbaarheid of loadbalancing. Hosts + kunnen ook gescheiden IP-adressen gebruiken, + zoals in het voorbeeld dat hier is gegeven. + + Om ondersteuning voor CARP aan te zetten, + dient de &os;-kernel herbouwd te worden met de volgende + optie: + + device carp + + De functionaliteit van CARP zou nu + beschikbaar moeten zijn en kan met verschillende + sysctl-OIDs worden + bijgesteld: + + + + + + OID + + Beschrijving + + + + + + net.inet.carp.allow + + Accepteer inkomende CARP pakketten. + Staat standaard aan. + + + + net.inet.carp.preempt + + Deze optie zet alle CARP + interfaces down op de host wanneer er een down gaat. + Staat standaard uit. + + + + net.inet.carp.log + + De waarde 0 zet alle logging uit. + De waarde 1 zet het loggen van slechte + CARP-pakketten aan. Waardes hoger dan + 1 zet het loggen van + toestandsveranderingen van de CARP + interfaces aan. De standaardwaarde is + 1. + + + + net.inet.carp.arpbalance + + Balanceer lokaal netwerkverkeer met + ARP. Staat standaard uit. + + + + net.inet.carp.suppress_preempt + + Een alleen-lezen OID die de + toestand van preëmptie-onderdrukking weergeeft. + Preëmptie kan worden onderdrukt wanneer de verbinding + op een interface afwezig is. De waarde + 0 betekent dat preëmptie niet + onderdrukt is. Elk probleem verhoogt deze + OID. + + + + + + De CARP-apparaten zelf kunnen met het + commando ifconfig worden aangemaakt: + + &prompt.root; ifconfig carp0 create + + In een echte omgeving hebben deze interfaces unieke + identificatienummers, bekend als een VHID, + nodig. Dit VHID of Virtual Host Identification + zal worden gebruikt om de hosts op het netwerk te + onderscheiden. + + + CARP gebruiken voor serverbeschikbaarheid + + Eén gebruik van CARP, zoals boven + aangegeven, is serverbeschikbaarheid. Dit voorbeeld geeft + failover-ondersteuning voor drie hosts, met allemaal een uniek + IP-adres en dezelfde webinhoud. Deze + machines zullen samen met een Round Robin DNS + configuratie dienst doen. De failover-machine zal twee + aanvullende CARP-interfaces hebben, + één voor elk van de IP's van de + contentservers. Wanneer er een storing optreedt, zou de + failover-server het IP-adres van de falende + machine moeten oppikken. Dit betekent dat de storing geheel + onmerkbaar zou moeten zijn voor de gebruiker. De + failover-server heeft dezelfde inhoud en diensten nodig als de + andere contentservers waarvoor het moet invallen. + + De twee machines dienen identiek geconfigureerd te worden + op de gegeven hostnamen en VHIDs na. Dit + voorbeeld noemt deze machines respectievelijk + hosta.example.org en + hostb.example.org. Ten eerste dienen de + benodigde regels voor een CARP-configuratie + aan rc.conf te worden toegevoegd. Voor + hosta.example.org dient het bestand + rc.conf de volgende regels te bevatten: + + hostname="hosta.example.org" +ifconfig_fxp0="inet 192.168.1.3 netmask 255.255.255.0" +cloned_interfaces="carp0" +ifconfig_carp0="vhid 1 pass testpass 192.168.1.50/24" + + Op hostb.example.org dienen de volgende + regels in rc.conf te staan: + + hostname="hostb.example.org" +ifconfig_fxp0="inet 192.168.1.4 netmask 255.255.255.0" +cloned_interfaces="carp0" +ifconfig_carp0="vhid 2 pass testpass 192.168.1.51/24" + + + Het is erg belangrijk dat de wachtwoorden die met de optie + aan ifconfig gegeven + zijn, identiek zijn. De carp + apparaten zullen alleen luisteren naar en advertenties + accepteren van machines met het juiste wachtwoord. Het + VHID dient ook verschillend te zijn voor + elke machine. + + + De derde machine, + provider.example.org, dient voorbereidt te + worden op het afhandelen van failover van beide hosts. Deze + machine heeft twee carp apparaten nodig, + één om elke host af te handelen. De juiste + instelregels voor rc.conf zullen ongeveer + gelijk zijn aan de volgende: + + hostname="provider.example.org" +ifconfig_fxp0="inet 192.168.1.5 netmask 255.255.255.0" +cloned_interfaces="carp0 carp1" +ifconfig_carp0="vhid 1 advskew 100 pass testpass 192.168.1.50/24" +ifconfig_carp1="vhid 2 advskew 100 pass testpass 192.168.1.51/24" + + Met twee carp apparaten is + provider.example.org in staat om het + IP-adres van de andere machine op te pikken + wanneer de ene niet meer antwoordt. + + + De standaard &os;-kernel kan + preëmptie geactiveerd hebben. In dat geval hoeft + provider.example.org het + IP-adres niet terug te geven aan de + originele contentserver. In dit geval kan het nodig zijn dat + een beheerder handmatig het IP terug aan de meester moet geven. + Het volgende commando dient op + provider.example.org gegeven te worden: + + + &prompt.root; ifconfig carp0 down && ifconfig carp0 up + + Dit dient gedaan te worden op de + carp interface die met de juiste + host overeenkomt. + + + Op dit moment dient CARP volledig actief + en beschikbaar voor testen te zijn. Voor het testen dienen + òfwel het netwerken herstart te worden, òf de + machines dienen opnieuw opgestart te worden. + + Meer informatie is altijd beschikbaar in de hulppagina + &man.carp.4; + +
+ diff --git a/nl_NL.ISO8859-1/books/handbook/audit/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/audit/chapter.sgml index 99c37fc36a..a49b1873dc 100644 --- a/nl_NL.ISO8859-1/books/handbook/audit/chapter.sgml +++ b/nl_NL.ISO8859-1/books/handbook/audit/chapter.sgml @@ -1,793 +1,793 @@ Tom Rhodes - Written by + Geschreven door Robert Watson Remko Lodder Vertaald door Security Event Auditing Overzicht AUDIT Security Event Auditing MAC &os; 6.2 en later heeft ondersteuning voor diepgaande beveiligingsauditing van evenementen. Evenement auditing maakt het mogelijk dat er diepgaande en configureerbare logging van een variateit aan beveiligings-gerelateerde systeem evenementen, waaronder logins, configuratie wijzigingen, bestands- en netwerk toegang. Deze log regels kunnen erg belangrijk zijn voor live systeem monitoring, intrusion detection en postmortem analyse. &os; implementeert &sun;'s gepubliceerde BSM API en bestandsformaat en is uitwisselbaar met zowel &sun;'s &solaris; als &apple;'s &macos; X audit implementaties. Dit hoofdstuk richt zich op de installatie en configuratie van evenement auditing. Het legt audit policies uit en geeft voorbeelden van audit configuraties. Na het lezen van dit hoofdstuk weet de lezer: Wat evenement auditing is en hoe het werkt. Hoe evenement auditing geconfigureerd kan worden voor &os; voor gebruikers en processen. Hoe de audittrail bekeken kan worden door gebruik te maken van de audit reduction en onderzoek programma's. Voordat verder gegaan wordt moet het volgende bekend zijn: &unix; en &os; basishandelingen begrijpen (). Bekend zijn met de basishandelingen van kernel configuratie/compilatie (). Bekend zijn met beveiliging en hoe dat relateert aan &os; (). De audit faciliteiten in &os; 6.X zijn experimenteel en het gebruik in productie mag alleen gebeuren na zorgvuldig onderzoek van de risico's van het in gebruik nemen van experimentele software. Bekende limitaties zijn dat niet alle beveiligings-relevante systeem evenementen geaudit kunnen worden en dat sommige login mechanismes, zoals X11 gebaseerde display managers en derde partij programma's geen (goede) ondersteuning bieden voor het auditen login sessies van gebruikers. De beveiligings evenement auditing faciliteit is in staat om erg gedetailleerde logs van systeem activiteiten op een druk systeem te genereren, trail bestands data kan erg groot worden wanneer er erg precieze details worden gevraagd, wat enkele gigabytes per week kan behalen in sommige configuraties. Beheerders moeten rekening houden met voldoende schijfruimte voor grote audit configuraties. Bijvoorbeeld het kan gewenst zijn om eigen bestandsysteem aan /var/audit toe te wijzen zo dat andere bestandssystemen geen hinder ondervinden als het audit bestandssysteem onverhoopt vol raakt. Sleutelwoorden in dit hoofdstuk Voordat dit hoofdstuk gelezen kan worden, moeten er een aantal audit gerelateerde termen uitgelegd worden: evenement: Een auditbaar evenement is elk evenement dat gelogged kan worden door het audit subsysteem. Voorbeelden van beveiligings gerelateerde evenementen zijn het creëeren van een bestand, het opzetten van een netwerk verbinding, of van een gebruiker die aanlogt. Evenementen zijn ofwel attributable wat betekend dat ze getraceerd kunnen worden naar een geauthoriseerde gebruiker, of non-attributable voor situaties waarin dat niet mogelijk is. Voorbeelden van non-attributable evenementen zijn elk evenement dat gebeurd voordat authorisatie plaatsvind in het login proces, zoals bij foutieve inlog pogingen. class: Evenement klassen zijn benoemde sets van gerelateerde evenementen en worden gebruikt in selectie expressies. Veel gebruikte klassen van evenementen zijn bestands creatie (fc), exec (ex) en login_logout (lo). record: Een record is een audit log regel die het beveiligings evenement beschrijft. Records bevatten een record evenement type, informatie over het onderwerp (de gebruiker) welke de actie uitvoerd, de datum en de tijd, informatie over de objecten of argumenten, en een conditie die aangeeft of de actie geslaagd of mislukt is. trail: Een audit trail, of log bestand bestaat uit een serie van audit records welke beveiligings evenementen beschrijft. Meestal lopen deze trails in chronologische orde, gebaseerd op de tijd dat het evenement optrad. Alleen geauthoriseerde processen mogen records toevoegen aan de audit trail. selection expression: Een selectie expressie is een string welke een lijst bevat van prefixes en audit evenement klasse namen die overeenkomen met evenementen. preselection: Het proces waarbij het systeem bepaald welke evenementen interessant zijn voor de beheerder, zodat wordt voorkomen dat er audit records worden gegenereerd voor evenementen die niet interessant zijn. De preselection configuratie gebruikt een serie van selectie expressies om te identificeren welke klassen van evenementen van toepassing zijn op gebruikers en globale instellingen voor zowel geauthoriseerde als ongeauthoriseerde processen. reduction: Het proces waarbij records van bestaande audit trails worden geselecteerd voor bewaring, uitprinten of analyse. Ook is dit het proces waarbij ongewenste audit records worden verwijderd uit het audit trail. Door gebruik te maken van reduction kunnen beheerders policies implementeren die het bewaren van audit data verzorgen. Bijvoorbeeld gedetailleerde audit trails kunnen één maand bewaard worden maar erna worden trails gereduceerd zodat alleen login informatie bewaard worden voor archiverings redenen. Installeren van audit ondersteuning. Ondersteuning in de gebruikersomgeving voor evenement auditing wordt geïnstalleerd als onderdeel van het basis &os; besturings systeem. In &os; 7.0 en later wordt kernel ondersteuning voor evenement auditing standaard meegenomen tijdens compilatie. In &os; 6.X, moet ondersteuning expliciet in de kernel gecompileerd worden door de volgende regel toe te voegen aan het kernel configuratie bestand: options AUDIT Bouw en herinstalleer de kernel volgens het normale proces zoals beschreven in . Zodra een audit ondersteunende kernel is gebouwd en geïnstalleerd en deze is opgestart kan de audit daemon aangezet worden door de volgende regel aan &man.rc.conf.5; toe te voegen: auditd_enable="YES" Audit ondersteuning moet daarna aangezet worden door een herstart van het systeem of door het handmatig starten van de audit daemon: /etc/rc.d/auditd start Audit Configuratie Alle configuratie bestanden voor beveiligings audit kunnen worden gevonden in /etc/security. De volgende bestanden moeten aanwezig zijn voor de audit daemon wordt gestart: audit_class - Bevat de definities van de audit klasses. audit_control - Controleert aspecten van het audit subsysteem, zoals de standaard audit klassen, minimale hoeveelheid diskruimte die moet overblijven op de audit log schijf, de maximale audit trail grootte, etc. audit_event - Tekst namen en beschrijvingen van systeem audit evenementen, evenals een lijst van klassen waarin elk evenement zich bevind. audit_user - Gebruiker specifieke audit benodigdheden welke gecombineerd worden met de globale standaarden tijdens het inloggen. audit_warn - Een bewerkbaar shell script gebruikt door de auditd applicatie welke waarschuwings berichten genereert in bijzondere situaties zoals wanneer de ruimte voor audit records te laagis of wanneer het audit trail bestand is geroteerd. Audit configuratie bestanden moeten voorzichtig worden bewerkt en onderhouden, omdat fouten in de configuratie kunnen resulteren in het verkeerd loggen van evenementen. Evenement selectie expressies Selectie expressies worden gebruikt op een aantal plaatsen in de audit configuratie om te bepalen welke evenementen er geaudit moeten worden. Expressies bevatten een lijst van evenement klassen welke gelijk zijn aan een prefix welke aangeeft of gelijke records geaccepteerd moeten worden of genegeerd en optioneel om aan te geven of de regel is bedoeld om succesvolle of mislukte operaties te matchen. Selectie expressies worden geevalueerd van links naar rechts en twee expressies worden gecombineerd door de één aan de ander toe te voegen. De volgende lijst bevat de standaard audit evenement klassen welke aanwezig zijn in het audit_class bestand: all - all - Matched alle evenement klasses. ad - administrative - Administratieve acties welke uitgevoerd worden op het gehele systeem. ap - application - Applicatie gedefinieerde acties. cl - file close - Audit aanroepen naar de close systeem aanroep. ex - exec - Audit programma uitvoer. Het auditen van command line argumenten en omgevings variabelen wordt gecontroleerd via &man.audit.control.5; door gebruik te maken van de argv en envv parameters in de policy setting. fa - file attribute access - Audit de toevoeging van object attributen zoals &man.stat.1;, &man.pathconf.2; en gelijkwaardige evenementen. fc - file create - Audit evenementen waar een bestand wordt gecreëerd als resultaat. fd - file delete - Audit evenementen waarbij bestanden verwijderd worden. fm - file attribute modify - Audit evenementen waarbij bestandsattribuut wijzigingen plaatsvinden zoals bij &man.chown.8;, &man.chflags.1;, &man.flock.2;, etc. fr - file read - Audit evenementen waarbij data wordt gelezen, bestanden worden geopend voor lezen etc. fw - file write - Audit evenementen waarbij data wordt geschreven, bestanden worden geschreven of gewijzigd, etc. io - ioctl - Audit het gebruik van de &man.ioctl.2; systeem aanroep. ip - ipc - Audit verschillende vormen van Inter-Process Communication, zoals POSIX pipes en System V IPC operaties. lo - login_logout - Audit &man.login.1; en &man.logout.1; evenementen die plaatsvinden op het systeem. na - non attributable - Audit non-attributable evenementen. no - invalid class - Matched geen enkel audit evenement. nt - network - Audit evenementen die gerelateerd zijn aan netwerk acties zoals &man.connect.2; en &man.accept.2;. ot - other - Audit diverse evenementen. pc - process - Audit process operaties zoals &man.exec.3; en &man.exit.3; Deze audit evenement klassen kunnen veranderd worden door het wijzigingen van de audit_class en audit_event configuratie bestanden. Elke audit klasse in de lijst wordt gecombineerd met een voorzetsel welke aangeeft of er succesvolle of mislukte operaties hebben plaatsgevonden en of de regel wordt toegevoegd of verwijderd van het matchen van de klasse en het type. (none) Audit zowel succesvolle als mislukte informatie van het evenement. + Audit succesvolle evenementen in deze klasse. - Audit mislukte evenementen in deze klasse. ^ Audit geen enkele succesvolle of mislukte evenementen in deze klasse. ^+ Audit geen succesvolle evenementen in deze klasse. ^- Audit geen mislukte evenementen in deze klasse. De volgende voorbeeld selectie strings selecteren zowel succesvolle als mislukte login/logout evenementen, maar alleen succesvolle uitvoer evenementen: lo,+ex Configuratie bestanden In de meeste gevallen moet een beheerder twee bestanden wijzigingen wanneer het audit systeem wordt geconfigureerd: audit_control en audit_user. Het eerste controleert systeem brede audit eigenschappen en policies, het tweede kan gebruikt worden om diepgaande auditing per gebruiker uit te voeren. Het <filename>audit_control</filename> bestand Het audit_control bestand specificeert een aantal standaarden van het audit subsysteem. Als de inhoud bekeken wordt van dit bestand is het volgende te zien: dir:/var/audit flags:lo minfree:20 naflags:lo policy:cnt filesz:0 De optie wordt gebruikt om één of meerdere directories te specificeren die gebruikt worden voor de opslag van audit logs. Als er meer dan één directory wordt gespecificeerd, worden ze op volgorde gebruikt naarmate ze gevuld worden. Het is standaard dat audit geconfigureerd wordt dat audit logs worden bewaard op een eigen bestandssysteem, om te voorkomen dat het audit subsysteem en andere subsystemen met elkaar botsen als het bestandssysteem volraakt. Het veld stelt de systeem brede standaard preselection maskers voor attributable evenementen in. In het voorbeeld boven worden succesvolle en mislukte login en logout evenementen geaudit voor alle gebruikers. De optie definieerd het minimale percentage aan vrije ruimte voor dit bestandssysteem waar de audit trails worden opgeslagen. Wanneer deze limiet wordt overschreven wordt er een waarschuwing gegenereerd. In het bovenstaande voorbeeld wordt de minimale vrije ruimte ingesteld op 20 procent. De optie specificeerd audit klasses welke geaudit moeten worden voor non-attributed evenementen zoals het login proces en voor systeem daemons. De optie specificeert een komma gescheiden lijst van policy vlaggen welke diverse aspecten van het audit proces beheren. De standaard cnt vlag geeft aan dat het systeem moet blijven draaien ook al treden er audit fouten op (deze vlag wordt sterk aangeraden). Een andere veel gebruikte vlag is argv, wat het mogelijk maakt om command line argumenten aan de &man.execve.2; systeem aanroep te auditen als onderdeel van het uitvoeren van commando's. De optie specificeert de maximale grootte in bytes hoeveel een audit trail bestand mag groeien voordat het automatisch getermineerd en geroteerd wordt. De standaard, 0, schakelt automatische log rotatie uit. Als de gevraagde bestands grootte niet nul is en onder de minimale 512k zit, wordt de optie genegeerd en wordt er een log bericht gegenereerd. Het <filename>audit_user</filename> bestand Het audit_user bestand staat de beheerder toe om verdere audit benodigdheden te specificeren voor gebruikers. Elke regel configureert auditing voor een gebruiker via twee velden, het eerste is het alwaysaudit veld, welke een set van evenementen specificeert welke altijd moet worden geaudit voor de gebruiker, en de tweede is het neveraudit veld, welke een set van evenementen specificeerd die nooit geaudit moeten worden voor de gebruiker. Het volgende voorbeeld audit_user bestand audit login/logout evenementen en succesvolle commando uitvoer voor de root gebruiker, en audit bestands creatie en succesvolle commando uitvoer voor de www gebruiker. Als dit gebruikt wordt in combinatie met het voorbeeld audit_control bestand hierboven, is de root regel dubbelop en zullen login/logout evenementen ook worden geaudit voor de www gebruiker. root:lo,+ex:no www:fc,+ex:no Het audit subsysteem beheren. Audit trails inzien Audit trails worden opgeslagen in het BSM binaire formaat, dus ondersteunende programma's moeten worden gebruikt om de informatie te wijzigen of converteren naar tekst. Het &man.praudit.1; commando converteert trail bestanden naar een simpel tekst formaat; het &man.auditreduce.1; commando kan gebruikt worden om de audit trail te reduceren voor analyse, archivering of voor het uitprinten van de data. auditreduce ondersteund een variateit aan selectie parameters, zoals evenement type, evenement klasse, gebruiker, datum of tijd van het evenement en het bestandspad of object dat gebruikt wordt. Bijvoorbeeld, het praudit programma zal een dump maken van de volledige inhoud van een gespecificeerd audit log bestand in normale tekst: &prompt.root; praudit /var/audit/AUDITFILE Waar AUDITFILE het audit bestand is dat ingelezen moet worden. Audit trails bestaan uit een serie van audit records die gevormd worden door tokens, welke praudit sequentieel print één per regel. Elke token is van een specifiek type, zoals een header welke de audit record header bevat, of path welke het bestandspad bevat van een lookup. Het volgende is een voorbeeld van een execve evenement: header,133,10,execve(2),0,Mon Sep 25 15:58:03 2006, + 384 msec exec arg,finger,doug path,/usr/bin/finger attribute,555,root,wheel,90,24918,104944 subject,robert,root,wheel,root,wheel,38439,38032,42086,128.232.9.100 return,success,0 trailer,133 Deze audit representeert een succesvolle execve aanroep, waarbij het commando finger doug is aangeroepen. Het argument token bevat beide commando's gerepresenteerd door de shell aan de kernel. Het path token bevat het pad naar het uitvoerbare bestand zoals opgezocht door de kernel. Het attribute token beschrijft de binary en om precies te zijn bevat het de bestands mode welke gebruikt kan worden om te zien of het bestand setuid was. Het subject token beschrijft het onderwerp proces en bevat sequentieel het audit gebruikers ID, effectieve gebruikers ID en groep ID, echte gebruikers ID, groep ID, proces ID, sessie ID, port ID en login adres. Let op dat het audit gebruikers ID en het echte gebruikers ID van elkaar verschillen omdat de gebruiker robert veranderd is naar de root gebruiker voordat het commando werd uitgevoerd, maar welke geaudit wordt als de originele geauthoriseerde gebruiker. Als laatste wordt de return token gebruikt om aan te geven dat er een succesvolle uitvoer is geweest en trailer geeft het einde aan van het record. In &os; 6.3 en later ondersteund praudit ook een XML output formaat, welke geselecteerd kan worden door gebruik te maken van het argument. Het reduceren van audit trails Omdat audit logs erg groot kunnen worden, zal de beheerder waarschijnlijk een subset van records willen selecteren om te gebruiken, zoals records die gekoppeld zijn aan een specifieke gebruiker: &prompt.root; auditreduce -u trhodes /var/audit/AUDITFILE | praudit Dit selecteert alle audit records die geproduceert zijn voor de gebruiker trhodes die opgeslagen is in het AUDITFILE bestand. Delegeren van audit onderzoek rechten Leden van de audit groep krijgen permissie om de audit trails te lezen in /var/audit; standaard is deze groep leeg en kan alleen de root gebruiker deze audit trails lezen. Gebruikers kunnen toegevoegd worden aan de audit groep zodat onderzoek rechten kunnen worden gedelegeerd aan de geruiker. Omdat de mogelijkheid van het inzien van audit log inhoud significante inzicht kan geven in het gedrag van gebruikers en processen, wordt het aangeraden dat de delagatie van onderzoek rechten eerst goed overdacht wordt. Live monitoren door gebruik van audit pipes Audit pipes zijn gecloonde pseudo-devices in het device bestands systeem, welke applicaties toestaat om een tap te plaatsen in de live audit record stream. Dit is primair interessant voor schrijvers van intrusion detection en systeem monitoring applicaties. Echter, voor een beheerder is het audit pipe device een makkelijke manier om live monitoring toe te staan zonder dat er problemen kunnen ontstaan met het eigenaarschap van het audit trail bestand, of dat een log rotatie de evenementen stroom in de weg zit. Om de live audit evenementen stroom te kunnen inzien is het volgende commando benodigd: &prompt.root; praudit /dev/auditpipe Standaard zijn de audit pipe device nodes alleen toegankelijk voor de root gebruiker. Om deze toegankelijk te maken voor leden van de audit groep, moet een devfs regel toegevoegd worden aan het devfs.rules bestand: add path 'auditpipe*' mode 0440 group audit Zie &man.devfs.rules.5; voor meer informatie over het configureren van het devfs bestands systeem. Het is makkelijk om audit evenement terugkoppeling cyclussen te creëeren, waarbij het tonen van elk audit evenement resulteert in het genereren van nog meer audit evenementen. Bijvoorbeeld, als alle netwerk I/O wordt geaudit en &man.praudit.1; wordt gestart vanuit een SSH sessie, wordt er een grote continue stroom aan audit evenementen gegenereert doordat elk getoond evenement een nieuw evenement genereert. Het is verstandig om praudit te draaien op een audit pipe device voor sessies zonder diepgaande I/O auditing om te voorkomen dat dit gebeurd. Het roteren van audit trail bestanden Audit trails worden alleen beschreven door de kernel en alleen beheerd worden door de audit daemon, auditd. Beheerders mogen geen gebruik maken van &man.newsyslog.conf.5; of soortgelijke programma's om de audit files te roteren. In plaats daarvan kan het audit management programma gebruikt worden om auditing te stoppen, het audit systeem te herconfigureren en log rotatie uit te voeren. Het volgende commando zorgt ervoor dat de audit daemon een nieuwe audit log maakt, en vervolgens de kernel een signaal stuurt om het nieuwe logbestand te gaan gebruiken. Het oude logbestand wordt getermineerd en hernoemd, waarna het bestand gemanipuleerd kan worden door de beheerder. &prompt.root; audit -n Als de auditd daemon op dit moment niet actief is, zal het commando falen en zal er een error bericht worden geproduceerd. Als de volgende regel wordt toegevoegd aan het /etc/crontab bestand, zal er elke twaalf uur een rotatie plaatsvinden door middel van &man.cron.8;: 0 */12 * * * root /usr/sbin/audit -n Deze wijziging wordt van kracht op het moment dat het nieuwe /etc/crontab bestand wordt opgeslagen. Automatische rotatie van het audit trail bestand gebaseerd op de bestand grootte is mogelijk via de optie in &man.audit.control.5; en wordt beschreven in de configuratie bestanden sectie van dit hoofdstuk. Audit trails comprimeren Omdat audit trail bestanden erg groot kunnen worden, is het meestal gewenst om de trails te comprimeren of op een andere manier te archiveren zodra ze afgesloten zijn door de audit daemon. Het audit_warn script kan gebruikt worden om bewerkte operaties te doen voor een variateit aan audit gerelateerde evenementen inclusief een nette terminatie van audit trails wanneer deze geroteerd worden. Bijvoorbeeld het volgende kan worden toegevoegd aan het audit_warn script, dat de audit trails comprimeert zodra ze afgesloten worden: # # Compress audit trail files on close. # if [ "$1" = closefile ]; then gzip -9 $2 fi Andere archiverings activiteiten kunnen zijn het kopieren van trail bestanden naar een gecentraliseerde server, het verwijderen van oude trail bestanden of het reduceren van de audit trail om onnodige records te verwijderen. Het script zal alleen draaien als audit trail bestanden netjes worden afgesloten, wat betekend dat het script niet uitgevoerd wordt op trails die niet netjes afgesloten zijn, waardoor bestanden corrupt kunnen raken. diff --git a/nl_NL.ISO8859-1/books/handbook/basics/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/basics/chapter.sgml index 5c87fa3255..e9db102d5b 100644 --- a/nl_NL.ISO8859-1/books/handbook/basics/chapter.sgml +++ b/nl_NL.ISO8859-1/books/handbook/basics/chapter.sgml @@ -1,2877 +1,2877 @@ Chris Shumway Herschreven door Remko Lodder Vertaald door &unix; beginselen Overzicht Het volgende hoofdstuk behandelt de basiscommando's en functionaliteit van het &os; besturingssysteem. Veel van dit materiaal is relevant voor elk &unix; achtig besturingssysteem. Als de lezer reeds bekend is met het materiaal, hoeft dit hoofdstuk niet gelezen te worden. Lezer die nog niet eerder met &os; te maken hebben gehad wordt aangeraden door te lezen. Na het lezen van dit hoofdstuk weet de lezer: Hoe virtuele consoles in &os; gebruikt kunnen worden; Hoe &unix; bestandspermissies werken en hoe bestandsvlaggen in &os; werken; Hoe het standaard &os; bestandssysteem eruit ziet; Hoe een &os; harde schijf is ingedeeld; Hoe bestandssystemen gekoppeld en ontkoppeld worden; Wat processen, daemons en signalen zijn; Wat een shell is en hoe de standaard omgevingsvariabelen veranderd kunnen worden; Hoe elementaire tekstverwerkers te gebruiken; Wat apparaten en apparaatkoppelpunten zijn; Welk binair formaat &os; gebruikt; Hoe handleidingen te gebruiken meer informatie. Virtuele consoles en terminals Virtuele consoles terminals &os; kan op diverse manieren gebruikt worden. Één van deze manieren is het typen van commando's in een tekstterminal. Veel van de flexibiliteit en kracht van een &unix; besturingssysteem is gemakkelijk beschikbaar als je &os; op deze manier gebruikt. Dit onderdeel beschrijft wat terminals en consoles zijn en hoe je deze kan gebruiken in &os;. De console console Als &os; niet is ingesteld om automatisch een grafische omgeving te starten tijdens het opstarten, geeft het systeem een login prompt als het gestart is. Dit gebeurt direct nadat de startscripts klaar zijn. Er wordt iets als het volgende getoond: Additional ABI support:. Local package initialization:. Additional TCP options:. Fri Sep 20 13:01:06 EEST 2002 &os;/i386 (pc3.example.org) (ttyv0) login: De meldingen op het scherm kunnen wellicht iets anders zijn op een systeem, maar het zal iets soortgelijks zijn. De laatste twee regels zijn de regels waar het nu over gaat. De voorlaatste regel toont: &os;/i386 (pc3.example.org) (ttyv0) Deze regel bevat enkele informatie over het systeem dat net gestart is: dit is een &os; console, draaiend op een Intel of soortgelijke processor op de x86 architectuur. Dit betekent i386. Let op: ook al draait &os; niet op een Intel 386 processor, toch is dit een i386. Het is niet het type processor, maar de processor architectuur. De naam van de machine (elke &unix; machine heeft een naam) is pc3.example.org en dit is de console van het systeem, de ttyv0 terminal. De laatste regel is altijd: login: Dit is het deel waar een gebruikersnaam ingevuld moet worden om aan te melden op &os;. Het volgende deel beschrijft hoe dat werkt. Aanmelden op &os; &os; is een multi-user en multi-processing systeem. Dit is de formele beschrijving die meestal gegeven wordt aan een systeem dat gebruikt wordt door meerdere personen die gelijktijdig verschillende programma's draaien op één enkele machine. Elk multi-user systeem heeft een manier nodig om een gebruiker van alle andere gebruikers te kunnen onderscheiden. In &os; (en alle andere &unix; achtige besturingssystemen), wordt dit bereikt door te eisen dat elke gebruiker moet aanmelden op het systeem voordat hij/zij programma's kan draaien. Elke gebruiker heeft een unieke naam (de gebruikersnaam) en een persoonlijke, geheime sleutel (het wachtwoord). &os; vraagt om deze twee gegevens voordat het een gebruiker toegestaat om programma's te draaien. startup scripts Direct nadat &os; is opgestart en de opstartscripts Opstart scripts zijn programma's die automatisch gestart worden tijdens het opstarten. Het hoofddoel van deze programma's is om dingen goed te zetten zodat alle andere programma's ook kunnen draaien, en om services te starten die je geconfigureerd hebt om bruikbare zaken in de achtergrond te doen. afgerond zijn, wordt een prompt getoond dat vraagt om een geldige aanmeldnaam op te geven. login: In dit voorbeeld wordt aangenomen de gebruikersnaam john is. Als na deze prompt john wordt getype en op Enter wordt gedrukt, verschijnt hierna een prompt om het wachtwoord in te voeren: login: john Password: Nu kan john's wachtwoord ingevoerd worden en op Enter gedrukt worden. Het wachtwoord wordt niet getoond! Daarover hoeft geen zorg te bestaan. Het is voldoende om te zeggen dat dit om veiligheidsredenen gedaan wordt. Als het juiste wachtwoord is ingegeven, is er aangemeld bij op &os; en in het systeem klaar om alle beschikbare commando's uit te voeren. Na het aanmelden is de MOTD of het bericht van de dag zichtbaar, gevolgd door een commandoprompt (een #, $ of een % karakter). Dit geeft aan dat er succesvol is aangemeld op &os;. Meerdere consoles &unix; programma's draaien in één console is prima, maar &os; kan veel programma's tegelijk draaien. Om maar één console te hebben waar commando's ingetypt kunnen worden zou zonde zijn van een besturingssysteem als &os; waar meerdere programma's tegelijkertijd op kunnen draaien. Hier kunnen virtuele consoles van pas komen. &os; kan ingesteld worden om verschillende virtuele consoles te tonen. Met toetscombinaties kan van de ene console naar de gewisseld worden. Elke console heeft zijn eigen uitvoerkanaal, en &os; zorgt ervoor dat alle toetsenbordinvoer en monitoruitvoer goed wordt gezet als er van de ene console naar de volgende wordt gewisseld. In &os; kunnen speciale toetscombinaties gebruikt worden om te wisselen naar een ander virtueel console. Een redelijk technische en accurate beschrijving van alle details over de &os; console en toetsenborddrivers staan in de hulppagina's van &man.syscons.4;, &man.atkbd.4;, &man.vidcontrol.1; en &man.kbdcontrol.1;. Hier wordt niet verder op ingegaan, maar de geïnteresseerde lezer kan altijd de hulppagina's raadplegen voor meer details en een grondige uitleg over hoe alles werkt. In &os; kan AltF1, AltF2 tot en met AltF8 gebruikt worden om te wisselen naar een ander virtueel console. Als wordt gewisseld van de ene naar de andere console zorgt &os; dat de uitvoer bewaard blijft. Het resultaat is een illusie van het hebben van meerdere schermen en toetsenborden die gebruikt kunnen worden om commando's in te voeren om &os; te laten draaien. De programma's die in de ene virtuele console draaien, stoppen niet als de console niet zichtbaar is. Ze blijven doordraaien als naar een andere virtuele console wordt gewisseld. Het bestand <filename>/etc/ttys</filename> De standaardinstelling van &os; start op met acht virtuele consoles. Dit is echter geen vaste waarde en een installatie kan eenvoudig aangepast worden, zodat het systeem gestart wordt met meer of minder virtuele consoles. De hoeveelheid en instellingen van de virtuele consoles worden ingesteld in /etc/ttys. /etc/ttys kan gebruikt worden om virtuele consoles in te stellen. Elke niet-commentaar regel in dit bestand (regels die niet beginnen met een # karakter) bevat instellingen voor een terminal of virtuele console. De standaardversie van dit bestand die meegeleverd wordt met &os; stelt negen virtuele consoles in en activeert er acht. Dit zijn de regels die beginnen met ttyv: # naam getty type status commentaar # ttyv0 "/usr/libexec/getty Pc" cons25 on secure # Virtual terminals ttyv1 "/usr/libexec/getty Pc" cons25 on secure ttyv2 "/usr/libexec/getty Pc" cons25 on secure ttyv3 "/usr/libexec/getty Pc" cons25 on secure ttyv4 "/usr/libexec/getty Pc" cons25 on secure ttyv5 "/usr/libexec/getty Pc" cons25 on secure ttyv6 "/usr/libexec/getty Pc" cons25 on secure ttyv7 "/usr/libexec/getty Pc" cons25 on secure ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure Een uitgebreide beschrijving van elke kolom in dit bestand en alle mogelijke opties voor virtuele consoles staan in de &man.ttys.5; hulppagina gebruiken. Single-user console In staat een gedetailleerde beschrijving van de single-user modus. Het is belanrijk te melden dat er in single-user modus maar één console is. Er zijn geen virtuele consoles beschikbaar. De instellingen van de single-user modus console staan ook in /etc/ttys . De regel begint met console: # name getty type status commentaar # # Als een console gemarkeerd is als "insecure", zal het init script om het root-wachtwoord # vragen wanneer het in single-user mode komt. console none unknown off secure Zoals het commentaar boven de console regel aangeeft, kan in deze regel het woord secure gewijzigd worden in insecure. In dat geval vraagt &os; bij het opstarten in single-user modus nog steeds om een root-wachtwoord. Pas op als dit wordt veranderd in insecure. Als het wachtwoord van de gebruiker root zoek is, wordt het opstarten in single-user modus lastig. Het is nog steeds mogelijk, maar het kan vrij moeilijk zijn voor iemand die &os; niet zo goed kent met betrekking tot het opstarten en de programma's die daarbij gebruikt worden. Het wijzigen van de console video mode De &os; standaard video mode kan worden gewijzigd in 1024x768, 1280x1024, of een van de vele andere formaten die ondersteund worden door de grafische kaart en monitor. Om gebruik te maken van de verschillende video modes, moet eerst de kernel opnieuw gecompileerd worden met twee extra opties: options VESA options SC_PIXEL_MODE Zodra de kernel opnieuw gecompileerd is met deze twee opties kan gekeken worden welke video modes er ondersteund worden door de hardware door gebruik te maken van de &man.vidcontrol.1; applicatie. Om een overzicht te krijgen van de ondersteunde video modes moet het volgende ingevoerd worden: &prompt.root; vidcontrol -i mode Het resultaat van dit commando is een lijst van video modes welke ondersteund worden door de hardware. Hierna kan de nieuwe video mode gekozen worden door dit aan te geven aan &man.vidcontrol.1;: &prompt.root; vidcontrol MODE_279 Als de nieuwe video mode acceptabel is, kan dit permanent ingesteld worden door het volgende in /etc/rc.conf te zetten: allscreens_flags="MODE_279" Rechten UNIX &os;, direct afgeleid van BSD &unix;, is gebaseerd op verschillende belangrijke &unix; concepten. Het meest bekende is dat &os; een multi-user systeem is. Het systeem kan meerdere gebruikers behandelen die tegelijkertijd totaal verschillende dingen doen. Het systeem is verantwoordelijk voor het netjes delen en beheren voor aanvragen voor hardware, randapparatuur, geheugen en cpu tijd tussen elke gebruiker. Omdat het systeem in staat is om meerdere gebruikers te ondersteunen, heeft alles wat door het systeem beheerd wordt een set van rechten die aangeeft wie mag lezen, schrijven en de bron mag uitvoeren. Deze rechten zijn opgeslagen in drie octetten, die weer in drie stukjes onderverdeeld zijn: één voor de eigenaar van het bestand, één voor de groep waar het bestand toe behoort en één voor de overigen. De numerieke weergave werkt als volgt: Rechten Bestandsrechten Waarde Recht Maprecht 0 Niet lezen, niet schrijven, niet uitvoeren --- 1 Niet lezen, niet schrijven, uitvoeren --x 2 Niet lezen, schrijven, niet uitvoeren -w- 3 Niet lezen, schrijven, uitvoeren -wx 4 Lezen, niet schrijven, niet uitvoeren r-- 5 Lezen, niet schrijven, uitvoeren r-x 6 Lezen, schrijven, niet uitvoeren rw- 7 Lezen, schrijven, uitvoeren rwx ls mappen De optie kan gebruikt worden met &man.ls.1; om een lange lijst met de inhoud van een map te zien die een kolom heeft met informatie over bestandsrechten voor de eigenaar, groep en de rest. ls -l in een willekeurige map kan het volgende laten zien: &prompt.user; ls -l total 530 -rw-r--r-- 1 root wheel 512 Sep 5 12:31 myfile -rw-r--r-- 1 root wheel 512 Sep 5 12:31 otherfile -rw-r--r-- 1 root wheel 7680 Sep 5 12:31 email.txt ... Zo ziet de eerste kolom van ls -l eruit: -rw-r--r-- Het eerste (meest linkse) karakter geeft aan of dit een reguliere bestand is, een map, een speciaal karakter component(!), een socket of een andere pseudo-file component(!). In dit geval betekent de - dat het een regulier bestand is. De volgende drie karakters, rw- in dit voorbeeld, geven de rechten voor de eigenaar van het bestand. De drie karakters r-- erna geven de rechten van voor de groep van het bestand. De overige drie karakters r-- tonen de rechten voor alle overige gebruikers. Een streepje betekent dat de rechten uitgeschakeld zijn. In het geval van dit bestand zijn de rechten zo ingesteld dat de eigenaar kan lezen en schrijven naar het bestand, de groep het bestand kan lezen, en alle overige gebruikers kunnen ook het bestand lezen. Volgens de tabel hierboven worden de rechten 644, waar de cijfers de drie stukjes van de rechten aangeven. Dit is allemaal leuk en aardig, maar hoe controleert het systeem dan rechten voor apparaten? &os; behandelt de meeste hardware apparaten als bestanden die door programma's kunnen worden geopend en gelezen, en waar data naar toe kan worden geschreven, net zoals elk ander bestand. Deze speciale apparaat bestanden worden bewaard in de map /dev. Mappen worden ook behandeld als bestanden. Ze hebben lees, schrijf en uitvoerbare rechten. De uitvoerbare vlag voor een map heeft een klein verschil qua betekenis dan die voor gewone bestanden. Als een map als uitvoerbaar gemarkeerd is, betekent het dat erin gekeken mag worden. Het is dus mogelijk om te wisselen naar de map met cd (wissel van map). Dit betekent ook dat in de map bestanden benaderd kunnen worden waarvan de naam bekend is. Dit is natuurlijk afhankelijk van de rechten op het bestand zelf. In het bijzonder, om een lijst van de map te kunnen maken, moet een gebruiker leesrechten op de map hebben. Om een bestand te verwijderen zijn de naam van het bestand en schrijf en uitvoerrechten op de map nodig waarin het bestand zich bevindt. Er zijn meer rechtenvlaggen, maar die worden slechts gebruikt in speciale gevallen, zoals bij setuid binaries en sticky mappen. Meer informatie over bestandsrechten en hoe die aangepast kunnen worden staat in &man.chmod.1;. Tom Rhodes Bijgedragen door Symbolische rechten rechten symbolisch Symbolische rechten, soms ook wel symbolische expressies, gebruiken karakters in plaats van octale getallen om rechten aan bestanden en mappen te geven. Symbolische expressies gebruiken de volgende opbouw: (wie) (actie) (permissies), waar de volgende waardes beschikbaar zijn: Optie Letter Vertegenwoordigt (wie) u Gebruiker (wie) g Groepseigenaar (wie) o Overigen (wie) a Iedereen (wereld) (actie) + Rechten toevoegen (actie) - Rechten verwijderen (actie) = Stel deze rechten in (recht) r Lezen (recht) w Schrijven (recht) x Uitvoeren (recht) t Sticky bit (recht) s Verander UID of GID Deze waardes worden gebruikt met &man.chmod.1;, net zoals eerder, alleen nu met letters. Het volgende commando kan gebruikt worden om de overige gebruikers toegang tot BESTAND te ontzeggen: &prompt.user; chmod go= BESTAND Er kan een door komma's gescheiden lijst geleverd worden als meer dan één wijziging aan een bestand moet worden uitgevoerd. Het volgende commando past de rechten voor de groep en de wereld aan door de schrijfrechten te ontnemen om daarna iedereen uitvoerrechten te geven: &prompt.user; chmod go-w,a+x BESTAND Tom Rhodes Geschreven door &os; bestandsvlaggen Naast de bestandsrechten die hiervoor zijn besproken, biedt &os; ondersteuning voor bestandsvlaggen. Deze vlaggen bieden een aanvullend beveiligingsniveau en controle over bestanden, maar niet over mappen. Bestandsvlaggen voegen een extra niveau van controle over bestanden, waardoor verzekerd kan worden dat in sommige gevallen zelfs root een bestand niet kan verwijderen of wijzigen. Bestandsvlaggen worden gewijzigd met het hulpprogramma &man.chflags.1;, dat een eenvoudige interface heeft. Om bijvoorbeeld de systeemvlag niet verwijderdbaar in te stellen op het bestand file1: &prompt.root; chflags sunlink file1 Om de vlag niet verwijderbaar weer te verwijderen kan het voorgaande command met no voor worden uitgevoerd: &prompt.root; chflags nosunlink file1 Om de vlaggen op een bestand te bekijken, kan het &man.ls.1; commando met de vlaggen gebruikt worden: - &prompt.root; ls -lo file1 - + &prompt.root; ls -lo file1 De uitvoer hoort er ongeveer als volgt uit te zien: -rw-r--r-- 1 trhodes trhodes sunlnk 0 Mar 1 05:54 file1 Een aantal vlaggen kan alleen ingesteld of verwijderd worden door de gebruiker root. In andere gevallen kan de eigenaar van een bestand vlaggen instellen. Meer informatie voor beheerders staat in &man.chflags.1; en &man.chflags.2;. Mappenstructuur mappenstructuur De &os; mappenstructuur is erg belangrijk om het systeem goed te leren kennen. Het belangrijkste concept om greep op te krijgen is die van de rootmap, /. Deze map is de eerste die gekoppeld wordt tijdens het opstarten en bevat het basissysteem dat nodig is om het besturingssysteem gereed te maken voor multi-user taken. De rootmap bevat ook koppelpunten voor elk ander bestandssysteem dat misschien gekoppeld wordt. Een koppelpunt is een map waar extra bestandssystemen aan het een bestandssysteem gekoppeld kunnen worden (meestal het root bestandssysteem). Dit wordt beschreven in . Standaard koppelpunten zijn /usr, /var, /tmp, /mnt en /cdrom. Naar deze mappen wordt meestal verwezen in /etc/fstab, een tabel met bestandssystemen en koppelpunten ter referentie voor het systeem. De meeste bestandssystemen in /etc/fstab worden automatisch gekoppeld tijdens het opstarten door het script &man.rc.8;, behalve als de optie gedefinieerd is. Details staan beschreven in . Een complete beschrijving over het bestandssysteem staat in &man.hier.7;. Hier wordt volstaan met een overzicht van de voorkomende mappen. Map Omschrijving / Rootmap van het bestandssysteem. /bin/ Gebruikersapplicaties, belangrijk voor zowel single user als multi-user omgevingen. /boot/ Programma's en instellingenbestanden die gebruikt worden tijdens het opstarten van het besturingssysteem. /boot/defaults/ Bestanden met standaardinstellingen voor opstarten;, zie &man.loader.conf.5;. /dev/ Apparaatnodes;, zie &man.intro.4;. /etc/ Bestanden met systeeminstellingen en scripts. /etc/defaults/ Bestanden met standaard systeeminstellingen;, zie &man.rc.8;. /etc/mail/ Instellingenbestanden voor mail transport programma's zoals &man.sendmail.8;. /etc/namedb/ Instellingenbestanden voor named, zie &man.named.8;. /etc/periodic/ Scripts die dagelijks, wekelijks en maandelijks via &man.cron.8; worden uitgevoerd, zie &man.periodic.8;. /etc/ppp/ Instellingenbestanden voor ppp, zie &man.ppp.8;. /mnt/ Lege map, veel gebruikt door systeembeheerders als tijdelijk koppelpunt voor opslagruimtes. /proc/ Process bestandssysteem;, zie &man.procfs.5; en &man.mount.procfs.8;. /rescue/ Statisch gelinkte programma's voor noodherstel, zie &man.rescue.8;. /root/ Thuismap van de gebruiker root. /sbin/ Systeemprogramma's en administratieprogramma's belangrijk voor zowel single-user en multi-user omgevingen. /tmp/ Tijdelijke bestanden. De inhoud van /tmp blijft meestal NIET bewaard na een herstart. Er wordt vaak een geheugengebaseerd bestandssysteem gekoppeld op /tmp. Dit kan geautomatiseerd worden met de tmpmfs-gerelateerde variabelen van &man.rc.conf.5; (of met een regel in /etc/fstab). Zie &man.mdmfs.8;. /usr/ Hier bevindt zich het leeuwendeel van alle hulpprogramma's en gewone programma's. /usr/bin/ Standaard programma's, programmeertools. /usr/include/ Standaard C invoegbestanden. /usr/lib/ Functiebibliotheken. /usr/libdata/ Diverse databestanden voor hulpprogramma's. /usr/libexec/ Systeemdaemons en systeemhulpprogramma's (uitgevoerd door andere programma's). /usr/local/ Lokale programma's, bibliotheken, etc. Wordt ook gebruikt als standaard locatie voor de &os; ports. Binnen /usr/local, wordt de algemene layout bepaald door &man.hier.7;, dat ook voor /usr wordt gebruikt. Uitzonderingen is de map man, die direct onder /usr/local ligt in plaats van onder /usr/local/share, en de documentatie voor ports is te vinden in share/doc/port. /usr/obj/ Architectuur afhankelijke doelstructuur voor resultaten van de bouw van /usr/src. /usr/ports De &os; Portscollectie (optioneel). /usr/sbin/ Systeemdaemons en systeemhulpprogramma's (uitgevoerd door gebruikers). /usr/share/ Architectuur onafhankelijke bestanden. /usr/src/ BSD en/of lokale broncodebestanden. /usr/X11R6/ Uitvoerbare bestanden en bibliotheken, etc, voor de X11R6 distributie (optioneel). /var/ Multifunctionele logboek-, tijdelijke, transparante en spool bestanden. /var/log/ Diverse logboekbestanden van het systeem. /var/mail/ Postbusbestanden van gebruikers. /var/spool/ Diverse printer- en mailsysteemspoolingmappen. /var/tmp/ Tijdelijke bestanden die bewaard worden bij een herstart van het systeem. /var/yp NIS maps. Organisatie van schijven De kleinste vorm van organisatie die &os; gebruikt om bestanden te vinden is de bestandsnaam. Bestandsnamen zijn hoofdlettergevoelig, wat betekent dat readme.txt en README.TXT twee verschillende bestanden zijn. &os; gebruikt de extensie niet (.txt) van een bestand om te bepalen of het bestand een programma, een document of een vorm van data is. Bestanden worden bewaard in mappen. Een map kan leeg zijn of honderden bestanden bevatten. Een map kan ook andere mappen bevatten, wat het mogelijk maakt om een hiërarchie van mappen te maken. Dit maakt het veel makkelijker om data te organiseren. Bestanden en mappen worden aangegeven door het bestand of de map aan te geven, gevolgd door een voorwaardse slash, /, gevolgd door andere mapnamen die nodig zijn. Als map foo de map bar bevat, die op zijn beurt het bestand readme.txt bevat, dan wordt de volledige naam of pad naar het bestand foo/bar/readme.txt. Mappen en bestanden worden bewaard op een bestandssysteem. Elk bestandssysteem bevat precies één map op het hoogste niveau die de rootmap van het bestandssysteem heet. Deze rootmap kan op zijn beurt andere mappen bevatten. Tot zover is dit waarschijnlijk hetzelfde als voor elk ander besturingssysteem. Er zijn een paar verschillen. &ms-dos; gebruikt bijvoorbeeld een \ om bestanden en mappen te scheiden, terwijl &macos; gebruik maakt van :. &os; gebruikt geen schijfletters, of andere schijfnamen in het pad. &os; gebruikt geen c:/foo/bar/readme.txt. Eén bestandssysteem wordt aangewezen als root bestandssysteem, waar naar wordt verwezen met /. Elk ander bestandssysteem wordt daarna gekoppeld onder het root bestandssysteem. Hoeveel schijven er ook aan een &os; systeem hangen, het lijkt alsof elke map zich op dezelfde schijf bevindt. Stel er zijn drie bestandssystemen met de namen A,B en C. Elk bestandssysteem heeft één root map die twee andere mappen bevat, A1 en A2 (zo ook voor de andere twee: B1, B2, C1 en C2). A wordt het root besturingsysteem. Met ls, dat de inhoud van de map kan tonen, zijn de twee mappen A1 en A2 te zien. De mappenstructuur ziet er als volgend uit: / | +--- A1 | `--- A2 Een bestandssysteem moet gekoppeld worden in een map op een ander bestandssysteem. Als nu bestandssysteem B wordt gekoppeld onder de map A1 vervangt B A1 en zien de koppelingen in B er als volgt uit: / | +--- A1 | | | +--- B1 | | | `--- B2 | `--- A2 Elk bestand dat in de mappen B1 en B2 aanwezig is, kan benaderd worden met het pad /A1/B1 of /A1/B2. Elk bestand dat in /A1 stond is tijdelijk verborgen en komt tevoorschijn als Bis ontkoppeldvan A. Als B gekoppeld is onder A2 ziet de diagram er als volgt uit: / | +--- A1 | `--- A2 | +--- B1 | `--- B2 en de paden zouden dan respectievelijk /A2/B1 en /A2/B2 zijn. Bestandssystemen kunnen op elkaar worden gekoppeld. Doorgaand op het vorige voorbeeld kan het bestandssysteem C gekoppeld worden bovenop de map B1 in het bestandssysteem B. Dit resulteert in: / | +--- A1 | `--- A2 | +--- B1 | | | +--- C1 | | | `--- C2 | `--- B2 Of C kan direct onder het bestandssysteem A gekoppeld worden, onder de map A1: / | +--- A1 | | | +--- C1 | | | `--- C2 | `--- A2 | +--- B1 | `--- B2 Hoewel het niet gelijk is, lijkt het op het gebruik van join in &ms-dos;. Beginnende gebruikers hoeven zich hier gewoonlijk niet mee bezig te houden. Normaal gesproken worden bestandssystemen gemaakt als &os; wordt geïnstalleerd en er wordt besloten waar ze gekoppeld worden. Meestal worden ze ook niet gewijzigd tot er een nieuwe schijf aan een systeem wordt toegevoegd. Het is mogelijk om één groot root bestandssysteem te hebben en geen andere. Deze benadering heeft voordelen en nadelen. Voordelen van meerdere bestandssystemen Verschillende bestandssystemen kunnen verschillende mount opties hebben. Met een goede voorbereiding kan het root bestandssysteem bijvoorbeeld als alleen-lezen gekoppeld worden, waardoor het onmogelijk wordt om per ongeluk kritische bestanden te verwijderen of te bewerken. Het scheiden van andere bestandssystemen die beschrijfbaar zijn door gebruikers, zoals /home van andere bestandssystemen stelt de beheerder in staat om ze nosuid te koppelen. Deze optie voorkomt dat suid/guid bits op uitvoerbare bestanden effectief gebruikt kunnen worden, waardoor de beveiliging mogelijk beter wordt. &os; optimaliseert automatisch de layout van bestanden op een bestandssysteem, afhankelijk van hoe het bestandssysteem wordt gebruikt. Een bestandsysteem dat veel bestanden bevat waar regelmatig naar geschreven wordt, wordt anders geoptimaliseerd dan een bestandssysteem dat minder maar grotere bestanden bevat. Door het gebruik van één groot bestandssysteem werkt deze optimalisatie niet. &os;'s bestandssystemen zijn erg robuust als er bijvoorbeeld een stroomstoring is, hoewel een stroomstoring op een kritiek moment nog steeds kan leiden tot schade aan de structuur van het bestandssysteem. Door het verdelen van data over meerdere bestandssystemen, is de kans groter dat het systeem nog opstart, wat terugzetten van een backup makkelijker maakt als dat nodig is. Voordeel van één bestandssysteem Bestandssystemen hebben een vaste grootte. Als bij de installatie van &os; een bestandssysteem wordt gemaakt, is het later mogelijk dat de partitie groter gemaakt moet worden. Dit is niet zo makkelijk zonder een backup, het opnieuw maken van het bestandssysteem met gewijzigde grootte en het terugzetten van de gebackupte data. &os; heeft &man.growfs.8; waarmee de grootte van het bestandssysteem is aan te passen terwijl het draait. Bestandssystemen worden opgeslagen in partities. Dit betekent niet hetzelfde als de algemene betekenis van de term partitie (bijvoorbeeld, &ms-dos; partitie), vanwege &os;'s &unix; achtergrond. Elke partitie wordt geïdentificeerd door een letter van a tot en met h. Elke partitie kan slechts één bestandssysteem hebben, wat betekent dat bestandssystem vaak omschreven worden aan de hand van hun koppelpunt in de bestandssysteem hiërarchie of de letter van de partitie waar ze in opgeslagen zijn. &os; gebruikt ook schijfruimte voor wisselbestanden. Wisselbestanden geven &os; virtueel geheugen. Dit geeft de computer de mogelijkheid om net te doen alsof er veel meer geheugen in de machine aanwezig is dan werkelijk het geval is. Als &os; geen geheugen meer heeft, verplaatst het data die op dat moment niet gebruikt wordt naar de wisselbestanden en plaatst het terug als het wel nodig is (en zet iets anders in ruil daarvoor terug). Aan sommige partities zijn bepaalde conventies gekoppeld. Partitie Conventie a Bevat meestal het root bestandssysteem b Bevat meestal de swapruimte c Heeft meestal dezelfde grootte als de hele harde schijf. Dit geeft hulpprogramma's de mogelijkheid om op een complete schijf te werken (voor bijvoorbeeld een bad block scanner) om te werken op de c partitie. Meest wordt hierop dan ook geen bestandssysteem gecreeërd. d Partitie d had vroeger een speciale betekenis, maar die is verdwenen. d zou nu kunnen werken als een normale partitie. Elke partitie die een bestandssysteem bevat is opgeslagen in wat &os; noemt een slice. Slice is &os;'s term voor wat meeste mensen partities noemen. Dit komt wederom door &os;'s &unix; achtergrond. Slices zijn genummerd van 1 tot en met 4. slices partities gevaarlijk toegewijd Slicenummers volgen de apparaatnamen, voorafgegaan door een s die begint bij 1. Dus da0s1 is de eerste slice op de eerste SCSI drive. Er kunnen maximaal vier fysieke slices op een schijf staan, maar er kunnen logische slices in fysieke slices van het correcte type staan. Deze uitgebreide slices zijn genummerd vanaf 5. Dus ad0s5 is de eerste uitgebreide slice op de eerste IDE schijf. Deze apparaten worden gebruikt door bestandssystemen waarvan verwacht wordt dat ze een slice in beslag nemen. Slices, gevaarlijk toegewijde (dangerously dedicated) fysieke drivers en andere drives bevatten partities, die worden weergegeven door letters vanaf a tot h. Deze letter wordt achter de apparaatnaam geplakt. Dus da0a is de a partitie op de eerste da drive, die gevaarlijk toegewijd is. ad1s3e is de vijfde partitie op de derde slice van de tweede IDE schijf. Elke schijf op het systeem wordt geïdentificeerd. Een schijfnaam start met een code die het type aangeeft en dan een nummer dat aangeeft welke schijf het is. In tegenstelling tot bij slices, start het nummeren van schijven bij 0. Standaardcodes staan beschreven in . Bij een referentie aan een partitie verwacht &os; ook dat de slice en schijf refereert naar die partitie en als naar een slice wordt verwezen moet ook de schijfnaam genoemd worden. Dit kan door de schijfnaam, s, het slice nummer en de partitieletter aan te geven. Voorbeelden staan in . In staat een conceptmodel van een schijflayout die een en ander verduidelijkt. Voordat &os; geïnstalleerd kan worden moeten eerst de schijfslices gemaakt worden en daarna moeten de partities op de slices voor &os; gemaakt worden. Daarna wordt op elke partitie het bestandssysteem (of wisselbestand) gemaakt en als laatste wordt besloten waar het filesysteem gekoppeld wordt. Schijf apparaatcodes Code Betekenis ad ATAPI (IDE) schijf da SCSI directe toegang schijf acd ATAPI (IDE) CDROM cd SCSI CDROM fd Floppydisk
Voorbeeld schijf-, slice- en partitienamen Name Betekenis ad0s1a De eerste partitie (a) op de eerste slice (s1) op de eerste IDE schijf (ad0). da1s2e De vijfde partitie (e) op de tweede slice (s1) op de tweede SCSI schijf (da1). Conceptmodel van een schijf Het onderstaande diagram geeft aan hoe &os; de eerste IDE schijf in het systeem ziet. Stel dat de schijf 4 GB groot is en dat deze twee 2 GB slices (&ms-dos; partities) bevat. De eerste slice bevat een &ms-dos; schijf, C: en de tweede slice bevat een &os; installatie. Deze &os; installatie heeft drie partities en een partitie met een wisselbestand. De drie partities hebben elk een bestandssysteem. Partitie a wordt gebruikt voor het root bestandssysteem, e voor de map /var en f voor de map /usr. .-----------------. --. | | | | DOS / Windows | | : : > Eerste slice, ad0s1 : : | | | | :=================: ==: --. | | | Partitie a, gekoppeld als / | | | > gerefereerd als ad0s2a | | | | | :-----------------: ==: | | | | Partitie b, gebruikt als swap | | | > gerefereerd als ad0s2b | | | | | :-----------------: ==: | Partitie c, geen | | | Partition e, gebruikt als /var > bestandssysteem, bevat | | > gerefereerd als ad0s2e | alle &os; slices, | | | | ad0s2c :-----------------: ==: | | | | | : : | Partitie f, gebruikt als /usr | : : > gerefereerd als ad0s2f | : : | | | | | | | | --' | `-----------------' --'
Het koppelen en ontkoppelen van bestandssystemen Het bestandssysteem wordt het best weergegeven als een boom, met de stam als /. /dev, /usr en de andere map in root zijn takken die weer hun eigen takken kunnen hebben, zoals /usr/local, etc. root bestandssysteem Er zijn verschillende redenen om sommige van deze mappen op aparte bestandssystemen te plaatsen. /var bevat de mappen log/, spool/ en verschillende types tijdelijke bestanden en kan volraken. Het laten vollopen van het root bestandssysteem is geen goed idee, dus het splitsen van /var van /is vaak de favoriet. Een andere vaak voorkomende reden om bepaalde mapbomen op aparte bestandssystemen te plaatsen, is om ze op verschillende fysieke schrijven te zetten of gescheiden virtuele schijven zoals gemounte Netwerk bestandssystemen of cd-rom drives. Het bestand <filename>fstab</filename> bestandssystemen gekoppeld met fstab Tijdens het opstartproces, worden bestandssystemen die vermeld staan in /etc/fstab automatisch gekoppeld (tenzij ze vermeld staan met ). /etc/fstab bevat een lijst van regels die aan het volgende formaat voldoen: apparaat /koppelpunt fstype opties dumpfreq passno apparaat Een apparaatnaam (die moet bestaan) zoals uitgelegd in . koppelpunt Een map (die moet bestaan) waarop het bestandssysteem gekoppeld moet worden. fstype Het bestandssysteem type dat aan &man.mount.8; gegeven wordt. Het standaard &os; bestandssysteem is ufs. opties Dit is of voor lezen en schrijven bestandssytemen, of voor alleen lezen, gevolgd door elke andere optie die mogelijk nodig is. Een standaard optie is voor bestandssystemen die niet automatisch gekoppeld worden tijdens het opstarten. Andere opties staan in &man.mount.8;. dumpfreq Dit wordt gebruikt door &man.dump.8; om te bepalen welke bestandssystemen gedumpt moeten worden. Als het veld niet is ingevuld, wordt aangenomen dat er een nul staat. passno Dit bepaalt in welke volgorde bestandssystemen gecontroleerd moeten worden. Bestandssystemen die overgeslagen moeten worden moeten hun passno waarde op nul hebben staan. Voor het root bestandssysteem (dat voor alle andere gecontroleerd moet worden) moet passno op één staan en passno waarden voor andere bestandssystemen moeten een waarde hebben groter dan één. Als bestandssysteem dezelfde passno waarde hebben probeert &man.fsck.8; deze bestandssystemen tegelijkertijd te controleren. In &man.fstab.5; staat meer informatie over de opmaak van /etc/fstab en de mogelijke opties. Het commando <command>mount</command> bestandssystemen koppelen &man.mount.8; wordt gebruikt om bestandsystemen te koppelen. De meest eenvoudige vorm is: &prompt.root; mount apparaat koppelpunt Alle opties voor het commando staat in &man.mount.8;, maar de meest voorkomende zijn: Mountopties Mount alle bestandssystemen die in /etc/fstab staan, behalve die gemarkeerd staan als noauto, uitgesloten zijn door de optie of die al gekoppeld zijn. Doe alles behalve het echt aanroepen van de mount systeemopdracht. Deze optie is handig in samen met de optie om te bepalen wat &man.mount.8; eigenlijk probeert te doen. Forceert het koppelen van een niet schoon bestandssysteem (gevaarlijk) of forceert het innemen van schrijftoegang als de koppelstatus van een bestandssysteem wijzigt van lezen en schrijven naar alleen lezen. Mount het bestandssysteem alleen lezen. Dit is identiek aan de optie ( voor &os; versies ouder dan 5.2) voor de optie . fstype Mount het opgegeven bestandssysteem als het opgegeven type bestandssysteem of koppelt alleen bestandssystemen van het aangegeven type als ook de optie is opgegeven. ufs is het standaard bestandssysteem. Werk koppel opties van het bestandssysteem bij. Geef uitgebreide informatie (verbose). Mount het bestandssysteem lezen en schrijven. De optie accepteert een door komma's gescheiden lijst van opties, waaronder de volgende: noexec Sta geen uitvoerbare bestanden toe op dit bestandssysteem. Ook dit is een nuttige veiligheidsoptie. nosuid Interpreteer geen setuid of setgid opties op het bestandssysteem. Ook dit is een nuttige veiligheidsoptie. Het commando <command>umount</command> bestandssystemen ontkoppelen &man.umount.8; heeft een koppelpunt, een apparaatnaam, of als parameter. Alle vormen kunnen de optie hebben om een bestandsysteem te forceren te ontkoppelen en de optie voor uitgebreide informatie. De optie is meestal geen goed idee. Forceren dat een bestandssysteem ontkoppeld wordt kan de computer laten crashen of data op het bestandssysteem beschadigen. De opties en worden gebruikt om alle bestandssystemen te unmounten, mogelijk nader gespecificeerd door de optie met daarachter op welke typen bestandssystemen het betrekking heeft. Voor de optie geldt dat deze niet probeert het root bestandssysteem te ontkoppelen. Processen &os; is een multi-tasking besturingssysteem. Dit betekent dat het lijkt alsof er meer dan één proces tegelijkertijd draait. Elk programma dat draait wordt een proces genoemd. Elk commando dat wordt uitgevoerd start op zijn minst één nieuw proces en er zijn systeemprocessen die continu draaien om het systeem functioneel te houden. Elk proces wordt geïdentificeerd door een nummer dat process ID of PID heet, en net zoals bij bestanden heeft elk proces één eigenaar en groep. De eigenaars- en groepsinformatie wordt gebruikt om te bepalen welke bestanden en apparaten het proces mag openen, waarbij gebruik wordt gemaakt van de bestandsrechten die eerder zijn behandeld. Veel processen hebben ook een ouderproces (parent process). Een ouderproces is een proces dat het nieuwe proces heeft gestart. Als commando's in een shell worden ingevoerd, start de shell een proces en elk commando dat draait is ook een proces. De uitzondering hierop is het speciale proces &man.init.8;. init is altijd het eerste proces, dus het PID is altijd 1. init wordt automatisch gestart door de kernel als &os; opstart. Twee commando's die erg handig zijn om te zien welke processen er draaien zijn &man.ps.1; en &man.top.1;. ps wordt gebruikt om een statische lijst op te vragen van de processen die op het moment van uitvoeren draaien en kan hun PID, geheugengebruik, de startende commandoregel, enzovoort, tonen. top geeft alle draaiende processen weer en werkt de status elke paar seconden bij zodat interactief wordt weergegeven wat een computer aan het doen is. Standaard laat ps alleen zien welke commando's draaien waarvan de gebruiker die het uitvoert de eigenaar is: &prompt.user; ps PID TT STAT TIME COMMAND 298 p0 Ss 0:01.10 tcsh 7078 p0 S 2:40.88 xemacs mdoc.xsl (xemacs-21.1.14) 37393 p0 I 0:03.11 xemacs freebsd.dsl (xemacs-21.1.14) 48630 p0 S 2:50.89 /usr/local/lib/netscape-linux/navigator-linux-4.77.bi 48730 p0 IW 0:00.00 (dns helper) (navigator-linux-) 72210 p0 R+ 0:00.00 ps 390 p1 Is 0:01.14 tcsh 7059 p2 Is+ 1:36.18 /usr/local/bin/mutt -y 6688 p3 IWs 0:00.00 tcsh 10735 p4 IWs 0:00.00 tcsh 20256 p5 IWs 0:00.00 tcsh 262 v0 IWs 0:00.00 -tcsh (tcsh) 270 v0 IW+ 0:00.00 /bin/sh /usr/X11R6/bin/startx -- -bpp 16 280 v0 IW+ 0:00.00 xinit /home/nik/.xinitrc -- -bpp 16 284 v0 IW 0:00.00 /bin/sh /home/nik/.xinitrc 285 v0 S 0:38.45 /usr/X11R6/bin/sawfish In het bovenstaande voorbeeld is de uitvoer van &man.ps.1; georganiseerd in een aantal kolommen. PID is het proces ID. PIDs worden toegekend vanaf 1 en lopen op tot 99999. Als ze allemaal zijn gebruikt, worden ze hergebruikt. (een PID wordt niet hergebruikt als deze reeds in gebruik is). De TT kolom toont de tty vanwaar het programma draait en wordt nu buiten beschouwing gelaten. STAT toont de huidige staat van het programma en ook deze kolom wordt buiten beschouwing gelaten. TIME is de hoeveelheid tijd die het programma gedraaid heeft op de CPU. Dit is meestal niet de verstreken tijd vanaf het moment dat het programma is gestart. Veel programma's wachten omdat er alleen gebruik wordt gemaakt van de CPU als er iets voor het programma te doen is. Als laatste is COMMAND de commandoregel die gebruikt is om het programma te starten. &man.ps.1; ondersteunt een aantal opties die de informatie wijzigen die wordt weergegeven. Één van de meest nuttige combinaties is auxww. De optie toont informatie over alle draaiende processen, niet alleen die van de gebruiker die is aangemeld. De optie toont de gebruikersnaam van de proceseigenaar, evenals geheugengebruik. De optie toont informatie over daemonprocessen en met de optie laat &man.ps.1; de volledige commandoregel zien voor elk proces, in plaats van een mogelijk afgekorte regel omdat die te lang is om op het scherm te passsen. De uitvoer van &man.top.1; is hetzelfde: &prompt.user; top last pid: 72257; load averages: 0.13, 0.09, 0.03 up 0+13:38:33 22:39:10 47 processes: 1 running, 46 sleeping CPU states: 12.6% user, 0.0% nice, 7.8% system, 0.0% interrupt, 79.7% idle Mem: 36M Active, 5256K Inact, 13M Wired, 6312K Cache, 15M Buf, 408K Free Swap: 256M Total, 38M Used, 217M Free, 15% Inuse PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND 72257 nik 28 0 1960K 1044K RUN 0:00 14.86% 1.42% top 7078 nik 2 0 15280K 10960K select 2:54 0.88% 0.88% xemacs-21.1.14 281 nik 2 0 18636K 7112K select 5:36 0.73% 0.73% XF86_SVGA 296 nik 2 0 3240K 1644K select 0:12 0.05% 0.05% xterm 48630 nik 2 0 29816K 9148K select 3:18 0.00% 0.00% navigator-linu 175 root 2 0 924K 252K select 1:41 0.00% 0.00% syslogd 7059 nik 2 0 7260K 4644K poll 1:38 0.00% 0.00% mutt ... De uitvoer is gesplitst in twee secties. De kop (de eerste vijf regels) toont het laatst uitgegeven PID, de gemiddelde systeembelasting (hoe druk is een systeem), de uptime van het systeem (tijd verstreken sinds laatste reboot) en de huidige tijd. De andere cijfers in de kop tonen hoeveel processen er draaien (in dit geval 47) , hoeveel geheugen en swap er gebruikt wordt en hoeveel processortijd het systeem besteed aan verschillende taakgroepen. Daaronder staat een serie van kolommen die soortgelijke informatie bevatten als de uitvoer van &man.ps.1;. Zo zijn het PID, de gebruikersnaam, de hoeveelheid processortijd en het commando dat gebruikt is om het proces te starten te zien. &man.top.1; laat standaard ook zien hoeveel geheugen er gebruikt wordt door een proces. Dit staat in twee kolommen waarbij in de eerste kolom het maximale geheugengebruik wordt getoond en in de tweede kolom het huidige geheugengebruik. Maximale gebruik is de hoeveelheid geheugen die het proces nodig had in de tijd dat het bestaat en het residente gebruik is hoeveel er op het moment van weergeven gebruikt wordt. In dit voorbeeld is zichtbaar dat &netscape; bijna 30 MB RAM nodig had, maar op het moment van uitvoeren 9 MB verbruikt. &man.top.1; werkt het beeld automatisch iedere twee seconden bij. Dat kan gewijzigd worden met de optie . Daemons, signalen en het stoppen van processen Als een gebruiker een editor draait is het makkelijk om de editor te besturen, te vertellen om bestanden te openen, etc. Dit kan omdat de editor de mogelijkheden geeft om dat te doen en omdat de editor gekoppeld is aan een terminal. Sommige programma's zijn niet ontworpen om te draaien met continue gebruikersinvoer, dus als zij de kans krijgen ontkoppelen zij zich van de terminal. Een webserver reageert bijvoorbeeld de hele dag op webaanvragen en heeft eigenlijk geen input van een lokale gebruiker nodig. Programma's die email van locatie naar locatie transporteren zijn een ander voorbeeld. Deze programma's heten daemons. Daemons waren karakters in de Griekste mythologie, goed noch slecht, ze waren dienende geesten die op grote schaal nuttige dingen deden voor de mensheid. Net zoals de huidige webservers en mailservers nuttige dingen doen. Dit is waarom de mascotte voor BSD al lang een vrolijk kijkende daemon met puntoren en een drietand is. Er is een overeenkomst om programma's die meestal draaien als daemon te voorzien van het achtervoegsel d. BIND is de Berkeley Internet Name Domain (het echte programma heet named), de Apache webserver heet httpd, de printerspooldriver heet lpd, etc. Deze overeenkomst geldt niet altijd. De hoofd maildaemon voor Sendmail heet bijvoorbeeld sendmail en niet maild. Soms is communicatie met een daemon nodig. Een manier om dit te doen is het versturen van een signaal (signals). Er zijn een verschillende signalen. Sommige hebben een specifieke bedoeling, andere worden geïntrepeteerd door de applicatie. In de documentatie van de applicatie staat hoe de applicatie signalen intrepeteert. Er kan alleen een signaal naar een proces gezonden worden waar de uitvoerende gebruiker eigenaar van is. Als met &man.kill.1; of &man.kill.2; een signaal naar een proces van een andere gebruiker wordt gestuurd, wordt de toegang geweigerd. De enige uitzondering hierop is de root gebruiker, die signalen naar processen van alle gebruikers kan sturen. &os; stuurt soms ook signalen naar applicaties. Als een applicatie slecht geschreven is en hij probeert geheugen te benaderen waar hij niet naartoe mag, stuurt &os; het proces een Segmentation Violation signaal (SIGSEGV). Als een applicatie de systeemaanroep &man.alarm.3; heeft gebruikt om na een bepaalde periode een alarm te ontvangen, wordt er een Alarm signaal heen gestuurd (SIGALRM), etc. Twee signalen kunnen gebruikt worden om een proces te stoppen: SIGTERM en SIGKILL. SIGTERM is de nette manier om een proces te killen. Het proces kan het signaal afvangen, begrijpen dat de eigenaar wil dat het wordt afgesloten, wellicht logboekbestanden sluiten die geopend zijn en alle onderhanden activiteiten afhandelen. In een aantal gevallen kan een proces SIGTERM negeren: als het midden in een taak zit die niet beëindigd kan worden. SIGKILL mag niet worden genegeerd door een proces. Dit is het Wat je ook aan het doen bent, stop er nu mee signaal. Na een SIGKILL stopt &os; het proces meteen. Dit is niet geheel waar. Er zijn een aantal dingen die niet onderbroken kunnen worden. Als het proces bijvoorbeeld een bestand probeert uit te lezen dat op een andere computer in het netwerk staat en de andere computer is verdwenen (uitgezet of het netwerk heeft een fout), dan wordt er gezegd dat het proces niet onderbroken kan worden. Uiteindelijk loopt het proces uit de tijd, meestal na twee minuten. Zodra het uit de tijd loopt, wordt het proces alsnog gestopt. Andere veelgebruikte signalen zijn SIGHUP, SIGUSR1 en SIGUSR2. Dit zijn algemeen bruikbare signalen en verschillende applicaties zullen verschillend reageren als ze verstuurd worden. Stel dat het bestand met instellingen voor de webserver is aangepast. Dan moet aan de webserver verteld worden dat die de instellingen opnieuw moet lezen. Hiervoor zou httpd gestopt en gestart kunnen worden, maar dit resulteert in een korte onderbreking van de webserverdienst, wat ongewenst kan zijn. De meeste daemons zijn geschreven om te reageren op het SIGHUP signaal door het opnieuw inlezen van het instellingenbestand. Dus in plaats van het stoppen en herstarten van httpd kan het SIGHUP signaal gezonden worden. Omdat er geen standaard manier is om op deze signalen te reageren, reageren verschillende daemons anders. Het is verstandig eerst de documentatie van de daemon in kwestie te lezen. Zoals onderstaand voorbeeld laat zien, worden signalen door &man.kill.1; verzonden. Het versturen van een signaal naar een proces Dit voorbeeld toont hoe een signaal naar &man.inetd.8; wordt verstuurd. Het bestand met instellingen voor inetd is /etc/inetd.conf en inetd leest dit bestand opnieuw in als er een SIGHUP wordt verstuurd. Eerst moet het proces ID worden opgezocht van het proces waar een signaal naar verzonden moeten worden. Dit kan door &man.ps.1; en &man.grep.1; te gebruiken. &man.grep.1; wordt gebruikt om in de uitvoer te zoeken en te kijken naar de string die de gebruiker opgeeft. Dit commando wordt gedraaid als een normale gebruiker en &man.inetd.8; wordt gedraaid onder de gebruiker root, dus aan &man.ps.1; moet de optie meegegeven worden. &prompt.user; ps -ax | grep inetd 198 ?? IWs 0:00.00 inetd -wW Dus PID van &man.inetd.8; is 198. In sommige gevallen kan grep inetd ook voorkomen in de uitvoer. Dit komt door de manier waarop &man.ps.1; de lijst van draaiende processen moet vinden. Met &man.kill.1; kan het signaal verzonden worden. Omdat &man.inetd.8; wordt gedraaid door root moet &man.su.1; gebruikt worden om root te worden. &prompt.user; su Password: &prompt.root; /bin/kill -s HUP 198 Zoals zovaak met &unix; commando's, geeft &man.kill.1; geen uitvoer als het succesvol uitgevoerd is. Als een signaal wordt verzonden naar een proces waarvan de gebruiker niet zelf de eigenaar is, dan is de melding: kill: PID: Operation not permitted. Als het PID verkeerd wordt ingevuld, wordt het signaal naar het verkeerde proces verzonden, wat slecht kan zijn, of, als de gebruiker geluk heeft, wordt het verzonden naar een PID dat momenteel niet in gebruik is, waarop de foutmelding kill: PID: No such process verschijnt. Waarom <command>/bin/kill</command> gebruiken? Veel shells leveren kill als ingebouwd commando. Dat betekent dat de shell het signaal direct verstuurt in plaats van door het starten van /bin/kill. Dit kan erg nuttig zijn, maar verschillende shells hebben een verschillende opdrachtregel voor het specificeren van de naam van het signaal dat verstuurd moet worden. In plaats van ze allemaal te leren, is het eenvoudiger om gewoon /bin/kill PID te gebruiken. Andere signalen versturen werkt bijna hetzelfde door TERM of KILL op de commandoregel te vervangen door wat nodig is. Het stoppen van willekeurige processen op een systeem is meestal een slecht idee. In het bijzonder bij &man.init.8; met proces ID 1. Het draaien van /bin/kill -s KILL 1 is een snelle manier om een systeem uit te zetten. Argumenten die aan &man.kill.1; worden meegegeven moeten altijd twee keer gecontroleerd worden voordat op Enter gedrukt wordt. Shells shells commandoregel In &os; wordt een groot deel van het alledaagse werk gedaan vanuit een omgeving met een commandoregel die shell heet. De grootste taak van een shell is om commando's van het invoerkanaal op te vangen en deze uit te voeren. Veel shells hebben ook functies ingebouwd om mee te helpen om alledaagse taken zoals bestandsbeheer, bestandsglobbing, bestanden wijzigen vanaf de commandoregel, commandomacro's schrijven en uitvoeren en omgevingsvariabelen instellen en wijzigen. &os; heeft een aantal shells bijgeleverd zoals sh, de Bourne Shell en tcsh, de verbeterde C-shell. Er zijn veel andere shells beschikbaar in de &os; Portscollectie zoals zsh en bash. Welke shell gebruiken? Dit is een kwestie van smaak. Een C–programmeur voelt zich misschien prettiger bij een C–achtige shell, zoals tcsh. Een voormalig &linux; gebruiker of iemand die niet veel ervaring heeft met een &unix; commandoregel interface wil misschien bash proberen. Elke shell heeft zijn eigen unieke eigenschappen die wel of niet werken voor een bepaalde gebruiker. Een standaard optie in een shell is bestandsnaam completie. Door het intikken van de eerste paar letters van een commando of bestandsnaam, kan de shell opdracht gegeven worden om automatisch de rest het commando of bestandsnaam toe te voegen met de Tab toets op het toetsenbord. Stel dat er twee bestanden zijn met de namen foobar en foo.bar en foo.bar moet verwijderd worden. Dan kan op het toetsenbord rm fo[Tab].[Tab] ingevoerd worden. De shell geeft rm foo[BEEP].bar weer. De [BEEP] geeft aan dat de shell in staat was om de bestandsnaam te completeren omdat er meer dan één soortgelijk bestand was. foobar en foo.bar beginnen met fo, maar het was in staat om het af te maken tot foo. Na het invoeren van een . en daarna Tab, is de shell in staat om de rest van de bestandsnaam aan te vullen. omgevingsvariabelen Een andere optie van de shell is het gebruik van omgevingsvariabelen. Omgevingsvariabelen zijn variabele sleutelparen die opgeslagen zijn in de omgevingsruimte van een shell. Deze ruimte kan uitgelezen worden door elk programma dat door de shell wordt uitgevoerd en bevat dus veel programmainstellingen. Hieronder staat een lijst van standaard omgevingsvariabelen en wat ze betekenen: omgevingsvariabelen Variabele Omschrijving USER Gebruikersnaam van de gebruiker die is aangemeld. PATH Een lijst van mappen, gescheiden door een : voor het zoeken naar binaire bestanden. DISPLAY Netwerknaam van het X11 scherm om verbinding mee te maken, indien beschikbaar. SHELL De huidige shell. TERM De naam van de huidige gebruikersterminal. Gebruikt om de mogelijkheden van de terminal te bepalen. TERMCAP Databaseregel met terminal escape codes voor het uitvoeren van diverse terminalfuncties. OSTYPE Type besturingssysteem, bijvoorbeeld &os;. MACHTYPE De CPU architectuur waar het systeem op draait. EDITOR De teksteditor waar de gebruiker de voorkeur aan geeft. PAGER De tekstpager waar de gebruiker de voorkeur aan geeft. MANPATH Lijst van mappen gescheiden door een : voor het zoeken naar handleidingen. Bourne shells Het instellen van omgevingsvariabelen verschilt van shell tot shell. In de C–achtige shells zoals tcsh en csh moet setenv gebruikt worden om omgevingsvariabelen in te stellen. In Bourne-shells zoals sh en bash moet export gebruikt worden om de omgevingsvariabelen in te stellen. Om bijvoorbeeld de omgevingsvariabele EDITOR te wijzigen naar /usr/local/bin/emacs onder csh of tcsh moet het volgende gedaan worden: &prompt.user; setenv EDITOR /usr/local/bin/emacs In Bourne shells is dat: &prompt.user; export EDITOR="/usr/local/bin/emacs" Met de meeste shells kunnen de omgevingsvariabelen ook weergegeven worden door een $ karakter voor de variabelenaam te plaatsen op de commandoregel. echo $TERM zou weergeven wat er in $TERM gezet is, omdat de shell $TERM uitbreid en het resultaat doorgeeft aan echo. Shells kennen veel speciale karakters, die meta-karakters heten, als speciale weergaves van data. De meest voorkomende is het karakter * karakter, dat elk karakter in een bestandsnaam voorstelt. Deze speciale meta-karakters kunnen gebruikt worden om bestandsnaamglobbing te doen. Door bijvoorbeeld echo * in te voeren, is het resultaat bijna hetzelfde als door het uitvoeren van ls, omdat de shell alle bestanden die van toepassing zijn aan echo geeft om ze daarna te tonen. Om te voorkomen dat de shell deze speciale tekens verwerkt, kunnen ze uitgeschakeld worden door er het backslash karakter (\) voor te plaatsen. echo $TERM print de inhoud van TERM naar het scherm. echo \$TERM print $TERM zoals het geschreven is. Shell wijzigen De makkelijkste manier om de shell te wijzigen is door het chsh commando te gebruiken. Door chsh te starten wordt de editor gestart die in de EDITOR omgevingsvariable staat. Als deze niet is ingesteld, wordt vi gestart. In de editor kan de regel waarop Shell: staat gewijzigd worden. Aan chsh kan ook de optie meegegeven worden. Dit stelt de shell in, zonder dat een editor gebruikt hoeft te worden. Als de shell bijvoorbeeld gewijzigd moet worden in bash, kan dat als volgt: &prompt.user; chsh -s /usr/local/bin/bash De te gebruiken shell moet geregistreerd zijn in /etc/shells. Als een shell uit de Portscollectie is geïnstalleerd, is dit meestal automatisch gebeurd. Als de shell met de hand is geïnstalleerd moet het onderstaande gedaan worden. Als bijvoorbeeld bash met de hand geïnstalleerd is in /usr/local/bin, dient het onderstaande te gebeuren: &prompt.root; echo "/usr/local/bin/bash" >> /etc/shells Hierna kan chsh weer gedraaid worden. Teksteditors teksteditors editors Een groot deel van de instellingen in &os; wordt gemaakt door het bewerken van tekstbestanden. Hierdoor is het een goed idee om bekend te zijn met een tekstverwerker. &os; heeft er een paar in het basissysteem en veel anderen zijn beschikbaar via de Portscollectie. ee editors ee De makkelijkste en simpelste editor om te leren is de editor ee, wat easy editor betekent. Om ee te starten, moet op de commandoregel ee bestandsnaam ingevoerd worden, waar bestandsnaam de naam is van het bestand dat bewerkt moet worden. Om bijvoorbeeld /etc/rc.conf te bewerken, wordt ee /etc/rc.conf ingegeven. Eenmaal in ee worden alle manipulatie commando's die de editor heeft weergegeven aan de bovenkant van het scherm. Het karakter dakje ^ staat voor de toets CTRL op het toetsenbord, dus ^e vormt de toetscombinatie Ctrle . Om uit ee te komen wordt op de toets Esc gedrukt en daar kan gekozen worden om de editor te verlaten. De editor vraagt dan of de wijzigingen bewaard moeten worden als het bestand veranderd is. vi editors vi Emacs editors Emacs &os; heeft ook uitgebreidere tekstverwerkers, zoals vi, in het basissysteem en andere editors als Emacs en vim maken onderdeel uit van de &os; Portscollectie (editors/emacs en editors/vim). Deze editors leveren veel meer functionaliteit en kracht maar zijn lastiger om te leren. Als echter veel met tekstverwerking gedaan wordt, is het leren van een krachtige editor als vim of Emacs verstandig omdat deze uiteindelijk veel tijd kan besparen. Apparaten en apparaatnodes Apparaat is een term die meestal wordt gebruikt voor hardwareonderdelen in een systeem, zoals schijven, printers grafische kaarten en toetsenborden. Als &os; opstart laat het vooral zien welke apparaten gedetecteerd worden. Deze opstartmeldingen kunnen nagekeken worden door het bestand /var/run/dmesg.boot te bekijken. acd0 is bijvoorbeeld de eerste IDE cd-rom drive, terwijl kbd0 staat voor het toetsenbord. Veel van deze apparaten moeten in een &unix; besturingssysteem benaderd worden via speciale bestanden die apparaatnodes heten en te vinden zijn in de map /dev. Apparaatnodes maken Als een nieuw apparaat wordt toegevoegd aan een systeem of als ondersteuning voor extra apparaten wordt gecompileerd, dan moeten er misschien nieuwe apparaat nodes aangemaakt worden. <literal>DEVFS</literal> (apparaatbestandssysteem - DEVice File System) Het apparaatbestandssysteem of DEVFS, levert toegang tot de apparaatruimte van de kernel in het globale bestandssysteem. In plaats van dat het nodig is om apparaatnodes te maken en te wijzigen, doet DEVFS dit. In &man.devfs.5; staat meer informatie. Binaire formaten Om te kunnen begrijpen waarom &os; gebruik maakt van het &man.elf.5; formaat, is het belangrijk op de hoogte zijn van de drie dominante uitvoerbare formaten voor &unix;: &man.a.out.5; Het oudste en klassieke &unix; object formaat. Het gebruikt een korte en compacte kop met een magisch nummer aan het begin dat veel gebruikt wordt om het formaat aan te geven (&man.a.out.5; geeft meer details). Het bevat drie laadbare segmenten: .tekst, .data en .bss, een symbolentabel en een stringtabel. COFF Het SVR3 object formaat. De kop bestaat uit een sectietabel, dus er kunnen meer dan alleen .tekst, .data, en .bss secties zijn. &man.elf.5; De opvolger van COFF, heeft meerdere secties en 32-bit of 64-bit als mogelijke waarden. Één nadeel: ELF was ook ontworpen met de aanname dat er maar één ABI per systeemarchitectuur zou zijn. Deze aanname is eigenlijk redelijk incorrect, zelfs niet in de commerciële SYSV wereld (die op zijn minst drie ABIs heeft: SRV4, Solaris en SCO). &os; probeert om dit probleem heen te werken door een hulpprogramma te leveren voor het brandmerken van een bekend ELF uitvoerbaar bestand met informatie over de ABI waar hij mee kan werken. In &man.brandelf.1; staat meer informatie. &os; komt uit het klassieke kamp en gebruikt het &man.a.out.5; formaat, een technologie die zich bewezen heeft door meerdere generaties van BSD versies heen, tot het begin van de 3.X versies. Alhoewel het al mogelijk was om ELF programma's en kernels te bouwen en te draaien op een &os; systeem , verzette &os; zich eerst tegen de druk om over te schakelen naar ELF als standaard formaat. Waarom? Toen het &linux; kamp hun pijnlijke wissel maakte naar ELF, was dat niet zozeer om van het a.out formaat af te komen, maar meer omdat van het op de inflexibele jump-tabel gebaseerde gedeelde bibliotheekmechanisme af te komen, die het maken van gedeelde bibliotheken erg moeilijk maakte voor bedrijven en ontwikkelaars. Omdat de ELF hulprogramma's een oplossing voor het gedeelde bibliotheek probleem waren en algemeen gezien werden als een stap vooruit, werd de migratie geaccepteerd als noodzakelijk kwaad en werd de wissel uitgevoerd. Het gedeelde bibliotheek mechanisme van &os; is meer gebaseerd op het gedeelde bibliotheek mechanisme van Sun's &sunos; en daardoor erg makkelijk te gebruiken. Waarom zijn er zoveel verschillende formaten? In het duistere donkere verleden was er simpele hardware. Deze simpele hardware ondersteunde een simpel klein systeem. a.out was volledig adequaat voor de taak om binaire bestanden op dat simpele systeem te vertegenwoordigen (een PDP-11). Toen mensen &unix; van deze machine gingen porten, behielden ze het a.out formaat omdat het voldeed voor de vroege ports van &unix; naar architecturen als Motorola 68k, VAXen, enzovoort. Toen besloot een slimme hardware engineer dat als hij de software kon forceren om wat simpele truckjes te doen, hij in staat was om een paar onderdelen van het ontwerp af te schaven, waardoor zijn processorcore sneller kon draaien. Terwijl men probeerde om het met deze nieuwe vorm van hardware te laten werken (vandaag de dag beter bekend als RISC), was a.out te beperkt voor deze hardware. Dus werden er vele formaten ontworpen om betere prestaties te krijgen uit deze hardware dan het simpele formaat a.out kon leveren. Toen werden COFF, ECOFF en een paar andere duistere formaten uitgevonden en werden de limieten verkend, waarna men besloot om zich te richten op ELF. Daarnaast werden programma's groter en bleven schijven (en fysiek geheugen) relatief klein, zodat het concept van een gedeelde bibliotheek werd geboren. Het VM systeem werd ook meer verfijnd. Terwijl al deze verbeteringen bereikt werden door het a.out formaat, werd het nut met elke nieuwe eigenschap verder uitgerekt. Daarnaast wilde men dingen dynamisch laden tijdens het starten of delen weggooien nadat het programma zijn intiële code had gedraaid om te blijven hangen in het hoofdgeheugen en in de wisselbestanden. Talen werden verder verfijnd en men wilde dat code automatisch werd aangeroepen voor main. Er werden veel hacks gedaan in het a.out formaat om alles mogelijk te maken en dit werkte ook enige tijd. Na verloop van tijd was a.out niet meer in staat om alle problemen te adresseren zonder toenemende overhead in code en complexibiliteit. Hoewel ELF veel van deze problemem verhielp, was het moeilijk om te wisselen naar een systeem dat compleet anders werkte. Dus moest ELF wachten totdat het pijnlijker was om a.out te behouden dan het te migreren naar ELF. Met het verstrijken van de tijd, werden de bouwprogramma's die &os; heeft afgeleid van hun bouwprogramma's (vooral de assembler en de loader) ontwikkeld in twee parallel lopende takken. De &os; tree voegde gedeelde bibliotheken toe en heeft wat bugs opgelost. De mensen van GNU die deze programma's hebben geschreven, hebben ze herschreven en simpelere ondersteuning toegevoegd voor het bouwen van cross-compilers, waarbij verschillende formaten zo nodig ingevoegd konden worden, enzovoort. Omdat veel mensen cross-compilers wilden bouwen die gericht waren op &os;, hadden die pech, omdat de oudere broncode van &os; voor as en ld niet opgewassen was tegen deze taak. De nieuwe GNU programmaketen (binutils) ondersteunt cross-compiling, ELF, gedeelde bibliotheken, C++ extensies, enzovoort. Daarnaast leveren veel leverancierds ELF binaire bestanden en is het goed voor &os; om het te draaien. ELF heeft meer expressiemogelijkheden dan a.out en geeft meer uitbreidingsmogelijkheden aan het basissysteem. De ELF hulpprogramma's worden beter onderhouden en geven de mogelijkheid tot ondersteuning voor cross compilatie, wat voor veel mensen belangrijk is. ELF is misschien iets trager dan a.out, maar het meten daarvan kan vrij lastig zijn. Er zijn ook ontelbare verschillen tussen de twee in hoe ze pages opslaan, initiële code verwerken, enzovoort. Geen van allen zijn ze erg belangrijk, maar er zijn verschillen. Na verloop van tijd verdwijnt de ondersteuning voor a.out uit de GENERIC kernel en uiteindelijk ook helemaal uit de kernel als de noodzaak voor a.out gebaseerde programma's voorbij is. Meer informatie Handleidingen handleidingen De meest uitvoerige documentatie van &os; is geschreven in de vorm van handleidingen. Bijna elk programma op het systeem heeft een kleine handleiding die uitlegt wat de basisopties en verschillende argumenten doen. Deze handleidingen bekeken worden met man. Het gebruik van man gaat als volgt: &prompt.user; man commando commando is de naam van het commando waar meer informatie over getoond moet worden. Om bijvoorbeeld meer informatie weer te geven over ls kan het volgende uitgevoerd worden: &prompt.user; man ls De handleidingen zijn opgedeeld in genummerde onderdelen: Gebruikerscommando's. Systeemaanroepen en foutnummernummers. Functies in de C bibliotheken. Apparaatdrivers. Bestandsindelingen. Spelletjes en andere afleidingen. Diverse informatie. Systeemonderhoud en commando's Kernelontwikkelaars. In sommige gevallen kan een bepaald onderwerp vaker voorkomen in een onderdeel van de handleidingen. Er is bijvoorbeeld een gebruikerscommando chmod en een systeemaanroep chmod(). In deze gevallen kan man aangegeven worden welke documentatie weer te geven door het specificeren van het onderdeel: &prompt.user; man 1 chmod Dit geeft de handleiding van het gebruikerscommando chmod weer. Verwijzingen naar een bepaald onderdeel van de handleiding worden traditioneel tussen haakjes geplaatst: &man.chmod.1; verwijst naar het commando chmod en &man.chmod.2; verwijst naar de systeemaanroep. Dit werkt prima als de naam van het commando bekend is en alleen informatie nodig is over het het commando gebruikt kan worden, maar wat als de naam van het commando niet bekend is? Dan kan man gebruikt worden om naar trefwoorden te zoeken in de commandobeschrijvingen door de optie te gebruiken: &prompt.user; man -k mail Met dit commando wordt een overzicht getoond met commando's die het trefwoord mail in hun omschrijving hebben. Dit is gelijk aan het commando apropos. Dus om meer informatie over spannende commando's met een onbekende functie in /usr/bin te krijgen is het volgende commando voldoende: &prompt.user; cd /usr/bin &prompt.user; man -f * Het onderstaande commando resulteert in hetzelfde: &prompt.user; cd /usr/bin &prompt.user; whatis * Gnu infobestanden Free Software Foundation &os; heeft veel applicaties en hulpmiddelen die gemaakt zijn door de Free Software Foundation (FSF). Als extraatje voor de documentatie hebben deze programma's uitgebreidere html bestanden die infobestanden heten, die uitgelezen kunnen worden met info of, als emacs is geïnstalleerd, de infomodus van emacs. &man.info.1; wordt als volgt gebruikt: &prompt.user; info h geeft een korte beschrijving en ? toont een een kort commando–overzicht.
diff --git a/nl_NL.ISO8859-1/books/handbook/bibliography/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/bibliography/chapter.sgml index a3b087d0ce..6cdb0bea77 100644 --- a/nl_NL.ISO8859-1/books/handbook/bibliography/chapter.sgml +++ b/nl_NL.ISO8859-1/books/handbook/bibliography/chapter.sgml @@ -1,705 +1,723 @@ Bibliografie Hoewel de handleiding de juiste referentie is voor individuele stukken van het &os; besturingssysteem, staan ze erom bekend niet te illustreren hoe de stukken in elkaar vallen om het hele besturingssysteem soepel te laten draaien. Daarom wordt er gesteld dat er geen vervanger is voor een goed boek over &unix; systeembeheer en een goede gebruikershandleiding. Boeken & tijdschriften over &os; Internationale boeken & Tijdschriften: - Using &os; (Chinees). + Using &os; (Traditioneel Chinees), gepubliceerd door Drmaster, 1997. ISBN + 9-578-39435-7. - &os; Unleashed (Chinese vertaling), gepubliceerd door - China Machine - Press. ISBN 7-111-10201-0. - + &os; Unleashed (Versimpelde Chinese vertaling), + gepubliceerd door China + Machine Press. ISBN 7-111-10201-0. - &os; From Scratch First Edition (Chinees), + &os; From Scratch First Edition (Versimpeld Chinees), gepubliceerd door China Machine Press. ISBN 7-111-07482-3. - &os; From Scratch Second Edition (Chinees), + &os; From Scratch Second Edition (Versimpeld Chinees), gepubliceerd door China Machine Press. ISBN 7-111-10286-X. - &os; Handbook (Chinese vertaling), gepubliceerd door - Posts & Telecom - Press. ISBN 7-115-10541-3. - + &os; Handbook Second Edition (Versimpeld Chinese vertaling), + gepubliceerd door Posts + & Telecom Press. ISBN 7-115-10541-3. - &os; 3.x Internet (Chinees), gepubliceerd door + &os; 3.x Internet (Versimpeld Chinees), gepubliceerd door Tsinghua University Press. ISBN 7-900625-66-6. - &os; & Windows (Chinees), - ISBN 7-113-03845-X + &os; & Windows (Versimpeld Chinees), gepubliceerd door + gepubliceerd door China + Railway Publishing House. ISBN 7-113-03845-X - &os; Internet Services HOWTO (Chinees), + &os; Internet Services HOWTO (Versimpeld Chinees), + gepubliceerd door China Railway Publishing House. ISBN 7-113-03423-3 &os; for PC 98'ers (Japans), gepubliceerd door SHUWA System Co, LTD. ISBN 4-87966-468-5 C3055 P2900E. &os; (Japans), gepubliceerd door CUTT. ISBN 4-906391-22-2 C3055 P2400E. Complete Introduction to &os; (Japans), gepubliceerd door Shoeisha Co., Ltd. ISBN 4-88135-473-6 P3600E. Personal UNIX Starter Kit &os; (Japans), gepubliceerd door ASCII. ISBN 4-7561-1733-3 P3000E. &os; Handbook (Japanse vertaling), gepubliceerd door ASCII. ISBN 4-7561-1580-2 P3800E. &os; mit Methode (Duits), gepubliceerd door Computer und Literatur Verlag/Vertrieb Hanser, 1998. ISBN 3-932311-31-0. &os; 4 - Installieren, Konfigurieren, Administrieren (Duits), gepubliceerd door Computer und Literatur Verlag, 2001. ISBN 3-932311-88-4. &os; 5 - Installieren, Konfigurieren, Administrieren (Duits), gepubliceerd door Computer und Literatur Verlag, 2003. ISBN 3-936546-06-1. &os; de Luxe (Duits), gepubliceerd door Verlag Modere Industrie, 2003. ISBN 3-8266-1343-0. &os; Install and Utilization Manual (Japans), gepubliceerd door Mainichi Communications Inc.. Onno W Purbo, Dodi Maryanto, Syahrial Hubbany, Widjil Widodo Building Internet Server with &os; (Indonesisch), published by Elex Media Komputindo. + + Absolute BSD: The Ultimate Guide to &os; (Traditioneel + Chinese vertaling), gepubliceerd door GrandTech Press, 2003. + ISBN 986-7944-92-5. + + + + The FreeBSD 6.0 Book + (Traditioneel Chinees), gepubliceerd door Drmaster, 2006. + ISBN 9-575-27878-X. + Engelstalige boeken & Tijdschriften: Absolute BSD: The Ultimate Guide to &os;, gepubliceerd door No Starch Press, 2002. ISBN: 1886411743 The Complete &os;, gepubliceerd door O'Reilly, 2003. ISBN: 0596005164 The &os; Corporate Networker's Guide, gepubliceerd door Addison-Wesley, 2000. ISBN: 0201704811 &os;: An Open-Source Operating System for Your Personal Computer, gepubliceerd door The Bit Tree Press, 2001. ISBN: 0971204500 Teach Yourself &os; in 24 Hours, gepubliceerd door Sams, 2002. ISBN: 0672324245 &os; unleashed, gepubliceerd door Sams, 2002. - ISBN: 0672324563 + url="http://www.samspublishing.com/">Sams, 2006. + ISBN: 0672328755 &os;: The Complete Reference, gepubliceerd door McGrawHill, 2003. ISBN: 0072224096 Voor gebruikers Computer Systems Research Group, UC Berkeley. 4.4BSD User's Reference Manual. O'Reilly & Associates, Inc., 1994. ISBN 1-56592-075-9 Computer Systems Research Group, UC Berkeley. 4.4BSD User's Supplementary Documents. O'Reilly & Associates, Inc., 1994. ISBN 1-56592-076-7 UNIX in a Nutshell. O'Reilly & Associates, Inc., 1990. ISBN 093717520X Mui, Linda. What You Need To Know When You Can't Find Your UNIX System Administrator. O'Reilly & Associates, Inc., 1995. ISBN 1-56592-104-6 - Ohio - State University heeft een UNIX - Introductory Course geschreven die online - beschikbaar is in HTML en PostScript formaat. + Ohio State University + heeft een Unix + Introductie cursus geschreven welke online in HTML + beschikbaar is en in het &postscript; formaat. Een Italiaanse vertaling van dit document is beschikbaar als onderdeel van het &os; Italian Documentation Project. Jpman Project, Japan &os; Users Group. &os; User's Reference Manual (Japanse vertaling). Mainichi Communications Inc., 1998. ISBN4-8399-0088-4 P3800E. Edinburgh University heeft een Online Guide geschreven voor nieuwkomers in de &unix; omgeving. Voor beheerders Albitz, Paul and Liu, Cricket. DNS and BIND, 4th Ed. O'Reilly & Associates, Inc., 2001. ISBN 1-59600-158-4 Computer Systems Research Group, UC Berkeley. 4.4BSD System Manager's Manual. O'Reilly & Associates, Inc., 1994. ISBN 1-56592-080-5 Costales, Brian, et al. Sendmail, 2nd Ed. O'Reilly & Associates, Inc., 1997. ISBN 1-56592-222-0 Frisch, Æleen. Essential System Administration, 2nd Ed. O'Reilly & Associates, Inc., 1995. ISBN 1-56592-127-5 Hunt, Craig. TCP/IP Network Administration, 2nd Ed. O'Reilly & Associates, Inc., 1997. ISBN 1-56592-322-7 Nemeth, Evi. UNIX System Administration Handbook. 3rd Ed. Prentice Hall, 2000. ISBN 0-13-020601-6 Stern, Hal Managing NFS and NIS O'Reilly & Associates, Inc., 1991. ISBN 0-937175-75-7 Jpman Project, Japan &os; Users Group. &os; System Administrator's Manual (Japanse vertaling). Mainichi Communications Inc., 1998. ISBN4-8399-0109-0 P3300E. Dreyfus, Emmanuel. Cahiers de l'Admin: BSD 2nd Ed. (Frans), Eyrolles, 2004. ISBN 2-212-11463-X Voor programmeurs Asente, Paul, Converse, Diana, and Swick, Ralph. X Window System Toolkit. Digital Press, 1998. ISBN 1-55558-178-1 Computer Systems Research Group, UC Berkeley. 4.4BSD Programmer's Reference Manual. O'Reilly & Associates, Inc., 1994. ISBN 1-56592-078-3 Computer Systems Research Group, UC Berkeley. 4.4BSD Programmer's Supplementary Documents. O'Reilly & Associates, Inc., 1994. ISBN 1-56592-079-1 Harbison, Samuel P. and Steele, Guy L. Jr. C: A Reference Manual. 4th ed. Prentice Hall, 1995. ISBN 0-13-326224-3 Kernighan, Brian and Dennis M. Ritchie. The C Programming Language.. 2nd Ed. PTR Prentice Hall, 1988. ISBN 0-13-110362-8 Lehey, Greg. Porting UNIX Software. O'Reilly & Associates, Inc., 1995. ISBN 1-56592-126-7 Plauger, P. J. The Standard C Library. Prentice Hall, 1992. ISBN 0-13-131509-9 Spinellis, Diomidis. Code Reading: The Open Source Perspective. Addison-Wesley, 2003. ISBN 0-201-79940-5 Marshall Kirk McKusick, George V. Neville-Neil. The Design and Implementation of the &os; UNIX Operating System. Boston, Mass. : Addison-Wesley, 2004. ISBN 0-201-70245-2 Spinellis, Diomidis. Code Quality: The Open Source Perspective. Addison-Wesley, 2006. ISBN 0-321-16607-8 Stevens, W. Richard. Advanced Programming in the UNIX Environment. Reading, Mass. : Addison-Wesley, 2005. ISBN 0-201-43307-9 Stevens, W. Richard. UNIX Network Programming. 2nd Ed, PTR Prentice Hall, 1998. ISBN 0-13-490012-X Wells, Bill. Writing Serial Drivers for UNIX. Dr. Dobb's Journal. 19(15), December 1994. pp68-71, 97-99. Dieper in het besturingssysteem Andleigh, Prabhat K. UNIX System Architecture. Prentice-Hall, Inc., 1990. ISBN 0-13-949843-5 Jolitz, William. Porting UNIX to the 386. Dr. Dobb's Journal. January 1991-July 1992. Leffler, Samuel J., Marshall Kirk McKusick, Michael J Karels en John Quarterman The Design and Implementation of the 4.3BSD UNIX Operating System. Reading, Mass. : Addison-Wesley, 1989. ISBN 0-201-06196-1 Leffler, Samuel J., Marshall Kirk McKusick, The Design and Implementation of the 4.3BSD UNIX Operating System: Answer Book. Reading, Mass. : Addison-Wesley, 1991. ISBN 0-201-54629-9 McKusick, Marshall Kirk, Keith Bostic, Michael J Karels, and John Quarterman. The Design and Implementation of the 4.4BSD Operating System. Reading, Mass. : Addison-Wesley, 1996. ISBN 0-201-54979-4 Hoofdstuk 2 is online beschikbaar als onderdeel van het &os; Documentatie Project en hoofdstuk 9 hier. Stevens, W. Richard. TCP/IP Illustrated, Volume 1: The Protocols. Reading, Mass. : Addison-Wesley, 1996. ISBN 0-201-63346-9 Schimmel, Curt. Unix Systems for Modern Architectures. Reading, Mass. : Addison-Wesley, 1994. ISBN 0-201-63338-8 Stevens, W. Richard. TCP/IP Illustrated, Volume 3: TCP for Transactions, HTTP, NNTP and the UNIX Domain Protocols. Reading, Mass. : Addison-Wesley, 1996. ISBN 0-201-63495-3 Vahalia, Uresh. UNIX Internals -- The New Frontiers. Prentice Hall, 1996. ISBN 0-13-101908-2 Wright, Gary R. and W. Richard Stevens. TCP/IP Illustrated, Volume 2: The Implementation. Reading, Mass. : Addison-Wesley, 1995. ISBN 0-201-63354-X Over beveiliging Cheswick, William R. and Steven M. Bellovin. Firewalls and Internet Security: Repelling the Wily Hacker. Reading, Mass. : Addison-Wesley, 1995. ISBN 0-201-63357-4 Garfinkel, Simson and Gene Spafford. Practical UNIX & Internet Security. 2nd Ed. O'Reilly & Associates, Inc., 1996. ISBN 1-56592-148-8 Garfinkel, Simson. PGP Pretty Good Privacy O'Reilly & Associates, Inc., 1995. ISBN 1-56592-098-8 Over hardware Anderson, Don and Tom Shanley. Pentium Processor System Architecture. 2nd Ed. Reading, Mass. : Addison-Wesley, 1995. ISBN 0-201-40992-5 Ferraro, Richard F. Programmer's Guide to the EGA, VGA, and Super VGA Cards. 3rd ed. Reading, Mass. : Addison-Wesley, 1995. ISBN 0-201-62490-7 Intel Corporation publiceert documentatie over haar CPU's, chipsets en standaarden op haar ontwikkelaars website, gewoonlijk als PDF bestanden. Shanley, Tom. 80486 System Architecture. 3rd ed. Reading, Mass. : Addison-Wesley, 1995. ISBN 0-201-40994-1 Shanley, Tom. ISA System Architecture. 3rd ed. Reading, Mass. : Addison-Wesley, 1995. ISBN 0-201-40996-8 Shanley, Tom. PCI System Architecture. 4th ed. Reading, Mass. : Addison-Wesley, 1999. ISBN 0-201-30974-2 Van Gilluwe, Frank. The Undocumented PC, 2nd Ed. Reading, Mass: Addison-Wesley Pub. Co., 1996. ISBN 0-201-47950-8 Messmer, Hans-Peter. The Indispensable PC Hardware Book, 4th Ed. Reading, Mass: Addison-Wesley Pub. Co., 2002. ISBN 0-201-59616-4 &unix; geschiedenis Lion, John Lion's Commentary on UNIX, 6th Ed. With Source Code. ITP Media Group, 1996. ISBN 1573980137 Raymond, Eric S. The New Hacker's Dictionary, 3rd edition. MIT Press, 1996. ISBN 0-262-68092-0. Ook bekend als het Jargon Bestand Salus, Peter H. A quarter century of UNIX. Addison-Wesley Publishing Company, Inc., 1994. ISBN 0-201-54777-5 Simon Garfinkel, Daniel Weise, Steven Strassmann. The UNIX-HATERS Handbook. IDG Books Worldwide, Inc., 1994. ISBN 1-56884-203-1. Het is niet meer te leveren, maar wel online beschikbaar. Don Libes, Sandy Ressler Life with UNIX — special edition. Prentice-Hall, Inc., 1989. ISBN 0-13-536657-7 The BSD family tree. of /usr/share/misc/bsd-family-tree op een &os; machine. The BSD Release Announcements collection. 1997. Networked Computer Science Technical Reports Library. Oude BSD releases van de Computer Systems Research group (CSRG). : De set van 4 cd-roms bevat alle versies van BSD van 1BSD to 4.4BSD en 4.4BSD-Lite2 (maar helaas 2.11BSD niet). Op de laatste disk staan ook de laatste broncode en de SCCS bestanden. Tijdschriften en periodieken The C/C++ Users Journal. R&D Publications Inc. ISSN 1075-2838 Sys Admin — The Journal for UNIX System Administrators Miller Freeman, Inc., ISSN 1061-2688 freeX — Das Magazin für Linux - BSD - UNIX (Duits) Computer- und Literaturverlag GmbH, ISSN 1436-7033 diff --git a/nl_NL.ISO8859-1/books/handbook/config/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/config/chapter.sgml index 37f4ad6889..320c3b78cc 100644 --- a/nl_NL.ISO8859-1/books/handbook/config/chapter.sgml +++ b/nl_NL.ISO8859-1/books/handbook/config/chapter.sgml @@ -1,3441 +1,3443 @@ Chern Lee Geschreven door Mike Smith Naar een tutorial van Matt Dillon Tevens gebaseerd op tuning(7) door Danny Pansters Vertaald door Instellingen en optimalisatie Overzicht systeeminstellingen systeemoptimalisatie Systeeminstellingen zijn een belangrijk aspect van &os;. Correcte instellingen helpen moeilijkheden bij toekomstige upgrades te voorkomen. In dit hoofdstuk wordt het instellen van &os; beschreven, alsmede een aantal prestatiebevorderende maatregelen waarmee een &os; systeem geoptimaliseerd kan worden. Na het lezen van dit hoofdstuk weet de lezer: Hoe efficiënt om te gaan met bestandssystemen en wisselpartities; De grondbeginselen van het rc.conf instellingensysteem en van het opstarten van toepassingen (diensten) met /usr/local/etc/rc.d; Hoe een netwerkkaart ingesteld en getest wordt; Hoe virtuele hosts op netwerkapparatuur ingesteld worden; Hoe de instellingenbestanden in /etc gebruikt worden; Hoe &os; geoptimaliseerd kan worden met sysctl variabelen; Hoe schijfprestaties te verbeteren en hoe kernelbeperkingen gewijzigd kunnen worden. Veronderstelde voorkennis: De &unix; en &os; grondbeginselen () begrijpen; Bekend zijn met de grondbeginselen van kernelinstellingen en compilatie (). Initiële instellingen Partitioneren partitioneren /etc /var /usr Basispartities Bij het aanmaken van bestandssystemen met &man.bsdlabel.8; of &man.sysinstall.8; is het van belang dat op een harde schijf de data-overdracht het snelst is aan de buitenste sporen en het langzaamst aan de binnenste. Kleinere en veelgebruikte bestandssystemen kunnen daarom het beste aan het begin van de schijf geplaatst worden, terwijl grotere partities als /usr meer naar het einde van de schijf geplaatst kunnen worden. Het is een goed idee om partities aan te maken in deze of gelijksoortige volgorde: root, swap, /var, /usr. De grootte van /var hangt af van de wijze waarop de machine gebruikt gaat worden. /var wordt gebruikt voor onder meer mailboxen, logbestanden en printerdata en -wachtrijen. Mailboxen en logbestanden kunnen onverwacht groot worden, afhankelijk van het aantal systeemgebruikers en de bewaarduur van logbestanden. Meestal is minder dan een gigabyte voldoende. /var/tmp moet wel groot genoeg moet zijn om packages te kunnen bevatten. De partitie /usr bevat veel van de benodigde systeembestanden. Die bevat tevens de &man.ports.7;collectie (aanbevolen) en de broncode (optioneel). Beide zijn optioneel tijdens de installatie. Voor deze partitie wordt tenminste 2 gigabyte aanbevolen. Het is verstandig rekening te houden met de vereiste schijfruimte bij het kiezen van partitiegroottes. Als in een partitie onvoldoende vrije schijfruimte is, terwijl een andere vrijwel niet gebruikt wordt, is dat een vervelend en niet optimaal oplosbaar probleem. &man.sysinstall.8;'s Auto-defaults partitiekeuze kan in de ervaring van sommige gebruikers mogelijk te kleine /var en / partities opleveren. Partitioneren moet verstandig en niet te zuinig gebeuren. Wisselpartities (swap) swap grootte wisselpartitie wisselpartitiegrootte De vuistregel is dat het wisselbestand ongeveer het dubbele van de grootte van het systeemgeheugen (RAM) moet zijn. Als de machine bijvoorbeeld 128 megabytes geheugen heeft, kan het beste een wisselbestand van (tenminste) 256 megabytes gebruikt worden. Minder dan 256 megabytes swap is in dit geval af te raden. Systemen met weinig geheugen kunnen overigens beter functioneren met meer swap. Ook is het verstandig rekening te houden met eventuele geheugenuitbreiding in de toekomst. Bovendien zijn de VM paging algoritmen van de kernel zo afgestemd dat ze het beste presteren bij een wisselbestand van tenminste tweemaal de grootte van het geheugen. Een te kleine swap kan dus inefficiënties in de VM code tot gevolg hebben en mogelijk problemen veroorzaken als het systeemgeheugen uitgebreid wordt. Op grotere systemen met meerdere SCSI schijven (of meerdere IDE schijven op verschillende controllers) is het aan te raden om op elke schijf een wisselpartitie in te stellen (dit kan tot en met vier schijven), elk met ongeveer dezelfde grootte. De kernel kan met arbitraire groottes werken, maar interne datastructuren schalen tot viermaal de grootste swappartitie. De kernel kan de beschikbare ruimte voor het wisselbestand het meest optimaal indelen als de partities ongeveer even groot zijn. Een grote swap is prima, ook als ze zelden gebruikt wordt. Zo kan het gemakkelijker zijn om een (uit de hand gelopen) proces dat het systeem grotendeels bezet houdt te beëindigen, voordat er opnieuw opgestart moet worden. Waarom partitioneren? Waarom niet één enkele grote partitie gebruiken? Er zijn verscheidene redenen waarom dit niet zo'n goed idee is. De verschillende partities hebben hun eigen karakteristieke operationele gedrag en vereisten. Door ze te scheiden zijn er betere mogelijkheden om het systeem te optimaliseren. Vanaf de / en /usr partities wordt bijvoorbeeld vooral gelezen en er wordt weinig naar geschreven, terwijl er in /var en /var/tmp zowel veel gelezen als geschreven wordt. Door een systeem goed te partitioneren wordt vermeden dat fragmentatie die optreedt in de kleinere partities met veel schrijfactiviteit doorsijpelt naar partities die vooral lees-intensief zijn. Door schrijf-intensieve partities aan het begin van de schijf te plaatsen, zijn de prestaties wat betreft invoer/uitvoer het beste is daar waar het het meest nodig is. Ofschoon er natuurlijk ook de best mogelijke in/uit prestaties wenselijk zijn in de grotere partities, weegt het plaatsen van deze bestandssystemen aan het begin van de schijf niet tegen de voordelen van het plaatsen van /var aan het begin van de schijf (na root en swap) voor de totale snelheid van het systeem. Tenslotte zijn er veiligheidsoverwegingen. Een compacte en nette rootpartitie die vrijwel alleen-lezen is, heeft een betere kans om een nare crash te overleven. Hoofdinstellingen rc bestanden rc.conf De voornaamste lokatie voor systeeminstellingen is /etc/rc.conf. Dit bestand bevat een scala aan instellingen, die gebruikt wordt om het systeem in te stellen bij het opstarten. De naam impliceert dit al. Het is informatie voor de rc* bestanden (rc staat voor resource configuration of broninstellingen). De systeembeheerder wordt geacht regels toe te voegen aan rc.conf om de standaardinstellingen uit /etc/defaults/rc.conf aan te passen. Het standaardbestand moet niet letterlijk gekopiëerd worden naar /etc. Het bevat standaardwaardes en is niet bedoeld als voorbeeld. Alle wijzigingen die specifiek zijn voor een systeem horen in /etc/rc.conf thuis. In een clusterscenario is het nuttig om systeemspecifieke instellingen te scheiden van algemene instellingen die voor het hele cluster gelden. Hiervoor kunnen een aantal strategieën worden gebruikt. De aanbevolen benadering is om gedeelde instellingen in een ander bestand te plaatsen, zoals /etc/rc.conf.site en dit invoegen in /etc/rc.conf, wat verder alleen systeemspecifieke informatie bevat. Aangezien rc.conf gelezen wordt door &man.sh.1; is dit eenvoudig te bereiken: rc.conf: . /etc/rc.conf.site hostname="node15.example.com" network_interfaces="fxp0 lo0" ifconfig_fxp0="inet 10.1.1.1" rc.conf.site: defaultrouter="10.1.1.254" saver="daemon" blanktime="100" rc.conf.site kan dan naar elk systeem gedistribueerd worden met rsync of een gelijksoortig programma, terwijl rc.conf uniek blijft. Het actualiseren van het systeem met &man.sysinstall.8; of make world overschrijft rc.conf niet, zodat de bestaande systeeminstellingen niet verloren gaan. Toepassingen instellen Geïnstalleerde toepassingen hebben meestal hun eigen instellingenbestanden, met hun eigen syntaxis, etc. Het is van belang deze bestanden apart te houden van het basissysteem, zodat ze makkelijk gelokaliseerd kunnen worden en beheerd kunnen worden met de hulpmiddelen voor pakketbeheer. /usr/local/etc Deze bestanden worden meestal geïnstalleerd in /usr/local/etc. Als een toepassing een uitgebreide set bestanden voor instellingen heeft, wordt er een submap voor aangemaakt. Bij de installatie van een port of package, worden normaliter ook voorbeeldbestanden met instellingen geïnstalleerd. Deze zijn doorgaans te herkennen aan een toevoegsel .default. Als er geen bestaande instellingenbestanden voor de toepassing zijn, kunnen ze gemaakt worden door de .default bestanden te kopiëren. Een voorbeeld is de map /usr/local/etc/apache: -rw-r--r-- 1 root wheel 2184 May 20 1998 access.conf -rw-r--r-- 1 root wheel 2184 May 20 1998 access.conf.default -rw-r--r-- 1 root wheel 9555 May 20 1998 httpd.conf -rw-r--r-- 1 root wheel 9555 May 20 1998 httpd.conf.default -rw-r--r-- 1 root wheel 12205 May 20 1998 magic -rw-r--r-- 1 root wheel 12205 May 20 1998 magic.default -rw-r--r-- 1 root wheel 2700 May 20 1998 mime.types -rw-r--r-- 1 root wheel 2700 May 20 1998 mime.types.default -rw-r--r-- 1 root wheel 7980 May 20 1998 srm.conf -rw-r--r-- 1 root wheel 7933 May 20 1998 srm.conf.default Aan de grootte van de bestanden is te zien dat alleen srm.conf gewijzigd is. Als later de Apache port wordt vernieuwd, wordt dit bestand niet overschreven. Tom Rhodes Bijgedragen door Diensten starten diensten Veel gebruikers kiezen ervoor om software van derden te installeren op &os; vanuit de Portscollectie. In veel gevallen is het noodzakelijk om de software dusdanig in te stellen dat het opstart tijdens het booten. Diensten zoals mail/postfix of www/apache13 zijn slechts twee voorbeelden van softwarepakketten die gestart kunnen worden tijdens de systeemstart. In deze paragraaf wordt toegelicht hoe software van derde partijen kan worden gestart. In &os; worden de meeste diensten, zoals &man.cron.8;, door de opstartscripts van het systeem gestart. Deze scripts kunnen verschillen tussen &os; en leverancierversies, echter het meest belangrijke aspect om in gedachten te houden is dat hun opstartinstellingen verwerkt kunnen worden door simpele opstartscripts. Voor de komst van rc.d zetten applicaties simpelweg een opstartscript in de map /usr/local/etc/rc.d dat dan uitgelezen werd door de opstartscripts van het systeem. Deze scripts werden dan uitgevoerd tijdens de laatste stappen van een systeemstart. Terwijl veel individuen bezig waren om de oude stijl van instellen naar de nieuwe stijl over te zetten, bleef sommige software nog steeds een script nodig hebben in de genoemde map. De subtiele verschillen in de scripts hangen af van het wel of niet gebruiken van rc.d. Vóór &os; 5.1 werden scripts oude stijl gebruikt en in bijna alle gevallen voldoet een script nieuwe stijl. - Elk script moet een .sh toegevoegd - hebben aan het einde en elk script moet opstartbaar zijn door - het systeem. Het laatstgenoemde kan bereikt worden met - chmod en door het zetten van de rechten - 755. Er zouden ook minimaal de opties - start en stop moeten zijn - voor de applicatie. + Elk script moet uitvoerbaar zijn door het systeem; dit + wordt meestal bereikt door gebruik te maken van het commando + chmod en het instellen van de unieke + permissies 555. Op zijn minst moeten ook + de start en stop opties + zijn om de applicatie te starten en te stoppen. Het simpelste opstartscript ziet er waarschijnlijk als volgt uit: #!/bin/sh echo -n ' utility' case "$1" in start) /usr/local/bin/utility ;; stop) kill -9 `cat /var/run/utility.pid` ;; *) echo "Usage: `basename $0` {start|stop}" >&2 exit 64 ;; esac exit 0 Dit script levert de opties stop en start voor de applicatie met de naam utility. Dit kan handmatig gestart worden met: - &prompt.root; /usr/local/etc/rc.d/utility.sh start + &prompt.root; /usr/local/etc/rc.d/utility start Hoewel niet alle software van derden een regel nodig heeft in /etc/rc.conf, wordt er bijna elke dag een wel een port veranderd om deze instellingen te ondersteunen. De meldingen tijdens de installatie van de port bevatten vaak meer informatie. Sommige software van derden levert opstartscripts die de applicatie kunnen laten werken met rc.d. Dit wordt in de volgende paragraaf behandeld. Uitgebreide applicatieinstellingen Nu &os; rc.d heeft, zijn de instellingen van applicaties die mee moeten opstarten versimpeld en rijker aan mogelijkheden. Door gebruik te maken van de sleutelwoorden die in de paragraaf rc.d behandeld worden, kunnen applicaties nu starten na andere diensten. DNS kan bijvoorbeeld extra opties meekrijgen van /etc/rc.conf in plaats van hard ingestelde opties in het opstartscript. Een basisscript ziet er ongeveer als volgt uit: #!/bin/sh # # PROVIDE: utility # REQUIRE: DAEMON # KEYWORD: shutdown # # WIJZIG DEZE WAARDEN NIET HIER # MAAR IN HET BESTAND /etc/rc.conf # utility_enable=${utility_enable-"NO"} utility_flags=${utility_flags-""} utility_pidfile=${utility_pidfile-"/var/run/utility.pid"} . /etc/rc.subr name="utility" rcvar=`set_rcvar` command="/usr/local/sbin/utility" load_rc_config $name pidfile="${utility_pidfile}" start_cmd="echo \"Starting ${name}.\"; /usr/bin/nice -5 ${command} ${utility_flags} ${command_args}" run_rc_command "$1" Dit script zorgt ervoor dat utility wordt gestart na de daemon dienst. Het biedt ook de mogelijkheid voor het instellingen en volgen van het PID of het process ID bestand. Voor deze applicatie kan dan de volgende regel in /etc/rc.conf geplaatst worden: utility_enable="YES" Deze methode maakt het volgende mogelijk: makkelijker commandoregelopties manipuleren, importeren van standaardfuncties uit /etc/rc.subr, compatibiliteit met de &man.rcorder.8; utility en levert makkelijkere configuratie via het rc.conf bestand. Diensten met diensten starten Andere diensten, zoals POP3 server daemons, IMAP, enzovoort, kunnen gestart worden door gebruik te maken van &man.inetd.8;. Daaraan is voorafgegaan dat die dienst uit de Portscollectie is geïstalleerd en dat er een regel met instellingen is toegevoegd aan /etc/inetd.conf of één van de bestaande niet actieve regels is geactiveerd. Werken met inetd en zijn instellingen wordt uitgebreid toegelicht in de paragraaf over inetd. In sommige gevallen is het handiger om &man.cron.8; te gebruiken om diensten te starten. Deze aanpak heeft een aantal voordelen omdat cron start als de eigenaar van crontab. Dit stelt reguliere gebruikers in staat om sommige applicaties te starten en te onderhouden. cron levert een unieke optie: plaats van een tijdsspecificatie kan @reboot gebruikt worden. Dit zorgt ervoor dat de taak gestart wordt als &man.cron.8; gestart wordt, meestal tijdens een systeemstart. Tom Rhodes Geschreven door <command>cron</command> instellen cron instellen Een zeer nuttig hulpprogramma in &os; is &man.cron.8;. De cron daemon draait op de achtergrond en controleert voortdurend /etc/crontab. Ook controleert cron de map /var/cron/tabs, op zoek naar nieuwe crontab bestanden. Deze crontab bestanden bevatten informatie over specifieke taken die cron moet verrichten op gezette tijden. cron gebruikt twee verschillende soorten instellingenbestanden: de systeemcrontab en gebruikerscrontabs. Het enige verschil tussen deze twee formaten is het zesde veld. In de systeemcrontab is dit de gebruikersnaam die het commando uitvoert. Hierdoor kunnen met de systeemcrontab commando's als iedere gebruiker uitgevoerd worden. In een gebruikerscrontab is het zesde veld het uit te voeren commando en alle commando's worden uitgevoerd als de gebruiker die de crontab heeft aangemaakt. Dit is een belangrijke veiligheidsmaatregel. Gebruikerscrontabs geven individuele gebruikers de mogelijkheid om bepaalde terugkerende taken automatisch te laten uitvoeren zonder dat root rechten noodig zijn. Commando's in de crontab van een gebruiker worden uitgevoerd met de rechten van de eigenaar. root kan ook een gebruikerscrontab aanleggen. Dit is niet dezelfde als /etc/crontab (de systeemcrontab). Omdat er al een systeemcrontab is, is het doorgaans niet nodig om een gebruikerscrontab voor root te maken. /etc/crontab (de systeemcrontab) ziet er uit als volgt: # /etc/crontab - root's crontab for &os; # # $&os;: src/etc/crontab,v 1.32 2002/11/22 16:13:39 tom Exp $ # # SHELL=/bin/sh PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin HOME=/var/log # # #minuut uur mdag maand wdag wie commando # # */5 * * * * root /usr/libexec/atrun Zoals in de meeste &os; instellingenbestanden gaat het karakter # vooraf aan commentaar. Commentaar wordt gebruikt als uitleg en geheugensteun. Commentaar dient niet vermengd te worden met commando's, anders wordt het commentaar opgevat als deel van het commando. Blanco regels worden genegeerd. Eerst worden omgevingsvariabelen gedefiniëerd. Hoervoor wordt het is-gelijk karakter (=) gebruikt. In het bovenstaande voorbeeld wordt het gebruikt voor de variabelen SHELL, PATH en HOME. Als de regel SHELL ontbreekt, gebruikt cron standaard sh als shell. Voor de omgevingsvariabele PATH bestaat geen standaardwaarde. Als PATH ontbreekt moeten absolute paden gebruikt worden. Als HOME ontbreekt, gebruikt cron de thuismap van de de gebruiker die cron aanroept. In deze commentaarregel staan de zeven velden van een crontabdefinitie. Dit zijn minuut, uur, mdag, maand, wdag, wie en commando. De betekenissen liggen voor de hand: minute is het aantal minuten van het tijdstip waarop het commando moet worden uitgevoerd; hour geeft het uur aan; mdag staat voor de dag van de maand; maand staat voor het maandnummer en wdag geeft de dag van de week aan. Het veld wie is bijzonder en bestaat alleen in /etc/crontab. Het geeft aan als welke gebruiker het commando uitgevoerd moet worden. Een gebruiker die zijn eigen crontab installeert, heeft deze optie niet. Het veld command bevat het uit te voeren commando. In deze regel worden aan de hierboven besproken opties waarden toegekend. Er wordt gebruik gemaakt van */5 en * karakters. Deze betekenen eerst-laatst en kunnen gezien worden als telkens. In deze regel staat dus dat het commando atrun elke vijf minuten moet worden uitgevoerd door root, ongeacht welke dag of maand het is. Meer informatie over atrun staat in &man.atrun.8;. Commando's kunnen een willekeurig aantal opties of argumenten meekrijgen. Als commando's echter meerdere regels nodig hebben moeten deze regels afgebroken worden met een backslash \ karakter, om aan te geven dat ze op de volgende regel vervolgd worden. Dit is de basisopzet voor elk crontab bestand. De enige uitzondering is de aanwezigheid van veld zes, waar de gebruikersnaam wordt aangegeven. Dit veld bestaat alleen in het systeembestand /etc/crontab. Voor crontabbestanden van individuele gebruikers moet dit veld worden weggelaten. Een crontab installeren De onderstaande procedure moet niet gebruikt worden om de systeemcrontab te wijzigen of te installeren. Er kan een gewone editor gebruikt worden. cron ziet dat het bestand veranderd is en begint direct met het gebruiken van de nieuwe versie. Deze FAQ vraag geeft verdere uitleg. Om een nieuwe crontab te installeren moet eerst een bestand in het juiste formaat gemaakt worden en daarna moet het geiuml;nstalleerd worden met crontab commando: &prompt.root; crontab crontabbestand In dit voorbeeld is crontabbestand de naam van een eerder gemaakt crontabbestand. Er bestaat ook een optie om een lijst van geïnstalleerde crontab bestanden op te vragen, namelijk de optie van crontab. Gebruikers die hun eigen crontabbestand willen schrijven zonder het gebruik van een sjabloon, kunnen gebruik maken van crontab -e. Dit opent de EDITOR met een leeg bestand. Als het bestand wordt opgeslagen en de editor wordt afgesloten, wordt het bestand automatisch als crontab geïnstalleerd. Een gebruikerscrontab kan verwijderd worden door de met crontab de optie te gebruiken. Tom Rhodes Geschreven door Gebruik van rc met &os; rc.d Sinds 2002 gebruikt &os; het NetBSD rc.d systeem bij het opstarten van het systeem. Veel van de bestanden in /etc/rc.d zijn scripts voor basisdiensten die werken met de opties , en , analoog aan hoe diensten die via een port of package zijn geïnstalleerd gestart worden met de scripts in /usr/local/etc/rc.d. &man.sshd.8; kan bijvoorbeeld als volgt herstart worden: &prompt.root; /etc/rc.d/sshd restart Deze procedure is vrijwel gelijk voor andere diensten. Uiteraard worden diensten meestal automatisch tijdens het booten gestart zoals in &man.rc.conf.5; staat. Om de Network Address Translation daemon bij het opstarten te laten starten is de volgende regel in /etc/rc.conf bijvoorbeeld voldoende: natd_enable="YES" Als er reeds een natd_enable="NO" regel is, kan NO gewoon in YES veranderd worden. De rc scripts starten, voor zover nodig, automatisch andere afhankelijke diensten. Omdat het rc.d systeem in eerste instantie bedoeld is om diensten te starten en stoppen bij het opstarten en afsluiten van het systeem, werken de standaardopties , en alleen als de juiste variabelen in /etc/rc.conf zijn ingesteld. Het commando sshd restart alleen dan als sshd_enable de waarde YES heeft in /etc/rc.conf. Als er een service gestart, gestopt of herstart moet worden, ongeacht de definities in /etc/rc.conf, moet het commando voorafgegaan worden door one. Dus om sshd te herstarten ongeacht /etc/rc.conf setting, voldoet het volgende commando: &prompt.root; /etc/rc.d/sshd onerestart Het is eenvoudig te controleren of een dienst is ingeschakeld is in /etc/rc.conf door het bijpassende rc.d script uit te voeren met de optie . Voor sshd: &prompt.root; /etc/rc.d/sshd rcvar # sshd $sshd_enable=YES De tweede regel (# sshd) is de uitvoer van sshd, geen root console. De optie wordt gebruikt om vast te stellen of een dienst gestart is. Om bijvoorbeeld te controleren of sshd gestart is: &prompt.root; /etc/rc.d/sshd status sshd is running as pid 433. In sommige gevallen is het ook mogelijk om een dienst te herstarten met de optie . Dan wordt er getracht een signaal te sturen aan een individuele dienst, waarbij de dienst de bestanden met instellingen opnieuw in moet lezen. Meestal komt dit neer op het verzenden van het signaal SIGHUP signaal. Deze optie wordt niet door alle diensten ondersteund. Het rc.d-systeem wordt niet alleen gebruikt voor netwerkdiensten, maar ook voor het merendeel van de systeemstart. In dit kader is bijvoorbeeld het bestand bgfsck interessant. Als dit script wordt uitgevoerd, wordt de volgende boodschap getoond: Starting background file system checks in 60 seconds. Dit script wordt dus gebruikt voor bestandssysteemcontrole in de achtergrond, hetgeen alleen tijdens de systeemstart gebeurt. Veel systeemdiensten zijn afhankelijk van andere diensten om correct te kunnen functioneren. Zo starten NIS en andere RPC-gebaseerde diensten niet als de rpcbind (portmapper) dienst nog niet draait. Om dit te stroomlijnen wordt informatie over afhankelijkheden en andere meta-data ingevoegd in het commentaar bovenaan het opstartscript. Deze commentaarregels worden vervolgens tijdens de systeemstart met &man.rcorder.8; verwerkt om zo vast te stellen in welke - volgorde de systeemdiensten gestart moeten worden. De volgende - sleutelwoorden kunnen worden opgenomen aan het begin van elk - opstartscript: + volgorde de systeemdiensten gestart moeten worden. + + De volgende woorden moeten in alle opstartscripts staan + (ze zijn benodigd door &man.rc.subr.8; om het opstart + script te activeren)>: PROVIDE: geeft aan in welke diensten dit bestand voorziet. REQUIRE: geeft aan welke andere diensten vereist zijn voor deze dienst. Dit script wordt uitgevoerd na de aangegeven diensten. BEFORE: geeft diensten aan die afhankelijk zijn van deze dienst. Dit bestand wordt uitgevoerd vóór de aangegeven diensten. Met deze methode kan een systeembeheerder gemakkelijk systeemdiensten besturen, zonder gedoe met runlevels zoals bij sommige andere &unix; systemen. Meer informatie over het rc.d-systeem staat in &man.rc.8; en &man.rc.subr.8;. Als je geinteresseerd bent in het schrijven van je eigen rc.d script of om de huidige scripts te verbeteren is wellicht dit artikel interessant. Marc Fonvieille Geschreven door Netwerkkaarten instellen netwerkkaarten instellen Het is tegenwoordig nauwelijks voorstelbaar dat een computer geen netwerkverbinding heeft. Het toevoegen en instellen van een netwerkkaart is een gebruikelijke taak voor een &os; beheerder. Het juiste stuurprogramma vinden netwerkkaarten stuurprogramma Voor het zoeken begint, moet duidelijk zijn om welke kaart het gaat, welke chip erop zit en of het een PCI of ISA kaart is. &os; ondersteunt vele kaarten. Op de Hardware Compatibiliteitslijst voor de betreffende release om staan de kaarten die ondersteund worden. Als duidelijk is dat een kaart ondersteund wordt, moet vastgesteld worden wat het geschikte stuurprogramma is. In het bestand /usr/src/sys/conf/NOTES staat een lijst van stuurprogramma's voor netwerkinterfaces met wat informatie over de ondersteunde chipsets of kaarten. In geval van twijfel biedt de hulppagina voor het stuurprogramma (man) vaak uitkomst. In het algemeen bevat deze meer informatie over de ondersteunde hardware en mogelijke problemen die kunnen optreden. Als een veelgebruikte kaart gebruikt wordt, hoeft meestal niet ver gezocht te worden. Stuurprogramma's voor veelvoorkomende netwerkinterfaces al aanwezig in de algemene GENERIC kernel. In dat geval wordt zo'n al gevonden worden bij het opstarten, bijvoorbeeld met het volgende bericht: dc0: <82c169 PNIC 10/100BaseTX> port 0xa000-0xa0ff mem 0xd3800000-0xd38 000ff irq 15 at device 11.0 on pci0 dc0: Ethernet address: 00:a0:cc:da:da:da miibus0: <MII bus> on dc0 ukphy0: <Generic IEEE 802.3u media interface> on miibus0 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto dc1: <82c169 PNIC 10/100BaseTX> port 0x9800-0x98ff mem 0xd3000000-0xd30 000ff irq 11 at device 12.0 on pci0 dc1: Ethernet address: 00:a0:cc:da:da:db miibus1: <MII bus> on dc1 ukphy1: <Generic IEEE 802.3u media interface> on miibus1 ukphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto In dit voorbeeld zitten er twee kaarten in het systeem die het stuurprogramma &man.dc.4; gebruiken. Als het stuurprogramma voor een NIC geen onderdeel is van de GENERIC kernel, dan dient het juiste stuurprogramma voor die NIC geladen te worden. Dit kan op twee manieren: De meest eenvoudige manier is het laden van een kernelmodule voor een netwerkkaart met &man.kldload.8; of automatisch tijdens het opstarten van het systeem door de benodigde regel toe te voegen aan /boot/loader.conf. Niet alle NIC stuurprogramma's zijn als module beschikbaar. Zo zijn er bijvoorbeeld geen modules beschikbaar voor ISA kaarten. Ondersteuning voor een kaart kan ook in de kernel gecompileerd worden. In /usr/src/sys/conf/NOTES, /usr/src/sys/arch/conf/NOTES en de hulppagina van het stuurprogramma is na te lezen wat er in het kernelinstellingenbestand moet staan. In staat meer informatie over het compileren van een eigen kernel. Als een netwerkkaart al bij het opstarten wordt herkend door de GENERIC kernel, is er geen reden om een andere kernel te bouwen. Gebruik maken van &windows; NDIS drivers NDIS NDISulator &windows; drivers Microsoft Windows Microsoft Windows device drivers KLD (kernel loadable object) Helaas zijn er nog steeds veel leveranciers die geen schema's leveren voor drivers aan de open source gemeenschap, omdat ze deze informatie beschouwen als handels geheimen. Als gevolg daarvan hebben de ontwikkelaars van &os; en andere projecten twee keuzes: zelf de stuurprogramma's ontwikkelen door een langdurig en pijnlijk proces door de huidige stuurprogramma's te ontcijferen, of door gebruik te maken van de huidige binaire bestanden voor het µsoft.windows; platform. De meeste ontwikkelaars, inclusief diegeen die gekoppeld zijn aan &os;, hebben voor het laatste gekozen. Dankzij de bijdragen van Bill Paul (wpaul) is er vanaf &os; 5.3-RELEASE native ondersteuning voor de Network Driver Interface Specification (NDIS). De &os; NDISulator (ook wel bekend als Project Evil) neemt een &windows; binair stuurprogramma en doet net alsof deze in een &windows; systeem draait. Omdat het &man.ndis.4; stuurprogramma een &windows; binary gebruikt; is het alleen bruikbaar op &i386; en amd64 systemen. Het &man.ndis.4; stuurprogramma is ontwikkeld om ondersteuning te geven aan PCI, CardBus en PCMCIA apparaten, USB apparaten worden nog niet ondersteund. Om gebruik te kunnen maken van de NDISulator heb je drie dingen nodig: De kernel bronbestanden Een &windowsxp; stuurprogramma (met de .SYS extensie) Een &windowsxp; stuurprogramma configuratie bestand (met de .INF extensie) Lokaliseer de bestanden voor jouw specifieke kaart. Over het algemeen kunnen deze gevonden worden op de bijgeleverde CD's of op de website van de leverancier. In de volgende voorbeelden maken we gebruik van W32DRIVER.SYS en W32DRIVER.INF. Let op, je kunt geen gebruik maken van een &windows;/i386 stuurprogramma op &os;/amd64, hiervoor zul je een &windows;/amd64 stuurprogramma moeten gebruiken om het werkend te krijgen. De volgende stap is het compileren van het binaire stuurprogramma in een laadbare kernel module. Om dit voor elkaar te krijgen moet &man.ndisgen.8; gebruikt worden als root. &prompt.root; ndisgen /path/to/W32DRIVER.INF /path/to/W32DRIVER.SYS De &man.ndisgen.8; utility is interactief en zal vragen om extra informatie als dat nodig is; het zal een kernel module produceren in de huidige directory die als volgend gebruikt kan worden: &prompt.root; kldload ./W32DRIVER.ko Naast de gegenereerde kernel module, moeten ook ndis.ko en de if_ndis.ko modules geladen worden. Dit zou automatisch moeten gebeuren als er een module geladen wordt dit afhankelijk is van &man.ndis.4;. Als ze handmatig ingeladen moeten worden gebruik dan de volgende commando's: &prompt.root; kldload ndis &prompt.root; kldload if_ndis Het eerste commando laad het NDIS miniport stuurprogramma wrapper, de tweede laad de daadwerkelijke netwerk interface. Controleer nu &man.dmesg.8; om te zien of er ergens errors voorkomen zijn. Als alles goed gegaan is zie je ongeveer het volgende: ndis0: <Wireless-G PCI Adapter> mem 0xf4100000-0xf4101fff irq 3 at device 8.0 on pci1 ndis0: NDIS API version: 5.0 ndis0: Ethernet address: 0a:b1:2c:d3:4e:f5 ndis0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps ndis0: 11g rates: 6Mbps 9Mbps 12Mbps 18Mbps 36Mbps 48Mbps 54Mbps Vanaf dit moment kan de ndis0 net zo gebruikt worden als elke andere netwerkkaart (bv. dc0). Het systeem kan geconfigureerd worden zodat de NDIS modules automatisch gestart worden tijdens het opstarten van het systeem, net zoals bij andere modules. Kopieer eerst de gegenereerde module W32DRIVER.ko naar de /boot/modules directory. Voeg daarna de volgende regel toe aan /boot/loader.conf: W32DRIVER_load="YES" De netwerkkaart instellen netwerkkaarten instellen Nadat een geschikt stuurprogramma geladen is, moet de kaart nog ingestelt worden. Mogelijk is dit al gebeurd door sysinstall tijdens de installatie. Om de instellen van de netwerkkaarten weer te geven zien: &prompt.user; ifconfig dc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 192.168.1.3 netmask 0xffffff00 broadcast 192.168.1.255 ether 00:a0:cc:da:da:da media: Ethernet autoselect (100baseTX <full-duplex>) status: active dc1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 10.0.0.1 netmask 0xffffff00 broadcast 10.0.0.255 ether 00:a0:cc:da:da:db media: Ethernet 10baseT/UTP status: no carrier lp0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500 lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384 inet 127.0.0.1 netmask 0xff000000 tun0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500 Op oudere versies van of &os; moet volgens &man.ifconfig.8; misschien de optie gebruikt worden. In &man.ifconfig.8;zijn meer details over de syntaxis te lezen. In dit voorbeeld is de uitvoer over IPv6 (inet6 etc.) achterwege gelaten. In dit voorbeeld werden de volgende apparaten weergegeven: dc0: de eerste Ethernet interface; dc1: de tweede Ethernet interface; lp0: de parallelle poort interface; lo0: het loopback apparaat; tun0: het tunnelapparaat gebruikt door ppp. &os; gebruikt de naam van het stuurprogramma gevolgd door een nummer voor de volgorde waarop de kaarten gedetecteerd zijn bij het opstarten. sis2 is de derde netwerkkaart in het systeem die het stuurprogramma &man.sis.4; gebruikt. In het vorige voorbeeld is het apparaat dc0 volledig operationeel. Dit blijkt uit de volgende indicatoren: UP betekent dat de kaart ingesteld is en klaar voor gebruik; De kaart heeft een Internet (inet) adres (in dit geval 192.168.1.3); Het heeft een geldig subnetmasker (netmask; 0xffffff00 is hetzelfde als 255.255.255.0); Het heeft een geldig broadcastadres (in dit geval, 192.168.1.255); Het MAC adres van de kaart (ether) is 00:a0:cc:da:da:da; De fysieke mediaselectie staat in autoselectiemodus (media: Ethernet autoselect (100baseTX <full-duplex>)). dc1 is ingesteld om met 10baseT/UTP media te werken. Meet informatie over de mogelijke media types staan in de hulppagina's voor het betreffende stuurprogramma. De status van de link (status) is active, dat wil zeggen dat de drager is gevonden. Bij dc1staat echter status: no carrier. Dit is normaal als er geen ethernet kabel in de kaart gestoken is. Als de uitvoer &man.ifconfig.8; uitvoer er ongeveer zoals hieronder uitziet, dan is de netwerkkaart nog niet ingesteld: dc0: flags=8843<BROADCAST,SIMPLEX,MULTICAST> mtu 1500 ether 00:a0:cc:da:da:da Om de kaart te instellen zijn root rechten nodig. De netwerkkaart van vanaf de console worden ingesteld met &man.ifconfig.8;, maar dan moet dat na elke herstart herhaald worden. Daarom wordt het vrijwel altijd in /etc/rc.conf gezet. In /etc/rc.conf moet voor elke netwerkkaart in een systeem een regel toegevoegd worden. In het huidige voorbeeld zou dat het volgende kunnen zijn: ifconfig_dc0="inet 192.168.1.3 netmask 255.255.255.0" ifconfig_dc1="inet 10.0.0.1 netmask 255.255.255.0 media 10baseT/UTP" dc0, dc1, enzovoort, moeten vervangen worden door de correcte stuurprogramma's voor de netwerkkaarten, zo ook de IP adressen. In de handleiding van het stuurprogramma en van &man.ifconfig.8; staan meer details over de mogelijke opties en in &man.rc.conf.5; staat meer informatie over /etc/rc.conf. Als het netwerk al is ingesteld tijdens het installeren van &os; staan er al enkele regels met betrekking tot de netwerkkaart(en) in /etc/rc.conf. Het is dus handig /etc/rc.conf te controleren voordat er regels toegevoegd worden. Ook /etc/hosts moet worden gewijzigd om de namen en IP adressen van verschillende machines op het lokale netwerk, als ze er nog niet in staan. Meer informatie staat in &man.hosts.5; en /usr/share/examples/etc/hosts. Testen en problemen oplossen Als de veranderingen in /etc/rc.conf zijn gemaakt, moet het systeem opnieuw gestarten worden (of moeten nauwkeurig alle daemons gestart of herstart worden). Veranderingen aan de interface(s) worden dan toegepast en dan kan er controleerd worden of herstarten goed werkt zonder foutmeldingen. Als de kaart werkt, maar de performance is slecht, dan kan het de moeite waard zijn om &man.tuning.7; door te nemen. Incorrecte netwerkinstellingen kunnen ook tot langzame verbindingen leiden. Soms kunnen enkele device timeouts optreden. Met sommige kaarten is dit normaal gedrag. Maar als dit continu gebeurd of storend is, is het verstandig uit te zoeken of er geen sprake is van een hardwareconfict tussen de netwerkkaart en een ander apparaat. Ook dient nogmaals de bekabeling gecontroleer te worden. Misschien zit er niets anders op dan een andere netwerkkaart te gebruiken. Het is ook mogelijk dat er watchdog timeout foutmeldingen optreden. Als eerste moet dan de netwerkkabel fecontroleerd worden. Veel kaarten hebben een PCI slot nodig dat Bus Mastering ondersteunt. Sommige oudere moederborden hebben maar één PCI slot waarmee dit kan (meestal slot 0). In de documentatie van de netwerkkaart en het moederbord is na te gaan of dit het probleem is. No route to host meldingen treden op als het systeem niet in staat is om een pakket naar de eindbestemming te routeren. Dit kan gebeuren als er geen standaardroute aangegeven is of als er een kabel niet verbonden is. De uitvoer van netstat -rn moet gecontroleerd worden en of er een geldige route is naar de bestemming. Mocht dit niet het geval zijn, dan staat er meer informatie in . ping: sendto: Permission denied foutmeldingen worden vaak veroorzaakt door een verkeerd ingestelde firewall. Als de kernel ipfw activeert bij het opstarten zonder dat er firewallregels zijn gedefiniëerd, is het standaardbeleid om alle verkeer te weigeren, zelfs pings! In staat meer informatie. Er kan ook sprake zijn van onvoldoende prestaties doordat de mediaselectie instelling niet optimaal is. In dergelijke gevallen is het mogelijk om de mediaselectie niet als autoselect in te stellen, maar expliciet aan te geven wat de mediaselectie moet zijn, bijvoorbeeld 10baseT/UTP voor twisted pair. Hoewel dit voor de meeste hardware helpt, kan het zijn dat de problemen blijven. Dan moeten nogmaals de netwerkinstellingen gecontroleerd worden en geeft de &man.tuning.7; handleiding wellicht meer informatie. Virtuele hosts virtuele hosts IP aliassen &os; wordt veel gebruikt voor virtuele sitehosting, waarbij één fysieke server er op het netwerk uitziet alsof het meerdere servers zijn. Dit kan bereikt worden door meerdere IP adressen toe te kennen aan dezelfde interface. Een bepaalde netwerkinterface heeft een echt adres en kan daarnaast een willekeurig aantal alias adressen hebben. Normaliter worden dergelijke aliassen toegevoegd door aliasregels toe te voegen aan /etc/rc.conf. Een aliasregel voor de interface fxp0 ziet er zo uit: ifconfig_fxp0_alias0="inet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx" De aliasregels moeten beginnen met alias0 en moete elkaar dan opvolgen (bijvoorbeeld _alias1,, _alias2, enzovoort). Het instelproces stopt als er een nummer ontbreekt. Het is belangrijk dat aliassen het juiste netmasker hebben. Dit is eenvoudig: Een bepaalde interface moet altijd één adres hebben dat het netmasker van het netwerk correct representeert. Elk ander adres binnen dit netwerk op deze interface (alias) moet een netmasker van allemaal 1'en (bits) hebben (getoond als 255.255.255.255 of 0xffffffff). Een voorbeeld. Stel de fxp0 interface is verbonden met twee netwerken, het 10.1.1.0 netwerk met masker 255.255.255.0 en het 202.0.75.16 met netmasker 255.255.255.240. Het systeem moet ook de adressen 10.1.1.1 tot en met 10.1.1.5 en 202.0.75.17 tot en met 202.0.75.20 krijgen. Zoals hierboven vermeld, heeft alleen het eerste adres in een netwerkreeks (in dit geval 10.0.1.1 en 202.0.75.17) een geldig netmasker. Alle overige (10.1.1.2 tot en met 10.1.1.5 en 202.0.75.18 tot en met 202.0.75.20) moeten ingesteld worden met het netmasker 255.255.255.255. De volgende regels voor /etc/rc.conf stellen een adapter in voor het bovenstaande scenario: ifconfig_fxp0="inet 10.1.1.1 netmask 255.255.255.0" ifconfig_fxp0_alias0="inet 10.1.1.2 netmask 255.255.255.255" ifconfig_fxp0_alias1="inet 10.1.1.3 netmask 255.255.255.255" ifconfig_fxp0_alias2="inet 10.1.1.4 netmask 255.255.255.255" ifconfig_fxp0_alias3="inet 10.1.1.5 netmask 255.255.255.255" ifconfig_fxp0_alias4="inet 202.0.75.17 netmask 255.255.255.240" ifconfig_fxp0_alias5="inet 202.0.75.18 netmask 255.255.255.255" ifconfig_fxp0_alias6="inet 202.0.75.19 netmask 255.255.255.255" ifconfig_fxp0_alias7="inet 202.0.75.20 netmask 255.255.255.255" Instellingenbestanden <filename>/etc</filename> layout Instellingengegevens wordt in een aantal mappen bewaard. Daar zijn onder andere: /etc Generieke systeeminstellingenbestanden, specifiek voor het systeem. /etc/defaults De standaardversies van systeeminstellingenbestanden die gebruikt worden als er geen in /etc staat. /etc/mail Extra &man.sendmail.8; instellingenbestanden of instellingenbestanden voor andere MTAs. /etc/ppp Instellingen voor zowel user- als kernel-ppp programma's. /etc/namedb Standaardlocatie voor &man.named.8; gegevens. Normaal gesproken bevinden zich hier named.conf en zonebestanden. /usr/local/etc Instellingenbestanden voor geïnstalleerde software. Kan submappen hebben waarin bij elkaar horende instellingengegevens van een applicatie gegroepeerd zijn. /usr/local/etc/rc.d Start en stop scripts voor geïnstalleerde diensten. /var/db Automatisch gemaakte systeemspecifieke databasebestanden, zoals de packagedatabase, de &man.locate.1; database, enzovoort. Hostnamen hostnaam DNS <filename>/etc/resolv.conf</filename> resolv.conf In /etc/resolv.conf wordt voorgeschreven op welke wijze &os; het Domain Name System (DNS) moet gebruiken. De meest voorkomende termen in resolv.conf zijn: nameserver Het IP adres van een naamserver die ondervraagd moet worden voor naam/IP conversie. De servers worden in volgorde geprobeerd en het maximale aantal is drie. search Zoeklijst voor het opzoeken van hostnamen. Meestal wordt deze bepaald door het domein waarop de lokale hostnaam zich bevindt. domain De lokale domeinnaam. Een typisch resolv.conf bestand: search example.com nameserver 147.11.1.11 nameserver 147.11.100.30 search en domain dienen niet tegelijk gebruikt te worden. Als DHCP wordt gebruikt: &man.dhclient.8; overschrijft meestal resolv.conf met informatie ontvangen van de DHCP server. <filename>/etc/hosts</filename> hosts /etc/hosts is een eenvoudige tekstdatabase uit de dagen van het oude internet. Het werkt samen met DNS en NIS om namen en IP adressen over en weer te vertalen. Lokale computers, verbonden via een LAN, kunnen hier het beste in opgenomen worden om zo op simpele wijze naam/IP conversie voor een LAN te hebben, zonder noodzaak voor een &man.named.8; server. Ook kunnen naamaliassen toegekend worden (vergelijkbaar met CNAMES bij DNS). Op soortgelijke wijze kan /etc/hosts gebruikt worden als een (zeer beperkte) lokale DNS cache. # $&os;$ # # Host Database # Dit bestand hoort de adressen en aliassen te bevatten # voor de lokale hosts die dit bestand gebruiken. # Bij gebruik van DNS of NIS hoeft dit bestand helemaal niet gebruikt # te worden. Zie /etc/nsswitch.conf voor de volgorde van resolutie. # # ::1 localhost localhost.my.domain myname.my.domain 127.0.0.1 localhost localhost.my.domain myname.my.domain # # Verzonnen netwerk. #10.0.0.2 myname.my.domain myname #10.0.0.3 myfriend.my.domain myfriend # # Volgens RFC 1918 mogen de volgende IP netwerken gebruikt worden # als private netwerken die niet met internet verbonden zijn: # # 10.0.0.0 - 10.255.255.255 # 172.16.0.0 - 172.31.255.255 # 192.168.0.0 - 192.168.255.255 # # Als er toch verbinding moet zijn met internet, zijn echte # officieel toegewezen nummers nodig. Probeer ECHT GEEN eigen # netwerknummers te verzinnen, maar vraag ze op bij de provider # (als die er is) of bij de Internet Registry (ftp naar # rs.internic.net, map `/templates'). # /etc/hosts heeft als formaat: [Internet address] [official hostname] [alias1] [alias2] ... Bijvoorbeeld: 10.0.0.1 myRealHostname.example.com myRealHostname foobar1 foobar2 In &man.hosts.5; staat meer informatie. Logboekbestanden instellen logboekbestanden <filename>syslog.conf</filename> syslog.conf syslog.conf is het instellingenbestand voor het programma &man.syslogd.8;. Het geeft aan welke soorten syslog berichten er gelogd moeten worden en naar welke logboekbestanden, apparaten, gebruikers of machines. # $&os;$ # # Spaties zijn TOEGESTAAN als veldscheiding in dit bestand. # Maar andere *nix-achtige systemen eisen nog steeds het gebruik # van tabs als veldscheiding. Als dit bestand gedeeld wordt met # andere systemen, is het verstandig alle tabs als veldscheiding # te gebruiken. # Zie ook de handleding van syslog.conf(5). *.err;kern.debug;auth.notice;mail.crit /dev/console *.notice;kern.debug;lpr.info;mail.crit;news.err /var/log/messages security.* /var/log/security mail.info /var/log/maillog lpr.info /var/log/lpd-errs cron.* /var/log/cron *.err root *.notice;news.err root *.alert root *.emerg * # verwijder het commentaarkarakter om alle schrijfacties naar # /dev/console naar /var/log/console.log te schrijven. #console.info /var/log/console.log # verwijder het commentaarkarakter om alle berichten naar # /var/log/all.log te schrijven. #*.* /var/log/all.log # # verwijder het commentaarkarakter om alle liggen naar een andere # host in te schakelen met de naam loghost. #*.* @loghost # # verwijder het commentaarkarakter als inn draait. # news.crit /var/log/news/news.crit # news.err /var/log/news/news.err # news.notice /var/log/news/news.notice !startslip *.* /var/log/slip.log !ppp *.* /var/log/ppp.log In &man.syslog.conf.5; staat meer informatie. <filename>newsyslog.conf</filename> newsyslog.conf newsyslog.conf is het instellingenbestand voor &man.newsyslog.8;, een programma dat op gezette tijden via &man.cron.8; wordt uitgevoerd. &man.newsyslog.8; stelt vast wanneer logboekbestanden gearchiveerd moeten worden of anderszins opnieuw gerangschikt moeten worden. logfile wordt hernoemd naar logfile.0, logfile.0 naar logfile.1, enzovoort. newsyslog.conf geeft aan welke logboekbestanden beheerd moeten worden, hoeveel er in archieven bewaard moeten worden en wanneer ze aangemaakt moeten worden. Logboekbestanden kunnen gereorganiseerd en/of gearchiveerd worden als ze een bepaalde grootte bereikt hebben of op een bepaald periodiek tijdstip of een bepaalde datum. # configuration file for newsyslog # $&os;$ # # filename [owner:group] mode count size when [ZB] [/pid_file] [sig_num] /var/log/cron 600 3 100 * Z /var/log/amd.log 644 7 100 * Z /var/log/kerberos.log 644 7 100 * Z /var/log/lpd-errs 644 7 100 * Z /var/log/maillog 644 7 * @T00 Z /var/log/sendmail.st 644 10 * 168 B /var/log/messages 644 5 100 * Z /var/log/all.log 600 7 * @T00 Z /var/log/slip.log 600 3 100 * Z /var/log/ppp.log 600 3 100 * Z /var/log/security 600 10 100 * Z /var/log/wtmp 644 3 * @01T05 B /var/log/daily.log 640 7 * @T00 Z /var/log/weekly.log 640 5 1 $W6D0 Z /var/log/monthly.log 640 12 * $M1D0 Z /var/log/console.log 640 5 100 * Z In &man.newsyslog.8; staat meer informatie. <filename>sysctl.conf</filename> sysctl.conf sysctl sysctl.conf lijkt veel op rc.conf. Waardetoekenning heeft weer de vorm variable=value. De ingestelde &man.sysctl.8; waarden worden doorgevoerd op het moment dat het systeem naar multi-user modus gaat. Niet alle variabelen kunnen in deze modus gewijzigd worden. Om te voorkomen dat er logregels geplaatst worden als processen crashen en om te voorkomen dat andere gebruikers kunnen zien welke processen er gestart zijn door een andere gebruiker, kunnen de volgende instellingen worden gezet in sysctl.conf: #Do nog log fatal signal exits (e.g. sig 11) kern.logsigexit=0 # Prevent users from seeing information about processes that # are being run under another UID. security.bsd.see_other_uids=0 Optimaliseren met sysctl sysctl optimalisering met sysctl &man.sysctl.8; is een interface waarmee veranderingen gemaakt kunnen worden aan een draaiend &os; systeem. Er zijn onder meer vele geavanceerde opties voor de TCP/IP stack en het virtuele geheugensysteem, waarmee een ervaren systeembeheerder de systeemprestaties drastisch kan verbeteren. Met &man.sysctl.8; kunnen meer dan vijfhonderd ststeemvariabelen opgevraagd en ingesteld worden. In essentie heeft &man.sysctl.8; twee funkties: het lezen en wijzigen van systeeminstellingen. Om alle leesbare variabelen te tonen: &prompt.user; sysctl -a Om een bepaalde variabele op te vragen, bijvoorbeeld kern.maxproc: &prompt.user; sysctl kern.maxproc kern.maxproc: 1044 Om een bepaalde variabele toe te kennen (te wijzigen), is de syntaxis variable=value: &prompt.root; sysctl kern.maxfiles=5000 kern.maxfiles: 2088 -> 5000 Waarden van sysctl variabelen zijn doorgaans strings (tekst), getallen of booleans (1 als waar, 0 als onwaar). Om automatisch variabelen in te stellen als de machine start, kunnen ze toegevoegd worden aan /etc/sysctl.conf. Meer informatie staat in &man.sysctl.conf.5; en . Tom Rhodes Geschreven door &man.sysctl.8; alleen-lezen In sommige gevallen is het wenselijk zijn om &man.sysctl.8; waarden die alleen-lezen zijn toch te wijzigen. Hoewel dit soms onontkoombaar is, kan het alleen bij een (her)start gedaan worden. Op sommige laptops is bijvoorbeeld het apparaat &man.cardbus.4; niet in staat om geheugenregio's af te tasten, met als gevolg foutmeldingen als: cbb0: Could not map register memory device_probe_and_attach: cbb0 attach returned 12 In dergelijke gevallen moeten er meestal enkele &man.sysctl.8; instellingen gewijzigd worden die alleen-lezen zijn en een standaardwaarde hebben. Dit kan bereikt worden door &man.sysctl.8; OIDs in de lokale /boot/loader.conf te zetten. Standaardinstellingen staan in /boot/defaults/loader.conf. Om het bovenstaande probleem op te lossen moet in in /boot/loader.confhw.pci.allow_unsupported_io_range=1 ingesteld worden. Dan werkt &man.cardbus.4; wel goed. Harde schijven optimaliseren Sysctl variabelen <varname>vfs.vmiodirenable</varname> vfs.vmiodirenable De sysctl variabele vfs.vmiodirenable kan de waarde 0 (uit) of 1 (aan) hebben. De standaardwaarde is 1. Deze variabele bepaalt hoe mappen door het systeem in een cache bewaard worden. De meeste mappen zijn klein en gebruiken slechts een klein fragment (typisch 1 K) in het bestandssysteem en nog minder (typisch 512 bytes) in de buffercache. Als deze variabele uit staat (op 0) bewaart de buffercache slechts een bepaald aantal mappen in de cache, ook al is er een overvloed aan geheugen beschikbaar. Wanneer deze aan staat (op 1), wordt de VM pagecache gebruikt, waardoor voor het cachen van mappen al het geheugen kan worden gebruikt. Het is echter wel zo dat het minimale in-core geheugen dat gebruikt wordt om een map te cachen in dat geval de fysieke pagegrootte is (typisch 4 K) in plaats van 512  bytes. Het is aan te raden deze optie aan te laten staat als gebruik gemaakt worden van diensten die met grote aantallen bestanden werken, zoals webcaches, grote mailsystemen en newsservers. Als deze optie aan blijft staan, verlaagt die de prestaties niet, ook al kost het meer geheugen. Door experimenteren is dit voor een systeem na te gaan. <varname>vfs.write_behind</varname> vfs.write_behind De sysctl variabele vfs.write_behind staat standaard aan (1). Dit betekent dat het bestandssysteem gegevens naar het medium gaat schrijven op het moment dat er een volledig cluster aan data verzameld is. Dit is meestal het geval bij het schrijven van grote sequentiële bestanden. Het idee is om te voorkomen dat de buffercache verzadigd raakt met vuile buffers zonder dat dit bijdraagt aan de I/O prestaties. Dit kan echter processen ophouden en onder sommige omstandigheden is het wellicht beter deze sysctl uit te zetten. <varname>vfs.hirunningspace</varname> vfs.hirunningspace De sysctl variabele vfs.hirunningspace bepaalt hoeveel nog te schrijven gegevens er in het complete systeem op elk moment in de wachtrij naar schijfcontrollers mag staan. De standaardwaarde is meestal voldoende, maar op machines met veel schijven, is het beter deze te verhogen naar vier of vijf megabyte. Het instellen van een te hoge waarde (groter dan de schrijfdrempel van de buffercache) kan leiden tot zeer slechte prestaties bij clustering. Stel deze waarde niet arbitrair hoog in! Hogere schrijfwaarden kunnen vertraging veroorzaken in het lezen, als dit tegelijk plaatsvindt. Er zijn verscheidene andere sysctls voor buffercache en VM pagecache. Het wordt afgeraden deze te wijzigen. Het VM systeem zeer goed in staat zichzelf automatisch te optimaliseren. <varname>vm.swap_idle_enabled</varname> vm.swap_idle_enabled De sysctl variabele vm.swap_idle_enabled is nuttig in grote multi-user systemen met veel gebruikers die af- en aanmelden en veel onbenutte processen. Dergelijke systemen hebben de neiging om voortdurend de vrije geheugenreserves onder druk te zetten. Het is mogelijk om de prioriteit van geheugenpages die verband houden met onbenutte processen sneller te laten dalen dan met het normale pageout algoritme, door deze sysctl aan te zetten en via vm.swap_idle_threshold1 en vm.swap_idle_threshold2 de swapout hysterese (in seconden onbenut) af te stemmen. Deze optie dient alleen gebruikt te worden als ze echt nodig is, want de andere kant van de medaille is dat dit eerder pre-page geheugen inhoudt in plaats van later, waardoor het meer wisselbestand- en schijfbandbreedte kost. In een klein systeem heeft deze optie een voorspelbaar effect, maar in grote systemen waar al sprake is van een matige paging kan deze optie het mogelijk maken voor het VM systeem om hele processen gemakkelijk in en uit het geheugen te halen. <varname>hw.ata.wc</varname> hw.ata.wc Ten tijde van &os; 4.3 is er geflirt met het uitzetten van IDE schrijfcaching. Hierdoor neemt de bandbraadte naar IDE schijven af, maar het werd als noodzakelijk beschouwd vanwege ernstige problemen met gegevensinconsistentie die door harde schijfproducenten geëintroduceerd waren. Het probleem is dat IDE schijven niet de waarheid vertellen over wanneer een schrijfactie klaar is. Door IDE schrijfcaching wordt data niet alleen ongeordend geschreven, maar soms kan zelfs het schrijven van sommige blokken voortdurend uitgesteld worden als er sprake is van een hoge schijfbelasting. Een crash of stroomstoring kan dan ernstige corruptie van het bestandssysteem veroorzaken. Daarom werd de standaardinstelling van &os; voor alle zekerheid gewijzigd. Helaas was het resultaat een groot verlies aan prestaties en na die release is de standaardwaarde weer terug veranderd. Met de sysctl variabele hw.ata.wc kan gecontroleerd worden of schrijfcaching aan of uit staat. Als schrijfcaching uit staat, het die weer aangezet worden door hw.ata.wc naar 1 te zetten. Aangezien dit een kernelvariabele is, moet deze ingesteld worden vanuit de bootloader tijdens het opstarten. Nadat de kernel eenmaal opgestart is, heeft het wijzigen van deze sysctl geen effect. Meer informatie staat in &man.ata.4;. <literal>SCSI_DELAY</literal> (<varname>kern.cam.scsi_delay</varname>) kern.cam.scsi.delay kernelopties SCSI_DELAY De SCSI_DELAY kernelinstelling kan gebruikt worden om de opstarttijd te versnellen. De standaardwaarde is nogal hoog en kan 15 seconden vertraging veroorzaken. Met modernere SCSI systemen is 5 seconden al voldoende. Nieuwere versies van &os; (5.0 en hoger) gebruiken de opstartvariabele kern.cam.scsi_delay. Zowel deze als de optie SCSI_DELAY gebruiken waarden uitgedrukt in milliseconden en niet in seconden. Softupdates Softupdates tunefs &man.tunefs.8; kan gebruikt worden om een bestandsysteem nauwkeurig af te stellen. Het heeft veel opties, maar nu wordt alleen het aan- en uitzetten van softupdates besproken. Dat gaat als volgt: &prompt.root; tunefs -n enable /filesystem &prompt.root; tunefs -n disable /filesystem Een bestandssysteem kan niet met &man.tunefs.8; gewijzigd worden als het gemount is. Softupdates aanzetten wordt dus in het algemeen gedaan vanuit single-user modus, voordat partities gemount zijn. Softupdates zorgen voor een drastische verbetering van de meta-data prestaties, met name het aanmaken en verwijderen van bestanden, door gebruik van een geheugencache. Het wordt dan ook aangeraden om op alle bestandssystemen softupdates te gebruiken. Er zijn twee nadelen aan softupdates: softupdates garandeert een consistent bestandssysteem in geval van een crash, maar het kan makkelijk enkele seconden (zelfs een minuut) achter liggen met het daadwerkelijk bijwerken op de fysieke harde schijf. Als een systeem crasht wordt wellicht meer werk verloren dan anders het geval zou zijn. Daarnaast vertraagt softupdates het vrijgeven van bestandssysteemblokken. Als een bestandssysteem (zoals de root partitie) bijna vol is, dan kan het verrichten van een grote update, zoals make installworld, ertoe leiden dat het bestandssysteem ruimtegebrek krijgt en dat daardoor de operatie mislukt. Meer over softupdates Softupdates details Er zijn traditioneel twee methodes om de metadata van een bestandssysteem terug naar de schijf te schrijven. Het bijwerken van metadata houdt het bijwerken van van niet-inhoudelijke data zoals inodes of mappen in. Historisch gezien was het gebruikelijk om metadataupdates synchroon weg te schrijven. Als een map bijvoorbeeld gewijzigd was, wachtte het systeem totdat de verandering daadwerkelijk naar de schijf geschreven was. De databuffers (de inhoud van een bestand) werden doorgeschoven naar de buffercache en op een later moment asynchroon op de schijf opgeslagen. Het voordeel van deze benadering is dat ze altijd veilig is. Als het systeem faalt tijdens het bijwerken, is de metadata nog altijd consistent. Een bestand kan volledig gecreëerd zijn of helemaal niet. Als de datablokken van een bestand nog niet van de buffercache naar de schijf geschreven zijn ten tijde van de crash, is &man.fsck.8; in staat om dit te herkennen en het bestandssysteem te repareren door de lengte van het bestand nul te maken. Deze implementatie is ook helder en eenvoudig. Het nadeel is echter dat het wijzigen van metadata een traag proces is. Een rm -r commando benadert bijvoorbeeld alle bestanden in een map sequentiëel, maar elke mapverandering (verwijderen van een bestand) wordt synchroon naar de schijf geschreven. Dit omvat ook het bijwerken van de map zelf, van de inodetabel en mogelijk ook van indirecte blokken die voor het bestand in kwestie zijn gealloceerd. Gelijksoortige processen spelen zich af bij een commando als tar -x, waarbij een grote bestandshiëearchie wordt uitgepakt. De tweede mogelijkheid is om het bijwerken van metadata asynchroon weg te schrijven. Dit is standaard in &linux;/ext2fs en als een *BSD ufs bestandssysteem met mount -o async gemount is, is de werking hetzelfde. Alle bijwerkingen aan metagegevens worden eenvoudigweg doorgegeven aan de buffercache en vermengd met inhoudelijke updates van de bestandsgegevens. Het voordeel is een grote winst aan snelheid, omdat er niet telkens gewacht hoeft te worden op het bijwerken van metagegevens tot deze daadwerkelijk naar de schijf geschreven zijn. De implementatie is ook in dit geval helder en eenvoudig. Het grote nadeel is uiteraard dat er geen enkele garantie is voor de consistentie van het bestandssysteem. Als het systeem faalt tijdens een operatie waarbij veel metagegevens worden bijgewerkt (bijvoorbeeld door een stroomstoring of iemand drukt op de resetknop), blijft het bestandssysteem in een onvoorspelbare toestand achter. Er is geen mogelijkheid om de toestand van het bestandssysteem te onderzoeken als het systeem weer opstart, want de datablokken van een bestand kunnen al weggeschreven zijn geweest terwijl het wegschrijven van bijwerkingen aan de inodetabel of de bijhorende map nog niet plaats heeft gevonden. Het is zelfs onmogelijk om een fsck te implementeren die de overgebleven chaos kan opruimen: de benodigde informatie is gewoon niet volledig aanwezig op de schijf. Als een bestandssysteem op deze manier onherstelbaar beschadigd is, is de enige optie &man.newfs.8; te gebruiken en vervolgens te herstellen van een backup. De gebruikelijke oplossing voor dit probleem is het implementeren van dirty region logging, ook wel journaling genoemd, hoewel deze term niet consistent gebruikt wordt en soms ook wordt gebruikt voor andere vormen van transactielogging. Het bijwerken van metagegevens wordt nog steeds synchroon geschreven, maar slechts naar een klein gebied van de schijf. Later worden ze dan naar de juiste locatie verplaatst. Omdat het loggebied klein is, hoeven de koppen van de schijf zelfs tijdens schrijfintensieve operaties nog maar over een kleine fysieke afstand te bewegen en door deze snellere respons zijn dit soort operaties sneller dan op de traditionele manier. De extra complexiteit van de implementatie is nogal beperkt, dus het risico van introductie van extra bugs valt mee. Een nadeel is dat alle metagegevens tweemaal geschreven worden (eerst naar het loggebied en later nog eens naar de definitieve locatie). Dus bij normaal gebruik kan er sprake zijn van wat men wel noemt een performance pessimization. Anderzijds kunnen in geval van een crash alle nog uitstaande metagegevensoperaties snel worden teruggedraaid of vanuit het loggebied alsnog worden afgemaakt, wanneer de machine weer opstart. Het bestandssysteem start dan snel op. Kirk McKusick, de vader van het Berkeley FFS, loste dit probleem op met softupdates, wat betekent dat alle uitstaande acties voor het bijwerken van metagegevens in het geheugen bewaard worden en dan geordend naar de schijf geschreven worden. Dit heeft het gevolg dat in geval van intensieve operaties met betrekking tot metagegevens, latere bijwerkingen aan een item eerdere bewerkingen opvangen (catch) als deze nog in het geheugen zitten en nog niet weggeschreven waren. Dus alle operaties, op bijvoorbeeld een map, worden in het algemeen eerst in het geheugen uitgevoerd voordat er wordt bijgewerkt naar schijf. De datablokken worden geordend conform hun positie, zodat ze nooit weggeschreven worden voordat hun metagegevens geschreven zijn. Als het systeem een crash ondervindt, veroorzaakt dat impliciet het terugdraaien van uitstaande operaties (log rewind): alle operaties die nog niet weggeschreven waren lijken nooit gebeurd te zijn. Zo wordt een consistent bestandssysteem in stand gehouden dat eruit ziet alsof het 30 tot 60 seconden eerder was. Het gebruikte algoritme garandeert dat alle bronnen die in gebruik zijn als zodanig gemarkeerd worden in hun daarvoor geschikte bitmaps: blokken en inodes. Na een crash is de enige allocatiefout die kan optreden dat bronnen gemarkeerd kunnen zijn als in gebruik (used), terwijl ze feitelijk alweer beschikbaar (free) zijn. &man.fsck.8; herkent deze situatie en stelt dergelijke vrij te maken bronnen opnieuw beschikbaar. Het is volkomen veilig om na een crash te negeren dat het bestandssysteem niet schoon is en het tot mounten te dwingen met mount -f. Om niet langer gebruikte bronnen vrij te maken moet later &man.fsck.8; uitgevoerd worden. Dit is dan ook het idee achter background fsck: op het moment dat het systeem aan het opstarten is, wordt er alleen een snapshot van het systeem bewaard. fsck kan later uitgevoerd worden. Alle bestandssystemen kunnen dirty gemount worden en het systeem kan gewoon verder opstarten naar multi-user modus. Vervolgens zijn er fscks gepland die in de achtergrond draaien voor elk bestandssysteem dat niet schoon is en waarmee bezette bronnen vrijgegeven worden. Bestandssystemen die geen gebruik maken van softupdates moeten echter nog steeds gebruik maken van de normale fsck in de voorgrond. Het voordeel van softupdates is dat operaties op metagegevens bijna net zo snel zijn als asynchrone updates (dat wil zeggen sneller dan met logging, waarbij de metagegevens keer keer geschreven worden). Nadelen zijn de complexiteit van de code (wat een groter risico op bugs impliceert in een gebied dat bijzonder gevoelig is voor verlies van gebruikersgegevens) en een groter geheugenverbruik. Tevens moet de gebruiker wennen aan enkele eigenaardigheden. Na een crash lijkt de toestand van het bestandssysteem wat ouder. In situaties waar de standaard synchrone benadering een aantal lege bestanden zou hebben achtergelaten na fsck, is het met softupdates juist zo dat dergelijke bestanden er helemaal niet zijn, omdat de metadata of de bestandsinhoud nooit naar de schijf is geschreven. Schijfruimte wordt pas vrijgegeven als de bijwerkingen aan metagegevens en inhoudelijke bestandsdata weggeschreven zijn, wat mogelijk pas enige tijd na het uitvoeren van rm plaatsvindt. Dit kan problemen veroorzaken als er grote hoeveelheden data naar een bestandssysteem geschreven worden dat onvoldoende vrije ruimte heeft om alle bestanden twee keer te kunnen bevatten (bijvoorbeeld in /tmp). Fijnafstemming van kernellimieten fijnafstemming kernellimieten Bestandsproceslimieten <varname>kern.maxfiles</varname> kern.maxfiles kern.maxfiles kan worden verhoogd of verlaagd, afhankelijk van de systeembehoeften. Deze variabele geeft het maximale aantal bestandsdescriptors op een systeem. Als de bestandsdescriptortabel vol is,.toont de systeembuffer meerdere malen file: table is full, hetgeen achteraf te zien is net dmesg. Elk geopend bestand, socket of fifo heeft een bestandsdescriptor. Een grote produktieserver kan makkelijk enige duizenden bestandsdescriptors nodig hebben, afhankelijk van het soort en aantal diensten die tegelijk draaien. In oudere versies van &os;, werd de standaard waarde van kern.maxfiles afgeleid van de optie in het kernel configuratie bestand. kern.maxfiles groeit evenredig met de waarde van maxusers. Als een aangepaste kernel wordt gebouwd, is het een goed idee om deze kerneloptie in te stellen afhankelijk van het gebruikt van een systeemhet (maar niet te laag). Hoewel een produktieserver misschien niet 256 gebruikers gelijktijdige gebruikers heeft, kunnen de benodigde systeembronnen best vergelijkbaar zijn met een grootschalige webserver. De optie maxusers stelt de grootte van een aantal belangrijke systeemtabellen in. Dit aantal moet ruwweg gelijk zijn aan het aantal gebruikers dat verwacht wordt gelijktijdig van de machine gebruik te maken. Vanaf &os; 4.5 wordt kern.maxusers automatisch ingesteld tijdens het opstarten gebaseerd op de hoeveelheid beschikbare geheugen in het systeem en kan worden vastgesteld tijdens het draaien door te kijken naar de alleen-lezen kern.maxusers sysctl. Sommige configuraties hebben grotere of kleinere waarden nodig van kern.maxusers, deze kunnen worden gezet als een opstart variabele. Waardes van 64, 128 en 256 zijn daarin niet ongewoon. We raden aan om niet boven de 256 te gaan tenzij er heel veel filedescriptors benodigd zijn; veel van de aanpasbaare waarden die standaard worden bepaald door kern.maxusers kunnen individueel worden overschreven tijdens het opstarten en/of tijdens het draaien van het systeem in /boot/loader.conf (zie de &man.loader.conf.5; handleiding of het /boot/defaults/loader.conf bestand voor een paar aanwijzingen) of zoals ergens anders beschreven in dit document. Systemen die ouder zijn dan &os; 4.4 moeten deze waardes zetten via de kernel &man.config.8; optie . Voor oudere versies stelt het systeem deze waarde zelf in als deze uitdrukkelijk op 0 is gezet. Het auto-tuning-algoritme stelt maxusers in afhankelijk van de hoeveelheid geheugen in het systeem, met een minimum van 32 en een maximum van 384. Als het gewenst is om deze waarde zelf aan te geven, wordt aangeraden om maxusers minstens op 4 te zetten, met name als het X Window systeem in gebruik is of als er software gecompileerd wordt. De reden hiervoor is dat de belangrijkste tabel die door maxusers ingesteld wordt, het maximum aantal processen is, dat ingesteld wordt op 20 + 16 * maxusers, dus als maxusers op 1 ingesteld wordt, zijn er maar 36 gelijktijdige processen mogelijk, inclusief de ongeveer achttien processen die door het systeem tijdens het opstarten start en de ongeveer vijftien processen die waarschijnlijk aangemaakt worden door het opstarten van het X Window systeem. Zelfs een eenvoudige taak als het afbeelden van een hulppagina start negen processen op om de pagina te filteren, te decomprimeren en af te beelden. Als maxusers op 64 ingesteld wordt, zijn er 1044 gelijktijdige processen mogelijk, wat genoeg moet zijn voor bijna alle soorten gebruik. Als echter de gevreesde fout proc table full verschijnt als er geprobeerd wordt om een programma op te starten of als er een server gedraaid wordt met een groot aantal gelijktijdige gebruikers, zoals ftp.FreeBSD.org, kan het getal altijd verhoogd worden en kan de kernel opnieuw gebouwd worden. maxusers stelt geen grens aan het aantal gebruikers dat op de machine kan aanmelden. Het stelt gewoon verschillende tabelgroottes in op redelijke waardes, uitgaande van het maximum aantal gebruikers dat waarschijnlijk de machine gebruikt en van het aantal processen dat elk van deze gebruikers zal draaien. Een sleutelwoord dat wel het aantal gelijktijdige aanmeldingen op afstand en X-terminalvensters begrensd is pseudo-device pty 16. In &os; 5.X kan dit getal genegeerd worden omdat daar het stuurprogramma &man.pty.4; auto-cloning is. Er kan eenvoudig gebruik worden gemaakt van de regel device pty in het instellingenbestand. <varname>kern.ipc.somaxconn</varname> kern.ipc.somaxconn De sysctl variabele kern.ipc.somaxconn beparkt de grootte van de luisterwachtrij voor het accepteren van nieuwe TCP verbindingen. De standaardwaarde van 128 is meestal te laag voor robuuste behandeling van nieuwe verbindingen in een zwaarbeladen webserver omgeving. Voor zulke omgevingen wordt aangeraden deze waarde te verhogen tot 1024 of hoger. De dienstdaemon beperkt misschien zelf de luisterwachtrij (bijvoorbeeld &man.sendmail.8; of Apache), maar heeft vaak een mogelijkheid in een configuratiebestand de wachtrijgrootte aan te passen. Grote luisterwachtrijen zijn ook beter in het ontwijken van Ontzegging van Dienst (DoS) aanvallen. Netwerkbeperkingen De kerneloptie NMBCLUSTERS bepaalt het aantal netwerk Mbufs dat beschikbaar is voor een systeem. Een veel bezochte server met een laag aantal Mbufs beperkt de mogelijkheden van &os;. Elk cluster staat voor ongeveer 2 K geheugen, dus een waarde van 1024 stelt 2 megabyte aan kernelgeheugen voor, dat is gereserveerd voor netwerkbuffers. Een simpele berekening geeft aan hoeveel er nodig is. Stel dat een webserver met een maximum van 1000 simultane verbindingen voor elke verbinding 16 K aan ontvangst netwerkbuffers en 16 K aan zendbuffers kost, dan is ongeveer 32 MB aan netbuffers nodig voor de webserver. Een goede vuistregel is te vermeniguldigen met twee, dus 2x32 MB / 2 KB = 64 MB / 2 kB = 32768. Voor machines met veel geheugen wordt 4096 tot 32768 aangeraden. Er moet in geen geval een arbitrair hoge waarde voor deze sysctl opgegeven worden, want dat kan leiden tot een crash tijdens het opstarten. Met de optie van &man.netstat.1; kan clustergebruik van het netwerk bekeken worden. De loaderparameter kern.ipc.nmbclusters moet gebruikt worden om dit tijdens het opstarten toe te passen. Alleen voor oudere versies van &os; is het nodig om de kerneloptie NMBCLUSTERS te gebruiken. Voor drukke servers die extensief gebruik maken van de systeemaanroep &man.sendfile.2;, kan het nodig zijn het aantal &man.sendfile.2; buffers te verhogen via de kerneloptie NSFBUFS of door de waarde in te stellen in /boot/loader.conf (in &man.loader.8; staan details). Als er in de procestabel processen staan met een status sfbufa is dat een algemene indicator dat deze parameter aangepast moet worden. De sysctl variabele kern.ipc.nsfbufs is alleen-lezen en laat zien op welke waarde deze kernelvariabele is ingesteld. Deze parameter schaalt engiszins met de variabele kern.maxusers, maar het kan nodig zijn om deze bij te stellen. Zelfs als een socket als non-blocking gemarkeerd is, dan nog kan het aanroepen van &man.sendfile.2; op de non-blocking socket ertoe leiden dat er toch blokkade optreedt totdat er voldoende struct sf_buf's vrijgemaakt zijn. <varname>net.inet.ip.portrange.*</varname> net.inet.ip.portrange.* De sysctle variabelelen net.inet.ip.portrange.* bepalen welke reeks poortnummers automatisch gebonden wordt aan TCP en UDP sockets. Er zijn drie gebieden: een laag gebied, een (standaard) middengebied en een hoog gebied. De meeste netwerkprogramma's gebruiken het standaardbereik, wat begrensd wordt door net.inet.ip.portrange.first en net.inet.ip.portrange.last met standaardwaarden van respectievelijk 1024 en 5000. Gebonden poortreeksen worden gebruikt voor uitgaande verbindingen en het is onder bepaalde omstandigheden mogelijk dat poorten op raken. Dit gebeurt meestal in het geval van een zwaar belaste webproxy. Poortbereik is niet van belang als vooral diensten draaien die zich bezighouden met inkomende verbindingen, zoals een normale webserver, of als het aantal uitgaande verbindingen beperkt is, zoals bij een mailrelay. Voor situaties waarin een tekort aan poorten dreigt, wordt aangeraden om net.inet.ip.portrange.last bescheiden op te hogen. Een waarde van 10000, 20000 of 30000 is redelijk. Er moet ook rekening met effecten op firewalls gehouden worden als de poortreeks gewijzigd wordt. Sommige firewalls kunnen grote poortreeksen blokkeren, meestal de lagere poorten, en verwachten dat andere systemen hogere poorten gebruiken voor uitgaande verbindingen. Om deze reden wordt het niet aanbevolen om net.inet.ip.portrange.first te verlagen. TCP Bandbreedtevertragingsproduct (TCP Bandwidth Delay Product) TCP bandbreedtevertragingsproduct net.inet.tcp.inflight.enable De TCP bandbreedtevertragingsproduct limitatie lijkt op TCP/Vegas in NetBSD. Het kan aangezet worden door de sysctl variabelel net.inet.tcp.inflight.enable de waarde 1 te geven. Het systeem tracht dan het bandbreedtevertragingssprodukt te berekenen voor elke verbinding en beperkt dan de hoeveelheid gegevens in de wachtrij naar het netwerk tot de hoeveelheid die vereist is om maximale doorvoer te kunnen handhaven. Dit is nuttig bij gebruik van modems, Gigabit Ethernet of zelfs bij hoge snelheid WAN links (of elke andere link met een groot bandbreedtevertragingsprodukt), in het bijzonder als ook windowschaling of een groot verzendwindow gebruikt wordt. Als deze optie aangezet wordt, dient ook net.inet.tcp.inflight.debug de waarde 0 te krijgen (geen debugging) en voor produktiegebruik kan het instellen van net.inet.tcp.inflight.min naar minstens 6144 voordeel opleveren. Het instellen van hoge minima kan effectief het beperken van bandbreedte ondermijnen, afhankelijk van de link. De mogelijkheid tot limitering zorgt ervoor dat de hoeveelheid data die opgebouwd wordt, in tussentijdse route- en switchwachtrijen verlaagd kan worden en tevens kan de hoeveelheid gegevens die opgebouwd wordt in de interfacewachtrij van de lokale host verlaagd worden. Met minder pakketten in wachtrijen, kunnen interactieve verbindingen opereren met lagere Round Trip tijden, met name over langzame modems. Deze optie gaat alleen over datatransmissie (upload / serverkant) en heeft geen effect gegevensontvangst (download / clientkant). Aanpassen van net.inet.tcp.inflight.stab wordt niet aangeraden. Deze parameter krijgt standaard een waarde van 20, wat 2 maximale pakketten opgeteld bij de bandbreedtevensterberekening representeert. Het extra venster is nodig om het algoritme stabiel te houden en om de reactietijd bij veranderende omstandigheden te verbeteren, maar het kan ook leiden tot langere pingtijden over langzame verbindingen (zonder het inflight algoritme kan dit echter nog erger zijn). In dergelijke gevallen kan deze parameter misschien verlaagd worden naar 15, 10 of 5 en misschien moet voor het gewenste effect ook net.inet.tcp.inflight.min verlaagd worden (bijvoorbeeld naar 3500). Het verlagen van deze parameters moet pas in laatste instantie overwogen worden. Virtueel Geheugen <varname>kern.maxvnodes</varname> Een vnode is de interne representatie van een bestand of een map. Het verlagen van het aantal beschikbare vnodes voor het besturingssysteem leidt dus tot een daling van disk I/O. Normaliter wordt dit door het besturingssysteem afgehandeld en hoeft de instelling niet gewijzigd te worden. Im sommige gevallen kan disk I/O de beperkende factor zijn en kan het systeem alle beschikbare vnodes in gebruik hebben. Dan dient deze instelling gewijzigd te worden. De hoeveelheid inactief en beschikbaar RAM dient meegenomen te worden in de beslissing. Het huidige aantal gebruikte vnodes kan als volgt bekeken worden: &prompt.root; sysctl vfs.numvnodes vfs.numvnodes: 91349 Om het maximale aantal vnodes weer te geven: &prompt.root; sysctl kern.maxvnodes kern.maxvnodes: 100000 Als het huidige aantal gebruikte vnodes dicht bij het maximale aantal ligt, is het verstandig om kern.maxvnodes op te hogen met 1.000. Ook vfs.numvnodes dient in de gaten gehouden te worden. Als de waarde weer tot aan het maximum stijgt, dan moet kern.maxvnodes verder opgehoogd worden. Er dient een verschuiving op te treden in het door &man.top.1; gerapporteerde geheugengebruik. Er hoort meer geheugen actief te zijn. Wisselbestandruimte toevoegen Hoe goed er ook gepland wordt, soms draait een systeem gewoon niet zoals verwacht. Een oorzaak hiervoor kan een tekort aan wisselbestandruimte zijn. Als blijkt dat er meer wisselbestandruimte nodig is, kan dat eenvoudig. Er zijn drie manieren om de totale ruimte beschikbaar als wisselbestand te vergroten: een nieuwe harde schijf toevoegen, swappen over NFS of een wisselbestand maken op een bestaande (UFS of andere) partitie. Voor informatie over het beveiligen van het wisselbestand, welke opties hiervoor bestaan, en waarom dit gedaan zou moeten worden, kijk dan in van het handbook. Wisselbestand (partitie) op een nieuwe harde schijf Dit is natuurlijk de beste manier om de wisselbestandsruimte te vergroten en een goed excuus om een extra harde schijf toe te voegen. Die komt immers altijd wel van pas. In dat geval kan het beste de discussie over wisselbestandruimte in nog eens herlezen worden om wat suggesties te krijgen over hoe wisselbestandpartitie(s) het beste ingedeeld kunnen worden. Swappen over NFS In het algemeen wordt swappen over NFS niet aangeraden behalve als het onmogelijk is om naar een lokale schijf te swappen. NFS swappen wordt gelimiteerd door de hoeveelheid beschikbare bandbreedte en belast het de NFS server. Wisselbestanden Het is mogelijk om een bestand aan te maken van een bepaalde grootte en dit als swap te gebruiken. In dit voorbeeld wordt een 64 MB bestand gebruikt, /usr/swap0. Uiteraard kan een willekeurige naam gebruikt worden. Een wisselbestand aanmaken op &os; De kernel moet het stuurprogramma voor de geheugenschijf (&man.md.4;) bevatten. Dat zit standaard in de GENERIC kernel. device md # Memory "disks" Het wisselbestand /usr/swap0 aanmaken: &prompt.root; dd if=/dev/zero of=/usr/swap0 bs=1024k count=64 De correctie rechten op /usr/swap0 instellen: &prompt.root; chmod 0600 /usr/swap0 Het wisselbestand opnemen in /etc/rc.conf: swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired. De machine moet herstart worden of om het wisselbestand direct in te schakelen: &prompt.root; mdconfig -a -t vnode -f /usr/swap0 -u 0 && swapon /dev/md0 Hiten Pandya Geschreven door Tom Rhodes Energie- en bronnenbeheer Het is belangrijk om hardwarebronnen op een efficiënte wijze te benutten. Voordat ACPI geïntroduceerd werd was het lastig en onflexibel om het energieverbruik en de thermische eigenschappen van een systeem te beheersen. De hardware werd beheerst de BIOS en dus had de gebruiker minder controle en zichtbaarheid in de energiebeheer instellingen. Enige gelimiteerde configuratie was mogelijk via Advanced Power Management (APM). Energie en bronnen beheer is een belangrijk onderdeel van moderne machines. Het besturingssysteem moet bijvoorbeeld systeemlimieten in de gaten houdt (en mogelijk een SMS sturen of iets dergelijks) als de systeemtemperatuur onverwacht toeneemt. In dit deel van het &os; handboek wordt uitgebreide informatie verschaft over ACPI. Aan het einde worden referenties geleverd naar meer leesmateriaal. Wat is ACPI? ACPI APM Advanced Configuration and Power Interface (ACPI) is een standaard die door een alliantie van producenten geschreven is, met als doel te voorzien in een een standaardinterface voor hardware bronnen- en energiebeheer. Een belangrijk element is dat het meer flexibiliteit en beheersmogelijkheden biedt aan het besturingssysteem (OS). Moderne systemen hebben de limieten van de huidige PNP interfaces verder opgerekt dan wenselijk en misschien wel mogelijk was. ACPI is de directe opvolger van APM (Advanced Power Management). Centraal is het verleggen van hardwarebeheer en -monitoring naar de OS laag in plaats van de zeer beperkte BIOS laag. Tekortkomingen van APM Met de Advanced Power Management (APM) faciliteit kan het energieverbruik van een systeem geregeld worden op basis van de systeemactiviteit. Het APM BIOS wordt geleverd door de systeemproducent of -verkoper en het is specifiek voor dat betreffende hardware platform. Een APM stuurprogramma in het besturingssysteem regelt vervolgens de toegang tot de APM Software Interface, die het besturen van vermogensniveau mogelijk maakt. APM dient nog steeds gebruikt te worden met systemen die gefabriceerd zijn voor het jaar 2000. Er zijn vier hoofdproblemen met APM te onderscheiden: ten eerste wordt het energiebeheer verricht door een BIOS (afhankelijk van producent) en het besturingssysteem heeft daar geen kennis van. De gebruiker die idle-time waarden instelt voor een harde schijf in het APM BIOS is hier een voorbeeld van. Dan zal het BIOS de harde schijf langzamer kunnen laten draaien zonder dat het besturingssysteem de noodzaak ziet of het goedkeurt. Ten tweede: de APM logica is ingebed in de BIOS, waardoor het buiten het besturingssysteem om opereert. Dit houdt in dat gebruikers problemen met hun APM BIOS alleen kunnen verhelpen door een nieuw BIOS in het ROM te flashen, wat een gevaarlijke en mogelijk onherstelbare operatie is. Ten derde is APM een producent-specifieke technologie, in de zin dat er altijd een hoge mate van duplicatie zal zijn van al dan niet geslaagde pogingen om het wiel opnieuw uit te vinden en uiteraard ook van bugs. Er is geen enkele garantie dat het wegnemen van een bug door een producent ook een zelfde bug wegneemt bij een concurrent. Tenslotte is het van belang te weten dat de APM BIOS in het algemeen gewoon te weing geheugen kon gebruiken om een ingewikkeld energiebeheer te kunnen implementeren. Laat staan dat deze goed aanpasbaar was aan veranderlijke doelstellingen voor de betreffende machine. Plug-n-play BIOS (PNPBIOS) was in veel situations onbetrouwbaar. PNPBIOS is 16-bit technologie, dus het besturingssysteem moet 16-bit emulatie gebruiken om met PNPBIOS methoden te kunnen samenwerken. Het &os; stuurprogramma APM is gedocumenteerd in &man.apm.4;. <acronym>ACPI</acronym> instellen Het stuurprogramma acpi.ko wordt standaard geladen bij het opstarten door de &man.loader.8; en hoeft niet gecompileerd te worden. De redenatie is dat er met modules gemakkelijker gewerkt kan worden, bijvoorbeeld een andere acpi.ko gebruiken zonder dat er een nieuwe kernel gebouwd moet worden. Dit heeft het voordeel dat testen eenvoudiger is. Een andere reden is dat het opstarten van ACPI nadat een systeem eenmaal volledig opgestart is meestal niet goed werkt. Mocht er hinder ondervonden worden kan ACPI beter uitgeschakeld worden. Dit stuurprogramma kan niet gestopt worden als het eenmaal geladen is, omdat de systeembus het gebruikt voor allerlei interacties met hardware. ACPI kan uitgezet worden door het zetten van hint.acpi.0.disabled="1" in /boot/loader.conf of in de &man.loader.8; prompt. ACPI en APM kunnen niet samenleven en moeten afzonderlijk en exclusief gebruikt worden. De laatste die gestart wordt bepaalt of het stuurprogramma de ander wel of niet ziet. In haar eenvoudigste vorm kan ACPI gebruikt worden om het systeem in slaapmodus te zetten met de vlag en een 1-5 optie met &man.acpiconf.8;. De meeste gebruikers hebben alleen 1 of 3 nodig. De optie 5 verricht een soft-off, wat hetzelfde is als: &prompt.root; halt -p Andere opties zijn mogelijk via &man.sysctl.8;. Zie de handleidingen van &man.acpi.4; en &man.acpiconf.8; voor meer informatie. Nate Lawson Geschreven door Peter Schultz Met medewerking van Tom Rhodes &os; <acronym>ACPI</acronym> gebruiken en debuggen ACPI is een totaal nieuwe manier om apparaten te ontdekken, om energieverbruik te beheren en om een gestandaardiseerde toegang te bieden tot allerlei apparaten die eerder via het BIOS beheerd werden. Er wordt voortdurend vooruitgang geboekt om ACPI op alle systemen te laten werken, maar bugs in de ACPIMachine Language (AML) bytecode van sommige moederborden, onvolledigheden in &os;'s kernel subsystemen en bugs in de &intel; ACPI-CA interpreter blijven opduiken. Deze tekst is bedoeld om de &os; ACPI beheerders (maintainers) te helpen met het vinden van de hoofdoorzaken van problemen die voorkomen en met het debuggen en het vinden van een oplossing. Debuginformatie aanleveren Voordat een probleem wordt aanmeld, moet het zeker zijn dat de laatste BIOS versie draait en indien beschikbaar de geïntregeerde controller firmware versie. Diegenen die meteen een probleem willen indienen, sturen de volgende informatie naar freebsd-acpi@FreeBSD.org: Omschrijving van het foutieve gedrag, inclusief systeemtype en model en alles wat de fout kan veroorzaken. Als het een nieuw fenomeen is, dan dient ook zo accuraat mogelijk aangegeven te worden wanneer de fout het eerst optrad. De &man.dmesg.8; uitvoer van boot -v, inclusief foutmeldingen die gegenereerd worden als de fout optreedt. De &man.dmesg.8; uitvoer van boot -v met ACPI uitgeschakeld, indien het uitzetten van ACPI het probleem oplost. Uitvoer van sysctl hw.acpi. Dit is tevens een goede manier om uit te vinden welke ACPI mogelijkheden een systeem heeft. Een URL waar de ACPISource Language (ASL) gevonden kan worden. De ASL dient niet rechtstreeks naar de lijst gezonden te worden, omdat deze nogal groot kan zijn. Een kopie van een ASL kan gemaakt worden met het volgende commando: &prompt.root; acpidump -dt > name-system.asl (Vervang een aanmeldnaam door $NAME en producent/model door $SYSTEM. Bijvoorbeeld: njl-FooCo6000.asl) De meeste &os; programmeurs lezen de &a.current; mailinglijst, maar problemen gaan bij voorkeur ook naar &a.acpi.name; zodat ze zeker gezien worden. Het kan enige tijd duren voordat er antwoord komt, omdat deze mensen elders ook nog fulltime banen hebben. Als de bug niet meteen duidelijk is, komt er waarschijnlijk en verzoek om een PR in te dienen via &man.send-pr.1;. Als er een PR moet worden opgesteld, dan dient alle hierboven gevraagde informatie vermeld te worden. Dit helpt om het probleem te kunnen volgen en oplossen. Het sturen van een PR zonder eerst &a.acpi.name; te mailen is niet wenselijk, aangezien men PRs gebruikt als herinnering, niet als rapportagesysteem. Mogelijk is een probleem al eens door iemand anders aangemeld. Achtergrond ACPI is aanwezig op alle moderne computers die voldoen aan de ia32 (x86), ia64 (Itanium) of amd64 (AMD) architecturen. De volledige standaard heeft vele mogelijkheden zoals CPU prestatiebeheer, energiebeheer, thermische zones, diverse batterijsystemen, ingebedde controllers en busnummering. De meeste systemen implementeren minder dan de volledige standaard. Een desktopsysteem implementeert bijvoorbeeld meestal alleen busnummering, terwijl laptops mogelijk ook koeling- en batterijbeheer ondersteunen. Laptops hebben ook suspend en resume (slapen en wakker worden) met hun eigen aanverwante comlexiteit. Een ACPI-compliant systeem heeft verscheidene componenten. Het BIOS is de eerste en dan zijn er verscheidene tabellen in het geheugen zoals FADT die zaken als de APIC map (gebruikt voor SMP) specificeren, beschikbaar gesteld door verschillende producenten/verkopers. Daarnaast zijn er specifieke eenvoudige instellingen en instellingenregisters, ook allen specifiek voor de leverancier. Ook wordt er een tabel van bytecode (de Differentiated System Description Table DSDT) geleverd die een op een boomstructuur lijkende namespace biedt voor apparaten en apparaatobjectfuncties. Het stuurprogramma ACPI moet de voorgedefinieerde tabellen verwerken, een interpreter voor de bytecode implementeren en apparaatstuurprogramma's en de kernel aanpassen om alleen al informatie van het ACPI subsysteem te kunnen accepteren. &intel; heeft een interpreter beschikbaar gesteld (ACPI-CA) die door &os; en ook door &linux; en NetBSD gebruikt wordt. De ACPI-CA broncode staat in src/sys/contrib/dev/acpica. De lijmcode (glue code) die ACPI-CA laat werken met &os; staat in src/sys/dev/acpica/Osd. Stuurprogramma's die verscheidene ACPI apparaten implementeren staan in src/sys/dev/acpica. Algemene problemen Wil ACPI goed werken, dan moeten alle onderdelen goed werken. Hieronder staan enkele algemene problemen in volgorde van hoe vaak ze optreden en enkele mogelijke oplossingen of manieren om de problemen te vermijden. Muisproblemen Soms doet een muis het niet bij het opstarten uit de slaapstand. Een bekend lapmiddel is het toevoegen van hint.psm.0.flags="0x3000" aan het bestand /boot/loader.conf. Als dat niet werkt, dan wordt aangeraden een bugrapport in te sturen, zoals eerder is beschreven. Suspend/resume ACPI heeft drie slaapstanden waarbij het geheugen (RAM) wordt ingezet. Dit zijn de STR toestanden S1-S3,en nog een slaap-met-gebruik-van-harde-schijf toestand (STD) die S4 heet. S5 is zacht uit en is de normale status van een systeem als het is aangesloten maar niet is aangezet. S4 kan feitelijk op twee manieren geïmplementeerd worden: S4BIOS is een slaapstand naar schijf met behulp van het BIOS en S4OS wordt volledig door het besturingssysteem beheerd. als eerste dienen de sysctl items die iets met de slaapstand te maken hebben gecontroleerd te worden. Hieronder staan de resultaten voor een Thinkpad: hw.acpi.supported_sleep_state: S3 S4 S5 hw.acpi.s4bios: 0 Dit betekent dat hier acpiconf -s gebruikt kan worden om S3, S4 OS en S5 te testen. Als gelijk was aan (1), dan zou er S4BIOS ondersteuning zijn in plaats van S4 OS. Als suspend/resume getest moet worden, dient, indien ondersteund, bij S1 begonnen te worden. Deze toestand heeft de grootste kans om te werken, omdat deze niet veel stuurprogrammaondersteuning vereist. Niemand heeft nog S2 geïmplementeerd, maar het is ongeveer hetzelfde als S1. Daarna wordt S3 getest. Dit is het diepste STR niveau en heeft uitgebreide ondersteuning van stuurprogramma's nodig om hardware goed opnieuw te kunnen starten. Mochten er blokkades optreden, dan kan naar de &a.acpi.name; lijst gemaild worden. Er kan echter geen snelle oplossing verwacht worden, omdat er nog de nodige stuurprogramma's/hardware liggen om getest en bewerkt te worden. Om een probleem te kunnen isoleren helpt het om zoveel mogelijk stuurprogramma's uit de kernel te halen. Als dit werkt, kan er teruggewerkt worden naar de driver die schuldig is aan het falen. Meestal vertonen binaire stuurprogramma's als nvidia.ko, X11 beeldschermstuurprogramma's en USB de meeste problemen, terwijl bijvoorbeeld Ethernet interfaces meestal meteen goed werken. Als de stuurprogramma's zonder problemen geladen en verwijderd kunnen worden, dan is dit te automatiseren door de juiste commando's in /etc/rc.suspend en /etc/rc.resume te zetten. Er staat een voorbeeld (achter commentaartekens) voor het laden en verwijderen van een driver. Als het beeldscherm er na wakker worden vreemd uitziet, kan geprobeerd worden naar nul te zetten. Met langere of kortere waarden voor kan bekeken worden of dat helpt. In geval van problemen is het ook een optie om een recente &linux; distibutie met ondersteuning voor ACPI support te starten en daarvan de suspend/resume ondersteuning op dezelfde hardware uit te proberen. Als het werkt met &linux;, dan is het waarschijnlijk een &os; stuurprogrammaprobleem en als het mogelijk is uit te vinden over welke driver het gaat, kan dat bijdragen aan het oplossen van het probleem. ACPI houdt zich in het algemeen niet bezig met andere stuurprogramma's bijvoorbeeld geluid, ATA, enzovoort. Als er dus een echt driverprobleem is, dan is waarchijnlijk uiteindelijk ook nodig naar de &a.current.name; lijst te posten en naar de beheerder van het stuurprogramma. Voor degenen met moed is het vooral aan te raden een paar &man.printf.3;s in problematische stukken van een stuurprogramma te plaatsen voor debugging om na te gaan waar de resumefunctie precies hangt. Tot slot kan geprobeerd worden om ACPI uit te zetten en in plaats daarvan APM aan te zetten. Als suspend/resume werkt met APM, is het wellicht verstandig het daarbij te houden, vooral met wat oudere apparatuur (voor 2000). Producenten hebben nogal wat tijd nodig gehad om ACPI ondersteuning goed te krijgen en voor oudere hardware is het waarschijnlijker dat er BIOS problemen zijn met ACPI. Systeem hangt (tijdelijk of permanent) Meestal is het hangen van het systeem het gevolg van verloren interrupts of een interruptstorm. Chipsets kunnen een heleboel problemen hebben, afhankelijk van hoe het BIOS interrupts instelt voor het opstarten, of de APIC (MADT) tabel correct is en de routering van het System Control Interrupt (SCI). interrupt storms Interruptstorms kunnen onderscheiden worden van verloren geraakte interrupts door de uitvoer van vmstat -i te controleren en de regel met acpi0 goed te lezen. Als de teller in toenemende mate hoger staat dan enkele per seconde, dan is sprake van een interruptstorm. Als het systeem lijkt te hangen, is het wellicht nog mogelijk door te dringen tot de DDB (CTRL ALTESC) show interrupts uit te voeren. APIC uitschakelen De beste hoop in geval van interruptproblemen is om APIC ondersteuning uit te zetten met hint.apic.0.disabled="1" in loader.conf. Panics Panics zijn relatief zeldzaam met ACPI en krijgen de hoogste prioriteit bij het oplossen. Eerst moeten de verschillende gebeurtenissen waarmee de panic (als mogelijk) te reproduceren is geïsoleerd worden en moet een backtrace gemaakt worden. options DDB dient aangezet te worden en er dient een een seriële console () of een &man.dump.8; partitie te komen.. In DDB is een backtrace te maken met tr. Als de backtrace handmatig opgeschreven moet worden, is het belangrijk dat in ieder geval de bovenste en onderste vijf (5) regels van de backtrace genoteerd worden. Daarna dient getracht te worden het systeem te starten zonder ACPI. Als dat werkt, is het ACPI subsysteem geïsoleerd en kunnen de verschillende waarden uitgeprobeerd worden. In &man.acpi.4; staan enkele voorbeelden. Systeem slaat aan na slaapstand of stop hw.acpi.disable_on_poweroff="0" kan uitgezet worden in &man.loader.conf.5;. Hierdoor schakelt ACPI bepaalde gebeurtenissen tijdens het afsluitproces niet uit. Om dezelfde redenen moeten sommige systemen deze waarde altijd op 1 (standaard) hebben staan. In het algemeen lost dit een probleem op waarbij een systeem spontaan weer opkomt nadat het in slaapstand is gezet of geheel gestopt is. Overige problemen Als er nog andere problemen zijn met ACPI (met een docking station of apparaten niet gedetecteerd, enzovoort), dan kan een mail met beschijving naar de mailinglijst gezonden worden. Sommige zaken kunnen echter gerelateerd zijn aan delen van het ACPI subsysteem die nog niet af zijn, dus het kan in sommige gevallen een tijd duren. Gebruikers moeten soms geduld hebben en de bereidheid om eventuele patches uit te proberen. <acronym>ASL</acronym>, <command>acpidump</command> en <acronym>IASL</acronym> ACPI ASL Het grootste probleem is dat BIOS producenten vaak incorrecte (of gewoon foutieve) bytecode leveren. Dit blijkt doorgaans uit kernelboodschappen als: ACPI-1287: *** Error: Method execution failed [\\_SB_.PCI0.LPC0.FIGD._STA] \\ (Node 0xc3f6d160), AE_NOT_FOUND Vaak kunnen dergelijke problemen geoplost worden door de BIOS bij te werken tot de laatste revisie. De meeste consoleberichten zijn onschuldig, maar als er andere problemen zijn, zoals batterijstatus die niet werkt, dan ligt het voor de hand te zoeken naar problemen in de AML code. De bytecode die AML genoemd wordt, wordt gecompileerd van een broncodetaal ASL. Deze staat weer in een tabel DSDT. Met &man.acpidump.8; kan een kopie van de ASL gemaakt worden. Dan moeten zowel de opties (laat inhoud van vaste tabellen zien) als (disassembleer AML naar ASL) gebruikt worden. In Debuginformatie aanleveren staat een voorbeeld. De eenvoudigste eerste controle is de ASL code opnieuw compileren en kijken of er foutmeldingen optreden. Waarschuwingen kunnen doorgaans genegeerd worden, maar fouten zijn bugs die er meestal toe leiden dat ACPI niet correct werkt. Om ASL te hercompileren: &prompt.root; iasl eigen.asl <acronym>ASL</acronym> repareren ACPI ASL Op langere termijn is het de bedoeling dat voor vrijwel elke machine ACPI werkt zonder enig ingrijpen van de gebruiker. Op dit moment wordt er echter nog gewerkt aan oplossingen voor veel voorkomende vergissingen die BIOS producenten maken. De µsoft; interpreter (acpi.sys en acpiec.sys) controleert niet strikt of het BIOS volledig aan de standaard voldoet, waardoor het voorkomt dat BIOS makers die alleen testen onder &windows; bepaalde fouten in hun ASL nooit correct repareren. &os; hoopt door te gaan met de identificatie en documentatie van welk niet-standaard gedrag precies wordt toegelaten door µsoft;'s interpreter en te dit te repliceren zodat &os; kan werken zonder dat gebruikers zich gedwongen zien om de ASL te repareren. Als een tijdelijke oplossing en om te helpen met het in kaart brengen van bepaald gedrag, kan de ASL handmatig gerepareerd worden. Mocht dit lukken, dan wordt erop aangedrongen een &man.diff.1; van de oude en de nieuwe ASL te mailen, zodat het foutieve gedrag mogelijk in ACPI-CA kan worden verwerkt, waardoor andere gebruikers niet meer handmatig met hun ASL aan de gang hoeven. ACPI error messages Hieronder staat een lijst algemene foutmeldingen, hun oorzaken en hoe ze op te lossen: _OS afhankelijkheden Sommige AMLs gaan ervan uit dat de wereld enkel bestaat uit &windows; versies. &os; kan zich voordoen als elk OS om te kijken of dit problemen oplost. Een gemakkelijke manier om dit te doen is hw.acpi.osname="Windows 2001" in te stellen in /boot/loader.conf of andere gelijksoortige strings die in een ASL staan. Ontbrekende return opdrachten Sommige methoden hebben geen specifieke returnwaarde, zoals wel vereist wordt door de standaard. Hoewel ACPI-CA hier niets mee doet, heeft &os; de mogelijkheid tot impliciete returns. Er kunnen ook expliciet return opdrachten toegevoegd worden waar vereist, als het bekend is welke waarden teruggevoerd moeten worden. Om iasl te dwingen tot compilatie van ASL kan de schakeloptie gebruikt worden. De standaard <acronym>AML</acronym> aanpassen Nadat eigen.asl aangepast is, kan deze als volgt gecompileerd wordent: &prompt.root; iasl eigen.asl Met de optie is af te dwingen dat de AML gemaakt wordt, zelfs als er compileerfouten optreden. Sommige fouten (zoals ontbrekende return opdrachten) worden automatisch opgelost door de interpreter. DSDT.aml is de standaardnaam voor het bestand dat door iasl wordt geproduceerd. Dit is in plaats van de foutieve versie uit het BIOS (die nog steeds aanwezig is in het flashgeneugen) te laden door /boot/loader.conf als volgt te wijzigen: acpi_dsdt_load="YES" acpi_dsdt_name="/boot/DSDT.aml" DSDT.aml moet in de map /boot staan. Debuguitvoer van <acronym>ACPI</acronym> verkrijgen ACPI problemen ACPI debuggen Het stuurprogramma ACPI heeft een zeer flexibele debugfaciliteit. Er kan zowel een set van subsystemen aangegeven worden als het niveau van uitvoerigheid. De te debuggen subsystemen worden aangegeven als lagen (layers) en zijn opgedeeld in ACPI-CA componenten (ACPI_ALL_COMPONENTS) en ACPI hardware ondersteuning (ACPI_ALL_DRIVERS). De uitvoerigheid van debuguitvoer wordt aangegeven als het niveau (level) en gaat van CPI_LV_ERROR (alleen fouten rapporteren) tot ACPI_LV_VERBOSE (alles). Het niveau is een bitmasker en dus kunnen er meerdere opties tegelijk ingeschakeld worden (gescheiden door spaties). In de praktijk wordt wellicht een seriële console gebruikt om de uitvoer te loggen als deze zo omvangrijk is dat de console berichtbuffer vol loopt (misschien wel meerdere keren). Een complete lijst van de individuele lagen en niveaus staat in &man.acpi.4;. Debuguitvoer staat staandaard niet aan. Door options ACPI_DEBUG toe te voegen aan het bestand met kernelinstellingen als ACPI als de kernel is gebouwd, wordt het ingeschakeld. Door ACPI_DEBUG=1 toe te voegen aan /etc/make.conf wordt het systeembreed ingeschakeld. Als ACPI als module wordt gebruikt (de normale situatie), dan hoeft slechts de acpi.ko module opnieuw gecompileerd te worden: &prompt.root; cd /sys/modules/acpi/acpi && make clean && make ACPI_DEBUG=1 acpi.ko moet in /boot/kernel komen te staan en de gewenste debuglaag en het gewenste niveau van uitvoerigheid dienen toegevoegd te worden aan loader.conf. Hieronder een voorbeeld waarmee debuguitvoer wordt aangezet voor alle ACPI-CA componenten en alle ACPI hardware stuurprogramma's (CPU, LID, enzovoort. Het niveau van uitvoerigheid is het laagst mogelijke. Er worden alleen fouten gemeld. debug.acpi.layer="ACPI_ALL_COMPONENTS ACPI_ALL_DRIVERS" debug.acpi.level="ACPI_LV_ERROR" Als de gezochte informatie wordt veroorzaakt door een specifieke gebeurtenis (bijvoorbeeld in en uit slaapstand gaan), dan kunnen wijzigingen aan loader.conf achterwege blijven en in plaats daarvan kan sysctl gebruikt worden om laag en niveau in te stellen na het opstarten en zo het systeem voor te bereiden op die specifieke gebeurtenis. De sysctls hebben dezelfde namen als de parameters in loader.conf. Verwijzingen Meer informatie over ACPI staat op de volgende locaties: De &a.acpi; De ACPI mailinglijst archieven De oude ACPI mailinglijst archieven De ACPI 2.0 specificatie &os; Handleidingen: &man.acpi.4;, &man.acpi.thermal.4;, &man.acpidump.8;, &man.iasl.8;, &man.acpidb.8; DSDT debugging informatie. (Gebruikt Compaq als voorbeeld, maar van algemeen nut). diff --git a/nl_NL.ISO8859-1/books/handbook/cutting-edge/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/cutting-edge/chapter.sgml index 307ca21d94..5c30e18257 100644 --- a/nl_NL.ISO8859-1/books/handbook/cutting-edge/chapter.sgml +++ b/nl_NL.ISO8859-1/books/handbook/cutting-edge/chapter.sgml @@ -1,1903 +1,1906 @@ Jim Mock Geherstructureerd, gereorganiseerd en delen bijgewerkt door Jordan Hubbard Origineel door Poul-Henning Kamp John Polstra Nik Clayton Remko Lodder Vertaald door Siebrand Mazeland Het scherp van de snede Overzicht &os; wordt ontwikkeld tussen de verschillende versies in. Voor mensen die het nieuwste van het nieuwste willen hebben zijn er verschillende makkelijke mechanismes om een systeem gesynchroniseerd te houden met de laatste ontwikkelingen. Wees gewaarschuwd: het nieuwste van het nieuwste is niet voor iedereen geschikt! Dit hoofdstuk helpt om een keuze te maken of het wenselijk is het ontwikkelsysteem te volgen of één van de uitgegeven versies. Na het lezen van dit hoofdstuk weet de lezer: De verschillen tussen de ontwikkeltakken &os.stable; en &os.current;; Hoe een systeem bijgewerkt kan worden met CVSup, CVS of CTM; Hoe een basissysteem opnieuw te compileren en te herinstalleren met make buildworld, enzovoort. Veronderstelde criteria: Een juist ingesteld netwerk (); Weten hoe software van derden te installeren (). &os.current; vs. &os.stable; -CURRENT -STABLE Er zijn twee ontwikkeltakken voor &os;: &os.current; en &os.stable;. Deze sectie licht beiden toe en beschrijft hoe een systeem bijgewerkt te houden met elke tak. &os.current; wordt eerst behandeld, daarna &os.stable;. Bijblijven met &os; Bedenk dat &os.current; het nieuwste van het nieuwste is van &os; ontwikkeling. Van &os.current; gebruikers wordt verwacht dat ze veel technische kennis hebben en capabel zijn om zelfstandig lastige systeemproblemen op te lossen. Nieuwe gebruikers van &os; kunnen het beste twee keer nadenken alvorens het te installeren. Wat is &os.current;? momentopname &os.current; is de laatste werkende set broncode voor &os;. Dit bevat werk in uitvoering, experimentele wijzigingen en overgangsmechanismes die mogelijk wel of niet meegenomen worden in de volgende officiële uitgave van het besturingssysteem. Alhoewel veel &os;-ontwikkelaars de broncode van &os.current; dagelijks compileren, zijn er periodes dat de broncode niet compileerbaar is. Deze problemen worden zo snel mogelijk gerepareerd, maar het is mogelijk dat &os.current; een ramp veroorzaakt in plaats van dat het de gewenste functionaliteit levert. Dit ligt geheel aan het moment waarop de broncode is opgehaald. Wie heeft &os.current; nodig? &os.current; is beschikbaar voor drie primaire aandachtsgroepen: Leden van de &os;-gemeenschap die actief werken aan een deel van de broncode voor wie current een echte eis is. Leden van de &os;-gemeenschap die actief testen en tijd hebben om problemen op te lossen om zeker te stellen dat &os.current; zo gezond als mogelijk is. Er zijn ook mensen die actuele suggesties maken over wijzigingen en de algemene richting van &os; en die patches opsturen om deze te implementeren. Diegenen die alleen een oogje in het zeil willen houden of de huidige bronnen gebruiken ter referentie (bijvoorbeeld voor het lezen en niet het draaien). Deze mensen geven ook regelmatig commentaar of dragen bij in de code. Wat is &os.current; <emphasis>niet</emphasis>? Een snelle manier om pre-release versies te krijgen omdat bekend is dat er een aantal leuke nieuwe mogelijkheden in zitten en het leuk is deze als eerste te gebruiken. Het als eerste gebruiken van nieuwe mogelijkheden betekent ook de eerste zijn die nieuwe bugs ontdekt. Een snelle manier om bugfixes te krijgen. Elke willekeurige versie van &os.current; heeft waarschijnlijk net zoveel nieuwe bugs als dat er bugs opgelost zijn. Op welke manier dan ook officieel ondersteund. We doen onze best om mensen echt te helpen in één van de drie legitieme &os.current; groepen maar er is simpelweg niet genoeg tijd om technische ondersteuning te leveren. Dit is niet omdat we gemene en vervelende mensen zijn die anderen niet willen helpen (we zouden niet eens aan &os; werken als we dat durfden). De ontwikkelaars kunnen simpelweg geen honderd berichten per dag beantwoorden én aan &os; werken. Bij de keuze tussen het verbeteren van &os; en vragen beantwoorden over experimentele code, kiezen ontwikkelaars voor het eerste. &os.current; gebruiken -CURRENT gebruiken Neem een abonnement op de mailinglijsten &a.current.name; en &a.cvsall.name;. Dit is niet alleen een goed idee, het is essentieel. Geen berichten ontvangen van de lijst &a.current.name; betekent geen commentaar zien dat mensen maken over de huidige staat van het systeem en dus waarschijnlijk struikelen over problemen die anderen al gevonden en opgelost hebben. Nog belangrijker is het missen van belangrijke informatie die kritisch kan zijn voor een systeem. De lijst &a.cvsall.name; biedt de mogelijkheid de wijzigingsboodschap te zien voor elke wijziging die gemaakt wordt samen met relevante informatie over mogelijke bijwerkingen. Ga om op deze lijsten of één van de andere beschikbare lijsten te abonneren naar &a.mailman.lists.link; en klik op de gewenste lijst. Instructies over de rest van de procedure zijn daar beschikbaar. Haal de broncode van een &os; mirrorsite. Dit kan op de volgende twee manieren: cvsup cron -CURRENT Synchroniseren met CVSup Gebruik het programma cvsup met de supfile genaamd standard-supfile uit /usr/share/examples/cvsup. Dit is de geadviseerde methode, omdat de gehele collectie in één keer wordt binnengehaald en daarna alleen hetgeen wat gewijzigd is. Veel mensen draaien cvsup vanuit de cron en houden daarmee hun broncode automatisch bijgewerkt. De voorbeeld supfile dient aangepast te worden om cvsup in te stellen voor een omgeving. -CURRENT Synchroniseren met CTM Gebruik de CTM faciliteit. Bij een slechte verbinding, dure connecties of alleen e-mail toegang, is CTM een optie. Het werkt echter lastig en geeft mogelijk corrupte bestanden. Dit zorgt ervoor dat het zelden gebruikt wordt, dat de kans verhoogt dat het niet werkt voor redelijk lange periodes. Het advies is CVSup te gebruiken. Als de broncode wordt opgehaald om te draaien en niet alleen om naar te kijken, haal dan alles op van &os.current; en niet alleen geselecteerde delen. De reden hiervoor is dat verschillende delen van de code afhangen van updates op andere plekken en het compileren van een onderdeel gegarandeerd problemen oplevert. -CURRENT compileren Voordat &os.current; gecompileerd wordt is het raadzaam om de Makefile in /usr/src aandachtig te bekijken. Het is handig om de eerste keer op zijn minst de kernel en de wereld opnieuw te bouwen als onderdeel van het updateproces. Via de &a.current; en /usr/src/UPDATING is het mogelijk op de hoogte te blijven van mogelijke wijzigingen in de opstartprocedures die soms nodig zijn tussen verschillende versies. Wees actief! Ervaringen van &os.current;-gebruikers zijn belangrijk, zeker als het gaat om suggesties voor verbeteringen of bugfixes. Suggesties met bijbehorende code worden enthousiast ontvangen! &os; stabiel houden Wat is &os.stable;? -STABLE &os.stable; is de ontwikkeltak waaruit grote releases gemaakt worden. Wijzigingen in deze tak gaan in een ander tempo en met de algemene aanname dat ze eerst in &os.current; worden ingebracht ter test. Dit is nog steeds een ontwikkeltak, echter dit betekent dat op elk gegeven moment de code voor &os.stable; wel of niet geschikt is voor een speciaal doel. Het is simpelweg een andere ontwikkelomgeving en geen bron voor eindgebruikers. Wie heeft &os.stable; nodig? Bij interesse in het bijhouden van of bijdragen aan het &os;-ontwikkelproces, speciaal als het gerelateerd is aan de volgende versie van &os;, is het volgen van &os.stable; het overwegen waard. Ondanks dat security fixes ook in de &os.stable;-tak komen, hoeft dit niet per se. In elke beveiligingswaarschuwing voor &os; wordt uitgelegd uit hoe het probleem opgelost kan worden voor de release die het betreft. Dit is niet helemaal waar. Oude releases van &os; kunnen niet eeuwig ondersteund worden, ook al duurt ondersteuning vele jaren. Een volledige beschrijving van het huidige beveiligingsbeleid voor oudere releases van &os; staat op http://www.FreeBSD.org/security/. Het volgen van de volledige ontwikkeltak alleen om veiligheidsredenen levert ongetwijfeld ongewenste wijzigingen op. Ondanks het voornemen ervoor te zorgen dat de &os.stable;-tak compileert en altijd draait, wordt dit niet gegarandeerd. Terwijl code ontwikkeld wordt in &os.current; voordat die in &os.stable; verwerkt wordt, draaien meer mensen &os.stable; dan &os.current;, dus het is onontkoombaar dat bugs en randgevallen soms in &os.stable; gevonden worden die niet in &os.current; bekend waren. Om deze redenen wordt niet aangeraden &os.stable; blindelings te volgen en het is extra belangrijk geen productieservers bij te werken naar &os.stable; zonder de code te testen in een testomgeving. Als de mogelijkheden om dit te doen niet beschikbaar zijn, dan is het advies de meest recente release van &os; te draaien en dan de binaire update methode te hanteren om bij te werken tussen verschillende releases. &os.stable; gebruiken &os.stable; gebruiken Neem een abonnement op de lijst &a.stable.name;. Deze biedt informatie over onderdelen van de build die mogelijk verschijnen in &os.stable; of eventuele andere kwesties die speciale aandacht vereisen. Ontwikkelaars kondigen in deze mailinglijst ook aan wanneer ze overwegen om een controversiële fix of aanpassing willen maken, waardoor de gebruikers een kans hebben om te reageren als ze goede redenen hebben tegen de voorgestelde wijziging. De lijst &a.cvsall.name; biedt informatie over de commitlogregels voor elke wijziging zoals deze gemaakt is tezamen met relevante informatie over mogelijke bijwerkingen. Ga om te abonneren op deze lijsten, of één van de andere beschikbare lijsten naar &a.mailman.lists.link; en klik op de lijst waarop een abonnement gewenst is. Instructies over de rest van de procedure zijn daar beschikbaar. Kijk op de webpagina Snapshots om een systeem te installeren van een maandelijkse snapshot van &os.stable;. Het is ook mogelijk om de meest recente &os.stable; release te installeren van de mirrorsites. Volg de onderstaande instructies om een systeem bij te werken naar de meest recente &os.stable; broncode. Als al een vorige release van &os; draait en bijgewerkt moet worden via de broncodes dan kan dat via de &os; mirrorsites. Dit kan op één van de twee volgende manieren: cvsup cron &os.stable; synchroniseren met CVSup Gebruik het programma cvsup met de supfile stable-supfile uit de map /usr/share/examples/cvsup. Dit is de aanbevolen methode omdat het hiermee mogelijk is de volledige collectie te downloaden en daarna alleen hetgeen wat veranderd is. Veel mensen draaien cvsup vanuit de cron om de broncodes automatisch bij te werken. Het voorbeeld van de supfile dient aangepast en ingesteld te worden voor de omgeving waarin het instellingenbestand gebruikt wordt. &os.stable; synchroniseren met CTM Gebruik CTM als er geen snelle, goedkope verbinding is met internet. Dan is dit de methode om te gebruiken. Als er snelle on-demand toegang nodig is tot de broncode en bandbreedte is geen overweging, gebruik dan cvsup of ftp. Gebruik anders CTM. &os.stable; compileren Lees alvorens &os.stable; te compileren goed de Makefile in /usr/src. Het is handig om de eerste keer op zijn minst de kernel en de wereld opnieuw te bouwen als onderdeel van het updateproces. Via de &a.stable; en /usr/src/UPDATING is het mogelijk op de hoogte te blijven van mogelijke wijzigingen in de opstartprocedures die soms nodig zijn tussen verschillende releases. Broncode synchroniseren Er zijn verschillende manieren om een internet (of e-mail) verbinding te gebruiken om bij te blijven met elk onderdeel van de &os; projectbronnen of alle onderdelen, afhankelijk van het interessegebied. De primaire diensten zijn Anonieme CVS en CTM. Ondanks dat het mogelijk is om alleen delen van de broncode bij te werken, is de enige ondersteunde methode de totale broncode bijwerken en zowel userland (alle programma's die in gebruikersruimte draaien, zoals programma's in /bin en /sbin) als de kernel opnieuw compileren. Als alleen delen van de broncode worden bijgewerkt, alleen de kernel of alleen het userland, resulteert dat vaak in problemen. Deze problemen kunnen verschillen van compileerfouten tot kernel panics of corruptie van gegevens. CVS anoniem Anonieme CVS en CVSup gebruiken het pull model om broncode bij te werken. In het geval van CVSup start de gebruiker (of een cron script) het programma cvsup waarbij het communiceert met een cvsupd server om bestanden bij te werken. De ontvangen updates zijn op de minuut nauwkeurig en ze komen alleen wanneer dat is ingesteld. Updates kunnen eenvoudig beperkt worden tot specifieke bestanden of mappen uit een interessegebied. Updates worden automatisch gegenereerd door een server, aan de hand van wat is ingesteld. Anonieme CVS is veel eenvoudiger dan CVSup omdat dat alleen een uitbreiding is van CVS die de mogelijkheid biedt om wijzigingen direct van een CVS repository op afstand te halen. CVSup kan dit veel efficiënter doen, maar anonieme CVS is makkelijker in het gebruik. CTM CTM aan de andere kant maakt geen vergelijking tussen de aanwezige bronnen en die op de master server. In plaats daarvan wordt een script uitgevoerd dat wijzigingen in bestanden ziet sinds de vorige keer dat is bijgewerkt en die meerdere keren per dag worden uitgevoerd op de master CTM machine. Elke ontdekte wijziging wordt gecomprimeerd, krijgt een volgnummer toegekend en wordt gecodeerd voor verzending via e-mail (in leesbare ASCII). Deze CTM delta's kunnen dan aangeleverd worden aan &man.ctm.rmail.1; die ze automatisch decodeert, controleert en toepast in de gebruikerskopie van de bronnen. Dit proces is veel efficiënter dan CVSup en claimt minder systeembronnen omdat het model push in plaats van pull is. Er zijn andere nadelen. Als per ongeluk een deel van het archief wordt verwijderd, kan CVSup dat detecteren en het beschadigde deel repareren. CTM doet dit niet en als een deel van de broncode wordt verwijderd (en er geen backup is), dan moet er opnieuw begonnen worden (vanaf de meest recente CVS base delta en moet alles opnieuw opgebouwd worden met CTM. Met Anonymous CVS kan simpelweg het slechte deel verwijderd worden alvorens weer te synchroniseren. De <quote>wereld</quote> opnieuw bouwen world opnieuw bouwen Zodra de lokale broncode gesynchroniseerd is met een bepaalde versie van &os; (&os.stable;, &os.current;, enzovoort) kan de broncode gebruikt worden om een systeem te herbouwen. Maak een backup Het kan niet vaak genoeg verteld worden hoe belangrijk het is om een backup te maken van een systeem vóór deze taak uit te voeren. Ook al is het opnieuw bouwen van de wereld vrij simpel (als deze instructies gevolgd worden), er worden ongetwijfeld ooit fouten gemaakt, misschien zelfs in de broncode, die het onmogelijk maken om een systeem op te starten. Wees ervan verzekerd dat er een backup gemaakt is en dat er een reparatiediskette of cd-rom bij de hand is. Deze wordt waarschijnlijk nooit gebruikt maar better safe than sorry. Abonneer op de juiste mailinglijsten mailinglijst De &os.stable; en &os.current; takken zijn van nature in ontwikkeling. Mensen die bijdragen aan &os; zijn menselijk en foutjes ontstaan regelmatig. Soms zijn deze foutjes onschadelijk, ze geven dan hooguit een nieuwe diagnostische waarschuwing weer. Maar de wijziging kan ook catastrofaal zijn en ervoor zorgen dat een systeem niet meer opstart of bestandssystemen vernietigt (of erger). Als problemen zoals deze voorkomen wordt er een heads up naar de juiste mailinglijst gestuurd, waarin uitgelegd wordt wat het probleem is en welke systemen het raakt. Er wordt een all clear bericht gestuurd als het probleem is opgelost. &os.stable; of &os.current; volgen zonder de &a.stable; of &a.current; te volgen is vragen om problemen. Gebruik geen <command>make world</command> Veel oudere documentatie raadt aan om make world te gebruiken. In dat geval worden er belangrijke stappen overgeslagen en gebruik het commando alleen als er voldoende kennis over aanwezig is. In bijna alle omstandigheden is make world verkeerd en de procedure die hier beschreven is hoort in plaats daarvan gebruikt te worden. De universele wijze om een systeem bij te werken Een systeem bijwerken kan met de volgende procedure, nadat /usr/src/UPDATING is geraadpleegd om te controleren of er voor buildworld voor de gebruikte versie van de broncode nog acties zijn uit te voeren: &prompt.root; make buildworld &prompt.root; make buildkernel &prompt.root; make installkernel &prompt.root; reboot Er zijn een aantal zeldzame gevallen waarin mergemaster -p nog een keer moet draaien voor de stap met buildworld. Deze staan beschreven in UPDATING. In het algemeen kan deze stap echter zonder risico worden overgeslagen als er niet tussen een of meer hoofdversies wordt bijgewerkt. Nadat installkernel succesvol is afgerond, dient er in single-user modus opgestart te worden (met boot -s vanaf de loaderprompt). Draai dan: &prompt.root; mergemaster -p &prompt.root; make installworld &prompt.root; mergemaster &prompt.root; reboot Lees verdere uitleg De hierboven beschreven volgorde is alleen een korte samenvatting. Ook de volgende secties lezen geeft een beter beeld van elke stap, met name als er een op maat gemaakte kernelinstelling wordt gebruikt. <filename>/usr/src/UPDATING</filename> lezen Lees voor verder te gaan /usr/src/UPDATING (of het gelijknamige bestand waar de kopie van de broncode ook staat). Dit bestand kan belangrijke informatie bevatten over mogelijke problemen of specificeert de volgorde waarin bepaalde commando's gestart moeten worden. Als UPDATING tegenstrijdig is met wat hier wordt beschreven, heeft UPDATING voorrang. UPDATING lezen is geen acceptabele vervanging voor het abonneren op de correcte mailinglijst zoals eerder beschreven. De twee vullen elkaar aan en zijn niet exclusief. <filename>/etc/make.conf</filename> controleren make.conf Controleer /usr/share/examples/etc/make.conf en /etc/make.conf. Het eerste bestand bevat standaard definities, waarvan de meeste uitgecommentarieerd zijn. Om hiervan gebruik te maken als het systeem opnieuw opgebouwd wordt vanuit de broncode, moeten ze toegevoegd worden aan /etc/make.conf. Bedenk dat alles wat toegevoegd wordt aan /etc/make.conf ook gebruikt wordt bij elk make commando. Het is dus verstandig om daar redelijke waardes in te vullen voor een systeem. Een typische gebruiker wil waarschijnlijk de regels CFLAGS en NO_PROFILE uit /usr/share/examples/etc/make.conf kopieren naar /etc/make.conf en het commentaar verwijderen. Bekijk de andere definities (COPTFLAGS, NOPORTDOCS, enzovoort) en bepaal of deze relevant zijn. <filename>/etc</filename> bijwerken De map /etc bevat een groot deel van de systeeminstellingen en scripts die gestart worden tijdens de systeemstart. Sommige van deze scripts verschillen van versie tot versie in &os;. Sommige van de instellingenbestanden worden dagelijks gebruikt voor het draaien van een systeem. In het bijzonder /etc/group. Er zijn gevallen geweest waarbij het installatiegedeelte van make installworld een aantal gebruikersnamen of groepen verwachtte. Als er een upgrade wordt uitgevoerd is het waarschijnlijk dat deze gebruikers of groepen niet bestaan. Dit levert problemen op bij upgraden. In sommige gevallen controleert make buildworld of deze gebruikers of groepen bestaan. Een voorbeeld hiervan is het toevoegen van de gebruiker smmsp. Gebruikers hadden een falend installatieproces toen &man.mtree.8; probeerde om /var/spool/clientmqueue te creëren. &man.mergemaster.8; kan in voorbereidende modus gedraaid worden als de optie wordt meegegeven. Dan worden alleen de bestanden vergeleken die essentieel zijn voor het succes van buildworld of installworld: &prompt.root; cd /usr/src/usr.sbin/mergemaster &prompt.root; ./mergemaster.sh -p In paranoide beheerdersmodus kan er gecontroleerd worden welke bestanden op een systeem eigendom zijn van de groep die wordt hernoemd of verwijderd: &prompt.root; find / -group GID -print Dit commando toont alle bestanden die eigendom zijn van de groep GID (een groepsnaam of een numeriek groeps-ID). Systeem naar single-user modus brengen single-user modus Het kan zijn dat een systeem in single-user modus gecompileerd moet worden. Buiten het duidelijke voordeel dat de operatie iets sneller verloopt, is het voordeel dat bij een herinstallatie van een systeem een aantal belangrijke systeembestanden waaronder binaire systeembestanden, bibliotheken, include bestanden, enzovoort, worden aangepast, iets wat op een actief systeem vragen om problemen is (zeker als er actieve gebruikers op een systeem aanwezig zijn). multi-user modus Een andere methode is het systeem compileren in multi-user modus en daarna naar single-user modus gaan voor de installatie. Bij deze methode moeten de volgende stappen gevolgd worden. Het overschakelen naar single-user modus kan uitgesteld worden tot en met installkernel of installworld. Een supergebruiker kan als volgt een draaiend systeem naar single-user modus overgeschakelen: &prompt.root; shutdown now Als alternatief kan tijdens het opstarten de optie worden gekozen. Het systeem start dan in single-user modus. Op de shell prompt moet dan worden ingegeven: &prompt.root; fsck -p &prompt.root; mount -u / &prompt.root; mount -a -t ufs &prompt.root; swapon -a Hierdoor worden de bestandssystemen gecontroleerd, / met lees en schrijf rechten opnieuw gemount, worden alle andere UFS bestandssystemen die in /etc/fstab staan gemount en wordt swap ingeschakeld. Als de CMOS-klok ingesteld is naar de lokale tijd en niet naar GMT (dit is waar als het resultaat van &man.date.1; niet de correcte tijd en zone weergeeft), dan is het misschien handig om het volgende commando te starten: &prompt.root; adjkerntz -i Dit zorgt ervoor dat de lokale tijdzoneinstellingen correct ingesteld worden. Zonder deze instelling kunnen er later problemen ontstaan. <filename>/usr/obj</filename> verwijderen Als delen van een systeem opnieuw gebouwd worden, worden ze standaard geplaatst in mappen onder /usr/obj. Deze mappen schaduwen de mappen onder /usr/src. Het proces make buildworld kan versneld worden en problemen met afhankelijkheden kunnen voorkomen worden als deze map wordt verwijderd. Sommige bestanden onder /usr/obj hebben mogelijk de optie niet aanpassen ingesteld (zie &man.chflags.1;) die eerst verwijderd moet worden: &prompt.root; cd /usr/obj &prompt.root; chflags -R noschg * &prompt.root; rm -rf * Broncode van het basis systeem hercompileren Uitvoer bewaren Het is een goed idee om de uitvoer van &man.make.1; te bewaren in een ander bestand. Als er iets misgaat is er een kopie van de foutmelding aanwezig. Hoewel dit misschien niet helpt in de diagnose van wat er fout is gegaan, kan het anderen helpen als het probleem wordt aangegeven in een &os; mailinglijst. De makkelijkste manier om dit te doen is door het commando &man.script.1; te gebruiken, met een parameter die de naam specificeert waar de uitvoer naartoe moet. Dit moet direct gedaan worden vóór het herbouwen van de wereld, zodat het proces klaar is moet exit worden ingegeven: &prompt.root; script /var/tmp/mw.out Script started, output file is /var/tmp/mw.out &prompt.root; make TARGET … compile, compile, compile … &prompt.root; exit Script done, … Bewaar de uitvoer in deze stap niet in /tmp. Deze map wordt mogelijk opgeschoond tijdens de volgende herstart. Een betere plaats om dit bestand te bewaren is de map /var/tmp (zoals in het vorige voorbeeld) of in de thuismap van root. Basissysteem compileren Ga naar de map /usr/src, tenzij de broncode ergens anders staat, in welk geval naar die map gegaan moet worden: &prompt.root; cd /usr/src make Om de wereld opnieuw te bouwen moet het commando &man.make.1; gebruikt worden. Dit commando leest zijn instructies uit het bestand Makefile, dat beschrijft hoe de programma's die samen &os; vormen moeten worden gebouwd, in welke volgorde ze gebouwd moeten worden, enzovoort. Het algemene formaat van de commandoregel die gebruikt moet worden is als volgt: &prompt.root; make -x -DVARIABELE doel In dit voorbeeld is de optie een optie die wordt meegegeven aan &man.make.1;. In de hulppagina voor &man.make.1; staat een voorbeeld van de opties die meegegeven kunnen worden. geeft een variabele door aan Makefile. Het gedrag van Makefile wordt beïnvloed door deze variabele. Dit zijn dezelfde variabelen die ingesteld worden in /etc/make.conf. Deze optie biedt een alternatief om deze opties in te stellen. &prompt.root; make -DNO_PROFILE doel Het bovenstaande commando is een andere manier om aan te geven dat geprofileerde bibliotheken niet gebouwd moeten worden en correspondeert met de onderstaande regel in /etc/make.conf: NO_PROFILE= true # Avoid compiling profiled libraries doel geeft &man.make.1; aan wat er gedaan moet worden. Elke Makefile definieert een aantal van verschillende doelen en het gekozen doel bepaalt wat er gebeurt. Sommige doelen staan vermeld in het bestand Makefile, maar zijn niet geschikt om direct te starten. Integendeel, deze worden gebruikt door het bouwproces om de benodigde stappen onder te verdelen. In veel gevallen hoeven er geen parameters te worden meegegeven aan &man.make.1; en dus ziet de commando regel er als volgt uit: &prompt.root; make doel Waar doel een van de vele bouw opties is. De eerste target moet echter altijd buildworld zijn. Zoals de namen impliceren bouwt buildworld een compleet nieuwe boom onder /usr/obj en installworld, een andere target, installeert deze boom op de huidige machine. Het hebben van verschillende opties is handig om twee redenen. Als eerste biedt het de mogelijkheid om de bouw veilig te doen met de wetenschap dat geen enkel draaiend onderdeel van een systeem geraakt wordt. De bouw is zelf ondersteunend. Hierdoor kan veilig in multi-user modus buildworld gedraaid worden. Het wordt echter nog steeds aangeraden om installworld in single-user modus te starten. Ten tweede geeft het de mogelijkheid om NFS-mounts te gebruiken om meerdere machines in het netwerk bij te werken. Als er drie machines zijn, A, B en C, die bijgewerkt moeten worden, dan kunnen make buildworld en make installworld gedraaid worden op A waarna B en C een NFS-mount kunnen opzetten naar /usr/src en /usr/obj op machine A waarna make installworld gedraaid kan worden op B en C om de resultaten de installeren. Alhoewel het doel world nog wel bestaat wordt het gebruik ervan sterk afgeraden. Voer het volgende commando uit: &prompt.root; make buildworld Het is mogelijk om de optie mee te geven aan make, wat resulteert in meerdere processen die tegelijkertijd draaien. Dit heeft het meeste effect op machines met meerdere processoren. Echter, omdat het compilatieproces meer IO-gericht is dan processorgericht, kan het ook nuttig zijn op systemen met één processor. Start als volgt op een systeem met één processor: &prompt.root; make -j4 buildworld &man.make.1; draait dan maximaal 4 processen tegelijkertijd. In het algemeen blijkt uit de mailinglijsten dat dit de beste resultaten geeft. Als er meerdere processoren in een systeem zitten en gebruik gemaakt wordt van een SMP kernel, probeer dan waardes tussen de 6 en 10 en bekijk hoe het systeem reageert. Doorlooptijd world opnieuw bouwen doorlooptijd Veel factoren bepalen de doorlooptijd van het bouwen van een boom, maar redelijk recente machines doen er maar 1 tot 2 uur over om de &os.stable; boom te bouwen. zonder extra trucjes. Een &os.current; boom kan wat langer duren. Nieuwe kernel compileren en installeren kernel compileren Om volledig gebruik te maken van het nieuwe systeem moet de kernel opnieuw gecompileerd worden. Dit is bijna altijd nodig omdat sommige geheugenstructuren mogelijkerwijs veranderd zijn en programma's als &man.ps.1; en &man.top.1; niet werken totdat de kernel en de broncode dezelfde versie hebben. De simpelste en makkelijkste manier om dit te doen is om een kernel te maken die gebaseerd is op GENERIC. Ondanks dat GENERIC mogelijk niet alle benodigde apparaten heeft voor een systeem, hoort het alles te bevatten dat nodig is om een systeem te starten in single-user modus. Dit is een goede test op de correcte werking van een nieuw systeem. Na het opstarten van GENERIC en een systeemcontrole kan erna een nieuwe kernel gebouwd worden gebaseerd op een aangepast kernelinstellingenbestand. Op &os; is het belangrijk om de wereld opnieuw te bouwen voordat een nieuwe kernel gebouwd wordt. Als een aangepaste kernel gemaakt moet worden en er reeds een instellingenbestand aanwezig is, gebruik dan KERNCONF=MYKERNEL als volgt: &prompt.root; cd /usr/src &prompt.root; make buildkernel KERNCONF=MYKERNEL &prompt.root; make installkernel KERNCONF=MYKERNEL Let op dat als kern.securelevel een waarde hoger dan 1 heeft of noschg of gelijksoortige opties geplaatst zijn op het binaire kernelbestand, is het misschien nodig om terug te gaan naar single-user modus om installkernel uit te voeren. In andere gevallen moet het mogelijk zijn om deze commando's zonder problemen uit te voeren in multi-user modus. Zie &man.init.8; voor meer informatie over kern.securelevel en &man.chflags.1; voor informatie over diverse bestandsopties. Opnieuw opstarten in single-user modus single-user modus Start met de instructies in in single-user modus op om te testen of de nieuwe kernel werkt. Nieuwe binaire systeembestanden installeren Na het draaien van make buildworld kan nu installworld gebruikt worden om de nieuwe binaire systeembestanden te installeren. Voer de volgende commando's uit: &prompt.root; cd /usr/src &prompt.root; make installworld Als er variabelen gespecificeerd zijn op de commandoregel van make buildworld moeten dezelfde variabelen gebruikt worden op de commandoregel van make installworld. Dit is niet per se waar voor opties zoals , die nooit gebruikt mogen worden met installworld. Als bijvoorbeeld het volgende commando is uitgevoerd: &prompt.root; make -DNO_PROFILE buildworld Dan moet het resultaat geïnstalleerd worden met: &prompt.root; make -DNO_PROFILE installworld Anders wordt geprobeerd geprofileerde bibliotheken te installeren die niet gebouwd zijn tijdens de fase make buildworld. Bestanden bijwerken die niet bijgewerkt zijn door <command>make installworld</command> Het herbouwen van de wereld werkt bepaalde mappen niet bij (in het bijzonder /etc, /var en /usr) met nieuwe of gewijzigde instellingenbestanden. De simpelste manier om deze bestanden bij te werken is door &man.mergemaster.8; te gebruiken, maar het is ook mogelijk dit handmatig te doen. Welke manier er ook gekozen wordt, zorg er altijd voor dat een backup van /etc beschikbaar is voor het geval er iets misgaat. Tom Rhodes Bijgedragen door <command>mergemaster</command> mergemaster Het hulpprogramma &man.mergemaster.8; is een Bourne script dat helpt bij het bepalen van de verschillen tussen de instellingenbestanden in /etc en de instellingenbestanden in de broncodeboom /usr/src/etc. Deze methode wordt aangeraden om instellingenbestanden van een systeem bijgewerkt te houden met de bestanden die in de broncodeboom staan. Het programma wordt gestart met mergemaster op de commandoregel en geeft dan resultaten weer. mergemaster bouwt dan een tijdelijke root omgeving vanaf / en vult deze met diverse instellingenbestanden voor een systeem. Deze bestanden worden vergeleken met de bestanden die geïnstalleerd zijn op een systeem. Op dit punt worden de bestanden getoond die verschillen in het &man.diff.1;-formaat, met een voor toegevoegde of gewijzigde regels en een voor regels die verwijderd of vervangen zijn. In de hulppagina voor &man.diff.1; staat meer informatie over de syntaxis van &man.diff.1; en hoe bestandsverschillen getoond worden. &man.mergemaster.8; toont dan elk bestand dat verschilt en op dit moment is er de mogelijkheid om of het nieuwe bestand te verwijderen (ofwel het tijdelijke bestand), het tijdelijke bestand te installeren zonder enige wijzigingen, het verwerken van het oude bestand in het nieuwe bestand of de resultaten van &man.diff.1; nogmaals te tonen. Als gekozen wordt om het tijdelijke bestand te verwijderen, geeft dit &man.mergemaster.8; aan dat het huidige bestand niet gewijzigd dient te worden en de nieuwe versie verwijderd kan worden. Deze optie wordt niet aangeraden, behalve als er geen reden is om het huidige bestand aan te passen. Op ieder moment kunnen hulpteksten getoond worden door ? in te geven op de prompt van &man.mergemaster.8;. Als een bestand wordt overgeslagen, dan wordt het weer getoond als alle overige bestanden verwerkt zijn. Bij de keuze om het ongewijzigde tijdelijke bestand te installeren wordt het huidige bestand vervangen door het nieuwe. Voor de meeste ongewijzigde bestanden is dit de beste optie. Als ervoor gekozen wordt om de wijzigingen te verwerken wordt er een tekstverwerker gestart die de inhoud van beide bestanden toont. De verschillen kunnen verwerkt worden terwijl beide bestanden naast elkaar op het scherm staan. Hier kunnen delen gekozen worden die gezamenlijk een nieuw bestand opleveren. Als de bestanden zij aan zij vergeleken worden, wordt met de toets l de inhoud links geselecteerd en met de toets r de inhoud rechts geselecteerd. Het eindresultaat bestaat uit delen van beide bestanden die erna geinstalleerd kunnen worden. Deze optie wordt voornamelijk gebruikt voor bestanden die gewijzigd zijn door de beheerder. Als ervoor gekozen wordt om de &man.diff.1; resultaten nog een keer te tonen, worden dezelfde verschillen getoond zoals &man.mergemaster.8; deed voordat een optie gevraagd werd. Zodra &man.mergemaster.8; klaar is met de systeembestanden worden er andere opties getoond. &man.mergemaster.8; kan vragen of het wachtwoordbestand opnieuw gebouwd moet worden. Als laatste wordt een optie getoond om alle overgebleven tijdelijke bestanden te verwijderen. Handmatig bijwerken Bij handmatig bijwerken kunnen de bestanden van /usr/src/etc niet zomaar naar /etc gekopieerd worden om een werkend systeem te krijgen. Sommige van deze bestanden moeten eerst geïnstalleerd worden. Dit omdat de map /usr/src/etc geen kopie is van /etc. Daarnaast staan er in /etc bestanden die niet in /usr/src/etc staan. Als &man.mergemaster.8; gebruikt wordt (zoals aangeraden), kan doorgegaan worden met het volgende onderdeel. De simpelste manier om met de hand bij te werken, is de bestanden in een nieuwe map installeren en daarna naar verschillen tussen de bestanden te zoeken. Backup maken van <filename>/etc</filename> Ondanks dat, in theorie, niets in deze map automatisch wordt aangepast, is het altijd beter om daar zeker van te zijn. Dus kopieer de bestaande /etc naar een veilige locatie. Zoals bijvoorbeeld met het volgende commando: &prompt.root; cp -Rp /etc /etc.old maakt een recursieve kopie, bewaart tijden, eigenaarschap, enzovoort op bestanden. Er moet een dummyset van mappen gemaakt worden om de nieuwe /etc en andere bestanden in te installeren. /var/tmp/root is een redelijke keuze en er zijn hier een aantal benodigde submappen aanwezig: &prompt.root; mkdir /var/tmp/root &prompt.root; cd /usr/src/etc &prompt.root; make DESTDIR=/var/tmp/root distrib-dirs distribution Dit maakt de benodigde mappenstructuur en installeert de bestanden. Een groot deel van de submappen die gemaakt zijn in /var/tmp/root zijn leeg en moeten verwijderd worden. De simpelste manier om dit te doen is: &prompt.root; cd /var/tmp/root &prompt.root; find -d . -type d | xargs rmdir 2>/dev/null Dit verwijderd alle lege mappen. De standaardfout wordt omgeleid naar /dev/null om waarschuwingen te voorkomen over mappen die niet leeg zijn. /var/tmp/root bevat nu alle bestanden die geplaatst zouden moeten worden op de juiste locaties in /. Er moet nu in de bestanden gekeken worden om te bepalen of deze verschillen met de huidige betanden. Let op dat sommige van de bestanden die geïnstalleerd zijn in /var/tmp/root beginnen met een .. Op het moment van schrijven hebben alleen shell opstartscripts in /var/tmp/root en /var/tmp/root/root dit, maar er kunnen ook andere zijn. Zorg ervoor dat ls -a gebruikt wordt om deze bestanden te zien. De simpelste manier om twee bestanden te vergelijken is &man.diff.1; gebruiken: &prompt.root; diff /etc/shells /var/tmp/root/etc/shells Dit toont de verschillen tussen de huidige /etc/shells en de nieuwe /var/tmp/root/etc/shells. Gebruik dit om te bepalen of de wijzigingen gemigreerd moeten worden of dat het oude bestand gekopieërd moet worden. Voeg aan de naam van de nieuwe rootmap (<filename>/var/tmp/root</filename>) een tijdsindicatie toe zodat makkelijk verschillen tussen versies bepaald kunnen worden Als de wereld regelmatig wordt herbouwd moeten bestanden in /etc ook regelmatig bijgewerkt moeten worden, wat een vervelend werkje kan zijn. Dit proces kan versneld worden door een kopie te bewaren van de bestanden die gemigreerd zijn naar /etc. De volgende procedure geeft een idee over hoe dit gedaan kan worden. Maak de wereld zoals normaal. Als /etc en de andere mappen bijgewerkt moeten worden, geef dan de doelmap een naam gebaseerd op de huidige datum. Op 14 februari 1998 wordt dat als volgt gedaan: &prompt.root; mkdir /var/tmp/root-19980214 &prompt.root; cd /usr/src/etc &prompt.root; make DESTDIR=/var/tmp/root-19980214 \ distrib-dirs distribution Migreer de wijzigingen van deze map zoals hierboven beschreven. Verwijder de map /var/tmp/root-19980214 niet na afronden. Als de laatste versie van de broncode gedownload en opnieuw gemaakt is, volg stap 1. Dit geeft een nieuwe map die wellicht /var/tmp/root-19980221 heet (als er een week zit tussen het bijwerken). De verschillen die gemaakt zijn in de tussenliggende week kunnen nu getoond worden door met &man.diff.1; een recursieve diff te maken tussen de twee mappen: &prompt.root; cd /var/tmp &prompt.root; diff -r root-19980214 root-19980221 Vaak is dit een kleinere set aan verschillen dan tussen /var/tmp/root-19980221/etc en /etc. Omdat de set verschillen kleiner is, is het makkelijker om deze te migreren naar de map /etc. De oudste van de twee /var/tmp/root-*-mappen kan nu verwijderd worden: &prompt.root; rm -rf /var/tmp/root-19980214 Herhaal dit proces elke keer als er wijzigingen gemigreerd moeten worden naar /etc. Met &man.date.1; kan het maken van de mappen geautomatiseerd worden: &prompt.root; mkdir /var/tmp/root-`date "+%Y%m%d"` Herstarten Dit was het. Na een controle of alles op de juiste plaats staat kan het systeem herstart worden. Dan kan met een simpele &man.shutdown.8;: &prompt.root; shutdown -r now Klaar Het &os; systeem is nu succesvol bijgewerkt. Gefeliciteerd! Als er dingen misgingen is het makkelijk om een deel van het systeem opnieuw te bouwen. Als bijvoorbeeld per ongeluk /etc/magic verwijderd is als onderdeel van de upgrade of door een merge van /etc, dan werkt &man.file.1; niet meer. Dat kan als volgt opgelost worden: &prompt.root; cd /usr/src/usr.bin/file &prompt.root; make all install Vragen Moet de wereld opnieuw gemaakt worden voor elke wijziging? Op deze vraag bestaat geen eenvoudig antwoord, omdat dit afhangt van de aard van de wijziging. Als bijvoorbeeld net CVSup is gedraaid en de onderstaande bestanden zijn bijgewerkt, dan is het waarschijnlijk niet de moeite waard om de volledige wereld te herbouwen: src/games/cribbage/instr.c src/games/sail/pl_main.c src/release/sysinstall/config.c src/release/sysinstall/media.c src/share/mk/bsd.port.mk Dan is het handiger om naar de juiste submappen te gaan, daar make all install uit te voeren en dat is het zo'n beetje. Maar als er iets wezenlijks is veranderd, bijvoorbeeld src/lib/libc/stdlib, dan dient ofwel de wereld herbouwd te worden of tenminste die delen die statisch gelinkt zijn (en ook al het andere dat statisch gelinkt is en onderdeel is van een systeem). Uiteindelijk beslist een beheerder zelf. Misschien vindt die het prettig iedere twee weken de wereld te herbouwen terwijl de wijzigingen in die twee weken binnenkomen. Een andere beheerder herbouwt alleen die onderdelen die veranderd zijn en vertrouwt erop dat hij alle afhankelijkheden in de gaten heeft. Natuurlijk hangt het ook af van de keuze hoe vaak het wenselijk is bij te werken en of &os.stable; of &os.current; wordt bijgehouden. Het compileren gaat fout met veel meldingen van signal 11 (of andere signalnummers). Wat is er aan de hand? signal 11 Dit wijst meestal op hardwareproblemen. Het (her)bouwen van de wereld is een prima manier om een stresstest op hardware uit te voeren en hierdoor komen vaak geheugenproblemen bovendrijven. Die resulteren vaak in een compiler die op mysterieuze wijze overlijdt na het ontvangen van vreemde signalen. Dit probleem is nog duidelijker als na het herstarten van de make het proces opnieuw stopt op een ander punt. Hier biedt niets anders uitkomst dan componenten in een systeem wisselen om uit te zoeken welk component er faalt. Kan /usr/obj verwijderd worden na afloop? Het korte antwoord is ja. /usr/obj bevat alle objectbestanden die tijdens het compileren zijn gemaakt. Normaliter is een van de eerste stappen in het make buildworld proces deze map verwijderen en een verse start maken. In dit geval heeft het behouden van /usr/obj na het afronden weinig zin en geeft het ook nogal wat extra vrije schijfruimte (ongeveer 340 MB). Als er veel kennis aanwezig is bij een beheerder, dan kan make buildworld aangegeven worden deze stap over te slaan. Hierdoor draaien volgende builds veel sneller, omdat veel broncode niet opnieuw gecompileerd hoeft te worden. De andere kant van de medaille is dat er subtiele afhankelijkheidsproblemen kunnen ontstaan, waardoor een build op bijzondere wijze kan falen. Hierdoor onstaat regelmatig ruis op &os; mailinglijsten als er iemand klaagt dat zijn build faalt, terwijl hij zich niet realiseert dat dit komt doordat hij zijn updateproces niet volgens het boekje heeft uitgevoerd. Kunnen onderbroken builds gecontinueerd worden? Dit hangt af van hoever een systeem was voordat een probleem gevonden werd. Normaal gesproken (en dit is geen vaste regel) maakt het proces make buildworld nieuwe kopieën van essentiele hulpprogramma's (zoals &man.gcc.1; en &man.make.1;) en de systeembibliotheken. Deze hulpprogramma's en bibliotheken worden daarna geïnstalleerd. De nieuwe hulpprogramma's en bibliotheken worden daarna gebruikt om zichzelf opnieuw op te bouwen en wederom te installeren. Het complete systeem (nu met gewone programma's zoals &man.ls.1; en &man.grep.1;) wordt daarna opnieuw gebouwd met de nieuwe systeembestanden. Als een systeem in de laatste fase zit (wat uit de uitvoer blijkt) kan dit redelijk veilig gedaan worden: … fix the problem … &prompt.root; cd /usr/src &prompt.root; make -DNO_CLEAN all Dit maakt het werk van de vorige make buildworld niet ongedaan. Als het onderstaande bericht in de uitvoer van make buildworld staat, dan is het redelijk veilig om het te doen: -------------------------------------------------------------- Building everything.. -------------------------------------------------------------- Als dat bericht er niet is, of er is onzekerheid over, dan is het altijd beter om de build opnieuw te starten vanaf het begin. Kan kan de wereld bouwen versneld worden? Draai in single-user modus; Zet de mappen /usr/src en /usr/obj op aparte bestandssystemen die op aparte schijven staan. Hang deze schijven als mogelijk aan aparte schijfcontrollers; Nog beter, verspreid de bestandssystemen over meerdere schijven via het apparaat &man.ccd.4; (concatenated disk driver); Zet profiling uit (voeg NO_PROFILE=true toe aan /etc/make.conf). Het is zeer waarschijnlijk niet nodig; Voer ook CFLAGS toe aan /etc/make.conf met iets als . De optimalisatie is veel langzamer en het optimalisatieverschil tussen en is meestal verwaarloosbaar. laat de compiler gebruik maken van pipes in plaats van tijdelijke bestanden voor communicatie, wat schijfacties scheelt (ten koste van geheugengebruik); Geef de optie mee aan &man.make.1; om meerdere processen parallel te laten lopen. Dit helpt in de meeste gevallen, onafhankelijk of er gewerkt wordt op een systeem met één of meerdere processoren; Het bestandssysteem dat /usr/src bevat, kan (opnieuw) gemount worden met de optie . Dit voorkomt dat het bestandssysteem de toegangsmomenten registreert. Deze informatie is waarschijnlijk toch niet nodig. &prompt.root; mount -u -o noatime /usr/src In dit voorbeeld wordt aangenomen dat /usr/src op zijn eigen bestandssysteem staat. Als dit niet het geval is (bijvoorbeeld als het onderdeel is van /usr), dan moet het mountpunt voor dat bestandssysteem gebruikt moeten worden en niet /usr/src; Het bestandssysteem dat /usr/obj gevat kan (opnieuw) worden gemount met de optie . Dit zorgt ervoor dat schrijfacties naar een schijf asynchroon plaatsvinden. In andere woorden: de schrijfactie wordt direct uitgevoerd en de gegevens worden later naar de schijf geschreven. Dit stelt het systeem in staat om data geclusterd weg te schrijven, wat een grote prestatieverbetering kan opleveren. Houd er rekening mee dat deze optie het bestandssysteem kwetsbaarder maakt. Met deze optie is er een vergrote kans dat, indien er een stroomstoring optreed, het bestandssysteem in een niet meer te herstellen staat komt als de machine herstart. Als op dit bestandssysteem alleen /usr/obj staat, is dit geen probleem. Als er andere belangrijke gegevens op hetzelfde bestandssysteem staan, zorg er dan voor dat er verse backups zijn voordat deze optie aangezet wordt. &prompt.root; mount -u -o async /usr/obj Zorg ervoor, zoals al eerder is aangegeven, dat als /usr/obj niet op een eigen bestandssysteem staat, het juiste mountpunt wordt gebruikt. Wat te doen als er iets mis gaat? Zorg ervoor dat het systeem geen rommel meer bevat van eerdere builds. Het volgende helpt daarbij: &prompt.root; chflags -R noschg /usr/obj/usr &prompt.root; rm -rf /usr/obj/usr &prompt.root; cd /usr/src &prompt.root; make cleandir &prompt.root; make cleandir Inderdaad, make cleandir moet twee keer gedraaid worden. Herstart daarna het complete proces vanaf make buildworld. Als er nog steeds problemen zijn, stuur dan de foutmelding en de uitvoer van uname -a naar de &a.questions;. Wees bereid aanvullende vragen over het systeem te beantwoorden! Mike Meyer Bijgedragen door Meerdere machines bijwerken NFS meerdere machines installeren Als er meerdere machines zijn die dezelfde broncode bijhouden, lijkt het downloaden van alle broncode en alles overal opnieuw bouwen zonde van de bronnen: harde schijfruimte, netwerk bandbreedte, en processorbelasting. Dit klopt en de oplossing is om alles op één machine te doen terwijl de overige machines het uitgevoerde werk benaderen via NFS. Nu wordt een methode beschreven waarmee dit gedaan kan worden. Benodigdheden Als eerste moet er een groep van machines gekozen worden die dezelfde set aan binaire bestanden zal draaien, hier een bouwgroep. Elke machine kan een eigen afwijkende kernel hebben maar moet dezelfde binaire gebruikersbestanden draaien. Uit die groep moet een machine gekozen worden die de bouwmachine wordt. Dit wordt de machine waar de wereld en kernel op gebouwd worden. In het meest ideale geval is dit een snelle machine die genoeg processorkracht vrij heeft om make buildworld en make buildkernel te draaien. Er moet ook een machine gekozen worden die de testmachine wordt waarop alle bijgewerkte software wordt test voordat die in productie wordt genomen. Dit moet een machine zijn die voor langere tijd down mag zijn. Dit kan de bouwmachine zijn maar dat hoeft niet per se. Alle machines in deze bouwgroep moeten ingesteld worden om /usr/obj en /usr/src vanaf dezelfde machine te mounten op hetzelfde punt. In het meest ideale geval zijn dit twee verschillende schijven op de bouwmachine, maar ze kunnen ook door middel van NFS op die machine gemount zijn. Als er meerdere bouwgroepen zijn, dan moet /usr/src op één bouwmachine staan en door middel van NFS gemount worden op de overige machines. Zorg er als laatste voor dat - /etc/make.conf op alle machines in de + /etc/make.conf en + /etc/src.conf op alle machines in de bouwgroep het eens zijn met de bouwmachine. Dat betekent dat de bouwmachine alle delen van het basissysteem moet bouwen die elke machine in de bouwgroep installeert. Ook heeft elke bouwmachine zijn kernelnaam ingesteld met KERNCONF in /etc/make.conf en de bouwmachine moet ze allemaal hebben in KERNCONF, zijn eigen kernel eerst. De bouwmachine moet de instellingenbestanden voor elke machine in /usr/src/sys/arch/conf hebben als deze machine de kernels voor de overige machines gaat bouwen. Basissysteem Nu kan één systeem alles bouwen. Bouw de kernel en wereld zoals beschreven in op de bouwmachine, maar installeer niets. Zodra de bouw klaar is, moet op de testmachine de kernel geïnstalleerd en getest worden. Als deze machine /usr/src en /usr/obj mount via NFS, moet na een herstart in single-user modus het netwerk ingeschakeld worden zodat de mounts opnieuw gemaakt kunnen worden. De makkelijkste manier om dit te doen is om te starten in multi-user modus en daar shutdown now starten om in single-user modus te komen. Eenmaal daar aangekomen kunnen de nieuwe kernel en de wereld geïnstalleerd worden en kan daarna normaal mergemaster gestart worden. Zodra dit klaar is, kan de machine opnieuw gestart worden om naar multi-user modus terug te keren. Nadat zeker is dat alles op de testmachine correct werkt, kan dezelfde procedure gebruikt worden om de nieuwe software op elke machine te installeren in de bouwgroep. Ports Dezelfde ideeën kunnen gebruikt worden voor de ports. De eerste kritieke stap is om /usr/ports te mounten op alle machines in de bouwgroep. Daarna kan /etc/make.conf correct ingesteld worden om de distfiles te delen. De variabele DISTDIR moet wijzen naar een gedeelde map waarin geschreven kan worden door de gebruiker waar root naar wijst in de NFS mounts. Op elke machine moet WRKDIRPREFIX naar een lokale bouwmap wijzen. Als er pakketten gebouwd en gedistribueerd worden moet PACKAGES naar een map wijzen gelijkvormig aan de instelling voor DISTDIR. diff --git a/nl_NL.ISO8859-1/books/handbook/desktop/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/desktop/chapter.sgml index 6c728f03a9..d945635c25 100644 --- a/nl_NL.ISO8859-1/books/handbook/desktop/chapter.sgml +++ b/nl_NL.ISO8859-1/books/handbook/desktop/chapter.sgml @@ -1,1225 +1,1241 @@ Chrisptophe Juliet Bijgedragen door René Ladan Vertaald door Bureaubladapplicaties Overzicht - &os; kan een groot aantal bureaubladapplicaties draaien, - zoals browsers en tekstverwerkers. De meeste hiervan zijn - beschikbaar als packages of kunnen automatisch vanuit de - Portscollectie gebouwd worden. Veel nieuwe gebruikers - verwachten dit soort applicaties op hun bureaublad. Dit - hoofdstuk laat zien hoe populaire bureaubladapplicaties - moeiteloos geïnstalleerd kunnen worden vanuit een package - of vanuit de Portscollectie. + &os; kan een groot aantal bureaubladapplicaties draaien, zoals browsers en tekstverwerkers. De meeste hiervan zijn beschikbaar + als pakketten of kunnen automatisch vanuit de Portscollectie + gebouwd worden. Veel nieuwe gebruikers verwachten dit soort + applicaties op hun bureaublad. Dit hoofdstuk laat zien hoe + populaire bureaubladapplicaties moeiteloos geïnstalleerd + kunnen worden vanuit een pakket of vanuit de Portscollectie. + Als programma's vanuit ports geïnstalleerd worden, wordt hun broncode gecompileerd. Dit kan erg lang duren, afhankelijk van wat er gecompileerd wordt en de rekenkracht van een machine. - Als compileren vanuit broncode te veel tijd kost, kunnen de - meeste programma's van de Portscollectie als een voorafgebouwd - package geïnstalleerd worden. + Als compileren vanuit broncode te veel tijd kost, kunnen de meeste + programma's van de Portscollectie als een voorgebouwd pakket + geïnstalleerd worden. Omdat &os; compatibel is met &linux;, zijn veel applicaties die voor &linux; zijn ontwikkeld beschikbaar een &os; bureaublad. Het wordt sterk aanbevolen om te lezen voordat &linux; applicaties geïnstalleerd worden. Veel ports die gebruik maken van &linux; compatibiliteit beginnen met linux-. Dit is handig om te onthouden wanneer er naar een port gezocht wordt met bijvoorbeeld &man.whereis.1;. In dit hoofdstuk wordt aangenomen dat &linux; binaire - compatibiliteit is ingeschakeld voordat &linux; applicaties - worden geïnstalleerd. + compatibiliteit is ingeschakeld voordat &linux; applicaties worden + geïnstalleerd. - In dit hoofdstuk worden de volgende categoriën - behandeld: + In dit hoofdstuk worden de volgende categoriën behandeld: + Browsers (zoals Mozilla, Opera, Firefox, Konqueror) Productiviteit (zoals KOffice, AbiWord, The GIMP, OpenOffice.org) Documentviewers (zoals &acrobat.reader;, gv, Xpdf, GQview) Financieel (zoals GnuCash, Gnumeric, Abacus) Er wordt aangenomen dat de lezer van dit hoofdstuk: Weet hoe aanvullende software van derde partijen geïnstalleerd wordt (). Weet hoe aanvullende &linux; software geïnstalleerd wordt (). Meer informatie over een multimedia-omgeving staat in - . Installatie van e-mail staat + . Installatie van email staat beschreven in . Browsers browsers web - &os; wordt zonder een voor-geïnstalleerde browser + &os; wordt zonder een voorgeïnstalleerde browser geleverd. In plaats hiervan bevat de www map van de Portscollectie browsers om te installeren. Het is ook mogelijk - voor de meeste ports een package te installeren als compileren - niet gewenst is. Compileren kan soms lang duren. + voor de meeste ports een pakket te installeren als compileren niet + gewenst is. Compileren kan soms lang duren. KDE en - GNOME bevatten reeds HTML-browsers. - In staat meer informatie over de - installatie van deze complete bureaubladen. + GNOME bevatten reeds HTML-browsers. In + staat meer informatie over de installatie + van deze complete bureaubladen. Lichtgewicht browsers uit de Portscollectie zijn onder andere www/dillo, www/links of www/w3m. Dit gedeelte behandelt deze applicaties: Applicatie Bronnen Ports Afhankelijkheden Mozilla veel zwaar Gtk+ Opera weinig licht &os; en &linux; versies beschikbaar. De &linux; versie is afhankelijk van de &linux; binaire compatibiliteit en linux-openmotif. Firefox gemiddeld zwaar Gtk+ Konqueror gemiddeld zwaar KDE bibliotheken Mozilla Mozilla Mozilla is een moderne en - stabiele browser die volledig geschikt gemaakt is voor - &os;. De HTML-weergave - engine voldoet in grote mate aan de standaarden. Er worden een - mail- en nieuwslezer bijleverd en het pakket bevat zelfs een - HTML-bewerker voor het maken van webpagina's. - Mozilla heeft dezelfde broncodebasis - met &netscape; - Communicator. + stabiele browser die volledig geschikt gemaakt is voor &os;; de + HTML-weergave engine voldoet in grote mate aan de standaarden; + er worden een mail- en nieuwslezer bijgeleverd en het pakket + bevat zelfs een HTML-bewerker voor het maken van webpagina's. + Gebruikers van &netscape; zullen de + gelijkheden met Communicator suite + herkennen, aangezien beide browsers wat ontwikkelgeschiedenis + delen. Op langzame machines, met een CPU-snelheid van 233MHz of minder dan 64MB aan RAM, kan Mozilla - te veeleisend zijn om volledig bruikbaar te zijn. In dat - geval is Opera browser een mogelijke - vervanger. + te veeleisend zijn om volledig bruikbaar te zijn. In dat geval + is Opera browser een mogelijke + vervanger, dat iets later in dit hoofdstuk beschreven wordt. + Als het niet wenselijk of mogelijk is om Mozilla te compileren, dan is dit al - door het &os; GNOME team gedaan. Het package kan - geïnstalleerd worden met: + door het &os; GNOME team gedaan. Het pakket kan vanaf het + netwerk geïnstalleerd worden met: &prompt.root; pkg_add -r mozilla - Als het package niet beschikbaar is en er genoeg tijd en - schijfruimte schikbaar zijn, kan de broncode van + Als het pakket niet beschikbaar is en er genoeg tijd en + schijfruimte beschikbaar zijn, kan de broncode van Mozilla gedownload, gecompileerd en geïnstalleerd worden. Dit gaat met: &prompt.root; cd /usr/ports/www/mozilla &prompt.root; make install clean De Mozilla port zorgt voor een correcte installatie door de chrome registry setup met root rechten te draaien. Als echter ook - toevoegingen zoals muisgebaren geïnstalleerd moeten - worden, dan moet Mozilla als + toevoegingen zoals muisgebaren geïnstalleerd moeten worden, + dan moet Mozilla als root gedraaid worden om dat op de juiste wijze geïnstalleerd te krijgen. Als de installatie van Mozilla eenmaal voltooid is, is root zijn niet langer nodig. Mozilla kan als browser gestart worden met: &prompt.user; mozilla Het kan direct als mailprogramma of nieuwslezer gestart worden met: &prompt.user; mozilla -mail Firefox Firefox Firefox is de volgende generatie browser die gebaseerd is op Mozilla. Mozilla is een compleet pakket aan applicaties, waaronder een browser, een email client, een chat client en nog veel meer. Firefox is alleen een browser waardoor deze simpeler en sneller is. Installeer het pakket door het volgende te typen: &prompt.root; pkg_add -r firefox - De Portscollectie kan ook gebruikt worden als je liever + De Portscollectie kan ook gebruikt worden als u liever vanuit de broncode installeert. &prompt.root; cd /usr/ports/www/firefox &prompt.root; make install clean Firefox, Mozilla en &java; plugin - In deze en de volgende sectie wordt er vanuit gegaan - dat Firefox of + In deze en de volgende sectie wordt er vanuit gegaan dat + Firefox of Mozilla reeds geïnstalleerd is. - De &os; Foundation heeft een licentie overeenkomst met - Sun Microsystems om &os; binaries te distribueren voor de - Java Runtime Environment (&jre;) en voor de Java Development - kit (&jdk;). Binaire pakketen voor &os; zijn beschikbaar op - de &os; - Foundation web site. + De &os; Foundation heeft een licentie overeenkomst met Sun + Microsystems om &os; binaries te distribueren voor de Java + Runtime Environment (&jre;) en voor de Java Development kit + (&jdk;). Binaire pakketten voor &os; zijn beschikbaar op de + + &os; Foundation website. Om &java; ondersteuning toe te voegen aan Firefox of Mozilla moet als allereerste de java/javavmwrapper port geïnstalleerd worden. Download daarna het Diablo &jre; pakket van , en installeer deze met &man.pkg.add.1;. - Start nu de browser en voer in de adresbalk het volgende in - about:plugins en druk op + Start nu de browser en voer in de adresbalk + about:plugins in en druk op Enter. Een pagina met geïnstalleerde - plugins wordt nu getoond. De &java; plugin zou hier nu tussen - moeten staan. + plugins wordt nu getoond; de &java; plugin zou hier nu tussen + moeten staan. Als dit niet het geval is, draai dan als + root het volgende commando: + + &prompt.root; ln -s /usr/local/diablo-jre1.5.0/plugin/i386/ns7/libjavaplugin_oji.so \ + /usr/local/lib/browser_plugins/ + + Start daarna de browser opnieuw. Firefox, Mozilla en ¯omedia; &flash; plugin ¯omedia; &flash; plugin is niet beschikbaar voor &os;. Er is echter wel een softwarelaag (wrapper) om de &linux;-versie van de plugin te draaien. Deze wrapper - ondersteunt ook &adobe; &acrobat; plugin, RealPlayer plugin en - meer. + ondersteunt ook &adobe; &acrobat; plugin, &realplayer; plugin en + meer. Installeer de port www/linuxpluginwrapper. Deze - is afhankelijk van www/nspluginwrapper. Deze is + afhankelijk van emulators/linux_base wat een grote - port is. Volg de instructies die door de port worden - weergegeven om /etc/libmap.conf juist in - te stellen! Voorbeeldinstellingen worden geïnstalleerd in - de map - /usr/local/share/examples/linuxpluginwrapper/. + port is. De volgende stap is het installeren van de www/linux-flashplugin7 port. Zodra - de plugin geinstalleerd is, start dan de browser en voer het - volgende in op de adresbalk about:plugins - en druk op Enter. Een pagina met - geïnstalleerde plugins wordt nu getoond, de flashplugin - zou hier nu tussen moeten staan. - - Als de flashplugin niet getoond wordt komt dit meestal door - een verkeerde symlink. Voer het volgende commando's uit als - root: - - &prompt.root; ln -s /usr/X11R6/lib/linux-flashplugin7/libflashplayer.so \ - /usr/X11R6/lib/browser_plugins/ -&prompt.root; ln -s /usr/X11R6/lib/linux-flashplugin7/flashplayer.xpt \ - /usr/X11R6/lib/browser_plugins/ - - Als nu de browser opnieuw gestart wordt moet de plugin in - de reeds genoemde lijst voorkomen. Het kan gebeuren dat de - browser crashed bij bepaalde &flash; animaties, in dat geval - kan de volgende patch uitkomst bieden: - - &prompt.root; cd /usr/src -&prompt.root; fetch http://people.FreeBSD.org/~nork/rtld_dlsym_hack.diff -&prompt.root; patch < rtld_dlsym_hack.diff -&prompt.root; cd libexec/rtld-elf/ -&prompt.root; make clean -&prompt.root; make obj -&prompt.root; make depend -&prompt.root; make && make install - - Herstart hierna de computer. + de plugin geïnstalleerd is, moet de plugin door elke + gebruiker geïnstalleerd worden met + nspluginwrapper: - - De linuxpluginwrapper werkt - alleen op de &i386; systeemarchitectuur. - + &prompt.user; nspluginwrapper -v -a -i + + Start dan de browser en voer op de adresbalk + about:plugins in en druk op + Enter. Een pagina met alle geïnstalleerde + plugins wordt nu getoond. Opera Opera - Opera is een volledige en - een standaard volgende browser. Hij wordt standaard - geleverd met een ingebouwde email-client, een nieuwslezer, - een IRC client, een RSS/ATOM feed lezer en nog veel meer. - Ondanks dat is Opera relatief gezien - niet zwaar en erg snel. Hij komt in twee smaken: een - &os; versie en een versie die draait onder &linux; emulatie. + Opera is een volledige en een + standaard volgende browser. Hij wordt standaard geleverd met + een ingebouwde email-client, een nieuwslezer, een IRC client, + een RSS/ATOM feed lezer en nog veel meer. Ondanks dat is + Opera relatief gezien niet zwaar en + erg snel. Hij komt in twee smaken: een &os; versie en een + versie die draait onder &linux; emulatie. - De &os; package versie van Opera + De &os; pakketversie van Opera wordt zo geïnstalleerd: &prompt.root; pkg_add -r opera - Sommige FTP-sites hebben niet alle packages, maar hetzelfde - resultaat kan worden behaald met de Portscollectie door te - typen: + Sommige FTP-sites hebben niet alle pakketten, maar + Operakan worden nog altijd via de + Portscollectie worden verkregen door te typen: &prompt.root; cd /usr/ports/www/opera &prompt.root; make install clean - De &linux; versie van Opera - kan geïnstlleerd worden door bij de bovenstaande - voorbeelden linux-opera te gebruiken in - plaats van opera. De &linux; versie is - nuttig in situaties waarin plugins nodig zijn die alleen voor - &linux; beschikbaar zijn, zoals + De &linux; versie van Opera kan + geïnstlleerd worden door bij de bovenstaande voorbeelden + linux-opera te gebruiken in plaats van + opera. De &linux; versie is nuttig in + situaties waarin plugins nodig zijn die alleen voor &linux; + beschikbaar zijn, zoals Adobe &acrobat.reader;. In alle - andere opzichten lijken de &os; en &linux; versies - identiek. + andere opzichten zouden de &os; en &linux; versies identiek + moeten zijn. Konqueror Konqueror Konqueror is deel van KDE, maar kan ook buiten KDE gebruikt worden door x11/kdebase3 te installeren. - Konqueror is meer dan een browser. - Het is ook een bestandsbeheerder en multimedia-viewer. + Konqueror is meer dan een browser, + het is ook een bestandsbeheerder en multimedia-viewer. - Konqueror wordt ook met een - verzameling plugins geleverd, beschikbaar in Er is ook een verzameling plugins beschikbaar voor + Konqueror, beschikbaar in misc/konq-plugins. Konqueror ondersteunt ook - &flash;. Daarover is meer - informatie beschikbaar op &flash;; een How To + gids om ondersteuning voor &flash; in + Konqueror te krijgen is beschikbaar + op . Productiviteit Als het op productiviteit aankomt, zoeken nieuwe gebruikers vaak een goed kantoorpakket of een vriendelijke tekstverwerker. Hoewel sommige bureaubladomgevingen zoals KDE reeds een kantoorpakket - verschaffen, is er geen standaardapplicatie. &os; verschaft - alles wat nodig is, ongeacht de bureaubladomgeving. + verschaffen, is er geen standaard produktiviteitspakket. &os; + kan alles verschaffen wat nodig is, ongeacht de + bureaubladomgeving. - In dit gedeelte worden de onderstaande applicaties - beschreven: + In dit gedeelte worden de onderstaande applicaties beschreven: + Applicatie Bronnen Ports Afhankelijkheden KOffice weinig zwaar KDE AbiWord weinig licht Gtk+ of GNOME The GIMP weinig licht Gtk+ OpenOffice.org veel erg zwaar &jdk; 1.4, Mozilla KOffice KOffice kantoorpakket KOffice De KDE-gemeenschap heeft zijn bureaubladomgeving met een - kantoorpakket geleverd dat buiten - KDE gebruikt kan worden. Het bevat - de vier standaardcomponenten uit andere kantoorpakketten. - KWord is de tekstverwerker, - KSpread is het spreadsheetprogramma, - KPresenter beheert diapresentaties - en Kontour voorziet in grafische - mogelijkheden. + kantoorpakket geleverd dat buiten KDE + gebruikt kan worden. Het bevat de vier standaardcomponenten uit + andere kantoorpakketten. KWord is de + tekstverwerker, KSpread is het + spreadsheetprogramma, KPresenter + beheert diapresentaties en Kontour + voorziet in grafische mogelijkheden. Voordat de nieuwste KOffice wordt geïnstalleert, moet er een recente versie van KDE geïnstalleerd zijn. - KOffice als package installeren + KOffice als pakket installeren gaat met het volgende commando: &prompt.root; pkg_add -r koffice - Als het package niet beschikbaar is, kan de Portscollectie + Als het pakket niet beschikbaar is, kan de Portscollectie gebruiken worden. Om KOffice voor KDE3 te installeren: &prompt.root; cd /usr/ports/editors/koffice-kde3 &prompt.root; make install clean AbiWord AbiWord AbiWord is een vrij tekstverwerkingsprogramma, ongeveer gelijk aandoet als - µsoft; Word. Het is geschikt - om verslagen, brieven, rapporten, memo's, enzovoort mee te - typen. Het programma is snel, bevat veel mogelijkheden en is + µsoft; Word. Het is geschikt om + verslagen, brieven, rapporten, memo's, enzovoort mee te typen. + Het programma is snel, bevat veel mogelijkheden en is gebruikersvriendelijk. - AbiWord kan veel - bestandsformaten importeren en exporteren, waaronder enkele - gesloten formaten, zoals µsoft; - .doc. + AbiWord kan veel bestandsformaten + importeren en exporteren, waaronder enkele gesloten formaten, + zoals µsoft;'s .doc. - AbiWord is beschikbaar als - package en te installeren met: + AbiWord is beschikbaar als pakket + en te installeren met: &prompt.root; pkg_add -r abiword - Als het package niet beschikbaar is, kan het worden + Als het pakket niet beschikbaar is, kan het worden gecompileerd vanuit de Portscollectie. De Portscollectie is meer recent. Dat kan als volgt: &prompt.root; cd /usr/ports/editors/abiword &prompt.root; make install clean The GIMP The GIMP Voor het bewerken of retoucheren van afbeeldingen is The GIMP een zeer geavanceerd afbeeldingenmanipulatieprogramma. Het kan als eenvoudig tekenprogramma worden gebruikt of als kwalititeitspakket voor het retoucheren van foto's. Het ondersteunt een groot aantal plugins en bevat een scripting interface. The GIMP kan een groot aantal - bestandsformaten lezen en schrijven. Het ondersteunt - interfaces met scanners en tabletten. + bestandsformaten lezen en schrijven. Het ondersteunt interfaces + met scanners en tabletten. - Het pakket is te installeren als package met: + Het pakket is te installeren met: &prompt.root; pkg_add -r gimp - Als een FTP-site dit package niet heeft, kan de + Als een FTP-site dit pakket niet heeft, kan de Portscollectie gebruikt worden. De graphics map van de Portscollectie bevat ook The GIMP Manual. Die kan zo geïnstalleerd worden: &prompt.root; cd /usr/ports/graphics/gimp &prompt.root; make install clean &prompt.root; cd /usr/ports/graphics/gimp-manual-pdf &prompt.root; make install clean De graphics map van de Portscollectie bevat de ontwikkelversie van The GIMP in graphics/gimp-devel. Een HTML - versie van The GIMP Manual staan - in graphics/gimp-manual-html. + versie van The GIMP Manual staan in + graphics/gimp-manual-html. + OpenOffice.org OpenOffice.org kantoorpakket OpenOffice.org OpenOffice.org bevat alle noodzakelijke applicaties in een compleet - kantoorproductiviteitspakket: een tekstverwerker, - een spreadsheet, een presentatiebeheerder en een - tekenprogramma. De gebruikersinterface is vrijwel gelijk aan - die van andere kantoorpakketten en het kan veel populaire - bestandsformaten in- en uitvoeren. Het is beschikbaar in een - aantal verschillende talen met interfaces, spellingcontrole en - woordenboeken. + kantoorproductiviteitspakket: een tekstverwerker, een + spreadsheet, een presentatiebeheerder en een tekenprogramma. De + gebruikersinterface is vrijwel gelijk aan die van andere + kantoorpakketten en het kan veel populaire bestandsformaten + in- en uitvoeren. Het is beschikbaar in een aantal + verschillende talen — internationalisatie is uitgebreid + tot interfaces, spellingcontrole, en woordenboeken. De tekstverwerker van OpenOffice.org gebruikt een eigen XML-bestandsformaat voor overdraagbaarheid en flexibiliteit. Het spreadsheetprogramma bevat een macrotaal en kan gekoppeld worden aan externe databases. OpenOffice.org is stabiel en draait zonder aanpassingen op &windows;, &solaris;, &linux;, &os; en &macos; X. Meer informatie over OpenOffice.org staat op de OpenOffice.org website. Voor specifieke &os; informatie en om - direct packages te downloaden is er de website van het &os; OpenOffice.org Porting Team. - Om OpenOffice.org te - installeren: + Om OpenOffice.org te installeren: + - &prompt.root; pkg_add -r openoffice + &prompt.root; pkg_add -r openoffice.org Dit hoort te werken als er een -RELEASE versie van &os; wordt gedraaid. In andere gevallen is het verstandig om te kijken op de website van het &os; OpenOffice.org Porting Team - en het juiste package met &man.pkg.add.1;te downloaden en te + en het juiste pakket met &man.pkg.add.1; te downloaden en te installeren. Zowel de huidige release als de ontwikkelversie kunnen op die locatie gedownload worden. - Als het package geïnstalleerd is, start dan met het - volgende commando - OpenOffice.org: + Als het pakket geïnstalleerd is, start dan met het + volgende commando OpenOffice.org: + &prompt.user; openoffice.org - Tijdens de eerste keer starten worden er een aantal - vragen gesteld en wordt de map - .openoffice.org2 in de thuismap van de - aangemelde gebruiker gemaakt + Tijdens de eerste keer starten worden er een aantal vragen + gesteld en wordt de map .openoffice.org2 + in de thuismap van de aangemelde gebruiker gemaakt. - Als de OpenOffice.org packages - niet beschikbaar zijn, kan het uit de ports gecompileerd - worden. Hiervoer is veel schijfruimte en tijd nodig: + Als de OpenOffice.org pakketten + niet beschikbaar zijn, kan het uit de ports gecompileerd worden. + Hiervoor is veel schijfruimte en tijd nodig: - &prompt.root; cd /usr/ports/editors/openoffice.org-2.0 + &prompt.root; cd /usr/ports/editors/openoffice.org-2 &prompt.root; make install clean - Vervang om een gelocaliseerde versie te bouwen de + Vervang om een gelokaliseerde versie te bouwen de voorgaande commandoregel door de volgende: - &prompt.root; make LOCALIZED_LANG=your_language install clean + &prompt.root; make LOCALIZED_LANG=uw_taal install clean Vervang taal door de juiste ISO-taalcode. Een lijst met ondersteunde taalcodes is beschikbaar in het bestand files/Makefile.localized in de map van de port. Start hierna OpenOffice.org met: &prompt.user; openoffice.org Documentviewers - Het kan zijn dat de standaardviewers voor een aantal - populaire bestandsformaten niet in het basissysteem zitten. In - dit gedeelte wordt aangegeven hoe die geïnstalleerd kunnen - worden. + Sommige nieuwe documentformaten hebben aan populariteit + gewonnen sinds de komst van &unix;; het kan zijn dat de + standaardviewers die ze vereisen niet in het basissysteem zitten. + In dit gedeelte wordt aangegeven hoe zulke viewers + geïnstalleerd kunnen worden. Dit gedeelte behandelt de onderstaande applicaties: Applicatie Bronnen Ports Afhankelijkheden &acrobat.reader; weinig licht &linux; binaire compatibiliteit gv weinig licht Xaw3d Xpdf weinig licht FreeType GQview weinig licht Gtk+ of GNOME &acrobat.reader; &acrobat.reader; PDF bekijken Documenten worden vaak als PDF-bestanden, Portable Document Format, verspreid. Een van de aanbevolen viewers voor dit bestandstype is &acrobat.reader; dat Adobe voor &linux; heeft uitgegeven. Omdat &os; &linux; binaries kan draaien, is het ook beschikbaar voor &os;. Om &acrobat.reader; 5 te installeren uit de Portscollectie: &prompt.root; cd /usr/ports/print/acroread7 &prompt.root; make install clean - Vanwege de licentie is een package niet beschikbaar. + Vanwege de licentie is een pakket niet beschikbaar. gv gv PDF bekijken &postscript; bekijken gv is een &postscript; en PDF viewer. Het is gebaseerd op ghostview maar heeft een vriendelijker uiterlijk dankzij de Xaw3d bibliotheek. Het is snel en - heeft mogelijkheden als oriëntatie, papiergrootte, schalen - en anti-aliassen. Bijna elke bewerking kan met het + heeft mogelijkheden, zoals oriëntatie, papiergrootte, + schalen en anti-aliassen. Bijna elke bewerking kan met het toetsenbord of de muis worden gedaan. - gv is als package te - installeren: + gv is als pakket te installeren: + &prompt.root; pkg_add -r gv Of uit de Portscollectie: &prompt.root; cd /usr/ports/print/gv &prompt.root; make install clean Xpdf Xpdf PDF bekijken Xpdf een efficiënte - lichtgewicht PDF-viewer voor &os;. Het heeft erg weinig - bronnen nodig en is zeer stabiel. Het gebruikt de standaard - X-fonts en is niet afhankelijk van - &motif; of andere X-toolkits. + lichtgewicht PDF-viewer voor &os;. Het heeft erg weinig bronnen + nodig en is zeer stabiel. Het gebruikt de standaard X-fonts en + is niet afhankelijk van &motif; of + andere X-toolkits. - Xpdf is als package te + Xpdf is als pakket te installeren: &prompt.root; pkg_add -r xpdf Of uit de Portscollectie: &prompt.root; cd /usr/ports/graphics/xpdf &prompt.root; make install clean Als de installatie voltooid is, kan Xpdf gestart worden en het menu kan met de rechtermuisknop geactiveerd worden. GQview GQview GQview is een afbeeldingenbeheerder. Een bestand kan met één klik bekeken worden, er kan een externe editor opgestart worden - er kunnen thumbnail-voorbeelden gemaakt worden en nog veel - meer. Het bevat ook een diapresentatie-modus en enkele - standaard bestandsoperaties. Er kunnen - afbeeldingsverzamelingen beheerd worden en eenvoudig duplicaten - gevonden worden. GQview kan het - complete scherm gebruiken en ondersteunt meerdere talen. - - GQview is als package te + er kunnen thumbnail-voorbeelden gemaakt worden en nog veel meer. + Het bevat ook een diapresentatie-modus en enkele standaard + bestandsoperaties. Er kunnen afbeeldingsverzamelingen beheerd + worden en eenvoudig duplicaten gevonden worden. + GQview kan het complete scherm + gebruiken en ondersteunt meerdere talen. + + GQview is als pakket te installeren: &prompt.root; pkg_add -r gqview Of vanuit de Portscollectie: &prompt.root; cd /usr/ports/graphics/gqview &prompt.root; make install clean Financiën Om financiën via het &os; bureaublad te beheren zijn er krachtige en gemakkelijk te gebruiken applicaties om te installeren. Sommige zijn compatibel met wijdverbreide - bestandsformaten zoals Quicken of - Excel documenten. + bestandsformaten, zoals de formaten gebruikt door + Quicken en + Excel om documenten op te slaan. - Dit gedeelte behandelt deze applicaties: + Dit gedeelte behandelt deze programma's: Applicatie Bronnen Ports Afhankelijkheden GnuCash weinig zwaar GNOME Gnumeric weinig zwaar GNOME Abacus weinig licht Tcl/Tk + + + KMyMoney + + weinig + + zwaar + + KDE + GnuCash GnuCash GnuCash is onderdeel van GNOME dat gebruikersvriendelijke en krachtige applicaties aan eindgebruikers wil leveren. Met - GnuCash kunnen inkomsten en - uitgaven, bankrekeningen en voorraden bijgehouden worden. Het - bevat een intuïtieve interface terwijl het erg - professioneel blijft. + GnuCash kunnen inkomsten en uitgaven, + bankrekeningen en voorraden bijgehouden worden. Het bevat een + intuïtieve interface terwijl het erg professioneel blijft. + GnuCash levert een slim kasboek, - een hiërarchisch systeem van rekeningen, veel - toetsenbordversnellers en auto-invul mogelijkheden. Het een + een hiërarchisch systeem van rekeningen, en veel + toetsenbordversnellers en auto-invul mogelijkheden. Het kan een transactie splitsen in meer gedetailleerde stukken. GnuCash kan Quicken QIF-bestanden invoeren en - samenvoegen. Het kan ook met de meeste internationale datum- - en valutaformaten omgaan. + samenvoegen. Het kan ook met de meeste internationale datum- en + valutaformaten omgaan. - GnuCash is als package te + GnuCash is als pakket te installeren: &prompt.root; pkg_add -r gnucash Of uit de Portscollectie: &prompt.root; cd /usr/ports/finance/gnucash &prompt.root; make install clean Gnumeric Gnumeric spreadsheet Gnumeric - Gnumeric is een spreadsheet uit - de GNOME bureaubladomgeving. Het - maakt gebruikt van auto-invullen afhankelijk van - het celformaat. Het kan bestanden in een aantal populaire - formaten zoals Excel, + Gnumeric is een + spreadsheetprogramma uit de GNOME + bureaubladomgeving. Het maakt gebruikt van + auto-invullen afhankelijk van het celformaat. + Het kan bestanden in een aantal populaire formaten zoals + Excel, Lotus 1-2-3 en Quattro Pro inlezen. Gnumeric ondersteunt grafieken door middel van het grafiekprogramma math/guppi. Het heeft een groot aantal ingebouwde functies en kent gebruikelijke celformaten als nummer, valuta, datum, tijd en veel meer. - Gnumeric is als package te + Gnumeric is als pakket te installeren: &prompt.root; pkg_add -r gnumeric Of uit de Portscollectie: &prompt.root; cd /usr/ports/math/gnumeric &prompt.root; make install clean Abacus Abacus spreadsheet Abacus Abacus is een kleine en - gemakkelijk te gebruiken spreadsheet en bevat veel ingebouwde - functies die nuttig zijn in verschillende domeinen zoals - statistiek, financiën, en wiskunde. Het kan - Excelbestanden lezen en schrijven. + gemakkelijk te gebruiken spreadsheetprogramma. Het bevat veel + ingebouwde functies die nuttig zijn in verschillende domeinen + zoals statistiek, financiën, en wiskunde. Het kan + Excel-bestanden lezen en schrijven. Abacus kan &postscript; uitvoer produceren. - Abacus is als package te + Abacus is als pakket te installeren: &prompt.root; pkg_add -r abacus Of uit de Portscollectie: &prompt.root; cd /usr/ports/deskutils/abacus +&prompt.root; make install clean + + + + KMyMoney + + KMyMoney + + + spreadsheet + + KMyMoney + + + KMyMoney is een persoonlijke + financiële beheerder gebouwd voor + KDE. + KMyMoney poogt om alle belangrijke + eigenschappen die in commerciële persoonlijke + financiële beheerders zitten te bieden en te integreren. + Gebruiksgemak en degelijke dubbele accounting zijn eigenschappen + die worden benadrukt. KMyMoney + importeert vanuit standaard Quicken Interchange Format (QIF) + bestanden, houdt investeringen bij, kan met meerdere + munteenheden overweg, en biedt een waaier aan rapporten. + Mogelijkheden om OFX te importeren zijn via een aparte plugin + beschikbaar. + + Om KMyMoney als een pakket te + installeren: + + &prompt.root; pkg_add -r kmymoney2 + + Als het pakket niet beschikbaar is, kan de Portscollectie + gebruikt worden: + + &prompt.root; cd /usr/ports/finance/kmymoney2 &prompt.root; make install clean Samenvatting Hoewel &os; populair is bij ISP's om zijn prestaties en stabiliteit, is het behoorlijk klaar voor dagelijks gebruik als een bureaublad. Met enkele duizenden applicaties als packages of pakketten of ports, is een perfect bureaublad te bouwen dat aan alle noden voldoet. - Als een bureaublad is geïnstalleerd is het mogelijk een - stap verder te gaan met misc/instant-workstation. Met deze - meta-port kan een verzameling ports gebouwd worden - die aangepast kan worden door - /usr/ports/misc/instant-workstation/Makefile - te bewerken en de gebruikte syntaxis voor de standaardverzameling - om ports toe te voegen of te verwijderen te gebruiken. Het - bouwen gaat volgens de gebruikelijke procedure. Uiteindelijk is - het zo mogelijk één groot package te creëren - voldoet aan de persoonlijke eisen van een gebruiker dat te - installeren is op alle gebruikte werkstations! - Nu volgt nog een overzicht van alle bureaubladapplicaties die in dit hoofdstuk zijn behandeld: Applicatie Package Port Mozilla mozilla www/mozilla Opera linux-opera www/linux-opera Firefox firefox www/firefox KOffice koffice-kde3 editors/koffice-kde3 AbiWord abiword editors/abiword The GIMP gimp graphics/gimp OpenOffice.org openoffice editors/openoffice-1.1 &acrobat.reader; - acroread5 + acroread print/acroread7 gv gv print/gv Xpdf xpdf graphics/xpdf GQview gqview graphics/gqview GnuCash gnucash finance/gnucash Gnumeric gnumeric math/gnumeric Abacus abacus deskutils/abacus diff --git a/nl_NL.ISO8859-1/books/handbook/disks/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/disks/chapter.sgml index 6363437470..8b6fd52e97 100644 --- a/nl_NL.ISO8859-1/books/handbook/disks/chapter.sgml +++ b/nl_NL.ISO8859-1/books/handbook/disks/chapter.sgml @@ -1,4649 +1,4656 @@ - René Ladan Vertaald door Opslag Overzicht Dit hoofdstuk behandelt het gebruik van schijven in &os;. Dit omvat geheugenschijven, schijven die met het netwerk verbonden zijn, SCSI/IDE-opslagapparaten en apparaten die gebruik maken van de USB-interface. Na het lezen van dit hoofdstuk weet de lezer: Welke terminologie &os; gebruikt om de gegevensindeling op een fysieke schijf te beschrijven (partities en slices); Hoe aanvullende harde schijven aan een systeem toe te voegen; Hoe &os; in te stellen om het gebruik te laten maken van USB-opslagapparaten; Hoe virtuële bestandssystemen, zoals geheugenschijven, aan te maken; Hoe quota te gebruiken om het schijfgebruik te beperken; Hoe schijven te versleutelen om ze tegen inbrekers te beschermen; Hoe vanuit &os; CD's en DVD's aan te maken en te branden; Wat de verschillende mogelijkheden zijn voor opslagmedia voor back-ups; Hoe back-upprogramma's te gebruiken die beschikbaar zijn in &os;; Hoe een back-up naar diskettes te maken; Wat bestandssysteem snapshots zijn en hoe ze efficiënt te gebruiken. Aangeraden voorkennis: Hoe een nieuwe &os;-kernel in te stellen en te installeren (). Apparaatnamen De volgende lijst noemt de fysieke opslagapparaten die in &os; ondersteund worden, samen met de bijhorende namen. Naamconventies voor fysieke Schijven Type medium Apparaatnaam medium IDE harde schijven ad IDE CD-ROM-stations acd SCSI harde schijven en USB-apparaten voor massa-opslag da SCSI CD-ROM-schijven cd Overige niet-standaard-CD-ROM-stations mcd voor Mitsumi CD-ROM en scd voor Sony CD-ROM apparaten. Diskettestations fd SCSI bandstations sa IDE bandstations ast Flashdrives fla voor &diskonchip; flashapparaten RAID-schijven aacd voor &adaptec; AdvancedRAID, mlxd en mlyd voor &mylex;, amrd voor AMI &megaraid;, idad voor Compaq Smart RAID, twed voor &tm.3ware; RAID.
David O'Brien Origineel bijgedragen door Schijven toevoegen schijven toevoegen Stel dat het gewenst is om een nieuwe SCSI-schijf aan een machine toe te voegen die slechts een enkele drive heeft. Ten eerste dient de computer uitgeschakeld te worden en dient de schijf volgens de instructies van de computer, controller en schijffabrikant geïnstalleerd te worden. Wegens de grote variéteiten om dit soort procedures uit te voeren, vallen de details buiten het bereik van dit document. Er dient als gebruiker root ingelogd te worden. Nadat de schijf is toegevoegd, dient /var/run/dmesg.boot bekeken te worden om er zeker van te zijn dat de nieuwe schijf is gevonden. Volgens het voorbeeld heet de nieuw toegevoegde schijf da1 en die wordt gemount op /1 (als er een IDE-schijf wordt toegevoegd, is de apparaatnaam ad1). partities slices fdisk &os; draait op IBM-PC-compatibele computers. Daarom moet het rekening houden met de PC-BIOS-partities. Deze wijken af van de traditionele BSD-partities. Een PC-schijf bevat tot vier ingangen voor BIOS-partities. Indien de schijf geheel aan &os; wordt gewijd, kan de toegewijde-modus gebruikt worden. In het andere geval moet &os; binnen één van de vier PC-BIOS-partities draaien. De PC-BIOS-partities worden door &os; slices genoemd om ze niet met de traditionele BSD-partities te verwarren. Slices kunnen ook op een schijf worden gebruikt die toegewijd is aan &os;, maar in een computer zit die ook andere besturingssystemen heeft geïnstalleerd. Dit is een goede manier om verwarring met het programma fdisk van andere, niet-&os; besturingssystemen te voorkomen. Als er met slices gewerkt wordt, wordt de schijf toegevoegd als /dev/da1s1e. Dit moet worden gelezen als: SCSI-schijf, eenheid 1 (tweede SCSI-schijf), slice 1 (PC-BIOS-partitie 1) en BSD-partitie e. Als de schijf toegewijd is, wordt deze simpelweg als /dev/da1e toegevoegd. Omdat 32-bit-integers worden gebruikt om het aantal sectoren op te slaan, is &man.bsdlabel.8; beperkt tot 2^32-1 sectoren per schijf, wat meestal neerkomt op 2 TB. Het programma &man.fdisk.8; staat geen hogere startsector toe dan 2^32-1 en geen grotere lengte dan 2^32-1, meestal worden hiermee partities tot 2 TB begrensd en schijven tot 4 TB. Het formaat van &man.sunlabel.8; is beperkt tot 2^32-1 sectoren per partitie en 8 partities per schijf, in totaal dus 16 TB. Voor grotere schijven kan &man.gpt.8; worden gebruikt. &man.sysinstall.8; gebruiken sysinstall schijven toevoegen su Navigeren door <application>sysinstall</application> sysinstall kan gebruikt worden om een nieuwe schijf te partitioneren en te labelen met eenvoudig te gebruiken menu's. Hiervoor dient òfwel als gebruiker root ingelogd te zijn, òfwel gebruik te worden gemaakt van su. Draai sysinstall en ga naar het menu Configure. Scroll binnen het &os; Configuration Menu naar beneden en kies de optie Fdisk. <application>fdisk</application> partitie-bewerker - Eenmaal binnen fdisk kan - a ingetypt worden om de gehele + Eenmaal binnen fdisk kan op + A gedrukt worden om de gehele schijf voor &os; te gebruiken. Wanneer gevraagd wordt of het systeem compatibel dient te blijven met mogelijk toekomstige besturingssystemen, dient met YES geantwoord te worden. Met - W kunnen de veranderingen naar de + W kunnen de veranderingen naar de schijf worden geschreven. Nu dient de FDISK-bewerker - verlaten te worden door het intypen van - q. Vervolgens wordt er een vraag + verlaten te worden door op Q te drukken. + Vervolgens wordt er een vraag gesteld over het Master Boot Record. Omdat er een schijf aan een reeds draaiend systeem wordt toegevoegd, dient hier None gekozen te worden. Schijflabelbewerker BSD-partities Vervolgens dient sysinstall verlaten en opnieuw gestart te worden. Volg bovenstaande aanwijzingen, maar kies deze keer voor de optie Label. Dit geeft toegang tot de Disk Label Editor. Hier worden de traditionele BSD-partities aangemaakt. Een schijf kan tot acht partities bevatten, gelabeld a-h. Enkele partitielabels hebben een speciale functie. De partitie a wordt gebruikt voor de rootpartitie (/). Alleen de systeemschijf (bijvoorbeeld de schijf van waaruit opgestart wordt) moet een partitie a hebben. De partitie b wordt voor swappartities gebruikt, en het is mogelijk om vele schijven met swappartities te hebben. De partitie c adresseert de gehele schijf in toegewijde modus, of de gehele &os;-slice in slice-modus. De andere partities zijn voor algemeen gebruik. sysinstall's Labelbewerker heeft een voorkeur voor de partitie e voor niet-root-niet-swap-partities. Binnen de Labelbewerker dient een enkel bestandssysteem te worden - aangemaakt door C in te typen. Kies + aangemaakt door op C te drukken. Kies FS wanneer gevraagd wordt of dit een FS (file system) of swap wordt, en geef een mountpunt in (bijvoorbeeld /mnt). Wanneer een schijf in post-installatie-modus wordt toegevoegd, maakt sysinstall geen ingangen aan in /etc/fstab, dus dan is het opgegeven mountpunt niet van belang. Nu kan het nieuwe label naar de schijf worden geschreven en er een bestandssysteem op aangemaakt worden. - Dit kan gedaan worden door W in te - typen. Fouten van sysinstall + Dit kan gedaan worden door op W te + drukken. Fouten van sysinstall dat de nieuwe partitie niet gemount kon worden kunnen genegeerd worden. De Labelbewerker en sysinstall kunnen nu volledig verlaten worden. Afronden De laatste stap bestaat uit het bewerken van /etc/fstab om hier een regel voor de nieuwe schijf aan toe te voegen. Het gebruik van opdrachtregelgereedschappen Het gebruik van slices Deze installatie zorgt ervoor dat de schijf correct samenwerkt met andere besturingssystemen die eventueel op de computer zijn geïnstalleerd en dat de fdisk-gereedschappen van andere besturingssystemen niet verward raken. Het wordt aangeraden om deze methode te gebruiken voor de installatie van nieuwe schijven. Gebruik de toegewijde modus alleen als hier een goede reden voor bestaat! &prompt.root; dd if=/dev/zero of/dev/da1 bs=1k count=1 &prompt.root; fdisk -BI da1 # Initialiseer de nieuwe schijf. -&prompt.root; bsdlabel -B -w -r da1s1 auto # Label de schijf. +&prompt.root; bsdlabel -B -w da1s1 auto # Label de schijf. &prompt.root; bsdlabel -e da1s1 # Bewerk de zojuist aangemaakte schijflabel en voeg partities toe. &prompt.root; mkdir -p /1 &prompt.root; newfs /dev/da1s1e # Herhaal dit voor alle aangemaakte partities. &prompt.root; mount /dev/da1s1e /1 # Mount de partitie(s). &prompt.root; vi /etc/fstab # Voeg de juiste regel(s) aan /etc/fstab toe. Vervang voor een IDE-schijf da door ad. Toegewijd OS/2 Indien de nieuwe schijf niet met een ander besturingssysteem gedeeld wordt, kan de toegewijde modus gebruikt worden. Denk eraan dat deze modus besturingssystemen van Microsoft kan verwarren. Ze richten echter geen schade aan. IBM's &os2; fatsoeneert echter partities die het niet begrijpt. &prompt.root; dd if=/dev/zero of=/dev/da1 bs=1k count=1 -&prompt.root; bsdlabel -Brw da1 auto +&prompt.root; bsdlabel -Bw da1 auto &prompt.root; bsdlabel -e da1 # Maak de `e'-partitie aan. -&prompt.root; newfs -d0 /dev/da1e +&prompt.root; newfs /dev/da1e &prompt.root; mkdir -p /1 &prompt.root; vi /etc/fstab # Voeg een regel voor /dev/da1e toe. &prompt.root; mount /1 Een alternatieve methode is: &prompt.root; dd if=/dev/zero of=/dev/da1 count=2 -&prompt.root; bsdlabel /dev/da1 | bsdlabel -BrR da1 /dev/stdin +&prompt.root; bsdlabel /dev/da1 | bsdlabel -BR da1 /dev/stdin &prompt.root; newfs /dev/da1e &prompt.root; mkdir -p /1 # Voeg een regel voor /dev/da1e toe. &prompt.root; mount /1 RAID Software RAID Christopher Shumway Origineel werk van Jim Brown Herzien door RAID softwarematig RAID CCD Concatenated Disk Driver (CCD) instellingen Bij het kiezen van een medium voor massa-opslag zijn de belangrijkste afwegingen snelheid, betrouwbaarheid en kosten. Het komt zelden voor dat alle drie in balans zijn. Normaalgesproken is een snel, betrouwbaar apparaat voor massa-opslag duur en kosten sparen gaat ten koste van òfwel snelheid òfwel betrouwbaarheid. Bij het ontwerpen van het onderstaande systeem werd primair op de kosten gelet, gevolgd door snelheid en als laatste betrouwbaarheid. De overdrachtsnelheid van gegevens wordt voor dit systeem uiteindelijk beperkt door het netwerk. En hoewel betrouwbaarheid erg belangrijk is, wordt onderstaande CCD-schijf gebruikt voor het serven van on-line gegevens die reeds volledig op CD-R's zijn geback-upt en eenvoudig vervangen kunnen worden. De eerste stap in het kiezen van een massa-opslagoplossing is het bepalen van de eigen benodigdheden. Indien snelheid belangrijker is dan betrouwbaarheid of kosten, wijkt de oplossing af van het systeem dat in deze sectie wordt beschreven. Hardware installeren Als aanvulling op de IDE systeemschijf zijn drie Western Digital IDE-schijven van 30 GB, 5400 RPM vanuit de kern van de onderstaande CCD-schijf aanwezig, die ongeveer 90 GB aan on-line opslag bieden. Ideaal gezien heeft iedere IDE-schijf een eigen IDE-controller en kabel, maar om de kosten te minimaliseren zijn geen aanvullende IDE-kabels gebruikt. In plaats hiervan zijn de schijven zodanig met jumpers ingesteld dat elke IDE-controller één master en één slave heeft. Tijdens het opnieuw opstarten werd het systeem-BIOS zodanig ingesteld dat het automatisch de aangekoppelde schijven detecteerde. Het was belangrijker dat &os; ze tijdens het opnieuw opstarten herkende: ad0: 19574MB <WDC WD205BA> [39770/16/63] at ata0-master UDMA33 ad1: 29333MB <WDC WD307AA> [59598/16/63] at ata0-slave UDMA33 ad2: 29333MB <WDC WD307AA> [59598/16/63] at ata1-master UDMA33 ad3: 29333MB <WDC WD307AA> [59598/16/63] at ata1-slave UDMA33 Indien &os; niet alle schijven detecteert, moet gecontroleerd worden of de jumpers juist zijn ingesteld. De meeste IDE-schijven hebben ook een jumper voor Cable Select. Dit is niet de jumper voor de master/slave-instelling. Voor hulp met het identificeren van de juiste jumper dient de documentatie van de schijf geraadpleegd te worden. Vervolgens dient besloten te worden hoe ze deel gaan uitmaken van het bestandssysteem. Hiervoor dienen &man.vinum.8; () en &man.ccd.4; bestudeerd te worden. Voor deze instellingen werd voor &man.ccd.4; gekozen. CCD installeren Het stuurprogramma &man.ccd.4; biedt de mogelijkheid om meerdere identieke schijven aaneen te rijgen tot één logisch bestandssysteem. Om gebruik te kunnen maken van &man.ccd.4; is een kernel met ingebouwde ondersteuning voor &man.ccd.4; nodig. De volgende regel dient toegevoegd te worden aan het kernelinstellingenbestand en de kernel dient opnieuw gebouwd en geïnstalleerd te worden: device ccd Om &man.ccd.4; te installeren dient eerst &man.bsdlabel.8; gebruikt te worden om de schijven te labelen: - bsdlabel -r -w -ad1 auto -bsdlabel -r -w ad2 auto -bsdlabel -r -w ad3 auto + bsdlabel -w -ad1 auto +bsdlabel -w ad2 auto +bsdlabel -w ad3 auto Bovenstaande maakt een schijflabel aan voor ad1c, ad2c en ad3c die de gehele schijf beslaat. Vervolgens dient het labeltype van de schijf veranderd te worden. Voor het bewerken van de schijven kan &man.bsdlabel.8; gebruikt worden: bsdlabel -e ad1 bsdlabel -e ad2 bsdlabel -e ad3 Dit zorgt ervoor dat het huidige schijflabel van elke schijf met de tekstverwerker wordt geopend die door de omgevingsvariabele EDITOR wordt gespecificeerd, vaak &man.vi.1;. Een ongewijzigd schijflabel ziet er ongeveer als volgt uit: 8 partitions: # size offset fstype [fsize bsize bps/cpg] c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597) Er dient een nieuwe partitie e toegevoegd te worden die door &man.ccd.4; gebruikt kan worden. Deze kan gewoonlijk van partitie c overgenomen worden, maar het moet 4.2BSD zijn. Het schijflabel ziet er nu ongeveer als volgt uit: 8 partitions: # size offset fstype [fsize bsize bps/cpg] c: 60074784 0 unused 0 0 0 # (Cyl. 0 - 59597) e: 60074784 0 4.2BSD 0 0 0 # (Cyl. 0 - 59597) Bestandssysteem aanmaken Nu alle schijven gelabeld zijn, moet de &man.ccd.4; gebouwd worden. Om dit te doen, dient &man.ccdconfig.8; gebruikt te worden met opties die ongeveer gelijk zijn aan de volgende: ccdconfig ccd0 32 0 /dev/ad1e /dev/ad2e /dev/ad3e Hieronder staat het gebruik en de betekenis van elke optie: Het eerste argument is het in te stellen apparaat, in dit geval /dev/ccd0c. Het gedeelte /dev/ is optioneel. De interleave voor het bestandssysteem. De interleave definiëert de grootte van een stripe in schijfblokken, elk schijfblok is normaalgesproken 512 bytes groot. Een interleave van 32 is dus 16.384 bytes groot. Vlaggen voor &man.ccdconfig.8;. Indien het gewenst is om schijfspiegeling aan te zetten, kan er hier een vlag voor gespecificeerd worden. Deze opstelling biedt geen spiegeling voor &man.ccd.4;, dus is die op 0 (nul) ingesteld. De laatste argumenten voor &man.ccdconfig.8; zijn de apparaten die in de rij geplaatst dienen te worden. Voor elk apparaat dient de complete padnaam gebruikt te worden. Nadat &man.ccdconfig.8; gedraaid is, is de &man.ccd.4; ingesteld. Er kan een bestandssysteem worden geïnstalleerd. Er kan in &man.newfs.8; worden gekeken voor opties, of het draaien van het onderstaande commando is ook toereikend: newfs /dev/ccd0c Alles automatisch maken In het algemeen is het wenselijk om de &man.ccd.4; telkens te mouten wanneer er opnieuw opgestart wordt. Dit dient eerst ingesteld te worden. Met het volgende commando worden de huidige instellingen naar /etc/ccd.conf geschreven: ccdconfig -g > /etc/ccd.conf Tijdens het opstarten draait het script /etc/rc ccdconfig -C indien /etc/ccd.conf bestaat. Dit stelt automatisch de &man.ccd.4; in, zodat die kan worden gemount. Indien er in enkele-gebruiker-modus wordt opgestart, dient het volgende commando te worden uitgevoerd om de rij in te stellen voordat de &man.ccd.4; gemount kan worden: ccdconfig -C Om de &man.ccd.4; automatisch te mounten, kan er een regel voor de &man.ccd.4; in /etc/fstab geplaatst worden, zodat die tijdens het opstarten gemount wordt: /dev/ccd0c /media ufs rw 2 2 Volumebeheerder Vinum RAID software RAID Vinum De volumebeheerder Vinum is een blokstuurprogramma dat virtuele schijven implementeert. Het isoleert schijfhardware van de blokapparaat-interface en projecteert gegevens op een manier die de flexibiliteit, prestatie en betrouwbaarheid verhoogt in vergelijking met de traditionele slice-blik op schijfopslag. &man.vinum.8; implementeert de modellen RAID-0, RAID-1 en RAID-5, zowel individueel als als combinatie. In staat meer informatie over &man.vinum.8;. Hardwarematige RAID RAID hardwarematig &os; ondersteunt ook een verscheidenheid aan hardwarematige RAID-stuurprogramma's. Deze apparaten besturen een RAID-deelsysteem zonder dat er &os;-specifieke software nodig is om de rij te beheren. Door gebruik te maken van een BIOS die op de kaart aanwezig is, beheert de kaart de meeste schijfbewerkingen zelf. Nu volgt een korte beschrijving van een opzet waarbij een Promise IDE-stuurprogramma is gebruikt. Wanneer deze kaart geïnstalleerd en het systeem opgestart is, beeldt het een prompt af waarbij om informatie wordt gevraagd. De instructies dienen opgevolgd te worden om bij het instelscherm van de kaart te komen. Van hieruit kunnen alle aangekoppelde schijven gecombineerd worden. Nadat dit gedaan is, zien de schijven er voor &os; als één enkele schijf uit. Andere RAID-niveaus kunnen overeenkomstig ingesteld worden. ATA RAID1-rijen opnieuw bouwen Met &os; is het mogelijk om een defecte schijf in een rij te vervangen terwijl de computer aanstaat (hot replace). Hiervoor dient de schijf vóór het opnieuw opstarten vervangen te zijn. Waarschijnlijk is zoiets als het volgende in /var/log/messages of in de uitvoer van &man.dmesg.8; te zien: ad6 on monster1 suffered a hard error. ad6: READ command timeout tag=0 serv=0 - resetting ad6: trying fallback to PIO mode ata3: resetting devices .. done ad6: hard error reading fsbn 1116119 of 0-7 (ad6 bn 1116119; cn 1107 tn 4 sn 11)\\ status=59 error=40 ar0: WARNING - mirror lost Meer informatie kan met behulp van &man.atacontrol.8; gezocht worden: &prompt.root; atacontrol list ATA channel 0: Master: no device present Slave: acd0 <HL-DT-ST CD-ROM GCR-8520B/1.00> ATA/ATAPI rev 0 ATA channel 1: Master: no device present Slave: no device present ATA channel 2: Master: ad4 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5 Slave: no device present ATA channel 3: Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5 Slave: no device present &prompt.root; atacontrol status ar0 ar0: ATA RAID1 subdisks: ad4 ad6 status: DEGRADED Ontkoppel eerst het ata kanaal met de falende schijf zodat deze veilig kan worden verwijderd: &prompt.root; atacontrol detach ata3 Vervang de schijf. Koppel het ata kanaal opnieuw aan: &prompt.root; atacontrol attach ata3 Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5 Slave: no device present Voeg de nieuwe schijf toe aan de rij als reserve: &prompt.root; atacontrol addspare ar0 ad6 De rij dient nu opnieuw opgebouwd te worden: &prompt.root; atacontrol rebuild ar0 Het is mogelijk de voortgang te volgen met het volgende commando: &prompt.root; dmesg | tail -10 [uitvoer verwijderd] ad6: removed from configuration ad6: deleted from ar0 disk1 ad6: inserted into ar0 disk1 as spare &prompt.root; atacontrol status ar0 ar0: ATA RAID1 subdisks: ad4 ad6 status: REBUILDING 0% completed Nu moet er gewacht worden tot de bewerking voltooid is. Marc Fonvieille Bijgedragen door USB-opslagapparaten USB schijven Veel externe opslagoplossingen gebruiken tegenwoordig de Universele Seriële Bus (USB): harde schijven, USB-duimdrives, CD-R-branders, etc. &os; biedt voor al dit soort apparaten ondersteuning. Instellen Het stuurprogramma &man.umass.4; biedt de ondersteuning voor USB-opslagapparaten. Indien de kernel GENERIC wordt gebruikt, hoeft er niets aan de instellingen gewijzigd te worden. Als er een eigen kernel wordt gebruikt, dienen de volgende regels in het kernelinstellingenbestand aanwezig zijn: device scbus device da device pass device uhci device ohci device usb device umass Het stuurprogramma &man.umass.4; gebruikt het subsysteem SCSI om toegang te krijgen tot de USB-opslagapparaten. Het USB-apparaat wordt door het systeem als een SCSI-apparaat gezien. Afhankelijk van de chipset op het moederbord is slechts òf device uhci òf device ohci nodig. Het kan echter geen kwaad om ze beiden in het kernelinstellingenbestand te hebben. Indien er regels zijn toegevoegd dient de kernel opnieuw gecompileerd en geïnstalleerd te worden. Indien het USB-apparaat een CD-R- of DVD-brander is, dient het SCSI CD-ROM-stuurprogramma &man.cd.4; met de volgende regel aan de kernel toegevoegd te worden: device cd Aangezien de brander als een SCSI-schijf gezien wordt, dient het stuurprogramma &man.atapicam.4; niet in de kernelinstellingen gebruikt te worden. Ondersteuning voor controllers voor USB 2.0 is aanwezig in &os; echter het volgende dient te worden toegevoegd: device ehci De stuurprogramma's &man.uhci.4; en &man.ohci.4; zijn nog steeds nodig voor USB 1.X-ondersteuning. Instellingen testen De instellingen zijn klaar om getest te worden: het USB-apparaat dient aangesloten te worden en in de buffer voor systeemmeldingen (&man.dmesg.8;) dient het stuurprogramma ongeveer als volgt te verschijnen: umass0: USB Solid state disk, rev 1.10/1.00, addr 2 GEOM: create disk da0 dp=0xc2d74850 da0 at umass-sim0 bus 0 target 0 lun 0 da0: <Generic Traveling Disk 1.11> Removable Direct Access SCSI-2 device da0: 1.000MB/s transfers da0: 126MB (258048 512 byte sectors: 64H 32S/T 126C) Uiteraard kunnen het merk, de apparaatnode (da0) en andere details verschillen naar gelang de instelling. Aangezien het USB-apparaat als een SCSI-apparaat gezien wordt, kan het commando camcontrol gebruikt worden om de USB-opslagapparaten weer te geven die aan het systeem gekoppeld zijn: &prompt.root; camcontrol devlist <Generic Traveling Disk 1.11> at scbus0 target 0 lun 0 (da0,pass0) Indien er een bestandssysteem op de schijf aanwezig is, kan dat gemount worden. biedt indien nodig hulp bij het formatteren en aanmaken van partities op de USB-drive. Om het apparaat koppelbaar te maken voor de gewone gebruiker moeten er een aantal stappen ondernomen worden. Als eerste moeten de apparaten die gecreeerd worden wanneer het USB opslag- medium wordt toegevoegd toegankelijk zijn voor de gebruiker. Een oplossing is om alle gebruikers die deze rechten nodig hebben toe te voegen aan de operator groep. Dit kan gedaan worden met &man.pw.8;. Daarna moet het voor de operator groep mogelijk zijn te lezen en te schrijven naar de gecreeerde apparaten. Dit kan bewerkstelligd worden door de volgende regels toe te voegen aan /etc/devfs.rules: [localrules=1] add path 'da*' mode 0660 group operator Als er SCSI schijven in het systeem aanwezig zijn moet dit anders aangepakt worden. Stel dat het systeem reeds over de volgende schijven beschikt da0 tot en met da2, verander de regel dan in het volgende: add path 'da[3-9]*' mode 0660 group operator Dit sluit de reeds bestaande schijven buiten van toegang door de operator groep. Erna moet ook de nieuwe ruleset voor &man.devfs.rules.5; ingeschakeld worden door middel van /etc/rc.conf: devfs_system_ruleset="localrules" Hierna moet de kernel worden geconfigureerd zodat gewone gebruikers rechten krijgen om bestandssystemen te koppelen. De makkelijkste manier is door de volgende regel toe te voegen aan /etc/sysctl.conf: vfs.usermount=1 Let op, deze wijziging wordt pas actief na de volgende start van het systeem. Als alternatief kan ook &man.sysctl.8; gebruikt worden om deze variabele te zetten. De laatste stap is het creeeren van de directory waar het bestandssysteem gekoppeld wordt. Deze directory moet eigendom zijn van de gebruiker die het bestandssysteem gaat koppelen. Een manier om dat te bewerkstelligen is door met de gebruiker root een subdirectory aan te maken die eigendom is van de gebruiker als - /mnt$USER - (verander $USER door de login - naam van de daadwerkelijke gebruiker): + /mntgebruikersnaam + (verander gebruikersnaam door de + loginnaam van de daadwerkelijke gebruiker): - &prompt.root; mkdir /mnt/$USER -&prompt.root; chown $USER:$USER /mnt/$USER + &prompt.root; mkdir /mnt/gebruikersnaam +&prompt.root; chown gebruiker:gebruiker /mnt/gebruiker Stel dat er vervolgens een USB stick ingeplugged wordt en er een /dev/da0s1 aangemaakt wordt. Omdat deze apparaatjes meestal voorgeformatteerd met een FAT bestandssysteem komen, kan deze als volgende gekoppeld worden: - &prompt.user; mount -t msdosfs -m 644 -M 755 /dev/da0s1 /mnt/$USER + &prompt.user; mount -t msdosfs -m 644 -M 755 /dev/da0s1 /mnt/gebruikersnaam Indien het apparaat losgekoppeld wordt (nadat de schijf gedismount is), dient in de buffer voor systeemmeldingen iets als het volgende te zien te zijn: umass0: at uhub0 port 1 (addr2) disconnected (da0:umass-sim0:0:0:0): lost device (da0:umass-sim0:0:0:0): removing device entry GEOM: destroy disk da0 dp=0xc2d74850 umass0: detached Referenties Naast de onderdelen Schijven toevoegen en Bestandssystemen mounten en unmounten, kunnen de volgende hulppagina's ook nuttig zijn: &man.umass.4;, &man.camcontrol.8; en &man.usbdevs.8;. Mike Meyer Bijgedragen door Optische media (CD's) aanmaken en gebruiken CD-ROM's aanmaken Inleiding CD's hebben een aantal eigenschappen waardoor ze verschillen van conventionele schijven. Initieel zijn ze door de gebruiker niet beschrijfbaar. Ze zijn zó ontworpen dat ze continu, zonder vertragingen van het verplaatsen van de kop tussen tracks, gelezen kunnen worden. Ze zijn ook veel gemakkelijker tussen twee systemen te verplaatsen dan gelijksoortige media in hun tijd waren. CD's hebben tracks, maar die verwijzen naar secties van gegevens die continu gelezen dienen te worden en niet naar fysieke eigenschappen van de schijf. Om een CD op &os; te produceren, dienen de gegevensbestanden waaruit de tracks op de CD gaan bestaan te worden voorbereid, waarna de tracks op de CD worden geschreven. ISO 9660 bestandssystemen ISO 9660 Het bestandssysteem ISO 9660 is ontworpen om met deze verschillen om te gaan. Helaas codeert het bestandssysteemgrenzen die destijds gebruikelijk waren. Gelukkig biedt het een uitbreidingsmechanisme dat correct geschreven CD's toestaat om deze grenzen te overschrijden en nog steeds te werken met systemen die deze uitbreidingen niet ondersteunen. sysutils/cdrtools De port sysutils/cdrtools bevat &man.mkisofs.8;, een programma dat gebruikt kan worden om een gegevensbestand aan te maken dat een ISO 9660-bestandssysteem bevat. Het bevat opties die verschillende uitbreidingen ondersteunen en wordt hieronder beschreven. CD-brander ATAPI Het gereedschap om de CD te branden hangt af van het feit of de CD-brander ATAPI of iets anders is. ATAPI CD-branders gebruiken het programma burncd dat deel uitmaakt van het basissysteem. SCSI en USB CD-branders dienen cdrecord van de port sysutils/cdrtools te gebruiken. Het is ook mogelijk om cdrecord en andere gereedschappen voor SCSI-drives op ATAPI-hardware te gebruiken door middel van de module ATAPI/CAM. Indien CD-brandsoftware met een grafische gebruikersinterface gewenst is, is X-CD-Roast of K3b een mogelijkheid. Deze gereedschappen zijn beschikbaar als package of vanuit de ports sysutils/xcdroast en sysutils/k3b. X-CD-Roast en K3b hebben de module ATAPI/CAM met ATAPI-hardware nodig. mkisofs Het programma &man.mkisofs.8;, dat deel uitmaakt van de port sysutils/cdrtools, maakt een ISO 9660-bestandssysteem aan dat een beeld is van een boomstructuur in de &unix; bestandssysteem-namespace. De eenvoudigste gebruiksvorm is: &prompt.root; mkisofs -o beeldbestand.iso /pad/naar/boomstructuur bestandssystemen ISO 9660 Dit commando maakt een beeldbestand.iso aan dat een ISO 9660-bestandssysteem bevat dat een kopie is van de boomstructuur in /pad/naar/boomstructuur. Tijdens het proces beeldt het bestandsnamen af op namen die aan de beperkingen van het standaard ISO 9660-bestandssysteem voldoen en sluit het bestanden uit die namen hebben die niet karakteristiek zijn voor ISO-bestandssystemen. bestandssystemen HFS bestandssystemen Joliet Er is een aantal opties beschikbaar om over deze beperkingen heen te komen. In het bijzonder zet de Rock Ridge-uitbreidingen aan die gangbaar zijn voor &unix; systemen, zet de Rock Ridge-uitbreidingen aan die gebruikt worden op Microsoft-systemen en kan gebruikt worden om HFS-bestandssystemen aan te maken die door &macos; gebruikt worden. Voor CD's die alleen op &os;-systemen gebruikt gaan worden, kan gebruikt worden om alle restricties op bestandsnamen uit te zetten. Indien het met gebruikt wordt, maakt het een bestandssysteembeeld aan dat identiek is aan de &os;-boomstructuur van waaruit begonnen is, alhoewel het mogelijk is dat het zich op aantal manieren niet aan de ISO 9660-standaard houdt. CD-ROM's opstartbaar maken De laatste optie voor algemeen gebruik is . Deze wordt gebruikt om de plaats van het opstartbeeld aan te geven om een El Torito opstartbare CD te maken. Deze optie heeft een argument nodig, namelijk het pad naar een opstartbeeld dat het begin van de boomstructuur die naar de CD geschreven wordt voorstelt. Gewoonlijk maakt &man.mkisofs.8; een ISO-beeld aan in de zogenaamde diskette-emulatie-modus en verwacht het dus dat het beeldbestand exact 1200, 1440 of 2880 KB groot is. Sommige bootloaders, zoals degene die door de distributieschijven van &os; wordt gebruikt, gebruiken de emulatiemodus niet. In dat geval dient de optie gebruikt te worden. Dus indien /tmp/myboot een opstartbaar &os;-systeem met het beeldbestand in /tmp/myboot/boot/cdboot bevat, kan het beeld van een ISO 9660-bestandssysteem als volgt in /tmp/bootable.iso aangemaakt worden: &prompt.root; mkisofs -R -no-emul-boot -b boot/cdboot -o /tmp/bootable.iso /tmp/myboot Als dit gedaan is en md in de kernel is ingesteld, kan het bestandssysteem gekoppeld worden: &prompt.root; mdconfig -a -t vnode -f /tmp/bootable.iso -u 0 &prompt.root; mount -t cd9660 /dev/md0 /mnt Nu kan gecontroleerd worden of /mnt en /tmp/myboot identiek zijn. Er zijn vele andere opties die met &man.mkisofs.8; gebruikt kunnen worden om het gedrag af te stemmen. In het bijzonder wijzigingen aan een ISO 9660-structuur en het aanmaken van Joliet- en HFS-schijven. Details staan in &man.mkisofs.8;. burncd CD-ROM's branden Indien er een ATAPI CD-brander aanwezig is, kan het commando burncd gebruikt worden om een ISO-beeld naar een CD te branden. burncd maakt deel uit van het basissysteem en is geïnstalleerd als /usr/sbin/burncd. Het gebruik is erg eenvoudig, aangezien het weinig opties heeft. &prompt.root; burncd -f cd-apparaat gegevens beeldbestand.iso fixate Het bovenstaande commando brandt een kopie van beeldbestand.iso naar cd-apparaat. Het standaardapparaat is /dev/acd0. Opties om de schrijfsnelheid in te stellen, de CD na het branden uit te werpen en geluidsgegevens te schrijven staan in &man.burncd.8;. cdrecord Indien er geen ATAPI CD-brander aanwezig is, dient cdrecord gebruikt te worden om CD's te branden. cdrecord maakt geen deel uit van het basissysteem. Het dient òfwel vanuit de port in sysutils/cdrtools òfwel als package geïnstalleerd te worden. Veranderingen in het basissysteem kunnen ervoor zorgen dat binaire versies van dit programma falen, wat mogelijk tot een coaster leidt. Daarom dient òfwel de port bijgewerkt te worden als het systeem wordt bijgewerkt, òwel, als -STABLE gevolgd wordt, dient de port bijgewerkt te worden wanneer er een nieuwe versie beschikbaar komt. Hoewel cdrecord vele opties heeft, is het gebruik voor gewone situaties nog eenvoudiger dan dat van burncd. Een ISO 9660-beeld kan gebrand worden met: &prompt.root; cdrecord dev=device beeldbestand.iso Het lastige gedeelte in het gebruik van cdrecord is het vinden van de juiste . Om de juiste instelling te vinden, kan de vlag van cdrecord gebruikt worden, wat resultaten zoals de onderstaande kan geven: CD-ROM's branden &prompt.root; cdrecord -scanbus Cdrecord-Clone 2.01 (i386-unknown-freebsd7.0) Copyright (C) 1995-2004 Jörg Schilling Using libscg version 'schily-0.1' scsibus0: 0,0,0 0) 'SEAGATE ' 'ST39236LW ' '0004' Disk 0,1,0 1) 'SEAGATE ' 'ST39173W ' '5958' Disk 0,2,0 2) * 0,3,0 3) 'iomega ' 'jaz 1GB ' 'J.86' Removable Disk 0,4,0 4) 'NEC ' 'CD-ROM DRIVE:466' '1.26' Removable CD-ROM 0,5,0 5) * 0,6,0 6) * 0,7,0 7) * scsibus1: 1,0,0 100) * 1,1,0 101) * 1,2,0 102) * 1,3,0 103) * 1,4,0 104) * 1,5,0 105) 'YAMAHA ' 'CRW4260 ' '1.0q' Removable CD-ROM 1,6,0 106) 'ARTEC ' 'AM12S ' '1.06' Scanner 1,7,0 107) * Dit geeft de gepaste -waarden voor de apparaten in de lijst. De CD-brander dient gezocht te worden, waarna de drie getallen gescheiden door komma's gebruikt kunnen worden als de waarde voor . In dit geval is het CD-RW-apparaat 1,5,0, dus is de juiste invoer . Er zijn eenvoudigere manieren om deze waarde te specificeren. In &man.cdrecord.1; staan meer details. Hier staat ook informatie over geluidstracks, de snelheid instellen en meer. Audio-CD's dupliceren Een audio-CD kan gedupliceerd worden door de geluidsgegevens van de CD naar een serie bestanden te schrijven en deze bestanden daarna naar een lege CD te schrijven. Het proces verschilt licht tussen ATAPI- en SCSI-drives. SCSI-drives Onttrek cdda2wav de audio: &prompt.user; cdda2wav -v255 -D2,0 -B -Owav Schrijf met cdrecord de .wav-bestanden: &prompt.user; cdrecord -v dev=2,0 -dao -useinfo *.wav Controleer of 2,0 juist is opgegeven, zoals beschreven in . ATAPI-drives Het ATAPI CD-stuurprogramma maakt elke track beschikbaar als /dev/acddtnn, waarin d het stationsnummer is en nn het tracknummer is in twee decimale cijfers, dat indien nodig vooraf wordt gegaan door een nul. Dus is de eerste track op de eerste schijf /dev/acd0t01, de tweede /dev/acd0t02, de derde /dev/acd0t03, enzovoort. Controleer of de juiste bestanden in /dev bestaan. Als de benodigde namen er niet bijstaan, forceer het systeem dan om opnieuw te kijken: &prompt.root; dd if=/dev/acd0 of=/dev/null count=1 De track kan met &man.dd.1; onttrokken worden. Bij het onttrekken van de bestanden dient een specifieke blokgrootte gebruikt te worden. &prompt.root; dd if=/dev/acd0t01 of=track1.cdr bs=2352 &prompt.root;dd if=/dev/acd0t02 of=track2.cdr bs=2352 ... Brand de onttrokken bestanden met burncd. Er dient opgegeven te worden dat het geluidsbestanden zijn en dat burncd de schijf moet fixeren wanneer na afronding van het proces. &prompt.root; burncd -f /dev/acd0 audio track1.cdr track2.cdr ... fixate Gegevens-CD's dupliceren Een gegevens-CD kan gekopieerd worden naar een beeldbestand dat functioneel gelijk is aan het beeldbestand dat met &man.mkisofs.8; gemaakt is en het kan gebruikt worden om elke gegevens-CD te dupliceren. Het hier gegeven voorbeeld neemt aan dat het CD-ROM-apparaat acd0 is. &prompt.root; dd if=/dev/acd0 of=bestand.iso bs=2048 Nu het beeld beschikbaar is, kan het naar CD geschreven worden zoals hierboven beschreven. Gegevens-CD's gebruiken Nu er een standaard gegevens-CD-ROM is aangemaakt moet deze waarschijnlijk gemount worden om de gegevens die er op staan te lezen. Normaalgesproken neemt &man.mount.8; aan dat een bestandssysteem van het soort ufs is. Als zoiets als onderstaande geprobeerd wordt komt er een klacht over Incorrect super block en geen mount: &prompt.root; mount /dev/cd0 /mnt De CD-ROM bevat geen UFS-bestandssysteem, dus pogingen om zo te mounten mislukken. Er dient aan &man.mount.8; verteld te worden dat het bestandssysteem van het soort ISO9660 is en dan werkt alles. Dit kan door de optie van &man.mount.8; op te geven. Het CD-ROM-apparaat /dev/cd0 onder /mnt mounten kan zo: &prompt.root; mount -t cd9660 /dev/cd0 /mnt De apparaatnaam (in dit voorbeeld /dev/cd0) kan afwijken, afhankelijk van de interface die de CD-ROM gebruikt. Verder voert de optie gewoon &man.mount.cd9660.8; uit. Bovenstaand voorbeeld kan verkort worden tot: &prompt.root; mount_cd9660 /dev/cd0 /mnt Het is in het algemeen mogelijk om gegevens-CD-ROMs van elke fabrikant op deze manier te gebruiken. Schijven met bepaalde uitbreidingen op ISO 9660 kunnen zich echter vreemd gedragen. Joliet-schijven bijvoorbeeld, slaan alle bestandsnamen op in twee-byte Unicode-karakters. De &os;-kernel spreekt geen Unicode, maar het &os; CD9660 stuurprogramma is in staat om Unicode karakters direct te converteren. Als er niet-Engelse karakters verschijnen als vraagtekens, moet de lokale karakterset gedefinieerd worden met de optie. Zie de &man.mount.cd9660.8; handleiding voor meer informatie. Om in staat te zijn om de karakter conversie te doen met behulp van de optie, heeft de kernel de cd9660_iconv.ko module nodig. Deze kan ingeladen worden door het volgende toe te voegen aan /boot/loader.conf: cd9660_iconv_load="YES" en daarna de machine te herstarten of door de module direct in te laden met &man.kldload.8;. Zo nu en dan kan Device not configured verschijnen als geprobeerd wordt om een CD-ROM te mounten. Dit betekent meestal dat het CD-ROM-station denkt dat er geen schijf in de lade ligt of dat het station niet zichtbaar is op de bus. Omdat het enkele seconden kan duren voordat een CD-ROM-station doorheeft dat er een CD-ROM in ligt, is geduld geboden. Soms wordt een SCSI CD-ROM gemist omdat het station niet genoeg tijd had om antwoord te geven op de busreset. Indien er een SCSI CD-ROM aanwezig is, dient de volgende optie aan de kernelinstellingen toegevoegd te worden en de kernel opnieuw gebouwd te worden. options SCSI_DELAY=15000 Dit zorgt ervoor dat de SCSI-bus 15 seconden pauzeert tijdens het opstarten opdat het CD-ROM-station elke gelegenheid krijgt om de busreset te beantwoorden. Rauwe gegevens-CD's branden Een bestand kan direct naar CD geschreven worden zonder een ISO 9660-bestandssysteem aan te maken. Sommige mensen doen dit voor back-updoeleinden. Dit gaat sneller dan een standaard-CD branden: &prompt.root; burncd -f /dev/acd1 -s 12 gegevens archief.tar.gz fixate Om de gegevens terug te halen die op zo'n CD gebrand zijn, is het noodzakelijk om gegevens van de rauwe apparaatnode te lezen: &prompt.root; tar xzvf /dev/acd1 Het is niet mogelijk om deze schijf te mounten zoals dat voor een normale CD-ROM gedaan wordt. Zo'n CD-ROM kan onder geen enkel besturingssysteem, behalve &os;, gelezen worden. Om de CD te kunnen mounten of gegevens te delen met een ander besturingssysteem, dient &man.mkisofs.8; gebruikt te worden, zoals boven beschreven is. Marc Fonvieille Bijgedragen door CD-brander ATAPI/CAM-stuurprogramma Het ATAPI/CAM-stuurprogramma gebruiken Dit stuurprogramma stelt ATAPI-apparaten (CD-ROM, CD-RW, DVD-stations, enzovoort) in staat om vanuit het SCSI-subsysteem benaderd te worden en maakt daarmee het gebruik van applicaties zoals sysutils/cdrdao of &man.cdrecord.1; mogelijk. Om dit stuurprogramma te gebruiken, is het noodzakelijk om de volgende regel aan het /boot/loader.conf bestand toe te voegen: atapicam_load="YES" om daarna de machine opnieuw op te starten. Als het noodzakelijk is om &man.atapicam.4; statisch toe te voegen aan de kernel moet de volgende regel worden toegevoegd aan het kernelinstellingenbestand: device atapicam Ook zijn de volgende regels in het kernelinstellingenbestand nodig, die meestal wel aanwezig zijn: device ata device scbus device cd device pass Hierna dient de nieuwe kernel opnieuw gebouwd en geïnstalleerd te worden en dient de machine opnieuw gestart te worden. Tijdens het opstartproces dient de brander als volgt te verschijnen: acd0: CD-RW <MATSHITA CD-RW/DVD-ROM UJDA740> at ata1-master PIO4 cd0 at ata1 bus 0 target 0 lun 0 cd0: <MATSHITA CD-RW/DVD UJDA740 1.00> Removable CD-ROM SCSI-0 device cd0: 16.000MB/s transfers cd0: Attempt to query device size failed: NOT READY, Medium not present - tray closed Het station is nu toegankelijk via de apparaatnaam /dev/cd0. Om bijvoorbeeld een CD-ROM op /mnt te mounten: &prompt.root; mount -t cd9660 /dev/cd0 /mnt Als root kan het volgende commando gegeven worden om het SCSI-adres van de brander te verkrijgen: &prompt.root; camcontrol devlist <MATSHITA CD-RW/DVD UJDA740 1.00> at scbus1 target 0 lun 0 (pass0,cd0) Dus 1,0,0 is het SCSI-adres dat met &man.cdrecord.1; en andere SCSI-toepassingen gebruikt dient te worden. Meer informatie over het ATAPI/CAM en het SCSI-systeem staat in de hulppagina's van &man.atapicam.4; en &man.cam.4;. Marc Fonvieille Bijgedragen door Andy Polyakov Met toevoegingen van Optische media (DVD's) aanmaken en gebruiken DVD branden Inleiding Vergeleken met de CD behoort de DVD de tot de volgende generatie van optische media-opslagtechnologie. De DVD kan meer gegevens bevatten dan enige CD en is tegenwoordig de standaard voor videopublicatie. Er kunnen vijf fysieke opneembare formaten gedefinieerd worden die opneembare DVD heten: DVD-R: dit was het eerst beschikbare opneembare DVD-formaat. De DVD-R-standaard is gedefinieerd door het DVD Forum. Dit formaat is voor eenmalig schrijven. DVD-RW: dit is de herschrijfbare versie van de DVD-R-standaard. Een DVD-RW kan tot ongeveer 1.000 maal herschreven worden. DVD-RAM: dit is ook een herschrijfbaar formaat dat door het DVD Forum ondersteund wordt. Een DVD-RAM kan gezien worden als een verwisselbare harde schijf. Dit medium is echter niet uitwisselbaar met de meeste DVD-ROM-stations en DVD-Video-spelers. Slechts enkele DVD-schrijvers ondersteunen het DVD-RAM-formaat. Lees voor meer informatie over het gebruik van DVD-RAM. DVD+RW: dit is het herschrijfbare formaat dat is gedefinieerd door de DVD+RW Alliance. Een DVD+RW kan tot ongeveer 1.000 maal herschreven worden. DVD+R: dit formaat is de eenmalig beschrijfbare versie van het DVD+RW-formaat. Een enkellaags opneembare DVD kan maximaal 4.700.000.000 bytes bevatten, wat eigenlijk 4,38 GB of 4.485 MB is (1 kB is 1024 bytes). Er dient onderscheid gemaakt te worden tussen het fysieke medium en de toepassing. Een DVD-Video bijvoorbeeld is een specifiek bestandsschema dat op elk fysiek opneembaar DVD-medium geschreven kan worden: DVD-R, DVD+R, DVD-RW, enzovoort. Voordat het mediumtype gekozen wordt, dient het zeker te zijn dat zowel de brander als de DVD-Video-speler (een onafhankelijke speler of een DVD-ROM-station in een computer) overweg kunnen met het overwogen medium. Instellingen Het programma &man.growisofs.1; wordt gebruikt om DVD's op te nemen. Dit commando is deel van de dvd+rw-tools gereedschappen (sysutils/dvd+rw-tools). dvd+rw-tools ondersteunt alle types DVD-media. Deze gereedschappen gebruiken het SCSI-subsysteem om toegang tot de apparaten te krijgen, daarvoor moet ondersteuning voor ATAPI/CAM aan de kernel toegevoegd worden. Indien de brander de USB-interface gebruikt, is deze toevoeging nutteloos en dient gelezen te worden voor meer details over het instellen van USB-apparaten. De DMA-toegang voor ATAPI-apparaten dient ook aangezet te worden door de volgende regel aan het bestand /boot/loader.conf toe te voegen: hw.ata.atapi_dma="1" Voordat de dvd+rw-tools gebruikt kunnen worden, dienen de dvd+rw-tools' hardware compatibility notes geraadpleegd te worden voor enige informatie die betrekking heeft op de DVD-brander. Indien een grafische gebruikersinterface gewenst is, is K3b (sysutils/k3b), die een gebruikersvriendelijke interface biedt voor &man.growisofs.1; en vele andere brandprogramma's, het bekijken waard. Gegevens-DVD's branden Het commando &man.growisofs.1; is een frontend voor mkisofs. Het roept &man.mkisofs.8; aan om het bestandssysteemoverzicht aan te maken en het schrijft naar de DVD. Hierdoor is het niet nodig om een beeld van de gegevens aan te maken voordat met branden begonnen wordt. Om de gegevens uit de map /pad/naar/gegevens op een DVD+R of een DVD-R te branden: &prompt.root; growisofs -dvd-compat -Z /dev/cd0 -J -R /pad/naar/gegevens De opties worden doorgegeven aan &man.mkisofs.8; voor het aanmaken van het bestandssysteem (in dit geval een ISO 9660-bestandssysteem met Joliet en Rock Ridge uitbreidingen). Meer details staan in de hulppagina &man.mkisofs.8;. De optie wordt gebruikt voor het opnemen van de eerste sessie, ook bij meerdere sessies. Het DVD-apparaat, /dev/cd0, dient aan de hand van de instellingen aangepast te worden. De parameter sluit de schijf zodat er niets aan de opname toegevoegd kan worden. Dit zou als tegenprestatie betere uitwisselbaarheid met DVD-ROM-stations moeten geven. Het is ook mogelijk om een vooraf gemastered beeld te branden, om bijvoorbeeld het beeld beeldbestand.iso te branden: &prompt.root; growisofs -dvd-compat -Z /dev/cd0=beeldbestand.iso De schrijfsnelheid moet automatisch gedetecteerd en ingesteld worden, afhankelijk van het medium en het gebruikte station. Om de schrijfsnelheid te forceren, dient de parameter gebruikt te worden. Meer informatie staat in de hulppagina &man.growisofs.1;. DVD DVD-Video DVD-Video branden Een DVD-Video is een specifiek bestandsschema dat gebaseerd is op de ISO 9660 en de micro-UDF (M-UDF) specificaties. DVD-Video heeft ook een specifieke hiërarchie voor de gegevensstructuur, de reden waarom een speciaal programma zoals multimedia/dvdauthor nodig is om de DVD te schrijven. Indien er reeds een beeld van het bestandssysteem van de DVD-Video beschikbaar is, kan het zoals elk ander beeld gebrand worden. In de vorige sectie staat een voorbeeld. Als het resultaat voor de inhoud voor de DVD bijvoorbeeld in de map /pad/naar/video staat, kan de DVD-Video als volgt gebrand worden: &prompt.root; growisofs -Z /dev/cd0 -dvd-video /pad/naar/video De optie wordt doorgegeven aan &man.mkisofs.8; en geeft het opdracht om een bestandssysteemschema voor een DVD-Video aan te maken. Verder impliceert de optie de optie van &man.growisofs.1;. DVD DVD+RW DVD+RW gebruiken In tegenstelling tot een CD-RW dient een nieuwe DVD+RW voor het eerste gebruik geformatteerd te worden. Het programma &man.growisofs.1; regelt dit automatisch als nodig. Dit is de aanbevolen manier. Het is ook mogelijk om dvd+rw-format te gebruiken om een DVD+RW te formatteren: &prompt.root; dvd+rw-format /dev/cd0 Deze operatie hoeft slechts één maal uitgevoerd te worden. Onthoud dat alleen nieuwe DVD+RW-media geformatteerd dienen te worden. Daarna is het mogelijk om de DVD+RW op dezelfde manier te branden zoals in bovenstaande secties staat vermeldt. Om nieuwe gegevens op een DVD+RW te branden (een geheel nieuw bestandssysteem branden, niet wat gegevens toevoegen), is het niet nodig om deze te wissen. Het is voldoende om de vorige opname te overschrijven (tijdens het aanmaken van een initiële sessie), zoals hieronder: &prompt.root; growisofs -Z /dev/cd0 -J -R /pad/naar/nieuwe gegevens Het DVD+RW-formaat biedt de mogelijkheid om eenvoudig nieuwe gegevens aan een vorige opname toe te voegen. De operatie bestaat uit het samenvoegen van een nieuwe sessie en de bestaande. Het is geen multisessie-schrijven. &man.growisofs.1; laat het ISO 9660-bestandssysteem dat aanwezig is op het medium groeien. Om gegevens aan de vorige DVD+RW toe te voegen: &prompt.root; growisofs -M /dev/cd0 -J -R /pad/naar/volgende gegevens Dezelfde opties van &man.mkisofs.8; die gebruikt werden om de initiële sessie te branden, dienen gebruikt te worden tijdens schrijfsessies. De optie kan gebruikt worden als betere uitwisselbaarheid met DVD-ROM-stations gewenst is. In het geval van een DVD+RW verhindert dit het toevoegen van gegevens niet. Om het medium te wissen: &prompt.root; growisofs -Z /dev/cd0=/dev/zero DVD DVD-RW DVD-RW gebruiken Een DVD-RW accepteert twee schijfformaten: de incrementele sequentiële en beperkt overschrijven. Standaard zijn DVD-RW-schijven in het sequentiële formaat. Een nieuwe DVD-RW kan direct beschreven worden zonder deze te formatteren. Een gebruikte DVD-RW in sequentieel formaat dient echter gewist te worden voordat het mogelijk is om een nieuwe initiële sessie te schrijven. Om een DVD-RW in sequentiële toestand te wissen, dient het volgende gedaan te worden: &prompt.root; dvd+rw-format -blank=full /dev/cd0 Volledig wissen () neemt ongeveer één uur in beslag op een 1x-medium. Het is mogelijk om snel te wissen door gebruik te maken van de optie als de DVD-RW in Disk-At-Once-modus (DAO) wordt opgenomen. Om de DVD-RW in DAO-modus te branden: &prompt.root; growisofs -use-the-force-luke=dao -Z /dev/cd0=beeldbestand.iso De optie is niet nodig aangezien &man.growisofs.1; probeert om minimale (snel gewiste) media te detecteren en gebruik te maken van DAO-schrijven. Eigenlijk moet beperkt overschrijven gebruikt worden met elke DVD-RW. Dit formaat is flexibeler dan het standaard incrementeel sequentiële. Om gegevens op een sequentiële DVD-RW te schrijven, worden dezelfde instructies gebruikt als voor de andere DVD-formaten: &prompt.root; growisofs -Z /dev/cd0 -J -R /pad/naar/gegevens Om wat gegevens aan de vorige opname toe te voegen, dient de optie van &man.growisofs.1; gebruikt te worden. Als echter gegevens aan een DVD-RW in incrementeel sequentiële modus worden toegevoegd, wordt een nieuwe sessie op de schijf aangemaakt wat resulteert in een multisessie schijf. Een DVD-RW in het beperkt overschrijven formaat hoeft niet gewist te worden vóór een nieuwe initiële sessie. Het is voldoende om de schijf te overschrijven met de optie , wat analoog is aan het geval van de DVD+RW. Het is ook mogelijk om een bestaand ISO 9660-bestandssysteem te laten groeien op soortgelijke wijze als voor een DVD+RW met de optie . Het resultaat is een enkelsessie DVD. Om een DVD-RW in het beperkt overschrijven-formaat te zetten: &prompt.root; dvd+rw-format /dev/cd0 Om terug te gaan naar het sequentiële formaat: &prompt.root; dvd+rw-format -blank=full /dev/cd0 Multisessie Multisessie DVD's worden door zeer weinig DVD-ROM-stations geaccepteerd en meestal lezen ze hopelijk tenminste de eerste sessie. DVD+R, DVD-R en DVD-RW kunnen in het sequentiële formaat meerdere sessies accepteren. Het idee van meerdere sessies bestaat niet voor de formaten DVD+RW en DVD-RW in beperkt overschrijven. Om een nieuwe sessie achter een initiële (niet-gesloten) sessie op een DVD+R, DVD-R of DVD-RW in sequentieel formaat toe te voegen: &prompt.root; growisofs -M /dev/cd0 -J -R /pad/naar/volgende gegevens Het gebruik van dit commando met een DVD+RW of een DVD-RW in beperkt overschrijven-formaat voegt gegevens toe door de nieuwe sessie samen te voegen met de bestaande. Dit leidt tot een enkelsessie schijf. Deze manier kan gebruikt worden om gegevens achter een initiële sessie aan deze media toe te voegen. Op deze media wordt wat ruimte gebruikt tussen elke sessie om het einde en begin van de sessies aan te geven. Daarom dienen sessies met grote hoeveelheden gegevens toegevoegd te worden om de mediaruimte te optimaliseren. Het aantal sessies is beperkt tot 154 voor een DVD+R, ongeveer 2000 voor een DVD-R en 127 voor een dubbellaags DVD+R. Meer informatie Om meer informatie over een DVD te verkrijgen kan het commando dvd+rw-mediainfo /dev/cd0 met de schijf in het station gebruikt worden. Meer informatie over dvd+rw-tools staat in de hulppagina &man.growisofs.1;, op de dvd+rw-tools website en in de archieven van de cdwrite mailing list. De uitvoer van dvd+rw-mediainfo met betrekking tot de resulterende opname of het medium met problemen is verplicht voor elk probleemrapport. Zonder deze uitvoer volgt geen hulp. DVD-RAM gebruiken DVD - + DVD-RAM Configuratie DVD-RAM schrijvers komen met of een SCSI of een ATAPI interface. DMA toegang voor ATAPI apparaten moet worden ingeschakeld, wat gedaan kan worden door de volgende regel toe te voegen aan /boot/loader.conf: hw.ata.atapi_dma="1" Voorbereiden van het medium Zoals vermeld in de introductie van dit hoofdstuk kan DVD-RAM gezien worden als een verwijderbare harde schijf. Zoals elke andere harde schijf moet de DVD-RAM voorbereid worden voor het eerste gebruik. In het voorbeeld wordt alle beschikbare ruimte gebruikt voor een standaard UFS2 bestandssysteem: - &prompt.root; dd if=/dev/zero of=/dev/acd0 count=2 + &prompt.root; dd if=/dev/zero of=/dev/acd0 bs=2k count=1 &prompt.root; bsdlabel -Bw acd0 &prompt.root; newfs /dev/acd0 Het DVD apparaat, acd0 moet worden gewijzigd naar gelang de configuratie. Het medium gebruiken Zodra de voorgaande operaties uitgevoerd zijn op de DVD-RAM kan het gekoppeld worden net als een normale harde schijf: &prompt.root; mount /dev/acd0 /mnt Hierna zal de DVD-RAM zowel lees- als beschrijfbaar zijn. Julio Merino Origineel werk door Martin Karlsson Herschreven door Diskettes aanmaken en gebruiken Soms is het opslaan van gegevens op een diskette nuttig, bijvoorbeeld als er geen andere verwijderbare opslagmedia beschikbaar zijn of als kleine hoeveelheden gegevens naar een andere computer moeten worden overgedragen. In deze sectie wordt beschreven hoe diskettes in &os; gebruikt dienen te worden. Hier worden hoofdzakelijk het formatteren en gebruik van 3,5 inch DOS-diskettes behandeld, maar de concepten zijn vergelijkbaar voor andere disketteformaten. Diskettes formatteren Het apparaat Diskettes worden benaderd door ingangen in /dev net zoals andere apparaten. Om een rauwe floppy te benaderen gebruik je /dev/fdN. Formatteren Een diskette dient op laag niveau geformatteerd te worden voordat deze kan worden gebruikt. Dit wordt meestal door de fabrikant gedaan, maar formatteren is een goede manier om de integriteit van het medium te controleren. Hoewel het mogelijk is om grotere (of kleinere) schijfgroottes te forceren, zijn de meeste diskettes ontworpen voor 1440kB. Een diskette kan op laag niveau geformatteerd worden met &man.fdformat.1;. Dit gereedschap verwacht de apparaatnaam als parameter. Op basis van eventuele foutmeldingen kan bepaald worden of een schijf goed of slecht is. Formatteren van floppies Voor het formatteren van de diskette dienen de apparaten /dev/fdN gebruikt te worden. Nadat een 3,5 inch diskette in het station is gestoken: &prompt.root; /usr/sbin/fdformat -f 1440 /dev/fd0 Schijflabels Nadat de diskette op laag niveau is geformatteerd, dient er schijflabel aan gekoppeld te worden. Dit schijflabel wordt later vernietigd, maar het systeem heeft het nodig om later de grootte en de geometrie van de schijf te bepalen. Het nieuwe schijflabel neemt de gehele schijf over en bevat alle benodigde informatie over de geometrie van de diskette. De geometriewaarden van het schijflabel staan vermeld in /etc/disktab. Nu kan &man.bsdlabel.8; als volgt gedraaid worden: - &prompt.root; /sbin/bsdlabel -B -r -w /dev/fd0 fd1440 + &prompt.root; /sbin/bsdlabel -B -w /dev/fd0 fd1440 Bestandssystemen Nu is de diskette klaar om op hoog niveau geformatteerd te worden. Hiermee wordt een nieuw bestandssysteem opgezet, wat &os; in staat stelt om naar de schijf te lezen en te schrijven. Nadat het nieuwe bestandssysteem is aangemaakt, wordt het schijflabel vernietigd, dus om de schijf te herformatteren is het noodzakelijk om het schijflabel opnieuw aan te maken. Het bestandssysteem voor diskettes kan zowel UFS als FAT zijn. FAT is over het algemeen een betere keuze voor diskettes. Om een nieuw bestandssysteem op de diskettes te zetten: &prompt.root; /sbin/newfs_msdos /dev/fd0 De schijf is nu klaar voor gebruik. Diskettes gebruiken Om de diskette te gebruiken kan &man.mount.msdosfs.8; gebruikt worden om het medium te mounten. Ook kan emulators/mtools uit de Portscollectie worden gebruikt. Gegevensbanden aanmaken en gebruiken bandmedia De belangrijkste bandmedia zijn de 4mm, 8mm, QIC, mini-cartridge en DLT. 4mm (DDS: Digital Data Storage) bandmedia DDS (4mm) banden bandmedia QIC banden 4mm-banden vervangen steeds vaker QIC-banden als back-upmedium voor werkstations. Deze trend werd versneld toen Connor Archive, een toonaangevende fabrikant van QIC-stations, overnam en daarna de productie van QIC-stations stopte. 4mm-stations zijn klein en stil maar genieten niet de betrouwbaarheidsreputatie van 8mm-stations. De cartridges zijn minder duur en kleiner (3 x 2 x 0,5 inch, 76 x 51 x 12 mm) dan 8mm-cartridges. Net zoals bij 8mm hebben de koppen bij 4mm een vergelijkbaar kort leven, omdat beiden gebruik maken van een helische scan. De gegevensdoorvoer op deze stations begint bij ongeveer 150 kB/s, met pieken van 500 kB/s. De opslagcapaciteit begint bij 1,3 GB en eindigt bij 2,0 GB. Hardwarecompressie, die voor de meeste stations beschikbaar is, zorgt voor ongeveer een verdubbeling van de capaciteit. Bibliotheekeenheden van multi-station bandbiliotheken kunnen 6 stations in een enkel kabinet bevatten met automatische wisseling van de banden. De capaciteit van een bibliotheek loopt op tot 240 GB. Door de DDS-3-standaard worden bandcapaciteiten van 12 GB (of 24 GB met compressie) ondersteund. Net als 8mm-drives gebruiken 4mm-drives helische scan. Alle voor- en nadelen van helische scan gelden voor zowel 4mm- als 8mm-stations. Banden dienen na 2.000 maal of 100 volledige back-ups afgedankt te worden. 8mm (Exabyte) bandmedia Exabyte (8mm) banden 8mm-banden zijn de meest gebruikte SCSI-banden. Ze vormen de beste keuze met betrekking tot het uitwisselen van banden. Bijna elk bedrijf heeft een Exabyte 2 GB 8mm-bandstation. 8mm-stations zijn betrouwbaar, gemakkelijk en stil. Cartridges zijn niet duur en klein (4,8 x 3,3 x 0,6 inch; 122 x 84 x 15 mm). Een nadeel van 8mm-banden is de relatief korte levensduur van de kop en band vanwege de hoge mate van relatieve beweging tussen de band en de koppen. De gegevensdoorvoer varieert van ~250 kB/s tot ~500 kB/s. De gegevensomvang begint bij 300 MB en kan oplopen tot 7 GB. Hardwarecompressie, waarmee de meeste stations van deze soort zijn uitgerust, zorgt voor ongeveer een verdubbeling van de capaciteit. Deze stations zijn los of als multi-station bandbiliotheken met 6 stations en 120 banden in een enkele kast beschikbaar. In het laatste geval worden banden automatisch per stuk verwisseld. De capaciteit van een bibliotheek kan oplopen tot meer dan 840 GB. Het model Mammoth van Exabyte ondersteunt een een capaciteit van 12 GB (24 GB met compressie) per band en kost ongeveer twee maal zoveel als een gewoon bandstation. Gegevens worden door middel van helische scan op de band gezet en de koppen zijn onder een hoek (ongeveer 6 graden) op het medium gepositioneerd. De band wordt 270 graden om de spoel gewikkeld die de koppen vasthoudt. Dit resulteert in een hoge gegevensdichtheid en dicht bij elkaar staande sporen die een hoek van de ene naar de andere kant van de band maken. QIC bandmedia QIC-150 De banden en stations voor de QIC-150 zijn misschien de meest voorkomende bandstations en bandmedia. QIC-bandstations zijn de minst dure serieuze back-upstations. Het nadeel is de prijs van de media. QIC-banden zijn duur in vergelijking met 8mm- of 4mm-banden. De prijs per GB opslagruimte kan tot 5 maal zo hoog zijn. Indien een half dozijn banden toereikend is, zijn QIC-banden waarschijnlijk de juiste keuze. QIC is het meest voorkomende bandstation. Elk bedrijf heeft QIC-stations met een bepaalde capaciteit. QIC heeft namelijk een groot aantal capaciteiten per type band, die fysiek vergelijkbaar (soms identiek) zijn. QIC-banden zijn niet stil. Deze stations maken een hoorbaar geluid tijdens het zoeken voordat ze beginnen met het opnemen van gegevens en zijn duidelijk hoorbaar tijdens het lezen, schrijven en zoeken. QIC-banden zijn 6 x 4 x 0,7 inch of 152 x 102 x 17 mm groot. De gegevensdoorvoer varieert van ~150 kB/s tot ~500 kB/s. Hardwarecompressie is mogelijk met veel van de nieuwere bandstations. QIC-stations worden steeds minder vaak geïnstalleerd. Ze worden vervangen door DAT-stations. Gegevens worden in sporen op de band gezet. De sporen lopen parallel aan de lange as van het bandmedium van het ene naar het andere einde. Het aantal sporen, en daarmee de breedte van een spoor, varieert met de capaciteit van de band. De meeste, zo niet alle, nieuwe stations bieden achterwaartse leescompatibiliteit (en vaak ook achterwaartse schrijfcompabiliteit). QIC heeft een goede reputatie op het gebied van gegevensveiligheid (de mechanismen zijn eenvoudiger en robuuster dan die van helische scan-stations). Banden dienen na 5.000 back-ups afgedankt te worden. DLT bandmedia DLT DLT-banden hebben de snelste gegevensdoorvoer van alle hiergenoemde bandstations. De band van 1/2 inch (12,5 mm) zit in een cartridge (4 x 4 x 1 inch; 100 x 100 x 25 mm) op één enkele haspel. De cartridge heeft een opklapbare opening aan één gehele kant van de cartridge. Het mechanisme van het station opent deze opening om de bandleider eruit te halen. De bandleider heeft een ovaal gat dat door het station gebruikt wordt om de band vast te zetten. De haspel die de band aanpakt is in het bandstation gesitueerd. Bij alle andere bandcartridges die hier genoemd zijn (9-sporige banden zijn de enige uitzondering) zitten zowel de haspel die de band levert als de haspel die de band aanpakt in de bandcartridge zelf. De gegevensdoorvoer bedraagt ongeveer 1.5 MB/s, drie maal de doorvoer van 4mm-, 8mm-, en QIC-bandstations. De gegevenscapaciteit varieert van 10 GB tot 20 GB per stations. Stations zijn als meerdere-bandwisselaars en als bibliotheken van meerdere banden en meerdere stations beschikbaar, die 5 tot 900 banden bevatten verspreid over 1 tot 20 stations, waardoor een opslagcapaciteit van 50 GB tot 9 TB geleverd wordt. Met compressie levert het formaat DLT Type IV tot 70 GB aan capaciteit. Gegevens worden in sporen die parallel aan de looprichting lopen op de band gezet (net als met QIC-banden). Er worden twee sporen per keer geschreven. De levensduur van de lees- en schrijfkoppen is relatief lang. Als de band eenmaal stilstaat, is er geen relatieve beweging tussen de koppen en de band. AIT bandmedia AIT AIT is een nieuw formaat van Sony dat (met compressie) tot 50 GB gegevens per band kan bevatten. De band bevat geheugenchips die een index van de inhoud van de band bevatten. Deze index kan snel door het bandstation gelezen worden voor het bepalen van de positie van bestanden op de band, in plaats van de enkele minuten die nodig zijn voor andere banden. Software als SAMS:Alexandria kan meer dan veertig AIT-bandbibliotheken beheren, waarbij het direct met de geheugenchip van de band communiceert om de inhoud op het scherm te tonen, om te bepalen welke bestanden naar welke band zijn geback-upped en om de correcte band te vinden, laden en de gegevens ervan terug te zetten. Dit soort bibliotheken kosten rond de $ 20.000, waardoor ze enigszins boven het budget van de hobbyist liggen. Eerste gebruik van een nieuwe band Als de eerste keer van een nieuwe, geheel lege band wordt gelezen of ernaar wordt geschreven, mislukt dit. Het bericht op de console zier er analoog aan het volgende uit: sa0(ncr1:4:0): NOT READY asc:4,1 sa0(ncr1:4:0): Logical unit is in process of becoming ready De band bevat geen Identifier Block (bloknummer 0). Alle QIC-bandstations sinds de adoptie van de standaard QIC-525 schrijven een Identifier Block naar de band. Er zijn twee oplossingen: mt fsf 1 zorgt ervoor dat het bandstation een Identifier Block naar de band schrijft. De knop aan de voorkant van het paneel dient gebruikt te worden om de band uit te werpen. De band dient opnieuw in het station gestoken te worden en met dump worden gegevens naar de band gedumpt. dump geeft DUMP: End of tape detected en de console laat het volgende zien:HARDWARE FAILURE info:280 asc:80,96. De band kan met mt rewind teruggespoeld te worden. Hierna zijn alle bandbewerkingen succesvol. Naar diskettes back-uppen Kunnen diskettes gebruikt worden om gegevens te back-uppen? back-updiskettes diskettes Diskettes zijn niet bepaald een geschikt medium om back-ups mee te maken, omdat: Het medium onbetrouwbaar is, in het bijzonder op de langere termijn; Het back-uppen en terugzetten erg traag is; Diskettes een zeer beperkte capaciteit hebben. De tijden dat een hele harde schijf naar een tiental diskettes kon worden geback-upped zijn allang verstreken. Maar als er geen andere manier beschikbaar is om de gegevens te back-uppen, is een back-up naar diskettes beter dan helemaal geen back-up. Gebruikte diskettes moet van goede kwaliteit zijn. Diskettes die al jaren op kantoor rondgeslingerd hebben, zijn een slechte keuze. In het ideale geval dienen nieuwe diskettes van een reputabele fabrikant gebruikt te worden. Hoe de gegevens naar diskettes back-uppen? Het beste kan naar diskettes worden geback-upped door gebruik te maken van &man.tar.1; met de optie (meerdere volumes), die back-ups over meerdere diskettes ondersteunt. Om alle bestanden in de huidige map en de submappen te back-uppen (als root): &prompt.root; tar Mcvf /dev/fd0 * Als de eerste diskette vol is, vraagt &man.tar.1; om het volgende volume. Omdat &man.tar.1; media-onafhankelijk is, refereert het aan volumes, in deze context diskettes. Prepare volume #2 for /dev/fd0 and hit return: Dit wordt herhaald (met oplopend volumenummer) totdat alle gespecificeerde bestanden zijn geback-upped. Kunnen back-ups gecomprimeerd worden? tar gzip compressie Helaas staat &man.tar.1; het gebruik van de optie niet toe voor archieven over meerdere volumes. Het is uiteraard mogelijk om alle bestanden met &man.gzip.1; te comprimeren, ze met &man.tar.1; op diskettes te zetten en ze daarna met &man.gunzip.1; weer te decomprimeren! Hoe worden de back-ups teruggezet? Om een volledige archief terug te zetten: &prompt.root; tar Mxvf /dev/fd0 Er zijn twee manieren om alleen specifieke bestanden terug te zetten. Ten eerste kan met de eerste diskette begonnen worden: &prompt.root; tar Mxvf /dev/fd0 bestandsnaam Het programma &man.tar.1; vraagt om de vervolgdiskettes totdat het benodigde bestand is gevonden. Als alternatief kan, als bekend is op welke diskette het bestand staat, de betreffende diskette worden ingestoken en bovenstaand commando gebruikt worden. Als het eerste bestand op de diskette een vervolg is van de vorige diskette, waarschuwt &man.tar.1; dat het bestand niet teruggezet kan worden, zelfs als hier niet om gevraagd is! Lowell Gilbert Oorspronkelijk werk van Back-up strategieën Het eerste wat nodig is voor het ontwepken van een back-upplan, is er voor te zorgen dat de volgende mogelijke problemen worden ondervangen: Schijffalen Per ongeluk verwijderde bestanden Willekeurige bestandscorruptie Complete machinevernietiging (door bijvoorbeeld brand), inclusief de vernietiging van lokaal beschikbare back-ups. Het is goed mogelijk dat een aantal systemen het best geholpen zijn door voor al deze problemen een andere techniek te gebruiken. Behalve voor volledig persoonlijke systemen met niet echt belangrijke gegevens, is het zelfs onwaarschijnlijk dat één techniek alle mogelijke problemen kan afvangen. Een aantal technieken in de gereedschapskist zijn: Archiveren van een heel systeem op een back-up die niet lokaal wordt bewaard. Dit biedt bescherming tegen alle hierboven beschreven problemen, maar het is langzaam en onhandig om er een restore van te maken. Het is mogelijk om lokaal een kopie aan te houden en/of online, maar dan zijn er nog steeds onhandigheden, in het bijzonder voor restores voor gebruikers met beperkte rechten. Snapshots van bestandssystemen. Dit werkt eigenlijk alleen in het geval bestanden per ongelijk verwijderd worden, maar het kan in dat geval erg handig zijn en het werkt snel en eenvoudig. Een kopie maken van hele bestandssystemen en/of schijven (bijvoorbeeld een periodieke &man.rsync.1; van een hele machine). Dit is in het algemeen het meest bruikbaar in netwerken met specifieke eisen. Voor algemene bescherming tegen het falen van een schijf, is het meestal minder geschikt dan RAID. Voor het herstellen van per ongeluk verwijderde bestanden is het vergelijkbaar aan UFS snapshots, maar dat hangt af van persoonlijke voorkeuren. RAID. Minimaliseert of voorkomt downtijd als een schijf faalt. Dit ten koste van het vaker hebben van schijven die falen (omdat er meer van zijn), maar wel met een veel lagere urgentie. Controleren van fingerprints van bestanden. Het hulpprogramma &man.mtree.8; kan hier bij helpen. Hoewel dit geen back-uptechniek is, zorgt het er wel voor dat kan worden opgemerkt wanneer back-ups geraadpleegd moeten worden. Dit is in het bijzonder belangrijk voor offline back-ups en de fingerprints horen periodiek gecontroleerd te worden. Het is makkelijk om met nog meer technieken op de proppen te komen, waaronder veel variaties op de bovengenoemde. Bijzondere eisen leiden vaak tot bijzondere oplossingen. Het back-uppen van een draaiende database vereist bijvoorbeeld een methode die toegespitst is op de gebruikte database software als tussenstap. Het is van groot belang om te onderkennen tegen welke gevaren er bescherming dient te zijn en hoe daarmee om te gaan. Back-upbeginselen De drie grote back-upprogramma's zijn &man.dump.8;, &man.tar.1; en &man.cpio.1;. Dump en Restore back-upsoftware dump / restore dump restore De traditionele back-upprogramma's voor &unix; zijn dump en restore. Deze zien het station als een verzameling van schijfblokken, onder de abstracties van bestanden, koppelingen en mappen die door de bestandssystemen worden aangemaakt. dump verzorgt een back-up van een compleet bestandssysteem op een apparaat. Het is niet in staat om slechts een gedeelte van een bestandssysteem of een mapstructuur die meer dan één bestandssysteem in beslag neemt te back-uppen. dump schrijft geen bestanden en mappen naar band, maar de rauwe gegevensblokken waaruit de bestanden en mappen bestaan. Indien dump op een hoofdmap wordt gebruikt, wordt er geen back-up gemaakt van /home , /usr of van de vele andere mappen, aangezien dit typisch mountpunten voor andere bestandssystemen of symbolische koppelingen binnen deze bestandssystemen zijn. dump bevat eigenaardigheden die uit de begintijd in Versie 6 van AT&T &unix; (circa 1975) zijn overgebleven. De standaardparameters zijn geschikt voor banden met 9 sporen (6.250 bpi), niet voor de media met hoge dichtheid die vandaag beschikbaar zijn (tot 62.182 ftpi). Deze standaardwaarden dienen op de opdrachtregel overschreven te worden om de capaciteit van de huidige bandstations te benutten. .rhosts Het is ook mogelijk om gegevens met rdump en rrestore over een netwerk naar een bandstation dat aan een andere computer gekoppeld is te back-uppen. Beide programma's maken gebruik van &man.rcmd.3; en &man.ruserok.3; om toegang tot het bandstation op afstand te krijgen. De gebruiker die de back-up uitvoert moet vermeld staat in het bestand .rhosts op de computer op afstand. De argumenten die aan rdump en rrestore gegeven worden dienen geschikt te zijn voor gebruik op de computer op afstand. Als rdump gebruikt wordt om een dump te maken van een &os; computer naar een Exabyte-bandstation dat met een Sun-computer genaamd komodo verbonden is: &prompt.root; /sbin/rdump 0dsbfu 54000 13000 126 komodo:/dev/nsa8 /dev/da0a 2>&1 Let op: er kleven veiligheidsbezwaren aan het toestaan van authenticatie met .rhosts. De situatie dient goed geëvalueerd te worden. Het is ook mogelijk om dump en restore op een veiligere manier via ssh te gebruiken. Het gebruik van <command>dump</command> via <application>ssh</application> &prompt.root; /sbin/dump -0uan -f - /usr | gzip -2 | ssh -c blowfish \ doelgebruiker@doelmachine.voorbeeld.com dd of=/mijngrotebestanden/dump-usr-10.gz Ook kan de ingebouwde manier van dump gebruikt worden, door de omgevingsvariabele RSH in te stellen: Het gebruik van <command>dump</command> via <application>ssh</application> met ingestelde <envar>RSH</envar> &prompt.root; RSH=/usr/bin/ssh /sbin/dump -0uan -f doelgebruiker@doelmachine.voorbeeld.com:/dev/sa0 /usr <command>tar</command> back-upsoftware tar &man.tar.1; stamt ook uit de tijd van Versie 6 van AT&T &unix; (circa 1975). Het werkt samen met het bestandssysteem. tar schrijft bestanden en mappen naar band en ondersteunt niet het volledige scala aan opties dat beschikbaar is met &man.cpio.1;, maar tar heeft niet de ongebruikelijke opdrachtpijplijn nodig die cpio gebruikt. tar Op &os; 5.3 en later zijn zowel GNU tar als de standaard bsdtar beschikbaar. De GNU-versie kan aangeroepen worden met gtar. Het ondersteunt apparaten op afstand waarbij gebruik wordt gemaakt van dezelfde syntaxis als die van rdump. Om tar toe te passen op een Exabyte-bandstation die met een Sun genaamd komodo verbonden is: &prompt.root; /usr/bin/gtar cf komodo:/dev/nsa8 . 2>&1 Hetzelfde kan bereikt worden met bsdtar door gebruik te maken van een pijplijn en rsh om gegevens naar een bandstation op afstand te zenden: &prompt.root; tar cf - . | rsh hostnaam dd of=bandapparaat obs=20b Indien de veiligheid van back-uppen over een netwerk een punt is, dient gebruik te worden gemaakt van het commando ssh en niet van rsh. <command>cpio</command> back-upsoftware cpio &man.cpio.1; is het originele &unix; bandprogramma voor magnetische media om bestanden uit te wisselen. cpio heeft opties (naast vele anderen) om byte-swapping uit te voeren, een aantal verschillende archiefformaten te schrijven en de gegevens over een pijplijn naar andere programma's te voeren. Deze laatste optie maakt cpio een uitstekende keuze voor installatiemedia. cpio weet niet hoe het door een mapstructuur moet lopen. Er dient een lijst met bestanden door stdin aangeleverd te worden. cpio cpio biedt geen ondersteuning voor back-ups over het netwerk. Er kan gebruik worden gemaakt van een pijplijn en rsh om de gegevens naar een banddrive op afstand te sturen. &prompt.root; for f in maplijst; do find $f >> back-up.lijst done &prompt.root; cpio -v -o --format=newc < back-up.lijst | ssh gebruiker@host "cat > back-upapparaat" Hier is maplijst een lijst van de mappen waarvan een back-up gemaakt dient te worden, gebruiker@host de gebruiker/hostnaam-combinatie die de back-ups uitvoert, en back-upapparaat het apparaat waar de back-ups naar toe geschreven te worden (bijvoorbeeld /dev/nsa0). <command>pax</command> back-upsoftware pax pax POSIX IEEE &man.pax.1; is het antwoord van IEEE en &posix; op tar en cpio. In de loop der jaren zijn de verscheidene versies van tar en cpio licht incompatibel geworden. Dus in plaats van dit uit te vechten en ze volledig te standaardiseren, heeft &posix; een nieuw archiveringsprogramma gemaakt. pax poogt om veel van de verscheidene formaten van cpio en tar te lezen en te schrijven, met daarbij nog nieuwe, eigen formaten. De commandoverzameling lijkt meer op die van cpio dan op die van tar. <application>Amanda</application> back-upsoftware Amanda Amanda Amanda (Advanced Maryland Network Disk Archiver) is een client/server-back-upsysteem, in plaats van een enkel programma. Een Amanda server back-upt elk aantal computers dat een Amanda client en een netwerkverbinding met de Amanda server heeft naar een enkel bandstation. Een veelvoorkomend probleem bij bedrijven met een groot aantal schijven is dat de tijd die nodig is om de gegevens direct naar band te back-uppen langer is dan de tijd die voor de taak gereserveerd is. Amanda lost dit probleem op. Amanda kan gebruik maken van een tussenschijf om verschillende bestandssystemen tegelijkertijd te back-uppen. Amanda maakt archiefverzamelingen aan, een groep banden die gedurende een tijd gebruikt wordt om volledige back-ups te maken van alle bestandssystemen die in het instellingenbestand van Amanda vermeld staan. De archiefverzameling bevat ook incrementele (of differentiële) back-ups van alle bestandssystemen. Voor het herstellen van een beschadigd bestandssysteem zijn de meest recente volledige back-up en de incrementele back-ups nodig. Het instellingenbestand biedt verfijnde controle over de back-ups en het netwerkverkeer door Amanda. Amanda kan elk bovenstaand back-upprogramma gebruiken om de gegevens naar de band te schijven. Amanda is òf als port òf als package beschikbaar. Nietsdoen Nietsdoen is geen computerprogramma, maar de de meest gebruikte back-upstrategie. Er zijn geen initiële kosten. Er is geen back-upschema om te volgen. Zeg gewoon nee. Als er iets met gegevens gebeurt, lach erom en leef ermee! Als tijd en gegevens weinig tot niets waard zijn, is Nietsdoen het meest geschikte back-upprogramma. Maar wees bedacht, &unix; is een nuttig stuk gereedschap en er is zo maar binnen zes maanden een verzameling bestanden die wèl van waarde is. Nietsdoen is de juiste back-upmethode voor /usr/obj en andere mapstructuren die zo opnieuw aangemaakt kunnen worden. Een voorbeeld zijn de bestanden waaruit de HTML- of &postscript; versie van dit Handboek bestaan. Deze documentformaten zijn vanuit SGML-invoerbestanden aangemaakt. Het back-uppen van de HTML- of &postscript; bestanden is niet nodig. Van de SGML-bestanden dient regelmatig een back-up gemaakt te worden. Welk back-upprogramma is het beste? LISA &man.dump.8;. Punt uit.. Elizabeth D. Zwicky heeft stresstesten op alle hierboven besproken back-upprogramma's uitgevoerd. De heldere keuze voor het behouden van alle gegevens en alle eigenaardigheden van &unix; bestandssystemen is dump. Elizabeth heeft bestandssystemen aangemaakt met een grote verscheidenheid aan ongewone omstandigheden (en enkele minder ongebruikelijke) en heeft elk programma getest door een back-up van die bestandssystemen uit te voeren en ze te herstellen. De eigenaardigheden omvatten bestanden met gaten, bestanden met gaten en een blok nullen, bestanden met vreemde tekens in hun namen, onleesbare en onschrijfbare bestanden, apparaten, bestanden waarvan de grootte verandert tijdens het back-uppen, bestanden die aangemaakt/verwijderd worden tijdens het back-uppen en meer. Ze presenteerde de resultaten op LISA V in oktober 1991. Zie torture-testing Backup and Archive Programs. Noodterugzetprocedure Vóór de ramp Er zijn slechts vier stappen om te volgen bij het voorbereiden op elke ramp die voor kan komen. bsdlabel Het schijflabel van elke schijf dient afgedrukt te worden (bijvoorbeeld met bsdlabel da0 | lpr), de bestandssysteemtabel (/etc/fstab) en alle opstartboodschappen, alles in tweevoud. fix-it diskettes De opstart- en fixit-diskettes (boot.flp en fixit.flp) moeten alle gewenste apparaten bevatten. De gemakkelijkste manier om dit te controleren is om de machine opnieuw op te starten met de opstartdiskette in het diskettestation en de opstartmeldingen te controleren. Als alle apparaten gemeld en functioneel zijn, kan stap drie uitgevoerd worden. In het andere geval dienen twee eigen opstartbare diskettes aangemaakt te worden die een kernel bevatten die alle gewenste schijven kan mounten en toegang heeft tot het bandstation. Deze diskettes dienen het volgende te bevatten: fdisk, newfs, mount en het gebruikte back-upprogramma. Deze programma's dienen statisch gelinkt te worden. Als dump gebruikt wordt, moet de diskette restore bevatten. Ten derde dienen regelmatig back-upbanden aangemaakt te worden. Alle veranderingen die na de laatste back-up zijn gemaakt kunnen onherroepelijk verloren zijn gegaan. De back-upbanden dienen beveiligd te worden tegen overschrijven. Ten vierde dienen de diskettes (òfwel boot.flp en fixit.flp, òfwel de twee eigen diskettes die in stap twee zijn aangemaakt) en de back-upbanden getest te worden. Van de handelingen dienen aantekeningen gemaakt te worden. De aantekeningen, de opstartbare diskette, de afdrukken en de back-upbanden moeten gezamenlijk bewaard te worden. Tijdens het herstellen kunnen de notities ervoor zorgen dat de back-upbanden vernietigd worden. Hoe? In plaats van tar xvf /dev/sa0 kan per ongeluk tar cvf /dev/sa0 worden ingetypt, waardoor de back-upband overschreven wordt. Als extra veiligheidsmaatregel dienen opstartbare diskettes en telkens twee back-upbanden gemaakt te worden. Eén van deze banden dient op een plaats op afstand bewaard te worden. Zo'n plaats is NIET de kelder van het zelfde kantoorgebouw. Een aantal bedrijven in het World Trade Center heeft deze les op de harde manier geleerd. Zo'n plaats dient fysiek gescheiden te zijn van de computers en de schijven door een significante afstand. Script voor het aanmaken van de opstartdiskette /mnt/sbin/init gzip -c -best /sbin/fsck > /mnt/sbin/fsck gzip -c -best /sbin/mount > /mnt/sbin/mount gzip -c -best /sbin/halt > /mnt/sbin/halt gzip -c -best /sbin/restore > /mnt/sbin/restore gzip -c -best /bin/sh > /mnt/bin/sh gzip -c -best /bin/sync > /mnt/bin/sync cp /root/.profile /mnt/root chmod 500 /mnt/sbin/init chmod 555 /mnt/sbin/fsck /mnt/sbin/mount /mnt/sbin/halt chmod 555 /mnt/bin/sh /mnt/bin/sync chmod 6555 /mnt/sbin/restore # # maak een minimale bestandssysteemtabel aan # cat > /mnt/etc/fstab < /mnt/etc/passwd < /mnt/etc/master.passwd < Na de ramp De hamvraag is: heeft de hardware het overleefd? Er zijn regelmatig back-ups gemaakt, dus zorgen over de software zijn niet nodig. Indien hardware beschadigd is, dienen kapotte onderdelen vervangen te worden voordat gepoogd wordt om een computer te gebruiken. Indien de hardware in orde is, dienen de diskettes gecontroleerd te worden. Als een eigen opstartdiskette gebruikt wordt, start in enkele-gebruiker-modus op (type op de opstartprompt boot: -s in). Sla dan de volgende paragraaf over. Lees verder als de diskettes boot.flp en fixit.flp gebruikt worden. Steek de diskette boot.flp als eerste in het diskettestation en start de computer op. Het originele installatiemenu wordt op het scherm getoond. Kies de optie Fixit--Repair mode with CDROM or floppy. Steek de diskette fixit.flp in als erom gevraagd wordt. restore en de andere benodigde programma's staan in /mnt2/rescue (/mnt/stand voor &os; ouder dan versie 5.2). Herstel elk bestandssysteem apart. mount rootpartitie bsdlabel newfs Probeer de rootpartitie van de eerste schijf te mounten (bijvoorbeeld mount /dev/da0a /mnt). Als het schijflabel beschadigd is, gebruik dan bsdlabel om de schijf opnieuw te partitioneren en te labelen zodat deze overeenkomt met het afgedrukte en bewaarde label. Gebruik voor het opnieuw aanmaken van de bestandssystemen newfs. Hermount de rootpartitie van de diskette voor lezen en schrijven (mount -u -o rw /mnt). Gebruik voor het herstellen van de gegevens van dit bestandssysteem het back-upprogramma en de back-upbanden (bijvoorbeeld restore vrf /dev/sa0). Dismount nu het bestandssysteem (bijvoorbeeld umount /mnt). Herhaal dit voor elk beschadigd bestandssysteem. Back-up de gegevens naar nieuwe banden als het systeem weer draait. De omstandigheden die verantwoordelijk waren voor de crash of het gegevensverlies kunnen weer voorkomen. Nu een extra uur investeren, kan later grote zorgen besparen. * Er zijn geen voorbereidingen voor de ramp getroffen, wat nu? ]]> Marc Fonvieille Geherstructureerd en verbeterd door Netwerk-, geheugen-, en bestandsgebaseerde bestandssystemen virtuele schijven schijven virtueel Naast de schijven die fysiek in de computer zitten, diskettes, CD's, harde schijven, enzovoort, worden er ook andere vormen van schijven door &os; begrepen: de virtuele schijven. NFS Coda schijven geheugen Dit omvat netwerkbestandssystemen zoals het Network File System en Coda, geheugengebaseerde bestandssystemen en bestandsgebaseerde bestandssystemen. Nagelang de gebruikte versie van &os;, zijn er andere gereedschappen voor het aanmaken en gebruiken van bestandsgebaseerde en geheugengebaseerde bestandssystemen. Gebruik &man.devfs.8; om de apparaatnodes transparant voor de gebruiker toe te wijzen. Bestandsgebaseerd bestandssysteem schijven bestandsgebaseerd Met &man.mdconfig.8; kunnen geheugenschijven, &man.md.4;, ingesteld worden en aangezet worden. Om &man.mdconfig.8; te gebruiken, moet de module &man.md.4; geladen worden of ondersteuning aan het kernelinstellingenbestand toegevoegd worden: device md Het commando &man.mdconfig.8; ondersteunt drie types geheugen-gebaseerde virtuele schijven: geheugenschijven die met &man.malloc.9; toegewezen zijn, geheugenschijven die een bestand als basis gebruiken en geheugenschijven die swapruimte als basis gebruiken. Een mogelijk gebruik is het mounten van een beeld van een diskette of CD dat in een bestand bewaard wordt. Om een bestaand beeld van een bestandssysteem te mounten: <command>mdconfig</command> gebruiken om een bestaand beeld van een bestandssysteem te mounten &prompt.root; mdconfig -a -t vnode -f schijfbeeld -u 0 &prompt.root; mount /dev/md0 /mnt Om een nieuw beeld van een bestandssysteem aan te maken met &man.mdconfig.8;: Nieuwe bestandsgebaseerde schijf aanmaken met <command>mdconfig</command> &prompt.root; dd if=/dev/zero of=nieuwbeeld bs=1k count=5k 5120+0 records in 5120+0 records out &prompt.root; mdconfig -a -t vnode -f nieuwbeeld -u 0 -&prompt.root; bsdlabel -r -w md0 auto +&prompt.root; bsdlabel -w md0 auto &prompt.root; newfs md0a /dev/md0a: 5.0MB (10240 sectors) block size 16384, fragment size 2048 using 4 cylinder groups of 1.25MB, 80 blks, 192 inodes. super-block backups (for fsck -b #) at: 160, 2720, 5280, 7840 &prompt.root; mount /dev/md0a /mnt &prompt.root; df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md0a 4710 4 4330 0% /mnt Indien het eenheidsnummer niet met de optie gespecificeerd wordt, gebruikt &man.mdconfig.8; de automatische toewijzing van &man.md.4; om een ongebruikt apparaat te selecteren. De naam van het toegewezen apparaat wordt op stdout weergegeven als md4. Meer details staan in de hulppagina van &man.mdconfig.8;. Het commando &man.mdconfig.8; is erg nuttig, hoewel het veel opdrachten vergt om een bestandsgebaseerd bestandssysteem aan te maken. &os; wordt met &man.mdmfs.8; geleverd. Dit programma stelt een &man.md.4;-schijf in door gebruik te maken van &man.mdconfig.8;, zet er een bestandssysteem op door gebruik te maken van &man.newfs.8; en mount het door gebruik te maken van &man.mount.8;. Om hetzelfde bestandssysteembeeld als hierboven aan te maken en te mounten: Instellen en mounten van een bestandsgebaseerde schijf met <command>mdmfs</command> &prompt.root; dd if=/dev/zero of=nieuwbeeld bs=1k count=5k 5120+0 records in 5120+0 records out &prompt.root; mdmfs -F nieuwbeeld -s 5m md0 /mnt &prompt.root; df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md0 4718 4 4338 0% /mnt Als de optie zonder eenheidsnummer gebruikt wordt, gebruikt &man.mdmfs.8; de automatische toewijzing van &man.md.4; om automatisch een ongebruikt apparaat te selecteren. Meer details staan in de hulppagina van &man.mdmfs.8;. Geheugengebaseerd bestandssysteem schijven geheugenbestandssysteem Voor een geheugen gebaseerd bestands systeem moet normaal gesproken wisselbestand geheugen gebruikt worden. Gebruik maken van wisselbestand geheugen wil niet perse zeggen dat de geheugen schijf direct in het wisselbestand gezet wordt, maar dat het bestand naar het wisselbestand geschreven kan worden indien nodig. Het is ook mogelijk om &man.malloc.9; gebaseerde geheugen schijven te maken, maar door hiervan gebruik te maken kan het gebeuren dat het systeem crashed als de kernel uit het geheugen loopt. Nieuwe geheugengebaseerde schijf aanmaken met <command>mdconfig</command> &prompt.root; mdconfig -a -t swap -s 5m -u 1 &prompt.root; newfs -U md1 /dev/md1: 5.0MB (10240 sectors) block size 16384, fragment size 2048 using 4 cylinder groups of 1.27MB, 81 blks, 192 inodes. with soft updates super-block backups (for fsck -b #) at: 160, 2752, 5344, 7936 &prompt.root; mount /dev/md1 /mnt &prompt.root; df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md1 4718 4 4338 0% /mnt Nieuwe geheugengebaseerde schijf aanmaken met <command>mdmfs</command> &prompt.root; mdmfs -s 5m md2 /mnt &prompt.root; df /mnt Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md2 4846 2 4458 0% /mnt Geheugenschijf van het systeem afkoppelen schijven geheugenschijf afkoppelen Als een geheugen- of bestandsgebaseerd bestandssysteem niet gebruikt wordt, dienen alle bronnen aan het systeem vrijgegeven te worden. Dismount als eerste het bestandssysteem, gebruikt daarna &man.mdconfig.8; om de schijf van een systeem los te koppelen en de bronnen vrij te geven. Om bijvoorbeeld alle bronnen die door /dev/md4 gebruikt worden los te koppelen en vrij te geven: &prompt.root; mdconfig -d -u 4 Het is mogelijk om de informatie over ingestelde &man.md.4; apparaten weer te geven door gebruik te maken van mdconfig -l. Tom Rhodes Bijgedragen door Snapshots van bestandssystemen bestandssystemen snapshots &os; biedt een mogelijkheid om samen met Soft Updates: snapshots van bestandssystemen. Snapshots bieden de mogelijkheid om beelden van een gespecificeerd bestandssysteem te maken en ze als bestand te behandelen. Snapshotbestanden moeten aangemaakt worden in het bestandssysteem waarop de handeling wordt uitgevoerd en er mogen niet meer dan 20 snapshots per bestandssysteem worden aangemaakt. Actieve snapshots worden opgeslagen in het superblok zodat ze persistent zijn met dismount- en hermountbewerkingen en met het opnieuw opstarten van het systeem. Als een snapshot niet langer nodig is, kan het met het standaardcommando &man.rm.1; worden verwijderd. Snapshots kunnen in elke volgorde verwijderd worden, alhoewel misschien niet alle gebruikte ruimte teruggewonnen wordt omdat sommige vrijgegeven blokken mogelijk door een ander snapshot geclaimd worden. De onveranderlijke bestandsvlag wordt door &man.mksnap.ffs.8; ingesteld nadat het snapshotbestand initieel is aangemaakt. Het commando &man.unlink.1; maakt een uitzondering voor snapshotbestanden aangezien het toestaat dat ze verwijderd worden. Snapshotbestanden worden aangemaakt met &man.mount.8;. Om een snapshot van /var in het bestand /var/snapshot/snap te plaatsen: &prompt.root; mount -o -o snapshot /var/snapshot/snap /var Als alternatief kan &man.mksnap.ffs.8; gebruikt worden om een snapshot aan te maken: &prompt.root; mksnap_ffs /var /var/snapshot/snap Snapshotbestanden kunnen gezocht worden op een bestandssysteem (bijvoorbeeld /var) door gebruik te maken van het commando &man.find.1;: &prompt.root; find /var -flags snapshot Nadat een snapshot is aangemaakt, kan het voor een aantal dingen gebruikt worden: Sommige systeembeheerders gebruiken een snapshotbestand voor back-updoeleinden, omdat het snapshot naar CD's of band overgezet kan worden; De bestandssysteem integriteit controle, &man.fsck.8; kan gebruikt worden op het snapshot. Ervan uitgaande dat het bestandssysteem schoon was toen het werd gemount, zou dit altijd een schoon (en onveranderlijk) resultaat moeten opleveren. Dit is in principe wat het &man.fsck.8;-achtergrondsproces doet; Het commando &man.dump.8; draaien op het snapshot. Er wordt een dump teruggegeven die consistent is met het bestandssysteem en tijdsstempel van het snapshot. &man.dump.8; kan ook in één commando een snapshot maken, een dumpbeeld aanmaken en daarna het snapshot verwijderen door gebruik te maken van de vlag ; Het snapshot kan met &man.mount.8; als bevroren beeld van het bestandssysteem worden gemount. Om het snapshot /var/snapshot/snap te mounten: &prompt.root; mdconfig -a -t vnode -f /var/snapshot/snap -u 4 &prompt.root; mount -r /dev/md4 /mnt Het is nu mogelijk om door de structuur van het bevroren bestandssysteem /var te lopen dat gemount is op /mnt. Alles zal initieel in dezelfde toestand verkeren als op het moment dat het snapshot werd aangemaakt. De enige uitzondering hierop is dat eerdere snapshots als bestanden met lengte nul verschijnen. Als een snapshot niet meer nodig is, kan het als volgt gedismount worden: &prompt.root; umount /mnt &prompt.root; mdconfig -d -u 4 Meer informatie over en snapshots van bestandssystemen, inclusief technische documenten, staat op de website van Marshall Kirk McKusick op . Bestandssysteemquota accounten schijfruimte schijfquota Quota zijn een optionele mogelijkheid van het besturingssysteem om de hoeveelheid schijfruimte en/of het aantal bestanden dat gebruikers of leden van een groep per bestandssysteem mogen gebruiken te beperken. Dit wordt het meeste gebruikt op timesharing-systemen waar het wenselijk is om het aantal bronnen dat elke gebruiker of groep van gebruikers mag gebruiken te beperken. Dit voorkomt dat één gebruiker of groep van gebruikers alle beschikbare schijfruimte in beslag neemt. Schijfquota inschakelen Controleer alvorens te proberen om schijfquota te gebruiken of quota ingesteld zijn in de kernel. Dit gebeurt door het toevoegen van de volgende regel aan het kernelinstellingenbestand: options QUOTA De standaardkernel GENERIC heeft deze optie niet aanstaan, dus is het nodig om een eigen kernel in te stellen, te bouwen en te installeren om gebruik te kunnen maken van schijfquota. Meer informatie over het instellen van de kernel staat in . Vervolgens dienen schijfquota aangezet te worden in /etc/rc.conf: enable_quotas="YES" schijfquota controleren Voor fijnere controle over de opstartquota zijn extra instellingsvariabelen beschikbaar. Normaalgesproken wordt de integriteit van de quota van elk bestandssysteem tijdens het opstarten door &man.quotacheck.8; gecontroleerd. &man.quotacheck.8; verzekert dat de gegevens in de quotadatabase een juiste afspiegeling vormen van de gegevens op het bestandssysteem. Dit proces neemt erg veel tijd in beslag en beïnvloedt de tijd die een systeem nodig heeft om op te starten significant. Om deze stap over te slaan, bestaat een variabele in /etc/rc.conf: check_quotas="NO" Als laatste dient /etc/fstab bewerkt te worden om schijfquota per bestandssysteem aan te zetten. Hier kunnen gebruiker- of groepquota of beide worden aangezet voor alle bestandssystemen. Om quota per gebruiker op een bestandssysteem aan te zetten, dient de optie aan het optieveld toegevoegd te worden aan de regel in /etc/fstab voor het bestandssysteem waar quota worden aangezet. Bijvoorbeeld: /dev/da1s2g /home ufs rw,userquota 1 2 Analoog, om groepquota aan te zetten, dient de optie in plaats van gebruikt te worden. Om zowel gebruikers- als groepsquota aan te zetten, dient de regel als volgt veranderd te worden: /dev/da1s2g /home ufs rw,userquota,groupquota 1 2 Standaard worden de quotabestanden opgeslagen in de hoofdmap van het bestandssysteem onder de namen quota.user en quota.group voor respectievelijk gebruikers- en groepsquota. Meer informatie staat in &man.fstab.5;. Alhoewel de hulppagina &man.fstab.5; vermeld dat een alternatieve plaats voor de quotabestanden gespecificeerd kan worden, wordt dit niet aangeraden omdat de verschillende quotagereedschappen dit niet juist schijnen af te handelen. Hier aangekomen dient het systeem opnieuw opgestart te worden met de nieuwe kernel. /etc/rc voert automatisch de juiste commando's uit om de initiële quotabestanden aan te maken voor alle quota die in /etc/fstab zijn aangezet. Het is dus niet nodig om handmatig quotabestanden met lengte nul aan te maken. Tijdens normale bewerkingen moet het niet nodig zijn om de commando's &man.quotacheck.8;, &man.quotaon.8; of &man.quotaoff.8; handmatig te draaien. Lees wel de betreffende hulppagina's om bekend te raken met de werking ervan. Quotalimieten instellen schijfquota limieten Indien het systeem ingesteld voor gebruik van quota, controleer dan of ze echt aanstaan. Een eenvoudige manier om dit te doen is de volgende: &prompt.root; quota -v Er hoort een eenregelige samenvatting te verschijnen over het schijfgebruik en de huidige quotalimieten voor elk bestandssysteem waarop quota aanstaan. Nu kunnen quotalimieten toegewezen worden met &man.edquota.8;. Er zijn verschillende opties om grenzen te stellen aan de hoeveelheid schijfruimte die een gebruiker of groep mag toewijzen en het aantal bestanden dat ze mogen aanmaken. Toewijzingen kunnen begrensd worden met betrekking tot schijfruimte (blokquota) of het aantal bestanden (inode-quota) of een combinatie van beide. Elk van deze limieten is op zijn beurt weer opgesplitst in twee categoriën: harde en zachte limieten. harde limiet Een harde limiet mag niet overschreden worden. Indien een gebruiker de harde limiet bereikt, mag deze geen verdere toewijzingen maken op het betreffende bestandssysteem. Indien een gebruiker bijvoorbeeld een harde limiet heeft van 500 kB op een bestandssysteem en er 490 kB van gebruikt, kan deze nog slechts 10 kB toewijzen. Een poging om 11 kB toe te wijzen zal mislukken. zachte limiet Zachte limieten kunnen voor een beperkte tijd overschreden worden. Deze periode staat bekend als de gratieperiode, die standaard een week bedraagt. Als een gebruiker de zachte limiet langer dan de gratieperiode overschrijdt, verandert de zachte limiet in een harde limiet en zijn er geen verdere toewijzingen toegestaan. Als de gebruiker onder de zachte limiet komt, wordt de gratieperiode opnieuw ingesteld. Het volgende is een voorbeeld van een mogelijk gebruik van &man.edquota.8;. Als het commando &man.edquota.8; gestart wordt, wordt de tekstverwerker opgestart die door de omgevingsvariabele EDITOR gespecificeerd is, of de tekstverwerker vi als de variabele EDITOR niet is ingesteld. Nu kunnen de quotalimieten bewerkt worden. &prompt.root; edquota -u test Quotas for user test: /usr: kbytes in use: 65, limits (soft = 50, hard = 75) inodes in use: 7, limits (soft = 50, hard = 60) /usr/var: kbytes in use: 0, limits (soft = 50, hard = 75) inodes in use: 0, limits (soft = 50, hard = 60) Normaalgesproken worden er twee regels weergegeven voor elk bestandssysteem waarvoor quota gelden: één regel voor de bloklimieten, en één voor de inode-limieten. Om de quotalimieten te veranderen dient de waarde ervan veranderd te worden. Om bijvoorbeeld de bloklimiet van een gebruiker te veranderen van een zachte limiet van 50 en een harde limiet van 75 in een zachte limiet van 500 en een harde limiet van 600, dient het volgende veranderd te worden: /usr: kbytes in use: 65, limits (soft = 50, hard = 75) In: /usr: kbytes in use: 65, limits (soft = 500, hard = 600) De nieuwe quotalimieten gelden zodra de tekstverwerker verlaten wordt. Soms is het gewenst om quotalimieten in te stellen op een aantal UID's. Dit kan gedaan worden door de optie van &man.edquota.8; te gebruiken. Wijs eerst de gewenste quotalimiet aan een gebruiker toe en draai daarna edquota -p protogebruiker beginuid-einduid. Indien bijvoorbeeld gebruiker test de gewenste quotalimieten heeft, kan het volgende commando gebruikt worden om deze quotalimieten te dupliceren voor UID's 10.000 tot en met 19.999: &prompt.root; edquota -p test 10000-19999 Meer informatie staat in de hulppagina voor &man.edquota.8;. Quotalimieten en schijfgebruik controleren schijfquota controleren Zowel &man.quota.1; als &man.repquota.8; kunnen gebruikt worden om de quotalimieten en het schijfgebruik te controleren. Het commando &man.quota.1; kan gebruikt worden om de quota van zowel individuele gebruikers als groepen en het schijfgebruik te controleren. Een gebruiker mag alleen de eigen quota en de quota van een groep waarvan deze lid is controleren. Alleen de beheerder mag alle gebruikers- en groepsquota bekijken. Het commando &man.repquota.8; kan gebruikt worden om een overzicht te krijgen van alle quota en gebruik van bestandssystemen waarvan quota aanstaan. Het volgende is een mogelijke uitvoer van het commando quota -v voor een gebruiker die quotalimieten heeft op twee bestandssystemen. Disk quotas for user test (uid 1002): Filesystem usage quota limit grace files quota limit grace /usr 65* 50 75 5days 7 50 60 /usr/var 0 50 75 0 50 60 gratieperiode Voor het bestandssysteem /usr in bovenstaand voorbeeld overschrijdt deze gebruiker de zachte limiet van 50 kB momenteel met 15 kB en heeft deze 5 dagen van de gratieperiode over. De asterisk, * geeft aan dat de gebruiker momenteel de quotalimiet overschrijdt. Normaalgesproken worden bestandssystemen waarvan de gebruiker geen schijfruimte gebruikt niet weergegeven in de uitvoer van &man.quota.1;, zelfs niet als er de gebruiker een quotalimiet heeft voor dat bestandssysteem. De optie geeft deze bestandssystemen weer, zoals het bestandssysteem /usr/var in bovenstaand voorbeeld. Quota over NFS NFS Quota worden afgedwongen door het quota-subsysteem op de NFS-server. De daemon &man.rpc.rquotad.8; stelt quota-informatie beschikbaar aan het commando &man.quota.1; op de NFS-cliënts, wat de gebruikers op deze machines in staat stelt hun quota-statistieken in te zien. rpc.rquotad dient als volgt in /etc/inetd.conf aangezet te worden: rquotad/1 dgram rpc/udp wait root /usr/libexec/rpc.rquotad rpc.rquotad Vervolgens dient inetd opnieuw gestart te worden: - &prompt.root; kill -HUP `cat /var/run/inetd.pid` + &prompt.root; /etc/rc.d/inetd restart Lucky Green Bijgedragen door
shamrock@cypherpunks.to
Schijfpartities versleutelen schijven versleutelen &os; biedt uitstekende on-line bescherming tegen onbevoegde gegevenstoegang. Bestandsrechten en Mandatory Access Control (MAC) (zie ) helpen voorkomen dat onbevoegde derde partijen toegang tot de gegevens krijgen als het besturingssysteem actief is en de computer aanstaat. De door het besturingssysteem afgedwongen rechten zijn echter niet relevant als een aanvaller fysieke toegang tot een computer heeft en deze de harde schijf van de computer in een ander systeem kan plaatsen om de gevoelige gegevens te kopiëren en te analyseren. Afgezien van hoe een aanvaller in het bezit van een harde schijf of een uitgezette computer gekomen is, kan GEOM Based Disk Encryption (gbde) de gegevens op het bestandssysteem van de computer zelfs tegen hooggemotiveerde aanvallers met aanzienlijke middelen beschermen. In tegenstelling tot lastige versleutelmethoden die alleen losse bestanden versleutelen, versleutelt gbde gehele bestandssystemen op een transparante manier. De harde schijf komt nooit in aanraking met klare tekst. Los van hoe een aanvaller in het bezit van een harde schijf of een uitgezette computer gekomen is, kunnen de cryptografische subsystemen GEOM Based Disk Encryption (gbde) en geli in &os; gegevens op bestandssystemen van een computer beschermen tegen zelfs de meer gemotiveerde belagers die ook nog eens adequate middelen hebben. Anders dan met lastige versleutelingsmethoden die alleen individuele bestanden versleutelen, versleutelen gbde en geli transparant complete bestandssystemen. Er komt nooit platte tekst op een harde schijf. Schijven versleutelen met <application>gbde</application> Word <username>root</username> Het instellen van gbde vereist beheerdersrechten. &prompt.user; su - Password: Voeg ondersteuning voor &man.gbde.4; aan het kernelinstellingenbestand toe Voeg de volgende regel toe aan het kernelinstellingenbestand: options GEOM_BDE Herbouw de kernel opnieuw zoals beschreven in . Start op met de nieuwe kernel. Een alternatief voor het hercompileren van de kernel is door gebruik te maken van &man.kldload.8; om &man.gbde.4; te laden: &prompt.root; kldload geom_bde Versleutelde harde schijf voorbereiden In het volgende voorbeeld wordt aangenomen dat er een nieuwe harde schijf aan het systeem wordt toegevoegd die een enkele versleutelde partitie zal bevatten. Deze partitie wordt gemount als /private. gbde kan ook gebruikt worden om /home en /var/mail te versleutelen, maar daarvoor zijn complexere instructies nodig die buiten het bereik van deze inleiding vallen. Voeg een nieuwe harde schijf toe Voeg de nieuwe harde schijf toe zoals beschreven in . In dit voorbeeld is een nieuwe harde schijfpartitie toegevoegd als /dev/ad4s1c. De apparaten /dev/ad0s1* stellen bestaande standaard &os; partities van het voorbeeldsysteem voor. &prompt.root; ls /dev/ad* /dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1 /dev/ad0s1 /dev/ad0s1c /dev/ad0s1f /dev/ad4s1c /dev/ad0s1a /dev/ad0s1d /dev/ad4 Maak een map aan voor gbde lockbestanden &prompt.root; mkdir /etc/gbde Het lockbestand voor gbde bevat informatie die gbde nodig heeft om toegang te krijgen tot versleutelde partities. Zonder toegang tot de lockbestand is gbde niet in staat om de gegevens die op de versleutelde partitie staan te ontsleutelen zonder aanzienlijke handmatige tussenkomst die niet door de software ondersteund wordt. Elke versleutelde partitie gebruikt een ander lockbestand. Initialiseer de gbde-partitie Een gbde-partitie dient geïnitialiseerd te worden voordat deze kan worden gebruikt. Deze initialisatie dient slechts eenmalig uitgevoerd te worden: - &prompt.root; gbde init /dev/ad4s1c -i -L /etc/gbde/ad4s1c + &prompt.root; gbde init /dev/ad4s1c -i -L /etc/gbde/ad4s1c.lock &man.gbde.8; opent een tekstverwerker om verschillende instellingen in een sjabloon te kunnen instellen. Stel de sector_size in op 2048 als UFS of UFS2 wordt gebruikt: $FreeBSD: src/sbin/gbde/template.txt,v 1.1 2002/10/20 11:16:13 phk Exp $ # # Sector size is the smallest unit of data which can be read or written. # Making it too small decreases performance and decreases available space. # Making it too large may prevent filesystems from working. 512 is the # minimum and always safe. For UFS, use the fragment size # sector_size = 2048 [...] &man.gbde.8; vraagt twee keer om de wachtwoordzin voor het beveiligen van de gegevens. De wachtwoordzin dient beide keren hetzelfde te zijn. De mogelijkheid van gbde om de gegevens te beveiligen is geheel afhankelijk de gekozen wachtwoordzin. Tips met betrekking tot het kiezen van veilige wachtwoordzinnen die gemakkelijk te onthouden zijn staan op de website Diceware - Passphrase. + url="http://world.std.com/~reinhold/diceware.html"> + Diceware Passphrase. Het commando gbde init maakt een lockbestand aan voor de gbde-partitie die in dit voorbeeld is opgeslagen als - /etc/gbde/ad4s1c. + /etc/gbde/ad4s1c.lock. + gdbde slotbestanden moeten + eindigen op .lock om correct door het + opstartscript /etc/rc.d/gbde + gedetecteerd te worden. gbde lockbestanden moeten samen met de inhoud van versleutelde partities geback-upped worden. Hoewel het verwijderen van een lockbestand op zich een gedreven aanvaller er niet van weerhoudt een gbde partitie te ontsleutelen, is de wettige eigenaar zonder het lockbestand niet in staat om de gegevens op de versleutelde partitie te benaderen zonder een aanzienlijke hoeveelheid werk die in het geheel niet ondersteund wordt door &man.gbde.8; of de ontwerper ervan. Koppel de versleutelde partitie aan de kernel - &prompt.root gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c + &prompt.root gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c.lock Er wordt om de wachtwoordzin gevraagd die gekozen is tijdens de initialisatie van de versleutelde partitie. Het nieuwe versleutelde apparaat verschijnt in /dev als /dev/apparaatnaam.bde: - &prompt.root; ls /dev/ad* + &prompt.root; ls /dev/ad* /dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1 /dev/ad0s1 /dev/ad0s1c /dev/ad0s1f /dev/ad4s1c /dev/ad0s1a /dev/ad0s1d /dev/ad4 /dev/ad4s1c.bde Maak een bestandssysteem op het versleutelde apparaat Nu het versleutelde apparaat aan de kernel gekoppeld is, kan een bestandssysteem op het apparaat aangemaakt worden. Met &man.newfs.8; kan een bestandssysteem op het versleutelde apparaat aangemaakt wordne. Aangezien het veel sneller is om een nieuw UFS2 bestandssysteem te initialiseren dan om een oud UFS1 bestandssysteem te initialiseren, is het aan te raden om &man.newfs.8; met de optie te gebruiken. &prompt.root; newfs -U -O2 /dev/ad4s1c.bde Voer &man.newfs.8; uit op een aangekoppelde gbde-partitie die geïndificeerd wordt door de uitbreiding *.bde op de apparaatnaam. Mount de versleutelde partitie Maak een mountpunt voor het versleutelde bestandssysteem aan: &prompt.root; mkdir /private Mount het versleutelde bestandssysteem: &prompt.root; mount /dev/ad4s1c.bde /private Controleer of het versleutelde bestandssysteem beschikbaar is Het versleutelde bestandssysteem is nu zichtbaar met &man.df.1; en gebruiksklaar: &prompt.user; df -H Filesystem Size Used Avail Capacity Mounted on /dev/ad0s1a 1037M 72M 883M 8% / /devfs 1.0K 1.0K 0B 100% /dev /dev/ad0s1f 8.1G 55K 7.5G 0% /home /dev/ad0s1e 1037M 1.1M 953M 0% /tmp /dev/ad0s1d 6.1G 1.9G 3.7G 35% /usr /dev/ad4s1c.bde 150G 4.1K 138G 0% /private Bestaande versleutelde bestandssystemen mounten Elke keer nadat het systeem is opgestart dient elk versleuteld bestandssysteem opnieuw aan de kernel gekoppeld te worden, op fouten gecontroleerd te worden, en aangekoppeld te worden voordat de bestandssystemen gebruikt kunnen worden. De benodigde commando's dienen als de gebruiker root uitgevoerd te worden. Koppel de gbde-partitie aan de kernel - &prompt.root gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c + &prompt.root gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c.lock Er wordt om de wachtwoordzin gevraagd die gekozen is tijdens de initialisatie van de versleutelde gbde-partitie. Controleer het bestandssysteem op fouten Aangezien het nog niet mogelijk is om versleutelde bestandssystemen op te nemen in /etc/fstab voor automatische controle, dienen de bestandssystemen voordat ze gemount worden handmatig op fouten gecontroleerd te worden door &man.fsck.8; uit te voeren: &prompt.root; fsck -p -t ffs /dev/ad4s1c.bde Mount het versleutelde bestandssysteem &prompt.root; mount /dev/ad4s1c.bde /private Het versleutelde bestandssysteem is nu klaar voor gebruik. Versleutelde partities automatisch mounten Het is mogelijk om een script aan te maken om automatisch een versleutelde partitie aan te koppelen, op fouten te controleren en te mounten, maar vanwege veiligheidsredenen dient het script niet het wachtwoord voor &man.gbde.8; te bevatten. In plaats hiervan wordt het aangeraden om zulke scripts handmatig uit te voeren en het wachtwoord via de console of &man.ssh.1; te geven. Als alternatief, wordt er een rc.d script bijgeleverd. De argumenten kunnen via &man.rc.conf.5; doorgegeven worden. Bijvoorbeeld: gbde_autoattach_all="YES" -gbde_devices="ad4s1c" +gbde_devices="ad4s1c" +gbde_lockdir="/etc/gbde" Hierdoor is het noodzakelijk dat de wachtwoordzin voor gbde bij het starten wordt ingegeven. Na het invoeren van de juiste wachtwoordzin wordt de met gbde versleutelde partitie automatisch gemount. Dit kan erg handig zijn bij het gebruik van gbde op notebooks. Door gbde gebruikte cryptografische beschermingen &man.gbde.8; versleutelt de sectorlading door gebruik te maken van 128-bit AES in CBC-modus. Elke sector op de schijf wordt met een andere AES-sleutel versleuteld. Meer informatie over het cryptografische ontwerp van gbde, inclusief de methode die gebruikt wordt om de sectorsleutels van de door de gebruiker gegeven wachtwoordzin af te leiden, staan in &man.gbde.4;. Compatibiliteitspunten &man.sysinstall.8; is niet compatibel met apparaten die met gbde versleuteld zijn. Alle *.bde apparaten moeten van de kernel ontkoppeld worden voordat &man.sysinstall.8; gebruikt wordt om te voorkomen dat het crasht tijdens het initiële zoeken naar apparaten. Om het versleutelde apparaat dat in dit voorbeeld gebruikt wordt te ontkoppelen: &prompt.root; gbde detach /dev/ad4s1c gbde kan niet met vinum volumes gebruikt worden, omdat &man.vinum.4; geen gebruik maakt van het subsysteem &man.geom.4;. Daniel Gerzo Bijgedragen door Schijfversleuteling met <command>geli</command> Vanaf &os; 6.0 is er een nieuwe cryptografische GEOM-klasse beschikbaar: geli. Deze wordt op het moment ontwikkeld door &a.pjd;. geli verschilt van gbde in de mogelijkheden en in het gebruik van een andere methode voor het versleutelen. De meest belangrijke mogelijkheden van &man.geli.8; zijn: Gebruikt het &man.crypto.9; framework; als cryptografische hardware aanwezig is, gebruikt geli die automatisch; Ondersteunt meedere cryptografische algoritmen. Op dit moment AES, Blowfish en 3DES; Staat toe dat de root-partitie wordt versleuteld. De wachtwoordzin die wordt gebruikt om de root-partitie te versleutelen wordt opgevraagd tijdens het starten van een systeem; Staat het gebruik van twee onafhankelijke sleutels toe, bijvoorbeeld een sleutel en een bedrijfssleutel); geli is snel; het werkt met sector-naar-sector versleuteling; Ondersteunt back-up en restore van Master Keys. Als een gebruiker sleutels moet vernietigen, is het mogelijk weer toegang te krijgen tot de gegevens door sleutels uit een back-up te halen; Ondersteunt het koppelen van een schijf met een willekeurige, eenmalige sleutel. Handig voor swap-partities en tijdelijke bestandssystemen. Meer mogelijkheden van geli staan beschreven in de handleiding van &man.geli.8;. De volgende stappen beschrijven hoe ondersteuning voor geli in de &os;-kernel ingeschakeld kan worden en hoe een nieuwe geli versleutelingsvoorziening gemaakt kan worden. Het is mogelijk geli te gebruiken vanaf &os; 6.0-RELEASE of later. Het is noodzakelijk super-user rechten te hebben omdat de kernel wordt aangepast. Toevoegen van <command>geli</command>-ondersteuning Voeg de volgende regels toe aan het bestand met kernelinstellingen: options GEOM_ELI device crypto Herbouw de kernel zoals beschreven is in . De geli-module kan ook bij het opstarten geladen worden. Voeg de volgende regel toe aan /boot/loader.conf: geom_eli_load="YES" Nu hoort &man.geli.8; door de kernel ondersteund te worden. Een Master Key genereren Het volgende voorbeeld beschrijft hoe een sleutelbestand te maken, dat wordt gebruikt als onderdeel van de Master Key voor de versleutelde dienst die wordt gemount onder /private. Het sleutelbestand + class="directory">/private. Het sleutelbestand zorgt voor wat willekeurige gegevens die worden gebruikt om de Master Key te versleutelen. De Master Key wordt ook door een wachtwoordzin beschermd. De sectorgrootte van de dienst wordt 4 kB. Ook wordt beschreven hoe de geli-dienst te koppelen, er een bestandsysteem op te maken, dat te mounten, hoe ermee te werken en tenslotte hoe te ontkoppelen. Het wordt aangeraden een grotere sectorgrootte in te stellen (zoals 4 kB) voor betere prestaties. De Master Key wordt beschermd door een wachtwoordzin en de gegevensbron voor het sleutelbestand wordt /dev/random. De sectorgrootte van /dev/da2.eli, die als dienst wordt aangeduid, wordt 4 kB. &prompt.root; dd if=/dev/random of=/root/da2.key bs=64 count=1 &prompt.root; geli init -s 4096 -K /root/da2.key /dev/da2 Enter new passphrase: Reenter new passphrase: Het is niet verplicht om zowel een wachtwoordzijn als een sleutelbestand te gebruiken. De methodes kunnen onafhankelijk van elkaar gebruikt worden. Als een sleutelbestand wordt opgegeven als -, wordt de standaardinvoer gebruikt. In het onderstaande voorbeeld wordt aangegeven hoe meer dan een sleutelbestand kan worden gebruikt. &prompt.root; cat sleutelbestand1 sleutelbestand2 sleutelbestand3 | geli init -K - /dev/da2 De dienst koppelen met de gemaakte sleutel &prompt.root; geli attach -k /root/da2.key /dev/da2 Enter passphrase: Het nieuwe platte tekst-apparaat wordt /dev/da2.eli genoemd. &prompt.root; ls /dev/da2* /dev/da2 /dev/da2.eli Het nieuwe bestandssysteem maken &prompt.root; dd if=/dev/random of=/dev/da2.eli bs=1m &prompt.root; newfs /dev/da2.eli &prompt.root; mount /dev/da2.eli /private Het versleutelde bestandssysteem moet nu zichtbaar zijn voor &man.df.1; en beschikbaar zijn voor gebruik: &prompt.root; df -H Filesystem Size Used Avail Capacity Mounted on /dev/ad0s1a 248M 89M 139M 38% / /devfs 1.0K 1.0K 0B 100% /dev /dev/ad0s1f 7.7G 2.3G 4.9G 32% /usr /dev/ad0s1d 989M 1.5M 909M 0% /tmp /dev/ad0s1e 3.9G 1.3G 2.3G 35% /var /dev/da2.eli 150G 4.1K 138G 0% /private De dienst unmounten en afkoppelen Als het werk met de versleutelde partitie is afgehandeld en de /private-partitie is niet + class="directory">/private-partitie is niet langer nodig, dan is het verstandig te overwegen de met geli versleutelde partitie te unmounten en af te koppelen van de kernel. &prompt.root; umount /private &prompt.root; geli detach da2.eli Meer informatie over &man.geli.8; staat in de handleiding. Gebruik maken van het <filename>geli</filename> <filename>rc.d</filename> script. Bij geli hoort een rc.d script dat gebruikt kan worden om het gebruik van geli te vereenvoudigen. Een voorbeeld van hoe geli met &man.rc.conf.5; ingesteld kan worden volgt: geli_devices="da2" geli_da2_flags="-p -k /root/da2.key" Hiermee wordt /dev/da2 ingesteld als geli-dienst met Master Key-bestand /root/da2.key en geli gebruikt geen wachtwoordzin als de dienst wordt gekoppeld (dit kan alleen gebruikt worden als is meegegeven tijdens de geli init fase van geli). Een systeem ontkoppelt de geli-dienst van de kernel voordat het afsluit. Meer informatie over het instellen van rc.d staat in het onderdeel over rc.d.
Christian Brüffer Geschreven door Remko Lodder Vertaald door Het versleutelen van de wisselbestand ruimte swap encrypting Het versleutelen van de wisselbestand ruimte is gemakkelijk met &os; te configureren en is beschikbaar sinds &os; 5.3-RELEASE. Afhankelijk van welke versie er gebruikt wordt zijn er verschillende configuratie opties en instellingen mogelijk. Vanaf &os;  6.0-RELEASE en hoger kunnen &man.gbde.8; en &man.geli.8; gebruikt worden voor het versleutelen van het wisselbestand. Voor eerdere versies geldt dat alleen &man.gbde.8; beschikbaar is. Beide systemen maken gebruik van het encswap rc.d script. De vorige sectie, Schijfpartities versleutelen, biedt een korte discussie over de verschillende versleutel systemen. Waarom moet het wisselbestand versleuteld worden? Net als met het versleutelen van harde schijven, wordt het versleutelen van het wisselbestand gebruikt om gevoelige data te beschermen. Stel je eens een applicatie voor dat omgaat het wachtwoorden. Zolang deze wachtwoorden in het fysieke geheugen blijven is er niets aan de hand. Echter zodra deze verplaatst worden naar het wisselbestand om ruimte te maken voor andere applicaties, kan het gebeuren dat de wachtwoorden onbeschermd op de harde schijf geschreven worden, waardoor het makkelijk te achterhalen is voor iemand die kwaad wilt. Het versleutelen van het wisselbestand biedt hierin een mogelijke uitkomst. Voorbereiding Tot het einde van deze sectie zal ad0s1b het wisselbestand bevatten. Tot op dit moment is het wisselbestand niet versleuteld. Het is mogelijk dat er reeds wachtwoorden of andere gevoelige data onbeschermd op de harde schijf geschreven zijn. Om dit te corrigeren, moet de data op de swap partitie overschreven worden met willekeurige data: &prompt.root; dd if=/dev/random of=/dev/ad0s1b bs=1m Versleutelen van het wisselbestand met &man.gbde.8; Als gebruik gemaakt wordt van &os; 6.0-RELEASE of nieuwer, moet gebruik gemaakt worden van het .bde achtervoegsel aan het apparaat in de respectievelijke /etc/fstab wisselbestand regel: # Device Mountpoint FStype Options Dump Pass# /dev/ad0s1b.bde none swap sw 0 0 Voor systemen die dateren van voor &os; 6.0-RELEASE is de volgende regel in /etc/rc.conf ook benodigd: gbde_swap_enable="YES" Versleutelen van het wisselbestand met &man.geli.8; Het opzetten van &man.geli.8; voor het versleutelen van het wisselbestand is hetzelfde als dat van &man.gbde.8;. Hier moet echter gebruik gemaakt worden van het .eli achtervoegsel aan het apparaat in de respectievelijke /etc/fstab wisselbestand regel: # Device Mountpoint FStype Options Dump Pass# /dev/ad0s1b.eli none swap sw 0 0 &man.geli.8; maakt standaard gebruik van het AES algoritme met een sleutel lengte van 256 bit. Optioneel kunnen deze standaardwaarden worden aangepast door gebruik te maken van de geli_swap_flags optie in /etc/rc.conf. De volgende regel verteld het encswap rc.d bestand om een &man.geli.8; wisselbestand te maken met het Blowfish algoritme met een sleutel lengte van 128 bit, een sectorgrootte van 4 kilobytes en met de optie ontkoppelen nadat de laatste afsluiting gezet: geli_swap_flags="-e blowfish -l 128 -s 4096 -d" - Voor systemen gedateerd van voor &os; 6.0-RELEASE moet + Voor systemen gedateerd van voor &os; 6.2-RELEASE moet de volgende regel gebruikt worden: geli_swap_flags="-a blowfish -l 128 -s 4096 -d" Zie de uitleg over het onetime commando in de &man.geli.8; handleiding voor een lijst van mogelijke opties. Controleren of het werkt Zodra het systeem opnieuw opgestart is kan gekeken worden of alles nog goed werkt door gebruik te maken van het swapinfo commando. Als gebruik gemaakt wordt van &man.gbde.8;: &prompt.user; swapinfo Device 1K-blocks Used Avail Capacity /dev/ad0s1b.bde 542720 0 542720 0% Als gebruik gemaakt wordt van &man.geli.8;: &prompt.user; swapinfo Device 1K-blocks Used Avail Capacity /dev/ad0s1b.eli 542720 0 542720 0%
diff --git a/nl_NL.ISO8859-1/books/handbook/eresources/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/eresources/chapter.sgml index 5f0750db6d..45a74ec8d8 100644 --- a/nl_NL.ISO8859-1/books/handbook/eresources/chapter.sgml +++ b/nl_NL.ISO8859-1/books/handbook/eresources/chapter.sgml @@ -1,2060 +1,2144 @@ Bronnen op Internet Door de snelle ontwikkeling van &os; zijn gedrukte media niet zo praktisch om de laatste ontwikkelingen te volgen. Elektronische bronnen zijn de beste, en vaak de enige, om op de hoogte te blijven van de laatste ontwikkelingen. Omdat &os; draait op de inzet van vrijwilligers, is de gebruikersgemeenschap vaak een soort technische ondersteuningsgroep, die heeft ontdekt dat e–mail en USENET de meeste effectieve manieren zijn om de gebruikersgemeenschap te bereiken. Hieronder staan de meest belangrijke contactmogelijkheden met de &os; gebruikersgemeenschap beschreven. Mochten er andere bronnen zijn die hier niet beschreven zijn, laat die dan weten aan de &a.doc;, zodat ze hier ook beschreven kunnen worden. Mailinglijsten Hoewel veel van de ontwikkelaars van &os; USENET lezen, kan niet altijd gegarandeerd worden dat vragen die in een van de groepen binnen comp.unix.bsd.freebsd.* gesteld worden, op tijd beantwoord worden - als ze al beantwoord worden. Door vragen op de daarvoor bestemde mailinglijsten te stellen, wordt het gewenste &os; publiek bereikt, waardoor een beter, of in ieder geval tijdiger, antwoord is gegarandaard. De doelstellingen van de verschillende lijsten staan - onderaan dit document. Lees alsjeblieft de - doelstellingen alvorens lid te worden of mail te - sturen. De meeste leden ontvangen tegenwoordig vaak + onderaan dit document. Lees alstublieft de + doelstellingen alvorens lid te worden of mail te + sturen. De meeste leden ontvangen tegenwoordig vaak honderden &os; gerelateerde berichten per dag, en door de doelstellingen en gebruiksregels op te stellen wordt gestreefd om zo min mogelijk ruis op de lijn te krijgen. Door de voorgaande adviezen te negeren zouden de mailinglijsten op termijn falen als een effectief communicatiemedium over het project. - Als je wilt testen of je naar de &os; lijsten + Als u wilt testen of u naar de &os; lijsten email kunt versturen, stuur dan een bericht naar &a.test.name;. Stuur alstublieft geen test berichten naar andere lijsten. Bij twijfel over naar welke lijst te posten, kan de pagina Hoe de beste resultaten uit de &os;-vragen mailinglijst te halen wellicht helpen. Alvorens naar enige lijst te posten, is het verstandig te leren hoe de mailinglijsten het beste gebruikt kunnen worden. Hoe bijvoorbeeld zich vaak herhalende discussies voorkomen kunnen worden door het document Veel Gestelde Mailinglijstvragen (FAQ) te lezen. Voor alle mailinglijsten worden archieven bijgehouden die doorzocht kunnen worden op de &os; World Wide Web server. De met sleutelwoorden te doorzoeken archieven bieden een voortreffelijke methode om antwoorden te vinden op vaak gestelde vragen en horen geraadpleegd te worden voordat er vragen op een lijst worden gesteld. Lijstsamenvatting Algemene lijsten: De volgende zijn algemene lijsten waarop vrijelijk (en aangemoedigd) geabonneerd kan worden: Lijst Doel &a.cvsall.name; Wijzigen die aan de &os; broncode zijn gemaakt &a.advocacy.name; &os; Evangelisatie &a.announce.name; Belangrijke gebeurtenissen en projectdoelen &a.arch.name; Architectuur en ontwerp discussies &a.bugbusters.name; Discussie over het onderhoud van de &os; probleemrapporten database en aanverwante zaken &a.bugs.name; Bugbeschrijvingen &a.chat.name; Niet-technische onderwerpen met betrekking tot de &os; gemeenschap &a.current.name; Discussie over het gebruik van &os.current; &a.isp.name; Zaken voor Internet Service Providers die &os; gebruiken &a.jobs.name; Werk en mogelijkheden voor het geven van advies met betrekking tot &os; &a.policy.name; Beleidsbeslissingen van het &os; Kernteam. Laag volume en alleen-lezen &a.questions.name; Gebruikersvragen en technische ondesteuning &a.security-notifications.name; Beveiligingswaarschuwingen &a.stable.name; Discussies over het gebruik van &os.stable; &a.test.name; Hier kunnen testberichten heengestuurd worden in plaats van naar de eigenlijke lijsten Technische lijsten: De volgende lijsten zijn voor technische discussie. Het is van belang de doelstellingen te lezen alvorens lid te worden of mail te sturen omdat de richlijnen voor het gebruik en de inhoud erg strikt zijn. Lijst Doel &a.acpi.name; Ontwikkeling van ACPI en energiebeheer &a.afs.name; Porten van AFS naar &os; &a.aic7xxx.name; Ontwikkeling van drivers voor de &adaptec; AIC 7xxx &a.alpha.name; Porten van &os; naar de Alpha &a.amd64.name; Porten van &os; naar AMD64 systemen &a.apache.name; Discussie over ports met betrekking tot Apache &a.arm.name; Porten van &os; naar &arm; processors &a.atm.name; Het gebruik van ATM netwerken met &os; &a.audit.name; Audit van broncode project &a.binup.name; Ontwerp en ontwikkeling van het binaire updatesysteem &a.bluetooth.name; &bluetooth; technologie gebruiken in &os; &a.cluster.name; &os; gebruiken in een geclusterde omgeving &a.cvsweb.name; CVSweb onderhoud &a.database.name; Discussie over het gebruik en de ontwikkeling van databases met &os; &a.doc.name; Het maken van &os; gerelateerde documenten &a.drivers.name; Apparaatstuurprogramma's schrijven voor &os; &a.eclipse.name; Gebruikers van Eclipse IDE, hulpprogramma's, clientapplicaties en ports &a.eol.name; Ondersteuning voor &os; gerelateerde software welke niet langer ondersteund worden door het &os; project. &a.embedded.name; &os; gebruiken in embedded applicaties. &a.emulation.name; Emulatie van andere systemen zoals &linux;, &ms-dos; en &windows; &a.firewire.name; &os; &firewire; (iLink, IEEE 1394) technische discussie &a.fs.name; Bestandssystemen &a.geom.name; GEOM-specifieke discussies en implementaties &a.gnome.name; Porten van GNOME en GNOME applicaties &a.hackers.name; Algemene technische discussies &a.hardware.name; Algemene discussies over hardware voor het draaien van &os; &a.i18n.name; &os; Internationalisatie &a.ia32.name; &os; op het IA-32 (&intel; x86) platform &a.ia64.name; Porten van &os; naar &intel;'s IA64 systemen &a.ipfw.name; Technische discussie over het herontwerp van de IP firewallcode &a.isdn.name; ISDN ontwikkelaars &a.jail.name; Discussies over de &man.jail.8; faciliteiten. &a.java.name; &java; ontwikkelaars en mensen die &jdk;'s porten naar &os; &a.kde.name; Porten van KDE en KDE applications &a.lfs.name; Porten van LFS naar &os; &a.libh.name; Het tweede generatie installatie en package systeem &a.mips.name; Porten van &os; naar &mips; &a.mobile.name; Discussie over mobiel computeren &a.mozilla.name; Porten van Mozilla naar &os; &a.multimedia.name; Multimedia applicaties &a.newbus.name; Technische discussies over bus-architecturen &a.net.name; Discussies over netwerken en TCP/IP broncode &a.openoffice.name; Porten van OpenOffice.org en &staroffice; naar &os; &a.performance.name; Optimalisatie van prestaties voor installaties met hoge prestaties en/of load &a.perl.name; Onderhoud van een aantal ports met betrekking tot Perl &a.pf.name; Discussies en vragen voor het pakketfilter firewall systeem &a.platforms.name; Ports naar niet &intel; architectuur platforms &a.ports.name; Discussie over de Portscollectie &a.ports-bugs.name; Discussie over bugs in ports en PR's &a.ppc.name; Porten van &os; naar de &powerpc; &a.proliant.name; Technische dicussie over &os; op HP Proliant serverplatforms &a.python.name; &os;-specifieke Python zaken &a.qa.name; Discussie over Quality Assurance, meestal in een release traject &a.realtime.name; Ontwikkeling van realtime extensions voor &os; &a.rc.name; Discussie over het rc.d-systeem en de ontwikkeling daarvan + + &a.ruby.name; + + &os;-specifieke discussies over Ruby + + &a.scsi.name; Het SCSI subsysteem &a.security.name; Beveiligingsonderwerpen betreffende &os; &a.small.name; &os; gebruiken in embedded toepassingen, verouderd, gebruik in plaats hiervan: &a.embedded.name; &a.smp.name; Discussies over het ontwerp voor [A]Symmetric MultiProcessing &a.sparc.name; Porten van &os; naar op &sparc; gebaseerde systemen &a.standards.name; Volgen van de C99 en de &posix; standaarden door &os; &a.sun4v.name; Het porteren van &os; naar &ultrasparc; T1 gebaseerde systemen. &a.threads.name; Threading in &os; &a.testing.name; &os; prestatie- en stabiliteitstesten &a.tokenring.name; Ondersteuning voor Token Ring in &os; &a.usb.name; Discussie over &os; ondersteuning voor USB + + &a.virtualization.name; + + Discussies over verscheidene + virtualisatietechnieken ondersteund door &os; + + &a.vuxml.name; Discussie over VuXML infrastructuur &a.x11.name; Onderhoud en ondersteuning voor X11 op &os; Beperkte lijsten: De volgende lijsten zijn voor meer gespecialiseerd publiek en algemene gebruikers hebben er waarschijnlijk niets aan. Het is verstandig om eerst naam te maken in de technische lijsten alvorens lid te worden van een van de onderstaande beperkte lijsten, zodat de gebruiken op die lijst bekend zijn. Lijst Doel &a.hubs.name; Mensen die mirrorsites draaien (infrastructurele ondersteuning) &a.usergroups.name; Gebruikersgroep coördinatie &a.vendors.name; Coördinatie van pre-release met wederverkopers + + &a.wip-status.name; + + &os; Werk-In-Uitvoering status + + &a.www.name; Beheerders van www.FreeBSD.org Verkorte versie van lijsten (digest): Alle hierboven beschreven lijsten zijn beschikbaar in verkorte vorm. Na het lid worden van een lijst zijn de digest opties te wijzigen bij de accountopties. CVS lijsten: De volgende lijsten zijn voor mensen met interesse in het zien van logboekberichten voor wijzigingen in verschillende onderdelen van de broncodestructuur. Het zijn Alleen-lezen lijsten waar geen e–mail heen gezonden hoort te worden. Lijst Broncodegebied Broncodebeschrijving &a.cvsall.name; /usr/(CVSROOT|doc|ports|projects|src) Alle wijzigingen op welke plaats in de structuur dan ook (som van alle andere CVS commit lijsten) &a.cvs-doc.name; /usr/(doc|www) Alle wijzigingen aan de doc en www structuren &a.cvs-ports.name; /usr/ports Alle wijzigingen aan de ports structuur &a.cvs-projects.name; /usr/projects Alle wijzigingen aan de projects structuur &a.cvs-src.name; /usr/src Alle wijzigingen aan de src structuur Hoe abonneren Om te abonneren op een lijst kan geklikt worden op de naam van de lijst hierboven of kan op &a.mailman.lists.link; geklikt worden op de lijst waarin interesse bestaat. De pagina waarop de lijsten staan beschreven bevat alle informatie die nodig is om te abonneren. Om te posten op een lijst kan simpelweg een e–mail gestuurd worden naar lijstnaam@FreeBSD.org. Daarna wordt die doorgestuurd aan leden van de lijst in de hele wereld. Om het abonnement op een lijst op te zeggen kan op de URL die onderaan iedere e–mail van een lijst staat geklikt worden. Het is ook mogelijk om een e–mail te sturen naar lijstnaam-unsubscribe@FreeBSD.org om een abonnement op te zeggen. Hierbij nogmaals het advies om discussies op de technische mailinglijsten technisch te houden. Als er alleen interesse bestaat in belangrijke mededelingen dan wordt aangeraden te abonnneren op &a.announce;, waarop zelden verkeer voorkomt. Lijstdoelstellingen Alle &os; mailinglijsten hebben eigen regels waaraan voldaan dient te worden bij gebruik. Als daaraan niet wordt voldaan, resulteert dat in maximaal twee (2) schriftelijke waarschuwingen van de &os; Postmaster postmaster@FreeBSD.org, waarna na de derde overtreding de poster verwijderd wordt van alle &os; mailinglijsten en alle toekomstige mail van het adres van de verzender wordt uitgefilterd. Helaas zijn deze regels nodig, omdat het internet van vandaag de dag een onvriendelijke omgeving is en slechts weinigen zich bewust zijn van hoe fragiel sommige mechanismen zijn. Standaardregels: Het onderwerp van iedere mail dient te voldoen aan de basisdoelstellingen van de lijst waarnaar wordt gepost. Als de lijst bijvoorbeeld over technische onderwerpen gaat, dan hoort een post ook over iets technisch te gaan. Ruis en flaming doen alleen af aan de waarde van een mailinglijst voor alle leden en dat wordt niet getolereerd. Voor vrije discussie dient de &a.chat; gebruikt te worden die daar speciaal voor is ingesteld. Bijdragen horen niet naar meer dan twee mailinglijsten verzonden te worden en alleen dan naar twee als het helder en duidelijk is dat daarvoor de noodzaak bestaat. Voor de meeste lijsten bestaat er al veel overlap in de leden en met uitzondering van de meer esoterische lijsten, zoals bijvoorbeeld -stable & -scsi, is er eigenlijk slechts zelden aanleiding om naar meer dan een lijst te posten. Als een bericht zo is verzonden dat er meerdere mailinglijsten op de regel Cc staan, dan hoort de regel Cc weer ingekort te worden in een eventueel antwoord. De verzender is verantwoordelijk voor zijn eigen kruisposten, wie ook een eerdere zender was. Persoonlijke aanvallen en profane taal (in de context van een geschil) zijn niet toegestaan. Dit geldt zowel voor gebruikers als ontwikkelaars. Grove schending van de netiquette, zoals kopiëren uit of het volledig doorsturen van persoonlijke e–mail zonder dat daarvoor toestemming is gegeven, wordt niet op prijs gesteld. Er zijn hoe dan ook zeer weinig gevallen zijn waarin zoiets dergelijks wel binnen de doelstelling van een lijst valt, waardoor dat soort e–mails op grond van de inhoud alleen al vaak reden zijn voor een waarschuwing (of ban). Adverteren voor niet-&os; gerelateerde producten is streng verboden en heeft direct een ban tot gevolg als helder is dat de overtreder adverteert door middel van spam. Individuele lijstdoelstellingen: - &a.acpi.name; ACPI en energiebeheerontwikkeling &a.afs.name; Andrew Bestandssysteem (Andrew File System) Deze lijst is voor onderwerpen over het porten en gebruik van AFS van CMU/Transarc &a.announce.name; Belangrijke gebeurtenissen en projectdoelen Dit is de mailinglijst voor hen die alleen interesse hebben in gelegenheidsmededelingen of belangrijke &os; gebeurtenissen. Hieronder vallen aankondigingen over snapshots en andere releases. De lijst omvat ook aankondigingen over nieuwe mogelijkheden binnen &os;. Er kunnen ook oproepen gedaan worden voor vrijwilligers, enzovoort. Deze lijst kent een laag volume en is volledig gemodereerd. &a.arch.name; Discussie van architectuur en ontwerp Deze lijst is bedoeld voor het bespreken van de &os; architectuur. Berichten zijn in het algemeen strikt technisch van aard. Voorbeelden van geschikte onderwerpen zijn: Hoe het buildsysteem bijgewerkt kan worden zodat meerdere aanpaste builds tegelijkertijd kunnen lopen. Wat moet er aan VPS aangepast worden om Heidemann layers te laten werken. Hoe kan de apparataatstuurprogramma interface aangepast worden zodat dezelfde stuurprogramma's netjes op vele bussen en architecturen gebruikt kunnen worden. Hoe een netwerkstuurprogramma geschreven kan worden. &a.audit.name; Broncode audit project Dit is de mailinglijst voor het &os; broncode audit project. Hoewel in eerst instantie bedoeld voor beveiliging gerelateerde wijzigingen, zijn de doelstellingen aangepast naar alle wijzigingen in de code. Op deze lijst komen veel patches voor en hij is waarschijnlijk niet interessant voor de gemiddelde &os; gebruiker. Beveiligingsdiscussies die niet gerelateerd zijn aan een bepaalde broncodewijziging worden gehouden op freebsd-security. Omgekeerd worden alle ontwikkelaars aangemoedigd hun patches op deze lijst ter review aan te bieden, zeker als hun patch een deel van het systeem raakt waar een bug de integriteit van het systeem nadelig kan beïnvloeden. &a.binup.name; &os; Binaire Updates Project Deze lijst bestaat om de mogelijkheid te bieden tot het bespreken van het binaire update systeem of binup. Onderwerpen met betrekking tot ontwerp, implementatie details, patches, bugreports, statusreports, feature requests, commit logs en alle andere dingen die met binup te maken hebben kunnen besproken worden. &a.bluetooth.name; &bluetooth; in &os; Dit is het forum waar gebruikers van &bluetooth; op &os; samenkomen. Gespreksstof op het gebied van ontwerp, implementatiedetails, patches, probleemrapportages, statusrapportages, verzoeken voor nieuwe mogelijkheden en al het andere dat met &bluetooth; te maken heeft is geschikt materiaal. &a.bugbusters.name; Coördinatie afhandeling Problem Reports Het doel van deze lijst is een platform zijn voor de coördinatie en discussie voor de Bugmeister, zijn Bugbusters en anderen die interesse hebben in de PR database. Deze lijst is niet bedoeld voor discussie van specifieke bugs, patches of PR's. &a.bugs.name; Bug reports Dit is de mailinglijst voor het rapporteren van bugs in &os;. Waar mogelijk dienen bugs ingezonden te worden via &man.send-pr.1; of via de WEB interface daarvan. &a.chat.name; Niet-technische onderwerpen met betrekking tot de &os; gemeenschap Deze lijst bevat alle onderwerpen waar op andere lijsten geen ruimte voor is wat betreft niet-technische en sociale informatie. Er wordt gesproken over de moord op Van Gogh, of er in onderkast of kapitalen geschreven dient te worden, wie er te veel koffie drinkt, waar het beste bier vandaan komt, enzovoort. Belangrijke gebeurtenissen (zoals feestjes, bruiloften, geboorten, nieuwe banen, enzovoort) kunnen op de technische lijsten aangekondigd worden, maar antwoorden dienen naar deze -chat lijst te gaan. &a.core.name; &os; Kernteam Dit is een interne mailinglijst die wordt gebruikt door de kernleden. Er kunnen berichten naar gestuurd worden als een belangrijke &os; gerelateerde zaak arbitrage nodig heeft of een onderzoekende blik op hoog niveau nodig is. &a.current.name; Discussie over het gebruikt van &os.current; Dit is de mailinglijst voor gebruikers van &os.current;. Er staan waarschuwingen op over nieuwe mogelijkheden in -CURRENT die impact hebben op gebruikers en instructies over de te nemen stappen om -CURRENT te blijven. Iedereen die CURRENT draait, zou zich moeten abonneren. Dit is een technische mailinglijst waarop strikt technische berichten worden verwacht. &a.cvsweb.name; &os; CVSweb Project Technische discussie over het gebruik, de ontwikkeling en het beheer van &os;-CVSweb. &a.doc.name; Documentatie project Dit is de mailinglijst voor het bespreken van onderwerpen en projecten die te maken hebben met het maken van documentatie voor &os;. De leden van deze mailinglijst worden samen The &os; Documentation Project genoemd. Het is een open lijst waarop zonder problemen een abonnement genomen kan worden en bijdragen zeer op prijs worden gesteld! &a.drivers.name; Apparaatstuurprogramma's schrijven voor &os; Dit is een forum voor technische discussie met betrekking tot apparaatstuurprogramma's op &os;. Het is vooral een plaats voor schrijvers van apparaatstuurprogramma's om vragen te stellen over hoe apparaatstuurprogramma's te schrijven met de API's in de kernel van &os;. &a.eclipse.name; Gebruikers van Eclipse IDE, hulpprogramma's, clientapplicaties en ports De doelstelling van deze lijst is wederzijdse ondersteuning bieden voor alles dat te maken heeft met het kiezen, installeren, gebruiken, ontwikkelen en onderhouden van Eclipse IDE, hulpprogramma's en clientapplicaties op het &os;-platform en te ondersteunen bij het porten van Eclipse IDE en plugins naar de &os;-omgeving. Het is ook de bedoeling om het uitwisselen van informatie tussen de Eclipse gemeenschap en de &os; gemeenschap te bevorderen zodat beiden ervan kunnen profiteren. Hoewel deze lijst voornamelijk is gericht op de behoeften van gebruikers van Eclipse, wordt ook een forum geboden voor hen die &os;-specifieke applicaties willen ontwikkelen met het Eclipse framwork. &a.eol.name; Ondersteuning van &os; gerelateerde software welke niet meer ondersteund wordt door het &os; project. Deze lijst is voor degenen die geinteresseerd zijn in het leveren of gebruiken van ondersteuning voor &os; gerelateerde software voor welke het &os; project geen ondersteuning meer biedt (in de vorm van security advisories en patches). &a.embedded.name; &os; gebruiken in embedded applicaties Deze lijst heeft tot doel om te discussieren over &os; in embedded systemen. Dit is een technische mailinglijst waarbij men alleen technische inhoud verwacht. Voor het belang van deze lijst definieren we embedded systemen als computer systemen die geen desktop systemen zijn en meestal slechts één doel hebben ten opzichte van gewone systemen. Voorbeelden bevatten onder andere: diverse soorten telefoonsets, netwerk apparatuur zoals routers, switches en PBX'en, op afstandbestuurbare meet apparatuur, PDA's, Point of Sale systemen etc. &a.emulation.name; Emulatie van andere systemen zoals &linux;, &ms-dos; en &windows; Dit is een forum voor technische discussie met betrekking tot het draaien van programma's op &os; die zijn geschreven voor andere besturingssystemen. &a.firewire.name; &firewire; (iLink, IEEE 1394) Dit is de mailinglijst voor het bespreken van het ontwerp en de implementatie van een &firewire; (ook wel IEEE 1394 of iLink) subsysteem voor &os;. Relevante onderwerpen omvatten de standaarden, bus apparaten en hun protocollen, adapter boards/kaarten/chipssets en de architectuur en implementatie van code voor een juiste ondersteuning. &a.fs.name; Bestandssystemen Discussie over &os; bestandssystemen. Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht. &a.geom.name; GEOM Discussie specifiek over GEOM en gerelateerde implementaties. Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht. &a.gnome.name; GNOME Discussie over de GNOME bureaubladomgeving voor &os;. Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht. &a.ipfw.name; IP Firewall Dit is het forum voor technische bespreking van het herontwerp van de IP firewall code in &os;. Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht. &a.ia64.name; Porten van &os; naar IA64 Dit is een technische mailinglijst voor individuen die actief werken aan het porten van &os; naar het IA-64 platform van &intel;, om problemen op tafel te leggen of alternatieve oplossingen te bespreken. Geïnteresseerden die alleen de technische bespreking willen volgen zijn ook welkom. &a.isdn.name; ISDN Communicatie Dit is de mailinglijst voor discussie over de ontwikkeling van ISDN ondersteuning voor &os;. &a.java.name; &java; Ontwikkeling Dit is de mailinglijst voor het bespreken van de ontwikkeling van significante &java; applicaties voor &os; en het porten en het beheer van &jdk;'s. &a.jobs.name; Banen in de aanbieding en gezocht Dit is een forum voor vacatures en CV's specifiek gerelateerd aan &os;, bijvoorbeeld als er &os; gerelateerd werk wordt gezocht of in de aanbieding is. Dit is geen mailinglijst voor algemene werkonderwerpen omdat daarvoor al elders ruimte staat. Ook deze lijst wordt net als alle andere FreeBSD.org mailinglijsten wereldwijd verspreid. Daarom dient duidelijk vermeld te worden om welke locatie het gaat en onder welke voorwaarden telewerken of bijdragen in huisvesting mogelijk zijn. E–mail dient alleen open formaten te bevatten. Bij voorkeur platte tekst, maar standaard Portable Document Format (PDF), HTML en een aantal andere, zijn acceptabel voor lezers. Gesloten formaten, zoals µsoft; Word (.doc), worden door de mailinglijstserver geweigerd. &a.kde.name; KDE Discussie over KDE op &os; systemen. Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht. &a.hackers.name; Technische discussies Dit is een forum voor technische discussie met betrekking tot &os;. Dit is de leidende technische mailinglijst die is bestemd voor mensen die actief aan &os; werken om problemen aan het voetlicht te brengen of alternatieve oplossingen te bespreken. Geïnteresseerden die alleen de technische bespreking willen volgen zijn ook welkom. Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht. &a.hardware.name; Algemene discussie over &os; hardware Algemene discussie over de typen hardware waar &os; op draait en problemen en oplossingen over wat te kopen en wat vooral niet. &a.hubs.name; Mirrorsites Aankondigingen en discussie voor beheerders van &os; mirrorsites. &a.isp.name; Onderwerpen voor Internet Service Providers Deze mailinglijst is voor het bespreken van relevante onderwerpen voor Internet Service Providers (ISP's) die &os; gebruiken. Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht. &a.openoffice.name; OpenOffice.org Discussie over het porten en beheren van OpenOffice.org en &staroffice;. &a.performance.name; Discussie over het optimaliseren of versnellen van &os; Deze mailinglijst is een platform voor hackers, beheerders en/of andere belanghebbenden om &os; en prestaties gerelateerde onderwerpen te bespreken. De onderwerpen die besproken kunnen worden omvatten &os; installaties met een hoge load, systemen met prestatieproblemen of systemen die tegen de limieten van &os; aan zitten. Zij die willen meewerken om de prestaties van &os; te verbeteren worden sterk aangemoedigd op deze lijst te abonneren. Deze lijst is bijzonder technisch en bijzonder geschikt voor ervaren &os; gebruikers, hackers en beheerders die &os; snel, robuust en schaalbaar willen houden. Deze lijst is geen vraag-en-antwoord lijst die dient als vervanging voor het lezen van documentatie, maar hier worden bijdragen geleverd of vragen gesteld over nog niet eerder beschreven prestatie gerelateerde onderwerpen. &a.pf.name; Discussie en vragen over het pakketfilter firewall systeem Discussie over het pakketfilter (pf) firewall systeem aangaande &os;. Technische discussie en gebruikersvragen zijn beiden welkom. Deze lijst is ook de plaats om het ALTQ QoS framework te bespreken. &a.platforms.name; Porten van niet-&intel; platforms Cross-platform &os; zaken, algemene discussie en voorstellen voor niet-&intel; &os; ports. Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht. &a.policy.name; Kernteam beleidsbeslissingen Dit is een laag volume, alleen-lezen mailinglijst voor beleidsbeslissingen van het &os; Kernteam. &a.ports.name; Discussie over ports Discussie over de Portscollectie (/usr/ports) van &os;, de ports infrastructuur en algemene coördinatie aangaande ports. Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht. &a.ports-bugs.name; Discussie over ports bugs Discussie over problem reports voor de &os; Portscollectie (/usr/ports), voorgestelde ports of aanpassingen aan ports. Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht. &a.proliant.name; Technische dicussie over &os; op HP Proliant serverplatforms Deze mailinglijst wordt gebruikt voor technische discussie over het gebruik van &os; op HP ProLiant servers, inclusief het bespreken van ProLiant-specifieke drivers, beheersoftware, gereedschappen voor instellingen en BIOS updates. Dit is daaarom ook de uitgesproken plaats voor het bespreken van de modules hpasmd, hpasmcli en hpacucli. &a.python.name; Python op &os; Dit is een lijst voor discussie gerelateerd aan het verbeteren van ondersteuning voor Python op &os;. Dit is een technische mailinglijst voor mensen die aan het porten van Python, aanverwante modules en Zope dingen naar &os; werken. &a.questions.name; Gebruikersvragen Dit is de mailinglijst voor vragen over &os;. Er horen geen how to vragen op de technische mailinglijsten thuis, tenzij een vraag erg technisch van aard is. + + &a.ruby.name; + + + &os;-specifieke discussies over + Ruby + + Dit is een lijst voor discussies gerelateerd aan de + Ruby-ondersteuning op &os;. Dit is een technische + mailinglijst. Het is bedoeld voor individuen die aan + Ruby-ports, bibliotheken van derde partijen, en raamwerken + werken. + + Individuen die geïnteresseerd zijn in de + technische discussie zijn ook welkom. + + + &a.scsi.name; SCSI subsysteem Dit is de mailinglijst voor mensen die aan het SCSI subsysteem voor &os; werken. Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht. &a.security.name; Beveiligingsonderwerpen &os; computerbeveiligingsonderwerpen (DES, Kerberos, bekende beveiligingsgaten, oplossingen, enzovoort). Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht. Dit is zeker geen vraag-en-antwoord lijst, maar bijdragen voor de FAQ (zowel vraag als antwoord) zijn welkom. &a.security-notifications.name; Beveiligingswaarschuwingen Waarschuwingen voor &os; beveiligingsproblemen en oplossingen. Dit is geen discussielijst. De discussielijst is &a.security.name;. &a.small.name; &os; gebruiken in embedded toepassingen Op deze lijst worden onderwerpen gerelateerd aan ongebruikelijk kleine en embedded &os; installaties besproken. Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht. Deze lijst is vervangen door: &a.embedded.name; &a.stable.name; Discussie over het gebruik van &os.stable; Dit is de mailinglijst voor gebruikers van &os.stable;. Er worden ook waarschuwingen op gepost over nieuwe opties in -STABLE die invloed op de systemen van gebruikers kunnen hebben en instructies over de te nemen stappen om -STABLE te blijven. Iedereen die STABLE draait hoort zich op deze lijst te abonneren. Dit is een technische mailinglijst waarop slechts strikt technische bijdragen worden verwacht. &a.standards.name; Conformeren C99 & POSIX Dit is een forum voor technische bespreking gerelateerd aan het conformeren van &os; aan de C99 en de POSIX standaarden. &a.usb.name; Discussie over &os; ondersteuning voor USB Dit is de mailinglijst voor technische bespreking van onderwerpen gerelateerd aan &os; ondersteuning voor USB. &a.usergroups.name; Gebruikersgroep Coördinatie Lijst Dit is de mailinglijst voor coördinatoren voor alle lokale gebruikersgroepen, zodat ze met elkaar en een lid van het Kernteam zaken kunnen bespreken. Deze lijst hoort beperkt te blijven tot een overzicht van overleggen en de coördinatie van projecten waarbij meerdere gebruikersgroepen betrokken zijn. &a.vendors.name; Verkopers Coördinatie en discussie tussen het &os; project en verkopers van software en hardware voor &os;. + + &a.virtualization.name; + + + Discussies over verscheidene + virtualisatietechnieken ondersteund door &os; + + + Een lijst om de verscheidene virtualisatietechnieken + die door &os; worden ondersteund te bespreken. Aan de ene + kant zal de nadruk liggen op de implementatie van de + basale functionaliteit alsook op het toevoegen van nieuwe + mogelijkheden. Aan de andere kant zullen gebruikers een + forum hebben om om hulp te vragen bij problemen of om hun + usecases te bespreken. + + + + + &a.wip-status.name; + + + &os; Werk-In-Uitvoering status + + + Deze mailinglijst kan gebruikt worden om de schepping + en voortgang van uw &os;-gerelateerd werk aan te kondigen. + Berichten zullen gemodereerd worden. Het wordt + gesuggereerd om het bericht "Aan:" een &os;-mailinglijst + dat het onderwerp beter dekt te sturen en deze lijst + alleen te "BCC:"-en. Op deze manier kan uw + werk-in-uitvoering ook op de onderwerpslijst worden + bediscussieerd, aangezien discussies op deze lijst niet + zijn toegestaan. + + Kijk in de archieven voor voorbeelden van geschikte + berichten. + + Een redactioneel overzicht van de berichten aan deze + lijst kan om de paar maanden naar de &os;-website gezonden + worden als deel van de Status Reports + . + Meer voorbeelden en oude rapportages zijn daar ook te + vinden. + + Filters op de mailinglijsten De &os; mailinglijsten worden op verschillende manieren gefilterd om het doorsturen van spam, virussen en andere ongewenste e–mail te beperken. De hieronder beschreven filteracties bevatten niet alle genomen acties voor de beveiliging van de mailinglijsten. Er is een beperkt aantal typen bijlagen toegestaan op de mailinglijsten. Alle bijlagen met een MIME content type dat niet in de onderstaande lijst staat worden verwijderd voordat de mail wordt doorgestuurd naar de mailinglijsten. application/octet-stream application/pdf application/pgp-signature application/x-pkcs7-signature message/rfc822 multipart/alternative multipart/related multipart/signed text/html text/plain text/x-diff text/x-patch Sommige mailinglijsten staan wellicht bijlagen toe met andere MIME content typen, maar de bovenstaande lijst zal gelden voor de meeste mailinglijsten. Als een e–mail zowel een HTML als een platte tekst versie bevat, dan wordt de HTML versie verwijderd. Als een mail alleen een HTML versie bevat, dan wordt die omgezet naar platte tekst. Usenet nieuwsgroepen Naast de twee specifieke &os; nieuwsgroepen zijn er nog veel andere waarin &os; wordt besproken of die anderszins relevant zijn voor &os; gebruikers. Er zijn sleutelwoord doorzoekbare archieven voor een aantal van die nieuwsgroepen, met dank aan Warren Toomey wkt@cs.adfa.edu.au. Specifieke BSD nieuwsgroepen comp.unix.bsd.freebsd.announce comp.unix.bsd.freebsd.misc de.comp.os.unix.bsd (Duits) fr.comp.os.bsd (Frans) it.comp.os.freebsd (Italiaans) tw.bbs.comp.386bsd (Traditioneel Chinees) Overige interessante &unix; nieuwsgroepen comp.unix comp.unix.questions comp.unix.admin comp.unix.programmer comp.unix.shell comp.unix.user-friendly comp.security.unix comp.sources.unix comp.unix.advocacy comp.unix.misc comp.bugs.4bsd comp.bugs.4bsd.ucb-fixes comp.unix.bsd X Window systeem comp.windows.x.i386unix comp.windows.x comp.windows.x.apps comp.windows.x.announce comp.windows.x.intrinsics comp.windows.x.motif comp.windows.x.pex comp.emulators.ms-windows.wine World wide webservers Onderstaande lijst met World Wide Webservers wordt automatisch samengesteld om zo actueel mogelijk te zijn en is daarom niet vertaald. &chap.eresources.www.inc; E–mail adressen De onderstaande gebruikersgroepen bieden &os; gerelateerde e–mail adressen aan voor hun leden. De aangegeven beheerders behouden zich het recht voor om een account te verwijderen als die op enigerlei wijze wordt misbruikt. Domein Faciliteiten Gebruikersgroep Beheerder ukug.uk.FreeBSD.org Alleen forwarden freebsd-users@uk.FreeBSD.org Lee Johnston lee@uk.FreeBSD.org Shell accounts De onderstaande gebruikersgroepen bieden shell accounts aan voor mensen die het &os; project actief ondersteunen. De aangegeven beheerders behouden zich het recht voor om een account te verwijderen als die op enigerlei wijze wordt misbruikt. Host Toegang Faciliteiten Beheerder dogma.freebsd-uk.eu.org Telnet/FTP/SSH E–mail, webhosting, anonieme FTP Lee Johnston lee@uk.FreeBSD.org diff --git a/nl_NL.ISO8859-1/books/handbook/firewalls/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/firewalls/chapter.sgml index 188ff8b9c7..c76d5ca8f6 100644 --- a/nl_NL.ISO8859-1/books/handbook/firewalls/chapter.sgml +++ b/nl_NL.ISO8859-1/books/handbook/firewalls/chapter.sgml @@ -1,3539 +1,3632 @@ Joseph J. Barbish Bijgedragen door Brad Davis Omgezet naar SGML en bijgewerkt door Siebrand Mazeland Vertaald door Firewalls firewall beveiliging firewalls Inleiding Firewalls bieden de mogelijkheid om inkomend en uitgaand verkeer op een systeem te filteren. Een firewall gebruikt daarvoor een of meer groepen regels (rules) om netwerkpakketten te inspecteren als ze binnenkomen of weggaan door netwerkverbindingen en staat dat verkeer dan toe of blokkeert het. De regels van een firewall kunnen één of meerdere eigenschappen van pakketten onderzoeken waaronder, maar niet uitsluitend, het protocol, het bron- of bestemmingsadres en de bron- en bestemmingspoort. Firewalls kunnen de veiligheid van een host of netwerk enorm vergroten. Ze kunnen één of meer van de volgende dingen doen: Applicaties, diensten en machines op een intern netwerk te beschermen tegen ongewild verkeer van het - internet. + Internet. - Toegang tot internet voor interne hosts te limiteren + Toegang tot Internet voor interne hosts te limiteren of uitschakelen. Ondersteuning bieden voor netwerkadres vertaling (network address translation of NAT), waarmee er vanaf een intern netwerk met private IP adressen een - internetverbinding gedeeld kan worden met één + Internetverbinding gedeeld kan worden met één IP adres of met een groep van publieke adressen die automatisch wordt toegewezen. Na het lezen van dit hoofdstuk weet de lezer: Hoe pakketfilteringsregels op de juiste wijze samengesteld kunnen worden; De verschillen tussen de firewalls die bij &os; worden geleverd; Hoe de OpenBSD firewall PF te gebruiken en in te stellen; Hoe IPFILTER te gebruiken en in te stellen; Hoe IPFW te gebruiken en in te stellen. Er wordt aangenomen dat de lezer van dit hoofdstuk: - Basisbegrip heeft van &os; en internetconcepten. + Basisbegrip heeft van &os; en Internetconcepten. Firewallconcepten firewall sets regels Er zijn twee basismogelijkheden om sets met regels te maken voor firewalls: inclusief of exclusief. Een exclusieve firewall staat al het verkeer door behalve het verkeer dat past bij de set met regels. Een inclusieve firewall doet het tegenovergestelde. Die staat alleen verkeer toe dat past bij de regels en blokkeert al het overige verkeer. Inclusieve firewalls zijn in het algemeen veiliger dan exclusieve firewalls omdat ze het risico op het toestaan van ongewild verkeer door een firewall aanzienlijk reduceren. De beveiliging kan nog verder vergroot worden met een stateful firewall. Een stateful firewall houdt bij welke connecties er door de firewall tot stand zijn gekomen en laat alleen verkeer door dat bij een bestaande connectie hoort - of onderdeeel is van een connectie in opbouw. Het nadeel van een + of onderdeel is van een connectie in opbouw. Het nadeel van een stateful firewall is dat die kwetsbaar kan zijn voor Ontzegging van Dienst (DoS) aanvallen als er een groot aantal nieuwe verbindingen binnen korte tijd wordt opgezet. Met de meeste firewalls is het mogelijk een combinatie te maken van stateful en niet stateful gedrag om een optimale firewall voor een site te maken. Firewallsoftware &os; heeft drie soorten firewallsoftware in de basisinstallatie. Dat zijn: IPFILTER (ook bekend als IPF), IPFIREWALL (ook bekend als IPFW) en de pakketfilter van OpenBSD (ook bekend als PF). &os; heeft ook twee ingebouwde pakketten voor het regelen van verkeer (in de basis het beheersen van bandbreedtegebruik): &man.altq.4; en &man.dummynet.4;. Dummynet is traditioneel sterk verbonden met IPFW en ALTQ met - IPF/PF. IPF, IPFW en PF + PF. Het vormgeven van verkeer voor + IPFILTER kan momenteel gedaan worden met + IPFILTER voor NAT en filtering en + IPFW met &man.dummynet.4; + of door PF met + ALTQ te gebruiken. IPFW en PF gebruiken allemaal regels om de toegang van pakketten tot een systeem te regelen, hoewel ze dat op andere manieren doen en de syntaxis voor regels anders is. De reden dat er meerdere firewallpakketten in &os; zitten is dat verschillende mensen verschillende eisen en voorkeuren hebben. Geen enkel firewallpakket is het beste. De schrijver van dit artikel geeft de voorkeur aan IPFILTER omdat daarmee stateful regels minder complex zijn toe te passen in een omgeving waar NAT wordt gebruikt en - IPF heeft een ingebouwde ftp proxy waardoor de regels voor het + IPF heeft een ingebouwde FTP proxy waardoor de regels voor het veilig gebruiken van FTP eenvoudiger worden. Omdat alle firewalls gebaseerd zijn op het inspecteren van aangegeven controlevelden in pakketten, moet iemand die sets van firewallregels opstelt begrijpen hoe TCP/IP werkt, welke waarde de controlevelden kunnen hebben en hoe die waarden gebruikt worden in normaal verkeer. Op de volgende webpagina wordt een prima uitleg gegeven: . + + + + John + Ferrell + Herzien en bijgewerkt door + + + + + De OpenBSD Packet Filter (PF) en <acronym>ALTQ</acronym> firewall PF Vanaf juli 2003 is de OpenBSD firewalltoepassing PF geporteerd naar &os; en beschikbaar gekomen - in de &os; Portscollectie. In november 2004 was &os; 5.3 de + in de &os; Portscollectie. In 2004 was &os; 5.3 de eerste release die PF bevatte is integraal onderdeel van het basissysteem. PF is een complete en volledige firewall die optioneel ALTQ bevat (Alternate Queuing). ALTQ biedt Quality of Service - (QoS) bandbreedtebeheersing waardoor een - bepaalde bandbreedte gegarandeerd kan worden aan verschillende - diensten op basis van filterregels. Het OpenBSD project zorgt - voor een erg goed gebruikershandboek voor PF (PF User's Guide) - dat niet in dit onderdeel wordt opgenomen omdat dat niet nodig - is. + (QoS) functionaliteit. - Meer informatie staat op de PF voor &os; - website: . + het OpenBSD Project levert een uitstekend werk wat betreft het + onderhouden van de PF FAQ. Zodoende + zal deze sectie van het handboek zich richten op + PF met betrekking tot &os; terwijl het ook wat + algemene informatie over het gebruik zal geven. Voor + gedetailleerde gebruikersinformatie wordt naar de PF FAQ verwezen. + - - PF inschakelen + Meer informatie over PF voor &os; staat op + . - PF zit in de basisinstallatie van &os; voor versies vanaf - 5.3 als aparte run time laadbare module. Een - systeem laadt de PF laadbare module dynamisch in de kernel als - pf_enable="YES" in - rc.conf staat. In de laadbare module is - loggen via &man.pflog.4; ingeschakeld. + + De laadbare kernelmodule voor PF gebruiken + + Sinds de uitgave van &os; 5.3 wordt PF geleverd in de + basisinstallatie als een aparte runtime laadbare module. Het + systeem zal de PF kernelmodule dynamisch laden wanneer het + statement pf_enable="YES" voor + &man.rc.conf.5; aanwezig is. De PF module + zal echter niet laden als het systeem geen instellingenbestand + met een PF ruleset kan vinden. De + standaardplaats is /etc/pf.conf. Indien uw + PF ruleset ergens anders staat, voeg dan + pf_rules="/pad/pf.rules" + aan uw instellingenbestand /etc/rc.conf toe + om de plaats te specificeren. - De module verwacht dat options INET en - device bpf beschikbaar zijn. Tenzij - NOINET6 was ingesteld voor &os; versies die - dateren voor 6.0-RELEASE, en NO_INET6 voor - latere releases. (bijvoorbeeld in - &man.make.conf.5;) tijdens het bouwen, is ook - options INET6 nodig. + Sinds &os; 7.0 is het voorbeeld + pf.conf dat in /etc/ stond verplaatst naar + /usr/share/examples/pf/. + Voor versies van &os; voor 7.0 is er standaard een + /etc/pf.conf aanwezig. - Zora de kernel module geladen is of als PF ondersteuning - statisch in de kernel ingebakken is, is het mogelijk om pf met - het pfctl commando aan en uit te zetten: - - &prompt.root; pfctl -e + De module PF kan ook handmatig vanaf de + opdrachtregel geladen worden: + + &prompt.root; kldload pf.ko - Het pfctl commando levert een manier om - te werken met de pf firewall. Het - is een goed idee om de &man.pfctl.8; handleiding te bekijken - voor meer informatie over het gebruik. + De laadbare module was gemaakt met &man.pflog.4; aangezet + dat ondersteuning biedt voor logging. Indien u andere + mogelijkheden van PF nodig heeft dient u + ondersteuning voor PF in de kernel te + compileren. - Kernelopties + Kernelopties voor PF kernelopties device pf - + kernelopties device pflog kernelopties device pfsync - Het is niet verplicht om PF in te schakelen door het mee - te compileren in de &os; kernel. Dit wordt alleen beschreven - als achtergrondinformatie. Door PF in de kernel te - compileren wordt de laadbare module niet gebruikt. + Hoewel het niet nodig is om ondersteuning voor + PF in de kernel te compileren, biedt dit wel + de mogelijkheid om van een van PF's geavanceerde mogelijkheden + gebruik te maken die niet in de laadbare module zitten, namelijk + &man.pfsync.4;, dat een pseudo-apparaat is dat zekere + veranderingen aan de toestandstabel die door + PF wordt gebruikt prijsgeeft. Het kan worden + gecombineerd met &man.carp.4; om failover firewalls aan te maken + die gebruik maken van PF. Meer informatie + over CARP kan gevonden worden in hoofdstuk 29 van het handboek. + + De kernelopties voor PF kunnen gevonden + worden in /usr/src/sys/conf/NOTES en zijn + hieronder gereproduceerd: - Voorbeeld kernelinstellingen voor PF staan beschreven in - de /usr/src/sys/conf/NOTES kernel source - en worden hier weergegeven: device pf device pflog device pfsync - device pf schakelt ondersteuning voor de - Packet Filter firewall in. + De optie device pf schakelt ondersteuning + voor de Packet Filter firewall (&man.pf.4;) in. + - device pflog schakelt het - optionele &man.pflog.4; pseudo netwerkapparaat in dat gebruikt + De optie device pflog schakelt het + optionele &man.pflog.4; pseudo-netwerkapparaat in dat gebruikt kan worden om verkeer te loggen naar een &man.bpf.4; descriptor. De &man.pflogd.8; daemon kan gebruikt worden om de logboekinformatie naar schijf te schrijven. - device pfsync schakelt het + De optie device pfsync schakelt het optionele &man.pfsync.4; pseudo netwerkapparaat in waarmee de - state wijzigingen gemonitord kunnen worden. - Omdat dit geen onderdeel is van de laadbare module, moet dit - in een aangepaste kernel gebouwd worden om het te kunnen - gebruiken. - - Deze instellingen worden pas actief nadat een kernel - waarvoor deze instellingen zijn gemaakt is gebouwd en - geïnstalleerd. + toestandswijzigingen gemonitord kunnen worden. + - Beschikbare opties voor - <filename>rc.conf</filename> + Beschikbare opties voor <filename>rc.conf</filename> + - De volgende instellingen moeten in /etc/rc.conf - staan om PF bij het booten te activeren: + De volgende &man.rc.conf.5; statements stellen + PF en &man.pflog.4; in tijdens het opstarten: + pf_enable="YES" # Schakel PF in (laad module als nodig) pf_rules="/etc/pf.conf" # bestand met regels voor pf -pf_flags="" # aanvullende vraagen voor opstarten pfctl +pf_flags="" # aanvullende vragen voor opstarten pfctl pflog_enable="YES" # start pflogd(8) pflog_logfile="/var/log/pflog" # waar pflogd het logboekbestand moet opslaan pflog_flags="" # aanvullende vlaggen voor opstarten pflogd Als er een LAN achter de firewall staat en er pakketten - doorgestuurd moeten worden naar computers op dat LAN of als - NAT actief is, dan moet de volgende optie ook ingesteld - worden: + doorgestuurd moeten worden naar computers op het LAN of als + NAT actief is, dan is de volgende optie ook nodig: gateway_enable="YES" # Schakel in als LAN gateway + + Filterregels aanmaken + + PF leest de instelregels van + &man.pf.conf.5; (standaard /etc/pf.conf) en + het verandert, verwijdert, of geeft pakketten door aan de hand + van de regels of definities die daar zijn gespecificeerd. De + &os;-installatie bevat een aantal voorbeeldbestanden in + /usr/share/examples/pf/. In de PF FAQ staat een + complete behandeling van de PF regels. + + + Houd tijdens het doornemen van de PF FAQ in de gaten + dat verschillende versies van &os; verschillende versies van + PF bevatten: + + + + &os; 5.X — + PF is op OpenBSD 3.5 + + + + &os; 6.X — + PF is op OpenBSD 3.7 + + + + &os; 7.X — + PF is op OpenBSD 4.1 + + + + + De &a.pf; is een goede plaats om vragen over het instellen + en draaien van de PF firewall te stellen. + Vergeet niet de mailinglijstarchieven te controleren alvorens + vragen te stellen! + + + + Werken met PF + + Gebruik &man.pfctl.8; om PF te beheren. + Hieronder staan wat nuttige commando's (bekijk de hulppagina + &man.pfctl.8; voor alle beschikbare opties): + + + + + + Commando + Doel + + + + + + pfctl + + PF aanzetten + + + + pfctl + + PF uitzetten + + + + pfctl all /etc/pf.conf + + Spoel alle regels door (nat, filter, toestand, + tabel, etc.) en herlaad vanuit het bestand + /etc/pf.conf + + pfctl [ rules | nat | state ] + + Rapporteer over de filterregels, NAT-regels, of + toestandstabel + + + + pfctl /etc/pf.conf + + Controleer /etc/pf.conf op + fouten, maar laad de ruleset niet + + + + + + <acronym>ALTQ</acronym> inschakelen - ALTQ is alleen beschikbaar door de - opties in de &os; Kernel te compileren. - ALTQ wordt niet door alle - netwerkkaartstuurprogramma's ondersteund. In &man.altq.4; - staat een lijst met ondersteunde stuurprogramma's voor de - betreffende versie. Met de volgende opties wordt - ALTQ ingeschakeld en additionele - functionaliteit toegevoegd: + ALTQ is alleen beschikbaar ondersteuning + ervoor in de &os; Kernel te compileren. ALTQ + wordt niet door alle netwerkkaartstuurprogramma's ondersteund. + In &man.altq.4; staat een lijst met ondersteunde + stuurprogramma's voor de betreffende versie. + + Met de volgende opties wordt ALTQ + ingeschakeld en additionele functionaliteit toegevoegd: options ALTQ options ALTQ_CBQ # Class Bases Queuing (CBQ) options ALTQ_RED # Random Early Detection (RED) options ALTQ_RIO # RED In/Out options ALTQ_HFSC # Hierarchical Packet Scheduler (HFSC) options ALTQ_PRIQ # Priority Queuing (PRIQ) options ALTQ_NOPCC # Required for SMP build options ALTQ schakelt het - ALTQ framework in. + ALTQ raamwerk in. options ALTQ_CBQ schakelt Class Based Queuing (CBQ) in. Met CBQ kan de bandbreedte van een verbinding - worden opgedeeld in verschillende klasses of wachtrijen om + worden opgedeeld in verschillende klassen of wachtrijen om verkeer te prioriteren op basis van filterregels. options ALTQ_RED schakelt Random Early Detection (RED) in. RED wordt gebruikt om netwerkverstopping te voorkomen. RED doet dit door de lengte van de wachtrij te meten en die te vergelijken met de minimale en maximale drempelwaarden voor de wachtrij. Als de wachtrij groter is dan de maximale waarde worden alle nieuwe pakketten genegeerd. Het werkt naar zijn naam, dus RED negeert willekeurig pakketten van verschillende verbindingen. options ALTQ_RIO schakelt Random Early Detection In and Out in. options ALTQ_HFSC schakelt de Hierarchical Fair Service Curve Packet Scheduler in. Meer informatie over HFSC staat op . options ALTQ_PRIQ schakelt Priority Queuing (PRIQ) in. PRIQ laat verkeerd dat in een hogere wachtrij staat altijd eerder door. options ALTQ_NOPCC schakelt SMP ondersteuning voor ALTQ in. Deze optie is verplicht op SMP systemen. - - - Filter regels aanmaken - - De pakket filter leest zijn configuratie regels uit het - &man.pf.conf.5; bestand en het veranderd, dropt, of accepteert - pakketjes zoals gedefinieerd in de filter regels. De &os; - installatie komt met een standaard - /etc/pf.conf waarin nuttige voorbeelden - en uitleg staat. - - Ook al heeft &os; zijn eigen /etc/pf.conf - bestand, de configuratie is hetzelfde als in OpenBSD. Een - geweldige bron voor het configureren van - pf is geschreven door het OpenBSD - team en is beschikbaar op . - - - Wanneer door de pf gebruikers handleiding wordt - gebladerd, houd er dan rekening mee dat elke &os; - versie een andere versie van pf gebruikt. De - pf firewall in &os; 5.X zit - op het niveau van OpenBSD versie 3.5 en in &os; 6.X zit - het op het niveau van OpenBSD versie 3.7 - - - De &a.pf; is een goede plek om vragen te stellen over het - configureren en het draaien van de pf. - Vergeet niet om eerst de mailing lijst te controleren voor er - vragen gesteld worden. - De IPFILTER (IPF) firewall firewall IPFILTER Aan dit onderdeel wordt nog gewerkt. De inhoud is wellicht niet altijd volledig en juist. Darren Reed is de auteur van IPFILTER, dat niet afhankelijk is van één besturingssysteem. Het is een open source applicatie die is geporteerd naar &os;, NetBSD, OpenBSD, SunOS, HP/UX en Solaris besturingssystemen. IPFILTER wordt actief ondersteund en onderhouden en er worden regelmatig nieuwe versies uigebracht. IPFILTER is gebaseerd op een firewall aan de kernelkant en een NAT mechanisme dat gecontroleerd en gemonitord kan worden door programma's in userland. De firewallregels kunnen ingesteld of verwijderd worden met het hulpprogramma &man.ipf.8;. De NAT regels kunnen ingesteld of verwijderd worden met &man.ipnat.1;. Het programma &man.ipfstat.8; kan actuele statistieken leveren voor de kernelonderdelen van IPFILTER. &man.ipmon.8; kan acties van IPFILTER wegschrijven naar logboekbestanden van het systeem. IPF is oorspronkelijk geschreven met logica die regels verwerkte volgens het principe de laatst passende regel - wint en gebruikte toen alleen staatloze regels. In de + wint en gebruikte toen alleen staatloze regels. In de loop der tijd is IPF verbeterd en zijn de opties quick en keep state toegevoegd waarmee de logica van het verwerken van regels drastisch is gemoderniseerd. In de officiële documentatie van IPF worden de verouderde regels en verwerkingslogica behandeld. De moderne functies worden alleen behandeld als opties, waardoor hun nut dat er een veiliger firewall mee te maken volledig onderbelicht blijft. De instructies in dit hoofdstuk zijn gebaseerd op regels die gebruik maken van de optie quick en de stateful optie keep state. Dit is het raamwerk waarmee een set van inclusieve firewallregels wordt samengesteld. Een inclusieve firewall staat alleen pakketten toe die voldoen aan de regels. Op die manier kan er in de hand gehouden worden welke diensten van binnen de firewall naar buiten mogen en welke diensten op het private netwerk vanaf - het internet bereikbaar zijn. Al het andere verkeer wordt + het Internet bereikbaar zijn. Al het andere verkeer wordt vanuit het ontwerp standaard geblokkeerd en gelogd. Inclusieve firewalls zijn veel veiliger dan exclusieve firewalls. Het is ook de enige wijze voor de opzet van een firewall die in dit hoofdstuk wordt behandeld. Voor een gedetailleerde uitleg over de verwerking van de verouderde regels zie en . De IPF FAQ is te vinden op . Een doorzoekbaar archief van de open-source IPFilter mailing lijst is beschikbaar op . IPF inschakelen IPFILTER inschakelen IPF zit in de basisinstallatie van &os; als een aparte run time laadbare module. Een systeem laadt de IPF kernel laadbare module dynamisch als ipfilter_enable="YES" in rc.conf staat. Voor de laadbare module zijn de opties logging en default pass all ingeschakeld. IPF hoeft niet in de kernel gecompileerd te worden om het standaardgedrag te wijzigen naar block all. Dat is mogelijk door als laatste regel een regel toe te voegen die al het verkeer blokkeert. Kernelopties kernelopties IPFILTER kernelopties IPFILTER_LOG kernelopties IPFILTER_DEFAULT_BLOCK IPFILTER kernelopties Het is niet verplicht om IPF in te schakelen door de volgende opties in de &os; kernel te compileren. Dit wordt alleen beschreven als achtergrondinformatie. Door IPF in de kernel te compileren wordt de laadbare module niet gebruikt. Voorbeeld kernelinstellingen voor IPF staan beschreven in de /usr/src/sys/i386/conf/LINTin de kernelbroncode en worden hier beschreven: options IPFILTER options IPFILTER_LOG options IPFILTER_DEFAULT_BLOCK options IPFILTER schakelt ondersteuning voor de IPFILTER firewall in. options IPFILTER_LOG schakelt de optie in waarmee IPF verkeer kan loggen door het naar het ipl pakketloggende pseudo–apparaat te schrijven voor iedere regel met het sleutelwoord log erin. options IPFILTER_DEFAULT_BLOCK wijzigt het standaardgedrag zodat ieder pakket waarop geen enkele pass regel van toepassing is wordt geblokkeerd. Deze instelling worden pas actief nadat een kernel waarvoor deze instellingen zijn gemaakt is gebouwd en geïnstalleerd. Beschikbare opties voor rc.conf De volgende instellingen moeten in /etc/rc.conf staan om IPF bij het booten te activeren: ipfilter_enable="YES" # Start ipf firewall ipfilter_rules="/etc/ipf.rules" # laad regels uit het doelbestand ipmon_enable="YES" # Start IP monitor log ipmon_flags="-Ds" # D = start als daemon # s = log naar syslog # v = log tcp window, ack, seq # n = vertaal IP & poort naar namen Als er een LAN achter de firewall staat dat gebruik maakt van IP adressen uit de privaat reeks, dan moet de volgende optie ook ingesteld worden om NAT functionaliteit in te schakelen: gateway_enable="YES" # Schakel in als LAN gateway ipnat_enable="YES" # Start ipnat functie ipnat_rules="/etc/ipnat.rules" # bestand met regels voor ipnat IPF ipf &man.ipf.8; wordt gebruikt om het bestand met firewallregels te laden. Gewoonlijk wordt er een bestand aangemaakt waarin de situatieafhankelijke regels staan waarmee in één keer de bestaande regels kunnen worden vervangen: &prompt.root; ipf -Fa -f /etc/ipf.rules : verwijder alle interne tabellen met regels. : laad het aangegeven bestand met regels. Hiermee wordt het mogelijk wijzigingen te maken aan het bestand met eigen regels en met &man.ipf.8; de firewall aan te passen met verse regels zonder het systeem te booten. Deze methode is erg handig om nieuwe regels te testen omdat dit zo vaak als nodig gedaan kan worden. In &man.ipf.8; worden alle opties die beschikbaar zijn toegelicht. &man.ipf.8; verwacht dat het bestand met regels een standaard tekstbestand is. Het accepteert geen bestand met regels dat is opgesteld als een script dat gebruik maakt van substitutie. Er is wel een mogelijkheid om IPF regels op te stellen en gebruik te maken van substitutie. Meer informatie staat in . IPFSTAT ipfstat IPFILTER statistieken &man.ipfstat.8; haalt de totalen van de statistieken op die horen bij de firewall sinds die is gestart en toont deze. Het kan ook zijn dat de tellers in tussentijd op nul zijn gesteld met ipf –Z. In &man.ipfstat.8; worden alle details behandeld. Standaard ziet &man.ipfstat.8; uitvoer er ongeveer als volgt uit: input packets: blocked 99286 passed 1255609 nomatch 14686 counted 0 output packets: blocked 4200 passed 1284345 nomatch 14687 counted 0 input packets logged: blocked 99286 passed 0 output packets logged: blocked 0 passed 0 packets logged: input 0 output 0 log failures: input 3898 output 0 fragment state(in): kept 0 lost 0 fragment state(out): kept 0 lost 0 packet state(in): kept 169364 lost 0 packet state(out): kept 431395 lost 0 ICMP replies: 0 TCP RSTs sent: 0 Result cache hits(in): 1215208 (out): 1098963 IN Pullups succeeded: 2 failed: 0 OUT Pullups succeeded: 0 failed: 0 Fastroute successes: 0 failures: 0 TCP cksum fails(in): 0 (out): 0 Packet log flags set: (0) Als er als optie voor inkomend of voor uitgaand wordt meegegeven, dan wordt de juiste lijst met regels die de kernel op dat moment gebruikt weergegeven. ipfstat –in toont de tabel met regels voor inkomend verkeer met regelnummers ipfstat –on toont de tabel met regels voor uitgaand verkeer met regelnummers De uitvoer ziet er ongeveer als volgt uit: @1 pass out on xl0 from any to any @2 block out on dc0 from any to any @3 pass out quick on dc0 proto tcp/udp from any to any keep state ipfstat –ih toont de tabel met regels voor inkomend verkeer, waarbij voor iedere regel staat hoe vaak die van toepassing was. ipfstat –oh toont de tabel met regels voor uitgaand verkeer, waarbij voor iedere regel staat hoe vaak die van toepassing was. De uitvoer ziet er ongeveer als volgt uit: 2451423 pass out on xl0 from any to any 354727 block out on dc0 from any to any 430918 pass out quick on dc0 proto tcp/udp from any to any keep state Een van de belangrijkste functies van ipfstat is de vlag waarmee de staat-tabel wordt getoond op een wijze die vergelijkbaar is met de wijze waarop &man.top.1; de draaiende &os; procestabel toont. Als een firewall wordt aangevallen dan geeft deze functie de mogelijkheid om de pakketten van de aanvaller te identificeren en nader te onderzoeken. De optionele subvlaggen bieden de mogelijkheid om een bron of bestemmings IP adres, poort of protocol aan te geven dat gemonitord moet worden. Details zijn na te lezen in &man.ipfstat.8;. IPMON ipmon IPFILTER loggen Om &man.ipmon.8; te laten werken zoals bedoeld, moet de kerneloptie IPFILTER_LOG aan staan. Dit commando kan op twee verschillende wijzen gebruikt worden. De standaard is van toepassing als het commando op de commandoregel wordt ingegeven zonder de optie . De daemon wordt gebruikt als continu een systeemlogboek bijgewerkt moet worden zodat het mogelijk is om gebeurtenissen in het verleden te bekijken. Zo zijn &os; en IPFILTER ingesteld om samen te werken. &os; heeft ingebouwde mogelijkheden om automatisch syslogs te roteren. Daarom is - het beter om de uitvoer naar &man.syslogd.8; te geschrijven + het beter om de uitvoer naar &man.syslogd.8; te schrijven dan naar een gewoon bestand. In rc.conf is te zien dat de instelling ipmon_flags de waarde heeft: ipmon_flags="-Ds" # D = start als daemon # s = log naar syslog # v = log tcp window, ack, seq # n = vertaal IP & poort naar namen De voordelen van loggen zijn duidelijk. Het biedt de mogelijkheid om na het feit informatie na te zien als: welke pakketten heeft de firewall laten vallen, waar kwamen ze vandaan en waar gingen ze heen? Dit zijn allemaal voordelen als het gaat om uitvinden waar een aanvaller vandaan komt en wat hij heeft geprobeerd. Zelfs als loggen is ingeschakeld logt IPF nog niets uit zichzelf. De beheerder van de firewall beslist welke actieve regels iets weg moeten schrijven door het sleutelwoord log aan die regels toe te voegen. Gewoonlijk worden alleen deny regels gelogd. Het is heel normaal om als laatste regel een deny regel aan de set met regels toe te voegen waar het sleutelwoord log in staat. Zo krijgt een beheerder alle pakketten te zien waarop geen enkele regel van toepassing was. Loggen met IPMON Syslogd heeft een eigen methode om logboekgegevens te scheiden. Het maakt gebruik van speciale groepen die facility en level heten. &man.ipmon.8; in mode gebruikt security als facilitynaam. Alle door &man.ipmon.8; gelogde gegevens gaan naar security. De nu volgende levels kunnen gebruikt worden om de gelogde gegevens nog verder uit elkaar te trekken als dat gewenst is. LOG_INFO – pakketten gelogd met het sleutelwoord "log" als actie in plaats van pass of block. LOG_NOTICE – gelogde pakketten die ook zijn doorgelaten LOG_WARNING – gelogde pakketten die ook geblokkeerd zijn LOG_ERR – gelogde pakketten die een verkeerde opbouw hebben, "short" Om IPFILTER alle gelogde gegevens naar /var/log/ipfilter.log te laten schrijven, dient dat bestand te bestaan. Dat kan met het volgende commando: &prompt.root; touch /var/log/ipfilter.log De syslogfunctie wordt beheerd met instellingen in /etc/syslog.conf. syslog.conf biedt aanzienlijke flexibiliteit in hoe syslog omgaat met systeemberichten die door softwaretoepassingen als IPF worden gegeven. Zo kan de volgende instelling toegevoegd worden aan /etc/syslog.conf: security.* /var/log/ipfilter.log Het deel security.* betekent dat alle logberichten naar de aangegeven plaats geschreven moeten worden. Om de wijzigingen in /etc/syslog.conf actief te maken kan er gereboot worden of is het mogelijk de syslogtaak een schop te geven zodat /etc/syslog.conf opnieuw wordt ingelezen met /etc/rc.d/syslogd reload. Het PID (procesnummer) is te achterhalen door een overzicht van taken te tonen met ps –ax. Het PID is het nummer in de linker kolom voor de regel waarop syslog staat. Vaak wordt vergeten /etc/newsyslog.conf te wijzigen om het nieuw aangemaakte logboekbestand te laten roteren. De opmaak van gelogde berichten Berichten die door ipmon wordt gezonden bestaan uit velden die gescheiden worden door een spatie. Velden die in alle berichten zitten zijn: De datum waarop het pakket is ontvangen. De tijd waarop het pakket is ontvangen weergegeven als HH:MM:SS.F voor uren, minuten, seconden en fracties van een seconde. De fractie kan meerdere cijfers lang zijn. De naam van de interface waarop het pakket is ontvangen, bijvoorbeeld dc0. De groep en regelnummer van de regel, bijvoorbeeld @0:17. Deze kunnen ingezien worden met ipfstat -in. De acties: p voor doorgelaten (passed), b voor geblokkeerd (blocked), S voor een verkeerd pakket (short packet), n voor dat er geen enkele regel van toepassing was, L voor een logboekregel. De volgorde waarin deze acties getoond worden is: S, p, b, n, L. Een hoofdletter P of B betekent dat het pakket gelogd is vanwege een globale instelling, niet vanwege één regel in het bijzonder. De adressen. Dit zijn eigenlijk drie velden: het bronadres en poort gescheiden door een komma het symbool -> en het bestemmingsadres en poort. 209.53.17.22,80 -> 198.73.220.17,1722. Achter PR staat de naam van het protocol of het nummer, bijvoorbeeld PR tcp. Achter len staan de lengte van de pakketkop en de totale lengte van het pakket, bijvoorbeeld len 20 40. Als het pakket een TCP pakket is, dan is er nog een veld dat begint met een verbindingsstreepje met daarachter letters die overeenkomen met vlaggen die ingeschakeld waren. In &man.ipmon.8; is een lijst met letters en bijbehorende vlaggen te vinden. Als het pakket een ICMP pakket is, dan worden aan het einde twee velden toegevoegd. Het eerste is altijd ICMP en het volgende het ICMP bericht en subbericht type, gescheiden door een slash, bijvoorbeeld ICMP 3/3 voor een poort niet bereikbaar bericht. Script met regels met substitutie bouwen Geoefende gebruikers van IPF maken een bestand dat de regels bevat en stellen dat op zo'n manier op dat het uitgevoerd kan worden als een script met substitutie. Het grote voordeel van deze werkwijze is dat er dan alleen de waarde van een variabele gewijzigd hoeft te worden en dat als het script opnieuw wordt uitgevoerd, op alle plaatsen waar de variabele wordt gebruikt, de nieuwe waarde in de regels wordt opgenomen. Omdat het een script is, kan substitutie gebruik worden om vaak voorkomende waarden de definiëren zodat ze in meerdere regels vervangen kunnen worden. Dit wordt geïllustreerd in het onderstaande voorbeeld. De syntaxis die in het script wordt gebruikt is compatibel met de shells sh, csh en tcsh. Velden waarvoor substitutie van toepassing is worden vooraf gegaan door het dollarteken $. Definities worden niet vooraf gegaan door het voorvoegsel $. De waarden van een definitie moet omsloten worden door dubbele aanhalingstekens ("). Een set regels begint wellicht als volgt: ############## Begin IPF regels script ######################### oif="dc0" # naam van de uitgaande interface odns="192.0.2.11" # IP adres van DNS server ISP myip="192.0.2.7" # statische IP adres gekregen van ISP ks="keep state" fks="flags S keep state" # Er kan gekozen worden om dit script te gebruiken om een eigen # /etc/ipf.rules script te maken of dit script kan gebruikt worden # "as is" # # Haal bij één van deze regels het commentaarteken weg # en plaats hem bij de ander. # # 1) Deze kan gebruikt worden om /etc/ipf.rules te maken: #cat > /etc/ipf.rules << EOF # 2) Deze kan gebruikt worden om het script "as is" te starten: # Let op: er moet een lege regel zijn na het EOF teken. /sbin/ipf -Fa -f - << EOF # Verleen toegang tot de DNS van de ISP. pass out quick on $oif proto tcp from any to $odns port = 53 $fks pass out quick on $oif proto udp from any to $odns port = 53 $ks # Sta uitgaand verkeer voor niet beveiligd www verkeer toe pass out quick on $oif proto tcp from $myip to any port = 80 $fks # Sta uitgaand verkeer voor beveiligd www verkeer toe (https over TLS SSL) pass out quick on $oif proto tcp from $myip to any port = 443 $fks EOF ################## Einde IPF regels script ######################## Dat is alles. De regels zijn niet van belang in dit voorbeeld, maar tonen hoe substitutievelden worden gedefinieerd en hoe ze worden gebruikt. Als het bovenstaande voorbeeld de inhoud van /etc/ipf.rules.script was, dan kon het geladen worden door het vanaf de commandoregel aan te roepen: &prompt.root; sh /etc/ipf.rules.script Er is wel een probleem met het gebruik van regels in combinatie met substitutie. IPF snapt het niet en kan deze scripts niet direct lezen. Dit script kan gebruikt worden op één van de - volgende twee manieren: + volgende twee manieren: Haal het commentaarteken weg bij de regel die begint met cat en zet het commentaarteken bij de regel die begint met /sbin/ipf. Plaats ipfilter_enable="YES" in /etc/rc.conf zoals gewoonlijk en start het script eenmalig na elke wijziging om /etc/ipf.rules te maken of bij te werken. Schakel IPFILTER uit in de systeem opstart scripts door ipfilter_enable="NO" toe te voegen aan /etc/rc.conf (dit is de standaardwaarde). Voeg een script zoals de volgende toe aan de /usr/local/etc/rc.d opstart directory. Het script zou een duidelijke naam moeten hebben zoals ipf.loadrules.sh. De .sh is noodzakelijk. #!/bin/sh sh /etc/ipf.rules.script De permissies op dit script moeten zijn: lezen,schrijven en uitvoeren voor de gebruiker root. &prompt.root; chmod 700 /usr/local/etc/rc.d/ipf.loadrules.sh Als het systeem nu herstart, worden de regels via het script gestart. Sets van IPF regels Een set regels is een groep ipf regels die is gemaakt om pakketten toe te staan of te blokkeren op basis van de eigenschappen van dat pakket. De bi-directionele uitwisseling van pakketten tussen hosts bestaat uit een gesprek dat een sessie heet. De set van firewallregels beoordeelt pakketten twee keer: als het - aankomt van de host op het publieke internet en als het de + aankomt van de host op het publieke Internet en als het de host weer verlaat op de weg terug naar de host op het - publieke internet. Iedere TCP/IP dienst + publieke Internet. Iedere TCP/IP dienst als telnet, www, mail, etc, heeft zijn eigen protocol, bron IP adres en bestemmings IP adres of de bron- en bestemmingspoort. Deze attributen vormen de basis voor het opstellen van regels waarmee diensten toegelaten of geblokkeerd kunnen worden. IPFILTER volgorde regelverwerking IPF is oorspronkelijk geschreven met logica die regels verwerkte volgens het principe de laatst passende regel wint en gebruikte toen alleen staatloze regels. In de loop der tijd is IPF verbeterd en zijn de opties quick en keep state toegevoegd waarmee de logica van het verwerken van regels drastisch is gemoderniseerd. De instructies in dit hoofdstuk zijn gebaseerd op regels die gebruik maken van de optie quick en de stateful optie keep state. Dit is het raamwerk waarmee een set van inclusieve firewallregels wordt samengesteld. Een inclusieve firewall staat alleen diensten toe die voldoen aan de regels. Op die manier kan er in de hand gehouden worden welke diensten van binnen de firewall naar buiten mogen en welke diensten op het private netwerk vanaf - het internet bereikbaar zijn. Al het andere verkeer wordt + het Internet bereikbaar zijn. Al het andere verkeer wordt vanuit het ontwerp standaard geblokkeerd en gelogd. Inclusieve firewalls zijn veel veiliger dan exclusieve firewalls. Het is ook de enige wijze voor de opzet van een firewall die in dit hoofdstuk wordt behandeld. Werk bij het wijzigen van firewallregels zeer voorzichtig. Met sommige instellingen is een server niet meer bereikbaar. Om het veilig te spelen is het aan te raden de eerste instellingen vanaf het console te maken, in plaats van via ssh. Regelsyntaxis IPFILTER regelsyntaxis De regelsyntaxis die hier wordt besproken is versimpeld door alleen de moderne stateful regels en de eerste van toepassing zijnde regel wint te belichten. De complete regelsyntaxis is na te lezen in &man.ipf.8 Het karakter # wordt gebruikt om het begin van een opmerking te markeren en zowel op een eigen regel als achter een firewallregel staan. Lege regels worden genegeerd. Regels bevatten sleutelwoorden die in een bepaalde volgorde van links naar rechts op een regel horen te staan. Sleutelwoorden worden vet weergegeven. Sommige sleutelwoorden hebben subopties die zelf ook weer sleutelwoorden hebben die ook weer subopties kunnen hebben. Alle opties die hier direct onder staan, worden daaronder uitgebreid weergegeven en verderop in dit hoofdstuk in een aparte paragraaf behandeld. ACTIE IN/UIT OPTIES SELECTIE STATEFUL PROTO BRON_ADR,BEST_ADR OBJECT POORT_NUM TCP_VLAG STATEFUL ACTIE = block | pass IN/UIT = in | out OPTIES = log | quick | on interfacenaam SELECTIE = protowaarde | bron/bestemming IP | poort = nummer | flags flag–value PROTO = tcp/udp | udp | tcp | icmp BRON_ADR,BEST_ADR = all | from object to object OBJECT = IP adres | any POORT_NUM = poortnummer TCP_VLAG = S STATEFUL = keep state ACTIE De actie geeft aan wat er met het pakket gedaan moet worden als het van toepassing is op de rest van de filterregel. Iedere regel moet een actie hebben. De volgende acties zijn mogelijk: block geeft aan dat het pakket moet verdwijnen als de parameters van toepassing zijn het het pakket. pass geeft aan dat het pakket doorgelaten moet worden als de parameters van toepassing zijn op het pakket. IN/UIT Een verplicht onderdeel voor iedere filterregel waarin expliciet wordt aangegeven op welke zijde van de in/uit hij van toepassing is. Het volgende sleutelwoord moet in of out zijn, anders is de regel syntactisch onjuist. in betekent dat de regel van toepassing is op inkomende pakketten. out betekent dat de regel van toepassing is op inkomende pakketten. OPTIES Deze opties moeten in de volgorde waarin ze hier beschreven staan gebruikt worden. log geeft aan dat het pakket naar het ipl logboekbestand geschreven moeten worden (zoals verderop beschreven staat in de paragraaf Loggen) als de regel van toepassing is op het pakket. quick geeft aan dat als een regel van toepassing is, dat de laatste regel moet zijn die wordt gecontroleerd, waardoor er een pad wordt kortgesloten waardoor de volgende regels voor dat pakket niet meer gecontroleerd worden. Deze optie is voor de moderne regels eigenlijk verplicht. on geeft de interface aan die in de parameters meegenomen moet worden. De namen van interfaces kunnen getoond worden met &man.ifconfig.8;. Als deze optie wordt gebruikt, kan een regel alleen van toepassing zijn als het pakket door de aangegeven interface gaat in de richting die is aangegeven (in/out). Ook deze optie is verplicht voor de moderne regels. Als een pakket wordt gelogd, dan wordt de kop van het pakket weggeschreven naar het ipl pakketloggende pseudo–apparaat. Direct na het sleutelwoord log mogen de volgende opties gebruikt worden (in de aangegeven volgorde): body geeft aan dat de eerste 128 bytes van de inhoud van het pakket worden opgeslagen na de kop. first; als het sleutelwoord log samen met keep state wordt gebruikt, wordt het aangeraden om deze optie ook te gebruiken zodat alleen het pakket dat als eerste in de sessie van toepassing was en niet ook alle pakketten die daarna in de sessie volgens keep state van toepassing zijn. SELECTIE De sleutelwoorden in deze paragraaf worden gebruikt om attributen van het pakket dat wordt geïnspecteerd te beschrijven om te bepalen of een regel wel of niet van toepassing is. Er is een sleutelwoord en er zijn subopties waarvan er één of meer gekozen moeten worden. De volgende attributen zijn beschikbaar voor het proces en moeten in de aangegeven volgorde worden gebruikt: PROTO proto is het sleutelwoord dat moet worden aangegeven samen met een van de sleutelwoorden uit de subopties. De waarde geeft een bepaald protocol aan dat van toepassing moet zijn. Ook deze optie is verplicht voor de moderne regels. tcp/udp, tcp, udp, icmp of ieder ander protocol dat in /etc/protocols staat wordt herkend en kan gebruikt worden. Het bijzondere protocol sleutelwoord tcp/udp kan gebruikt worden om zowel voor TCP als UDP pakketten van toepassing te laten zijn. Het is toegevoegd voor het gemak om vrijwel gelijke regels te voorkomen. BRON_ADR/BEST_ADR Het sleutelwoord all is in feite hetzelfde als from any to any zonder overige parameters. from bron to dest; de sleutelwoorden from en to worden gebruikt om te testen op IP adressen. In regels moet zowel een bron als bestemmings IP adres aangegeven worden. any is een bijzonder sleutelwoord dat van toepassing is voor ieder IP adres als in from any to any of from 0.0.0.0/0 to any of from any to 0.0.0.0/0 of from 0.0.0.0 to any of from any to 0.0.0.0. IP adressen mogen ingevoerd worden in de vorm numeriek, door punten gescheiden adres/maskerlengte of als een enkelvoudig IP adres in de vorm numeriek, door punten gescheiden. Het is vaak lastig om te komen tot een reeks adressen in de vorm adres/masker. De volgende webpagina kan daar wellicht bij helpen: . POORT Als in een regel op een poort wordt gecontroleerd, voor bron- of bestemmingspoort of beiden, dan is dat alleen van toepassing op TCP en UDP pakketten. Bij het maken van poortvergelijkingen kunnen zowel de dienstnamen uit /etc/services als een uit een natuurlijk getal bestaand poortnummer ingesteld worden. Als de poort onderdeel is van het from object dan wordt het vergeleken met het poortnummer van de bron en als het onderdeel is van het to object, dan wordt het vergeleken met het poortnummer van de bestemming. Het gebruik van het to object is in de moderne regels verplicht en neemt de vorm aan van from any to any port = 80. Poortvergelijkingen kunnen op verschillende manieren ingesteld worden met een aantal verschillende operators. Er kunnen ook reeksen van poorten ingesteld worden. port = of een van de volgende operators: !=, <, >, <, >=, eq, ne, lt, gt, le, ge. Reeksen van poorten worden met de volgende optie aangegeven: port <> of ><. De volgende twee parameters die betrekking hebben op bron en bestemming, zijn verplicht in de moderne regels. TCP_VLAG Vlaggen zijn alleen beschikbaar voor het filteren van TCP. De letters staan voor de mogelijke vlaggen die bekeken kunnen worden in de kop van een TCP pakket. In de moderne regels wordt de optie flags S gebruikt om het verzoek tot het starten van een TCP sessie. STATEFUL keep state geeft aan dat in een regel met pass voor alle pakketten die van toepassing zijn stateful gefilterd moet worden. Deze optie is voor moderne regels verplicht. Stateful filteren IPFILTER stateful filteren Met stateful filteren wordt verkeer benaderd als een uitwisseling van pakketten tussen twee kanten die een sessie zijn. Als het is ingeschakeld, dan maakt het - mechamisme dynamisch interne + mechanisme dynamisch interne regels voor pakketten die in de sessie horen te volgen. Het kan bekijken of de karakteristieken van de sessie tussen verzender en ontvanger de juiste procedure volgen. Alle pakketten die niet passen in de sessie, worden automatisch geblokkeerd. keep state staat ook ICMP pakketten toe die gerelateerd zijn aan een TCP of UDP sessie. Dus als er een ICMP type 3 code 4 komt in antwoord op websurfen, dat wordt toegestaan van binnen naar buiten door een keep state regel, dan wordt dat toegelaten. Pakketten waarvan IPF zeker is dat ze onderdeel zijn van de sessie worden toegelaten, zelfs als ze van een ander protocol zijn. Wat er gebeurt: pakketten die naar buiten gaan op de - interface die met internet is verbonden worden eerst + interface die met Internet is verbonden worden eerst vergeleken met de dynamische staattabel. Als een pakket voldoet aan de verwachting van het volgende pakket in de sessie, dan mag het de firewall verlaten en wordt de staattabel bijgewerkt. De overige pakketten worden vergeleken met de set van regels voor uitgaand verkeer. Pakketten die binnenkomen op de interface die met - internet is verbonden worden eerst vergeleken met de + Internet is verbonden worden eerst vergeleken met de dynamische staattabel. Als een pakket voldoet aan de verwachting van het volgende pakket in de sessie, dan mag het de firewall verlaten en wordt de staattabel bijgewerkt. De overige pakketten worden vergeleken met de set van regels voor uitgaand verkeer. Als de sessie wordt beëindigd wordt hij uit de dynamische staattabel verwijderd. Met stateful filteren is het mogelijk om de focus te leggen op het blokkeren of toestaan van nieuwe sessies. Als een nieuwe sessie tot stand mag komen, dan worden alle volgende pakketten automatisch doorgelaten en al het - vervalste verkeer wordt automatisch tegegehouden. Als een + vervalste verkeer wordt automatisch tegengehouden. Als een nieuwe sessie wordt geweigerd, dan wordt geen enkel pakket doorgelaten. Met stateful filteren zijn er uitgebreide mogelijkheden voor onderzoek om bescherming te bieden tegen - de veelheid aan aanvallen die tegenwoorden door aanvallers + de veelheid aan aanvallen die tegenwoordig door aanvallers worden uitgevoerd. Voorbeeld van inclusieve regels De onderstaande regels zijn een voorbeeld van hoe een erg veilige inclusieve firewall opgezet kan worden. Een inclusieve firewall staat alleen diensten toe die passen bij de pass regels en blokkeert al het overige verkeer. Alle firewalls hebben tenminste twee interfaces waarop regels van toepassing zijn om de firewall te laten werken. Alle &unix; systemen en dus ook &os; zijn zo ontworpen dat ze voor interne communicatie de interface lo0 en IP adres 127.0.0.1 gebruiken. De firewall moet dit interne verkeer gewoon doorgang laten vinden. Voor de interface die is verbonden met het publieke - internet worden regels gemaakt waarmee sessies naar het - internet mogelijk gemaakt worden en toegang wordt gegeven + Internet worden regels gemaakt waarmee sessies naar het + Internet mogelijk gemaakt worden en toegang wordt gegeven voor pakketten die uit die sessies terug komen. Dit kan de PPP interface tun0 zijn of de netwerkkaart die is verbonden met een xDSL of kabelmodem. In gevallen dat er één of meer netwerkkaarten zijn aangesloten op het LAN achter de firewall, dan moeten er op de firewall regels zijn om het verkeer tussen die interfaces vrije doorgang te geven. De regels worden opgedeeld in drie onderdelen: alle interfaces met vrije doorgang, uitgaand op publieke interfaces en inkomend op publieke interfaces. In iedere sectie moeten zo staan dat de regels die het meest gebruikt worden vóór de regels die minder vaak gebruikt worden staan. De laatste regel van een onderdeel geeft aan dat al het overige verkeer op die interface in die richting geblokkeerd en gelogd moet worden. In het onderdeel Uitgaand staan alleen regels met pass die parameters bevatten om - individuele diensten beschikbaar te maken zodat er internet + individuele diensten beschikbaar te maken zodat er Internet toegang is. Al die regels moeten gebruik maken van quick, on, proto, port en keep state. De regels met proto tcp maken ook gebruik van flag om te bekijken of het een pakket betreft voor het opzetten van een sessie om de stateful functionaliteit aan te sturen. In het onderdeel Inkomend staan alle regels voor het blokkeren van ongewenste pakketten eerst om twee redenen. Als eerste kan het zo zijn dat wat er wordt geblokkeerd later toegestaan zou worden door regels die diensten toestaan. De tweede reden is dat nu ongewenste pakketten die vaak voor komen en die bij voorkeur niet in de logboeken voor komen niet meer van toepassing zijn op de laatste regel van het onderdeel waarin ze zouden worden gelogd. Met de laatste regel van dit onderdeel worden alle overige pakketten geblokkeerd en gelogd en ze kunnen bewijsmateriaal zijn in een zaak tegen iemand die heeft geprobeerd een systeem aan te vallen. Voor al het verkeer dat wordt geweigerd wordt geen antwoord gestuurd. De pakketten verdwijnen gewoon. Zo weet een aanvaller niet of een pakket het doelsysteem wel heeft bereikt. Zo kan een aanvaller geen informatie verzamelen over een systeem: hoe minder informatie er over een systeem beschikbaar is, hoe meer tijd iemand erin moet steken voordat er iets slechts gedaan kan worden. Zo wordt bijvoorbeeld een inkomend verzoek van een nmap OS fingerprint gelogd omdat een aanvaller zoiets zou proberen. We raden aan om als er logmeldingen komen van een regel met log first het commando ipfstat -hio uit te voeren om te bekijken hoe vaak de regel van toepassing is geweest om te kijken of de firewall overspoeld wordt, m.a.w. aangevallen wordt. Als er pakketten gelogd worden waarvan de beheerder het poortnummer niet herkent, dan is de functie van dat poortnummer na te zoeken in /etc/services of op . Op de volgende link worden poortnummers van Trojans beschreven: . De onderstaande set regels is een complete en erg veilige inclusieve set met regels voor een firewall die de auteur - zelf heeft gebruikt op zijn syteem. Deze set met regels is + zelf heeft gebruikt op zijn systeem. Deze set met regels is een aanrader en eenvoudig aan te passen door commentaar te maken van een regel voor een dienst die niet gewenst is. Logberichten die niet gewenst zijn, zijn uit te sluiten door ze met een regel te blokkeren in het begin van het onderdeel Inkomend. Voor de onderstaande regels dient de dc0 interfacenaam in iedere regel vervangen te worden door de interfacenaam van de netwerkkaart - in het systeem die met het publieke internet is verbonden. + in het systeem die met het publieke Internet is verbonden. Voor gebruikers van PPP zou dat tun0 zijn. Dit zou de inhoud van /etc/ipf.rules kunnen zijn: ################################################################# # Geen beperkingen op de interface aan de LAN kant. # Niet nodig als er geen LAN is. ################################################################ #pass out quick on xl0 all #pass in quick on xl0 all ################################################################# # Geen beperkingen op de loopback interface ################################################################# pass in quick on lo0 all pass out quick on lo0 all ################################################################# -# Interface aan het publieke internet (onderdeel Uitgaand). +# Interface aan het publieke Internet (onderdeel Uitgaand). # Inspecteer verzoeken om een sessie te starten van achter de # firewall op het private netwerk of vanaf de server zelf naar -# het publieke internet. +# het publieke Internet. ################################################################# # Geef toegang tot de DNS server van de ISP. # xxx moet het IP adres van de DNS van de ISP zijn. -# Dupliceer deze regels als een ISP meedere DNS servers heeft. +# Dupliceer deze regels als een ISP meerdere DNS servers heeft. # Haal het IP adres evt. uit /etc/resolv.conf. pass out quick on dc0 proto tcp from any to xxx port = 53 flags S keep state pass out quick on dc0 proto udp from any to xxx port = 53 keep state # Geef toegang tot de DHCP server van de ISP voor kabel- en # xDSL-netwerken. Deze regel is niet nodig als gebruik gemaakt worden -# van PPP naar het publieke internet. In dat geval kan de hele groep +# van PPP naar het publieke Internet. In dat geval kan de hele groep # verwijderd worden. Gebruik de volgende regel en controleer het # logboek voor het IP adres. Wijzig dan het IP adres in de regel # commentaar hieronder en verwijder de eerste regel. pass out log quick on dc0 proto udp from any to any port = 67 keep state #pass out quick on dc0 proto udp from any to z.z.z.z port = 67 keep state # Sta niet beveiligd www verkeer toe. pass out quick on dc0 proto tcp from any to any port = 80 flags S keep state # Sta beveiligd www verkeer over TLS SSL toe. pass out quick on dc0 proto tcp from any to any port = 443 flags S keep state # Sta het verzenden en ontvangen van e-mail toe. pass out quick on dc0 proto tcp from any to any port = 110 flags S keep state pass out quick on dc0 proto tcp from any to any port = 25 flags S keep state # Sta Time toe. pass out quick on dc0 proto tcp from any to any port = 37 flags S keep state # Sta NNTP nieuws toe. pass out quick on dc0 proto tcp from any to any port = 119 flags S keep state # Sta lokale en LAN gebruiker toe niet beveiligde FTP te gebruiken # (zowel passieve als actieve modes). Deze functie maakt gebruik van # de in IPNAT ingebouwde FTP proxy die in het bestand met nat regels # staat om dit in één regel te laten werken. Als er met -# pkg_add packages toegevoegd moeten kunnen worden op een systeem, dan +# pkg_add pakketten toegevoegd moeten kunnen worden op een systeem, dan # is deze regel nodig. pass out quick on dc0 proto tcp from any to any port = 21 flags S keep state # Sta beveiligde FTP, Telnet en SCP toe. # Deze functie maakt gebruik van SSH (secure shell) pass out quick on dc0 proto tcp from any to any port = 22 flags S keep state # Sta uitgaande niet beveiligde telnet toe. pass out quick on dc0 proto tcp from any to any port = 23 flags S keep state # Sta de &os; CVSUP functie toe. pass out quick on dc0 proto tcp from any to any port = 5999 flags S keep state -# Sta ping toe naar het publieke internet. +# Sta ping toe naar het publieke Internet. pass out quick on dc0 proto icmp from any to any icmp–type 8 keep state -# Sta whois toe vanaf overal naar het publieke internet. +# Sta whois toe vanaf overal naar het publieke Internet. pass out quick on dc0 proto tcp from any to any port = 43 flags S keep state # Blokkeer en log het eerste voorkomen van al het andere dat probeert # buiten te komen. Deze regel dwingt de 'block all' logica af. block out log first quick on dc0 all ################################################################# -# Interface aan het publieke internet (onderdeel Inkomend). -# Inspecteert pakketten die van het publieke internet komen +# Interface aan het publieke Internet (onderdeel Inkomend). +# Inspecteert pakketten die van het publieke Internet komen # met als bestemming de host zelf of het private netwerk. ################################################################# # Blokkeer al het verkeer voor niet–routeerbare of gereserveerde # adresreeksen. block in quick on dc0 from 192.168.0.0/16 to any #RFC 1918 privaat IP block in quick on dc0 from 172.16.0.0/12 to any #RFC 1918 privaat IP block in quick on dc0 from 10.0.0.0/8 to any #RFC 1918 privaat IP block in quick on dc0 from 127.0.0.0/8 to any #loopback block in quick on dc0 from 0.0.0.0/8 to any #loopback block in quick on dc0 from 169.254.0.0/16 to any #DHCP auto–config block in quick on dc0 from 192.0.2.0/24 to any #gereserveerd voor documentatie block in quick on dc0 from 204.152.64.0/23 to any #Sun cluster interconnect block in quick on dc0 from 224.0.0.0/3 to any #Klasse D & E multicast ##### Blokkeer wat vervelende dingen ############ # die niet in de logboeken moeten komen. -# Blokkeer flagmenten. +# Blokkeer fragmenten. block in quick on dc0 all with frags # Block korte TCP pakketten. block in quick on dc0 proto tcp all with short # Blokkeer source gerouteerde pakketten. block in quick on dc0 all with opt lsrr block in quick on dc0 all with opt ssrr # Blokkeer pogingen voor nmap OS fingerprint. # Log first occurrence of these so I can get their IP address block in log first quick on dc0 proto tcp from any to any flags FUP # Blokkeer alles met speciale opties. block in quick on dc0 all with ipopts # Blokkeer publieke pings. block in quick on dc0 proto icmp all icmp–type 8 # Blokkeer ident. block in quick on dc0 proto tcp from any to any port = 113 # Blokkeer alle Netbios diensten. 137=naam, 138=datagram, 139=sessie. # Netbios is de &windows; bestandsdeeldienst. # Blokkeer &windows; hosts2 name server verzoeken 81. block in log first quick on dc0 proto tcp/udp from any to any port = 137 block in log first quick on dc0 proto tcp/udp from any to any port = 138 block in log first quick on dc0 proto tcp/udp from any to any port = 139 block in log first quick on dc0 proto tcp/udp from any to any port = 81 # Sta inkomend verkeer toe van de DHCP server van de ISP. Deze regel # moet het IP adres van de DHCP server van de ISP bevatten omdat die # de enige toegestane bron van dit type pakketten moet zijn. Alleen # van belang voor kabel en xDSL instellingen. Deze regel is niet nodig -# voor PPP verbindingen naar het publieke internet. Dit is hetzelfde +# voor PPP verbindingen naar het publieke Internet. Dit is hetzelfde # IP adres dat in het Uitgaande onderdeel is opgezocht. pass in quick on dc0 proto udp from z.z.z.z to any port = 68 keep state # Sta inkomend webverkeer toe omdat er een Apache server draait. pass in quick on dc0 proto tcp from any to any port = 80 flags S keep state -# Sta niet beveiligde telnet sessie toe vanaf het publieke internet. +# Sta niet beveiligde telnet sessie toe vanaf het publieke Internet. # Dit heeft het label niet veilig omdat gebruikersnaam en -# wachtwoord als platte tekst over internet gaan. Als er geen telnet +# wachtwoord als platte tekst over Internet gaan. Als er geen telnet # server draait, hoeft deze regel niet actief te zijn. #pass in quick on dc0 proto tcp from any to any port = 23 flags S keep state -# Sta beveiligde FTP, telnet en SCP toe vanaf internet. -# Deze functie gebruik SSH(secure shell). +# Sta beveiligde FTP, telnet en SCP toe vanaf Internet. +# Deze functie gebruik SSH (secure shell). pass in quick on dc0 proto tcp from any to any port = 22 flags S keep state # Blokkeer en log het eerste voorkomen van al het andere dat probeert # binnen te komen. Het loggen van alleen het eerste voorkomen stopt # een ontzegging van dienst aanval die gericht is op het laten # vollopen van de partitie waarop de logboeken staan. Deze regel dwingt # de 'block all' logica af. block in log first quick on dc0 all ################### Einde van de regels ################################### <acronym>NAT</acronym> NAT IP masquerading NAT network address translation NAT - + netwerkadres vertaling NAT - + NAT staat voor Network Address Translation (netwerkadres vertaling). In &linux; heet dit IP Masquerading. Een van de vele mogelijkheden die IPF NAT kan bieden is het delen van één IP adres op het publieke - internet met een LAN achter een firewall. + Internet met een LAN achter een firewall. De vraag zou kunnen rijzen waarom iemand dat zou willen. ISP's wijzen normaliter namelijk dynamisch een IP adres toe aan hun niet-commerciële gebruikers. Dynamisch betekent hier dat het IP adres iedere dat er wordt ingebeld of dat de kabel- of xDSL-modem uit- en aangeschakeld wordt anders kan zijn. Dit IP adres is het adres waarmee een netwerkapparaat bekend is op het publieke - internet. + Internet. Stel dat er vijf PC's in een huis staan en iedere - computer in dat huis heeft toegang tot internet nodig. Dan + computer in dat huis heeft toegang tot Internet nodig. Dan zouden er bij een ISP vijf individuele accounts moeten zijn en vijf telefoonlijnen om dat te realiseren. Met NAT is er maar één account bij een ISP nodig en moeten er vier PC's met kabels op een switch aangesloten waarop ook een &os; systeem is aangesloten dat als gateway gaat opereren. NAT zal automatisch de private LAN IP adressen van alle PC's vertalen naar een enkel publiek IP adres als de - pakketten de firewall naar het internet verlaten. + pakketten de firewall naar het Internet verlaten. NAT wordt vaak gebruikt zonder toestemming of wetenschap van een ISP en in de meeste gevallen is het, als het wordt ontdekt, grond voor een ISP om de account op te zeggen. Commerciële gebruikers - betalen veel meer voor hun internet verbindingen en krijgen + betalen veel meer voor hun Internet verbindingen en krijgen vaak een reeks statische IP adressen die nooit verandert. Een ISP verwacht en staat toe dat commerciële gebruikers NAT inzetten voor connectiviteit voor hun interne netwerk. Er is een speciale reeks van IP adressen gereserveerd voor NAT op LANs. Volgens RFC 1918 kunnen de volgende reeksen IP adressen gebruikt worden op private - netwerken die nooit direct op het publieke internet + netwerken die nooit direct op het publieke Internet gerouteerd worden. Eerste IP Laatste IP 10.0.0.0 10.255.255.255 172.16.0.0 172.31.255.255 192.168.0.0 192.168.255.255 IP<acronym>NAT</acronym> NAT en IPFILTER ipnat NAT regels worden geladen met ipnat. De NAT regels worden vaak opgeslagen in /etc/ipnat.rules . Meer details staan in &man.ipnat.1;. Bij het maken van wijzigingen aan de NAT regels nadat NAT gestart is, wordt aangeraden de wijziging aan het bestand met regels te maken en daarna met ipnat alle actieve NAT regels te wissen. Daarna kunnen de regels uit het bestand weer als volgt geladen worden: &prompt.root; ipnat -CF -f /etc/ipnat.rules Gebruiksgegevens over NAT kunnen getoond worden met: &prompt.root; ipnat -s De huidige inhoud van de NAT tabellen kan getoond worden met: &prompt.root; ipnat -l Met het volgende commando kan de uitgebreide rapportage worden ingeschakeld en dan wordt informatie over het verwerken van verkeer en de actieve regels getoond: &prompt.root; ipnat –v IP<acronym>NAT</acronym> regels NAT regels zijn erg flexibel en er kunnen veel dingen mee gedaan worden om behoeften van bedrijven en thuisgebruikers in te vullen. De syntaxis van de regels die hier wordt toegelicht is vereenvoudigd om te passen bij een niet-commerciële omgeving. De complete syntaxis is na te lezen in &man.ipnat.5;. De syntaxis voor een NAT regel ziet er ongeveer als volgt uit: map IF LAN_IP_REEKS -> PUBLIEK_ADRES De regel begint met het sleutelwoord map. IF dient vervangen te worden door de aanduiding van de externe interface. LAN_IP_REEKS is de reeks die clients op een LAN gebruiken, meestal iets van 192.168.1.0/24. PUBLIEK_ADRES kan het publieke IP adres zijn of een speciaal sleutelwoord 0.32, wat betekent dat het IP adres van IF gebruikt moet worden. Hoe <acronym>NAT</acronym> werkt Een pakket komt vanaf het LAN aan bij de firewall en heeft een publieke bestemming. Het wordt verwerkt door de filterregels voor inkomend verkeer en daarna krijgt NAT de kans zijn regels op het pakket toe te passen. De regels worden van boven naar beneden toegepast en de eerste regel die van toepassing is wint. NAT controleert voor alle regels het pakket op interfacenaam en bron IP adres. Als de interfacenaam van een pakket past bij een NAT regel dan wordt het bron IP adres van dat pakket gecontroleerd, dat is dus een IP adres op het private LAN, om te bekijken of het valt in de reeks die is opgegeven aan de linkerkant van een NAT regel. Als ook dat klopt, dan wordt het bron IP adres van het pakket vervangen (rewritten) door een publiek IP adres dat verkregen kan zijn met het sleutelwoord 0.32. NAT werkt dan zijn interne NAT tabel bij, zodat als er een pakket uit - die sessie terugkomt van het publieke internet, dat pakket + die sessie terugkomt van het publieke Internet, dat pakket weer gepast kan worden bij het originele private IP adres en door de firewallregels gefilterd kan worden om daarna, als dat mag, naar een client gestuurd te worden. IP<acronym>NAT</acronym> inschakelen Voor IPNAT zijn de onderstaande instellingen in /etc/rc.conf beschikbaar. Om verkeer tussen interfaces te kunnen routeren: gateway_enable="YES" Om IPNAT automatisch te starten: ipnat_enable="YES" Om aan te geven waar de IPNAT regels staan: ipnat_rules="/etc/ipnat.rules" <acronym>NAT</acronym> voor een groot LAN Voor netwerken met grote aantallen PC's of netwerken met meerdere LAN's kan het een probleem worden om al die private IP adressen met één enkel publiek IP adres te vervangen, omdat vaak dezelfde poortnummers gebruikt worden. Er zijn twee manieren om dit probleem op te lossen. Aangeven welke poorten te gebruiken Een normale regel voor NAT ziet er als volgt uit: map dc0 192.168.1.0/24 -> 0.32 Met de bovenstaande regel blijft de bronpoort ongewijzigd als het pakket door IPNAT gaat. Door gebruik te maken van het sleutelwoord portmap kan IPNAT ingesteld worden om alleen bronpoorten in de aangegeven reeks te gebruiken. Zo stelt de onderstaande regel in dat IPNAT de bronpoort aanpast naar een poortnummer dat in de aangegeven reeks valt: map dc0 192.168.1.0/24 -> 0.32 portmap tcp/udp 20000:60000 Het kan nog eenvoudiger door gebruik te maken van het sleutelwoord auto zodat IPNAT zelf bepaalt welke poorten gebruikt kunnen worden: map dc0 192.168.1.0/24 -> 0.32 portmap tcp/udp auto Meerdere publieke adressen gebruiken In grote netwerken komt er een moment waarop er gewoon te veel adressen zijn om te bedienen met één IP adres. Als er een blok van publiekelijke - IP addressen beschikbaar is, dan kunnen deze adressen + IP adressen beschikbaar is, dan kunnen deze adressen gebruikt worden in een poel, welke door IPNAT gebruikt kan worden om één van de adressen te gebruiken als uitgaand adres. Bijvoorbeeld om alle pakketten te verstoppen achter één een enkel IP adres: map dc0 192.168.1.0/24 -> 204.134.75.1 Een reeks van publiekelijke IP adressen kan gespecificeerd worden met een netwerkmasker: map dc0 192.168.1.0/24 -> 204.134.75.1–10 of door gebruik van de CIDR notatie: map dc0 192.168.1.0/24 -> 204.134.75.0/24 Poorten omleiden Het is erg gebruikelijk om een webserver, mailserver, database server en DNS server op verschillende computers op een LAN te draaien. Het uitgaande verkeer van die servers kan dan met NAT afgehandeld worden, maar er moet ook ingesteld worden dat inkomend verkeer bij de juiste computer terecht komt. IPNAT gebruikt daarvoor de opties in NAT waarmee verkeer omgeleid kan worden. Als bijvoorbeeld een webserver op 10.0.10.25 draait en het publieke IP adres zou 20.20.20.5 zijn, dan zou dit mogelijk zijn met één van de volgende twee regels: rdr dc0 20.20.20.5/32 port 80 -> 10.0.10.25 port 80 of: rdr dc0 0.0.0.0/32 port 80 -> 10.0.10.25 port 80 - Voor een DNS server op een LAN die ook vanuit internet + Voor een DNS server op een LAN die ook vanuit Internet bereikbaar met zijn en die draait op 10.0.10.33 zou de regel er als volgt uit zien: rdr dc0 20.20.20.5/32 port 53 -> 10.0.10.33 port 53 udp FTP en <acronym>NAT</acronym> - FTP is dinosaurus uit het tijdperk van voor internet was + FTP is dinosaurus uit het tijdperk van voor Internet was zoals het nu is, toen onderzoeksinstellingen met elkaar verbonden waren via huurlijnen en FTP de aangewezen methode was om bestanden met elkaar uit te wisselen. Maar bij het gebruik van FTP worden gebruikersnaam en wachtwoord als platte tekst verzonden en het protocol is nooit aangepast. FTP is er in twee smaken: actief en passief. Het verschil zit 'm in hoe het datakanaal wordt opgezet. De passieve variant is veiliger voor een gebruiker omdat bij deze variant beide communicatiekanalen door de client zelf worden opgezet. Op de volgende link zijn details over FTP na te lezen: . IP<acronym>NAT</acronym> regels IPNAT heeft een een speciale FTP proxy ingebouwd die kan worden ingeschakeld met een NAT map regel. Die kan al het uitgaande verkeer monitoren wat betreft opstartverzoeken voor sessies voor actieve en passieve FTP en dynamisch tijdelijke filterregels maken die alleen het poortnummer dat echt in gebruik is voor het datakanaal doorlaten. Hiermee wordt een veiligheidsrisico dat normaal gepaard gaat met FTP, namelijk het toestaan van grote reeksen hoge poortnummers, weggenomen. De volgende regel handelt al het FTP verkeer van het LAN af: map dc0 10.0.10.0/29 -> 0/32 proxy port 21 ftp/tcp De regel hieronder handelt het FTP verkeer van de gateway zelf af: map dc0 0.0.0.0/0 -> 0/32 proxy port 21 ftp/tcp Deze laatste regel handelt al het niet–FTP verkeer voor het LAN af: map dc0 10.0.10.0/29 -> 0/32 De FTP map regel hoort voor de normale regels te staan. Alle pakketten worden als eerste vergeleken met de eerste regel en zo verder. Eerst wordt gekeken over de interfacenaam overeenkomt, daarna het bron IP adres van het LAN en dan of het een FTP pakket is. Als dat allemaal klopt, dan maakt de speciale FTP proxy een tijdelijke filterregel die de pakketten uit de FTP sessie naar binnen en buiten doorlaat en ook NAT toepast op de FTP pakketten. Alle pakketten van het LAN die niet van het protocoltype FTP zijn en dus niet bij de eerste regel passen, worden tegen de derde regel gehouden die van toepassing is vanwege de interface en bron IP adres, zodat er dan NAT op toegepast wordt. IP<acronym>NAT</acronym> FTP filterregels Als de NAT FTP proxy wordt gebruikt is er maar één filterregel voor FTP nodig. Zonder de FTP proxy zouden er drie regels nodig zijn: - # Sta LAN client toe te FTP-en naar internet + # Sta LAN client toe te FTP-en naar Internet # Actieve en passieve modes pass out quick on rl0 proto tcp from any to any port = 21 flags S keep state # Sta opzetten van het datakanaal voor passieve mode toe voor hoge poorten pass out quick on rl0 proto tcp from any to any port > 1024 flags S keep state # Laat het datakanaal van de FTP server binnen voor actieve mode pass in quick on rl0 proto tcp from any to any port = 20 flags S keep state IPFW firewall IPFW Aan dit onderdeel wordt nog gewerkt. De inhoud is wellicht niet altijd volledig en juist. IPFIREWALL (IPFW) is een firewall die binnen &os; wordt ontwikkeld en onderhouden door vrijwilligers, leden van de staf. Het maakt gebruik van verouderde staatloze regels en een verouderde techniek om te realiseren wat eenvoudige stateful logica zou kunnen heten. De set voorbeeldregels van IPFW (die in /etc/rc.firewall staat) uit de standaard &os; installatie is redelijk eenvoudig en niet voorbereid om zonder wijzigingen gebruikt te worden. Het voorbeeld maakt geen gebruik van stateful filteren, wat een voordeel is in de meeste situaties. Daarom worden deze regels niet als basis gebruikt in dit onderdeel. De staatloze syntaxis van IPFW is krachtig door de technisch geavanceerde mogelijkheden van de regelsyntaxis die de kennis van de gemiddelde gebruiker van firewalls ver overstijgt. IPFW is gericht op de professionele gebruiker of de gevorderde thuisgebruiker die hoge eisen stelt aan de wijze waarop er met pakketten wordt omgegaan. Voordat de kracht van de IPFW regels echt ingezet kan worden, moet de gebruiker veel weten over de verschillende protocollen en de wijze waarop pakketten in elkaar zitten. Het tot op dat niveau behandelen van stof valt buiten de doelstellingen van dit boek. IPFW bestaat uit zeven componenten: de verwerkingseenheid voor de firewallregels, verantwoording, loggen, regels met divert (omleiden) waarmee NAT gebruikt kan worden en de speciale gevorderde mogelijkheden voor bandbreedte management DUMMYNET, de bridge mogelijkheden en de ipstealth mogelijkheden. IPFW inschakelen IPFW inschakelen IPFW zit bij de basisinstallatie van &os; als een losse - in run-time laadbare module. Het systeem laadt de kernel + in runtime laadbare module. Het systeem laadt de kernel module dynamisch als in rc.conf firewall_enable="YES" staat. IPFW hoeft niet in de &os; kernel gecompileerd te worden, tenzij het nodig is dat NAT beschikbaar is. Na het rebooten van een systeem met firewall_enable="YES" in rc.conf is het volgende bericht op het scherm te zien tijdens het booten: ipfw2 initialized, divert disabled, rule-based forwarding disabled, default to deny, logging disabled In de laadbare module zit de mogelijkheid om te loggen gecompileerd. In /etc/sysctl.conf kan een instelling gemaakt worden waardoor loggen na volgende herstarts wordt ingeschakeld: net.inet.ip.fw.verbose_limit=5 Kernelopties kernelopties IPFIREWALL kernelopties IPFIREWALL_VERBOSE kernelopties IPFIREWALL_VERBOSE_LIMIT IPFW kernelopties Het is niet verplicht om IPFW in te schakelen door het mee te compileren in de &os; kernel, tenzij de NAT functionaliteit beschikbaar moet zijn. Dit wordt alleen beschreven als achtergrondinformatie. Door IPFW in de kernel te compileren wordt de laadbare module niet gebruikt. options IPFIREWALL Met IPFIREWALL wordt IPFW ingeschakeld als deel van de kernel. options IPFIREWALL_VERBOSE Met IPFIREWALL_VERBOSE wordt het loggen van pakketten die worden verwerkt met IPFW mogelijk als het sleutelwoord in een regel staat. options IPFIREWALL_VERBOSE_LIMIT=5 Limiteert het aantal pakketten dat per regel wordt gelogd via &man.syslogd.8;. Deze optie kan gebruikt worden in vijandige omgevingen waar de activiteit van een firewall gelogd moet worden. Hierdoor kan een mogelijke ontzegging van dienst aanval door syslog flooding voorkomen worden. kernelopties IPFIREWALL_DEFAULT_TO_ACCEPT options IPFIREWALL_DEFAULT_TO_ACCEPT Met IPFIREWALL_DEFAULT_TO_ACCEPT wordt standaard alles door de firewall doorgelaten. Dit wordt aangeraden als iemand voor het eerst een firewall opzet. options IPV6FIREWALL options IPV6FIREWALL_VERBOSE options IPV6FIREWALL_VERBOSE_LIMIT options IPV6FIREWALL_DEFAULT_TO_ACCEPT Voor de bovenstaande opties geldt dat ze hetzelfde doen als de opties voor IPv4, alleen doen ze dat voor IPv6. Als IPv6 niet wordt gebruikt, dan wordt aangeraden de optie IPV6FIREWALL te gebruiken zonder regels, zodat al het IPv6 verkeer wordt geblokkeerd. kernelopties IPDIVERT options IPDIVERT Met IPDIVERT wordt de NAT functionaliteit ingeschakeld. Als IPFIREWALL_DEFAULT_TO_ACCEPT niet wordt gebruikt of de regels van de firewall staan geen verkeer toe, dan worden alle pakketten van en naar de machine waar dit voor geldt geblokkeerd. <filename>/etc/rc.conf</filename> opties Start de firewall: firewall_enable="YES" Om één van de standaard firewall types te selecteren die geleverd wordt door &os; lees /etc/rc.firewall, maak een selectie en plaats de volgende regel: firewall_type="open" Beschikbare waardes voor deze instelling zijn: open — pass all traffic. client — beschermt alleen deze machine. simple — beschermt het hele netwerk. closed — blokkeert alle IP verkeer, behalve voor lokaal verkeer. UNKNOWN — voorkomt het laden de firewall regels. bestandsnaam — absoluut pad naar een bestand dat firewall regels bevat. Het is mogelijk om twee verschillende manieren te gebruiken voor speciaal gemaakte regels voor de ipfw firewall. één daarvan is door het zetten van de firewall_type variabele naar een absoluut pad van een bestand, welke firewall regels bevat, zonder enige specifieke opties voor &man.ipfw.8;. Een simpel voorbeeld van een ruleset bestand kan zijn: add block in all add block out all Aan de andere kant is het mogelijk om de firewall_script variabele te zetten naar een absoluut pad van een uitvoerbaar bestand, welke inclusief - ipfw commandos uitgevoerd wordt tijdens het + ipfw commando's uitgevoerd wordt tijdens het opstarten van het systeem. Een geldig ruleset script dat gelijkwaardig is aan het ruleset bestand hierboven, zou het volgende zijn: #!/bin/sh ipfw -q flush ipfw add block in all ipfw add block out all Als firewall_type is gezet naar client of simple moeten de standaard regels die gevonden kunnen worden in /etc/rc.firewall gecontroleerd worden om te zien of deze configuratie voldoet voor de machine. Let ook op dat alle voorbeelden die gebruikt zijn in dit hoofdstuk - ervanuit gaan dat de firewall_script + ervan uitgaan dat de firewall_script variabele gezet is naar /etc/ipfw.rules. Om loggen in te schakelen: firewall_logging="YES" Het enige dat de variabele - firewall_logging doet is de sysctlt + firewall_logging doet is de sysctl variabele net.inet.ip.fw.verbose op de waarde 1 zetten (zie ). Er is geen variabele in rc.conf om logboeklimieten in te stellen, maar dat kan ingesteld worden via een sysctl variabele, handmatig of via het bestand /etc/sysctl.conf: net.inet.ip.fw.verbose_limit=5 Als de machine in kwestie een gateway is, dus Network Address Translation (NAT) diensten levert via &man.natd.8;, dan staat in meer informatie over de - benodigde installingen voor - /etc/rc.conf. + benodigde instellingen voor + /etc/rc.conf. Het commando <command>IPFW</command> ipfw ipfw wordt gebruikt om met de hand regels toe te voegen of te verwijderen als IPFW actief is. Het probleem met deze methode is dat, als het systeem down wordt gebracht, alle regels die gewijzigd of verwijderd zijn verloren gaan. Door alle regels in een bestand op te nemen dat bij het booten wordt geladen of door het bestand waarin de wijzigingen zijn gemaakt als een machine draait te laden bestaat die probleem niet. Met ipfw kunnen de actieve regels van de firewall op het scherm getoond worden. De verantwoordingsmogelijkeden van &man.ipfw.8; maken dynamisch tellers aan voor iedere regel en houden die bij voor alle pakketten die van toepassing zijn op die regel. Dit biedt ook een mogelijkheid om een regel te testen. Om alle regels in volgorde te tonen: &prompt.root; ipfw list Om alle regels te tonen met de tijd waarop deze voor het laatst van toepassing was: &prompt.root; ipfw –t list Het volgende commando kan gebruikt worden om de - verantwoordingsinformatie, pakettellers en de regel zelf te + verantwoordingsinformatie, pakkettellers en de regel zelf te tonen. De eerste kolom is het regelnummer met daarachter het aantal keren dat de regel van toepassing was voor inkomend verkeer, gevolgd door het aantal keren dat de regel van toepassing was voor uitgaand verkeer. Als laatste wordt de regel zelf getoond: &prompt.root; ipfw –a list Ook kunnen onder de statische regels de dynamische regels getoond worden: &prompt.root; ipfw –d list En de dynamische regels die verlopen zijn: &prompt.root; ipfw –d –e list De tellers op nul gesteld worden: &prompt.root; ipfw zero Alleen de tellers voor regel NUM op nul stellen: &prompt.root; ipfw zero NUM Sets van IPFW regels Een set regels is een groep &man.ipfw.8; regels die is gemaakt om pakketten toe te staan of te blokkeren op basis van de eigenschappen van dat pakket. De bi-directionele uitwisseling van pakketten tussen hosts bestaat uit een gesprek dat een sessie heet. De set van firewallregels beoordeelt pakketten twee keer: als het aankomt van de host - op het publieke internet en als het de host weer verlaat op - de weg terug naar de host op het publieke internet. Iedere + op het publieke Internet en als het de host weer verlaat op + de weg terug naar de host op het publieke Internet. Iedere TCP/IP dienst als telnet, www, mail, etc, heeft zijn eigen protocol, bron IP adres en bestemmings IP adres of de bron- en bestemmingspoort. Deze attributen vormen de basis voor het opstellen van regels waarmee diensten toegelaten of geblokkeerd kunnen worden. - + IPFW volgorde regelverwerking Als een pakket de firewall binnenkomt wordt het vergeleken met de eerste regel in de set regels en zo gaat dat voor iedere regel vanaf boven tot beneden. Als een regel van toepassing is op een pakket, dan wordt het actieveld van de regel uitgevoerd. Dit wordt de de eerst passende regel wint zoekmethode genoemd. Als een pakket bij geen enkele regel past, dan wordt de standaardregel 65535 toegepast, die alle pakketten weigert zonder een antwoord terug te sturen naar de verzender. Het zoeken gaat door na regels met count, skipto en tee. De instructies in dit onderdeel zijn gebaseerd op regels die gebruik maken van de stateful opties keep state, limit, in/out en via. Dit is het raamwerk waarmee een set van inclusieve firewallregels wordt samengesteld. Een inclusieve firewall staat alleen diensten toe die voldoen aan de regels. Op die manier kan er in de hand gehouden worden welke diensten van binnen de firewall naar buiten mogen en welke diensten op het private netwerk vanaf - het internet bereikbaar zijn. Al het andere verkeer wordt + het Internet bereikbaar zijn. Al het andere verkeer wordt vanuit het ontwerp standaard geblokkeerd en gelogd. Inclusieve firewalls zijn veel veiliger dan exclusieve firewalls. Het is ook de enige wijze voor de opzet van een firewall die in dit hoofdstuk wordt behandeld. Er wordt aangeraden voorzichtig te zijn als er vanaf het netwerk aan de firewallregels wordt gewerkt omdat het gevaar bestaat buitengesloten te worden. Regelsyntaxis IPFW regelsyntaxis De regelsyntaxis zoals hier toegelicht is vereenvoudigd door alleen te tonen wat nodig is om een standaard inclusieve set met firewallregels te maken. De complete - beschijving van alle mogelijkheden staat in + beschrijving van alle mogelijkheden staat in &man.ipfw.8;. Regels bevatten sleutelwoorden die in een bepaalde volgorde van links naar rechts op een regel horen te staan. Sleutelwoorden worden vet weergegeven. Sommige sleutelwoorden hebben subopties die zelf ook weer sleutelwoorden hebben die ook weer subopties kunnen hebben. Het karakter # wordt gebruikt om het begin van een opmerking te markeren en kan zowel op een eigen regel als achter een firewallregel staan. Lege regels worden genegeerd. CMD REGEL_NUMMER ACTIE LOGGEN SELECTIE STATEFUL CMD Iedere regel moet beginnen met add om hem toe te voegen aan de tabel met regels. REGEL_NUMMER Iedere regel moet een regelnummer hebben. ACTIE Bij een regel kunnen één of meer acties horen die worden uitgevoerd als een regel geldt voor een pakket. allow | accept | pass | permit Deze opties betekenen allemaal hetzelfde: als de regel geldt voor een pakket, laat dat pakket dan door en stop met het zoeken naar geldende regels. check–state Vergelijkt het pakket met de tabel met dynamische regels. Als het erin staat, dan wordt de actie van de dynamisch door deze regel gemaakte regel uitgevoerd. Anders wordt er verder gezocht door de regels. Een regel met check–state heeft geen selectiecriteria. Als er geen regel met check–state in de set met regels staat, dan wordt de tabel met dynamische regels bij het eerste voorkomen van keep–state of limit gecontroleerd. deny | drop Deze opties betekenen hetzelfde: als de regel geldt voor een pakket, blokkeer dat pakket dan en stop met het zoeken naar geldende regels. Loggen log of logamount Als een regel met het sleutelwoord log van toepassing is op een pakket, dan wordt er een bericht naar &man.syslogd.8; - geschreven met de facilitynaam SECURITY. Er wordt alleen + geschreven met de faciliteitsnaam SECURITY. Er wordt alleen een bericht geschreven als het aantal voor die regel gelogde pakketten niet groter is dan de instelling logamount. Als logamount niet is ingesteld, dan wordt de limiet uit de &man.sysctl.8; variabele net.inet.ip.fw.verbose_limit gehaald. In beide gevallen bestaat er in het geval de waarde nul is geen limiet. Als de limiet is bereikt, dan kan het loggen weer ingeschakeld worden door de teller voor het loggen weer - op nul te stlelen voor die regel met + op nul te stellen voor die regel met ipfw zero. Er wordt gelogd als een pakket zeker past bij een regel, maar voordat de actie (bijvoorbeeld accept of deny) op een pakket wordt toegepast. Uiteindelijk bepaalt de gebruiker zelf voor welke regels loggen wordt ingeschakeld. Selectie De sleutelwoorden in deze paragraaf beschrijven de attributen van een pakket die bekeken worden bij het bepalen of een regel wel of niet op een pakket van toepassing is. De attributen waarop gecontroleerd kan worden moeten in de beschreven volgorde gebruikt worden. udp | tcp | icmp Naast de hierboven aangegeven protocollen kunnen alle in /etc/protocols beschreven protocollen gebruikt worden. De waarde die wordt opgegeven is het protocol dat van toepassing moet zijn. Dit attribuut is verpicht. from bron to best De sleutelwoorden from en to worden gebruikt om te bekijken of een regel van toepassing is op IP adressen. Een regel moet zowel bron- als bestemmingsadressen bevatten. any is een bijzonder sleutelwoord dat van toepassing is op alle IP adressen. me is een bijzonder sleutelwoord dat van toepassing is op alle IP adressen die ingesteld zijn op interfaces van een &os; systeem. Zo kan dit onderdeel dus bijvoorbeeld de volgende vormen aannemen: from me to any, from any to me, from 0.0.0.0/0 to any, from any to 0.0.0.0/0, from 0.0.0.0 to any, from any to 0.0.0.0, from me to 0.0.0.0. IP adressen mogen ingevoerd worden in de vorm numeriek, door punten gescheiden adres/maskerlengte of als een enkelvoudig IP adres in de vorm numeriek, door punten gescheiden. De volgende link kan hulp verschaffen bij het schrijven van IP adressen in de vorm adres/maskerlengte: Dit attribuut is verpicht. poortnummer Wordt gebruikt voor protocollen die poortnummers ondersteunen (als TCP en UDP). Het gebruik van een poortnummer is verplicht. Er mogen ook dienstnamen uit /etc/services gebruikt worden in plaats van nummers. in | out Is op respectievelijk inkomende of uitgaande pakketten van toepassing. De sleutelwoorden in of out zijn verplicht in een regel. via IF Deze parameter geeft aan op welke interface de regel van toepassing is, waarbij IF de exacte naam van de bedoelde interface is. setup Dit is een verplicht sleutelwoord waarmee wordt aangegeven dat er gezocht wordt naar een pakket met het verzoek tot het opstarten van een TCP sessie. keep–state Dit is een verplicht sleutelwoord. Als er een pakket op een regel met keep–state van toepassing is, dan wordt er door de firewall een dynamische regel gemaakt die bi–directioneel verkeer zal toestaan tussen bron en bestemming en de bijbehorende poorten voor hetzelfde protocol. limit {bron–adr | bron–poort | best–adr | best–poort} De firewall staat maar N verbindingen toe met dezelfde groep parameters uit een regel. Er kunnen één of meer van de parameters bron- of bestemmingsadres en bron- en bestemmingspoort gebruikt worden. limit en keep–state kunnen niet in dezelfde regel gebruikt worden. limit geeft dezelfde mogelijkheden als keep–state en voegt daar zijn eigen mogelijkheden aan toe. Regeloptie stateful IPFW stateful filteren Bij stateful filteren wordt verkeer bekeken als bi–directioneel verkeer dat samen een sessie vormt. Het heeft de mogelijkheid om te bepalen of de sessie tussen de zender en de ontvanger op de juiste wijze voortgaat. Alle pakketten die niet precies in de verwachting van een sessie passen worden automatisch als fout geblokkeerd. check–state wordt gebruikt om aan te geven waar IPFW regels tegen de mogelijkheden voor dynamische regels gehouden moeten worden. Als er een passende regel bij een pakket wordt gevonden, dan kan dat pakket de firewall verlaten en wordt een nieuwe regel gemaakt voor het volgende pakket dat wordt verwacht in de sessie. Als er geen regel van toepassing is op het pakket, dan wordt de volgende regel in de groep regels getest. De mogelijkheden voor dynamische regels zijn kwetsbaar voor een aanval die SYN–flood heet, waarmee wordt geprobeerd een zeer groot aantal regels aan te laten maken. Om deze aanval tegen te gaan, is de optie limit beschikbaar. Met deze optie kan het maximaal aantal simultane sessies geregeld worden op basis van bron en bestemmingsvelden. Als het aantal sessies gelijk aan het maximale aantal sessies is, wordt een pakket voor een nieuwe sessie geweigerd. Firewallberichten loggen IPFW loggen De voordelen van loggen zijn duidelijk. Het biedt de mogelijkheid om na het feit informatie na te zien als: welke pakketten heeft de firewall laten vallen, waar kwamen ze vandaan en waar gingen ze heen. Dit zijn allemaal voordelen als het gaat om uitvinden waar een aanvaller vandaan komt en wat hij heeft geprobeerd. Zelfs als logging is ingeschakeld logt IPFW nog niets uit zichzelf. De beheerder van de firewall beslist welke actieve regels iets weg moeten schrijven door het sleutelwoord log aan die regels toe te voegen. Gewoonlijk worden alleen deny regels gelogd. Dit geldt bijvoorbeeld voor de deny regel voor inkomende ICMP pings. Het is gebruikelijk om de standaard ipfw regel te dupliceren, daar log in op te nemen, en deze als laatste in de set met regels te plaatsen. Zo zijn alle pakketten te zien die niet voldeden aan ook maar één regel. Loggen heeft ook mogelijke nadelen. Het is mogelijk om te veel te loggen en dan om te komen in logboekgegevens die uiteindelijk een schijf kunnen vullen. Een DoS aanval om een schijf met logs te vullen is een van de oudst bekende typen DoS aanvallen. Logberichten van de firewall worden niet alleen naar &man.syslogd.8; geschreven, maar ook op het root console getoond waar ze snel erg vervelend kunnen worden. De kerneloptie IPFIREWALL_VERBOSE_LIMIT=5 beperkt het aantal opeenvolgende berichten dat naar &man.syslogd.8; wordt geschreven voor één specifieke regel. Als deze optie is ingeschakeld, worden in dit geval maximaal vijf berichten voor dezelfde regel gemeld. Als er meer berichten op dezelfde regel zouden zijn, zou dat als volgt aan &man.syslogd.8; gemeld worden: last message repeated 45 times Standaard worden alle gelogde pakketten weggeschreven naar /var/log/security, wat is ingesteld in /etc/syslog.conf. Regelscript bouwen De meeste ervaren gebruikers van IPFW maken een bestand waarin de regels staan en stellen dat zo op dat het als script uitgevoerd kan worden. Het grootste voordeel van deze methode is dat de firewallregels allemaal vervangen kunnen worden zonder dat het systeem geboot moet worden. Deze methode is ook erg geschikt voor het testen van regels omdat de procedure zo vaak als nodig uitgevoerd kan worden. Omdat het een script is, kan er gebruik gemaakt worden van substitutie zodat veel gebruikte waarden verduidelijkt kunnen worden. In het volgende voorbeeld wordt hier gebruik van gemaakt. De syntaxis die in het script wordt gebruikt is compatibel met de shells sh, csh en tcsh. Velden waarvoor substitutie van toepassing is worden vooraf gegaan door het dollarteken $. Definities worden niet vooraf gegaan door het voorvoegsel $. De waarden van een definitie moet omsloten worden door "dubbele aanhalingstekens". Een bestand met regels kan als volgt beginnen: ############### begin voorbeeldscript ipfw regels ############## # ipfw –q –f flush # Verwijder alle bestaande regels. # Stel standaarden in. oif="tun0" # uitgaande interface. odns="192.0.2.11" # IP adres DNS server ISP. cmd="ipfw –q add " # Voorvoegsel voor regel. ks="keep–state" # Te lui om iedere keer in te typen. $cmd 00500 check–state $cmd 00502 deny all from any to any frag $cmd 00501 deny tcp from any to any established $cmd 00600 allow tcp from any to any 80 out via $oif setup $ks $cmd 00610 allow tcp from any to $odns 53 out via $oif setup $ks $cmd 00611 allow udp from any to $odns 53 out via $oif $ks ################### einde voorbeeldscript ipfw regels ########### Dat is alles. De feitelijke functie van de regels is in dit voorbeeld van ondergeschikt belang. Dit was slechts een voorbeeld om het gebruik van substitutie te illustreren. Als het bovenstaande voorbeeld het de inhoud van /etc/ipfw.rules was, dan kon het herladen worden met het volgende commando: &prompt.root; sh /etc/ipfw.rules /etc/ipfw.rules zou overal kunnen staan met iedere gewenste naam. Wat in het bovenstaande voorbeeld met een bestand is gerealiseerd, kan ook met de hand: &prompt.root; ipfw –q –f flush &prompt.root; ipfw –q add 00500 check–state &prompt.root; ipfw –q add 00502 deny all from any to any frag &prompt.root; ipfw –q add 00501 deny tcp from any to any established &prompt.root; ipfw –q add 00600 allow tcp from any to any 80 out via tun0 setup keep–state &prompt.root; ipfw –q add 00610 allow tcp from any to 192.0.2.11 53 out via tun0 setup keep–state &prompt.root; ipfw –q add 00611 allow udp from any to 192.0.2.11 53 out via tun0 keep–state Set met stateful regels De volgende set met regels, waarin geen gebruik gemaakt wordt van NAT, is een voorbeeld van hoe een erg veilige inclusieve firewall kan worden opgezet. Een inclusieve firewall laat alleen diensten toe waarvoor pass regels van toepassing zijn en blokkeert al het andere verkeer. Alle firewalls hebben tenminste twee interfaces waarvoor regels moeten zijn die de firewall in staat stellen zijn werk te doen. Alle &unix; systemen en dus ook &os; zijn zo ontworpen dat ze voor interne communicatie de interface lo0 en IP adres 127.0.0.1 gebruiken. De firewall moet dit interne verkeer gewoon doorgang laten vinden. Voor de interface die is verbonden met het publieke - internet worden regels gemaakt waarmee sessies naar het - internet mogelijk gemaakt worden en toegang wordt gegeven + Internet worden regels gemaakt waarmee sessies naar het + Internet mogelijk gemaakt worden en toegang wordt gegeven voor pakketten die uit die sessies terug komen. Dit kan de PPP interface tun0 zijn of de netwerkkaart die is verbonden met een xDSL of kabelmodem. In gevallen dat er meer dan één netwerkkaart is aangesloten op het private netwerk achter de firewall, moeten er op de firewall regels zijn om het verkeer tussen die interfaces vrije doorgang te geven. De regels worden opgedeeld in drie onderdelen: alle interfaces met vrije doorgang, uitgaand op publieke interfaces en inkomend op publieke interfaces. De volgorde van de regels in iedere sectie voor publieke interfaces moet zo zijn dat de regels die het meest gebruikt worden vóór de regels staan die minder vaak gebruikt worden. De laatste regel van een onderdeel geeft aan dat al het overige verkeer op die interface in die richting geblokkeerd en gelogd moet worden. In het onderdeel Uitgaand staan alleen regels met allow die parameters bevatten om - individuele diensten beschikbaar te maken zodat er internet + individuele diensten beschikbaar te maken zodat er Internet toegang is. Al die regels moeten gebruik maken van proto, port, in/out, via en keep-state. De regels met proto tcp maken ook gebruik van setup om te bekijken of het een pakket betreft voor het opzetten van een sessie om de stateful functionaliteit aan te sturen. In het onderdeel Inkomend staan alle regels voor het blokkeren van ongewenste pakketten eerst om twee redenen. Als eerste kan het zo zijn dat wat er wordt geblokkeerd later toegestaan zou worden door regels die diensten toestaan. De tweede reden is dat nu ongewenste pakketten die vaak voorkomen en die bij voorkeur niet in de logboeken voorkomen niet meer van toepassing zijn op de laatste regel van het onderdeel waarin ze zouden worden gelogd. Met de laatste regel van dit onderdeel worden alle overige pakketten geblokkeerd en gelogd en ze kunnen bewijsmateriaal zijn in een zaak tegen iemand die heeft geprobeerd een systeem aan te vallen. Voor al het verkeer dat wordt geweigerd wordt geen antwoord gestuurd. Die pakketten verdwijnen gewoon. Zo weet een aanvaller niet of een pakket het doelsysteem wel heeft bereikt. Zo kan een aanvaller geen informatie verzamelen over een systeem: hoe minder informatie er over een systeem beschikbaar is, hoe veiliger het is. Als er pakketten gelogd worden waarvan de beheerder het poortnummer niet herkent, dan is de functie van dat poortnummer na te zoeken in /etc/services of op . Op de volgende link worden poortnummers van Trojans beschreven: . Voorbeeld van een set inclusieve regels Het volgende voorbeeld is een complete inclusieve set regels die geen gebruik maakt van NAT. Deze set met regels is een aanrader en eenvoudig aan te passen door commentaar te maken van een regel voor een dienst die niet gewenst is. Logberichten die niet gewenst zijn, zijn uit te sluiten door ze met een regel te blokkeren in het begin van het onderdeel Inkomend. Voor de onderstaande regels dient de dc0 interfacenaam in iedere regel vervangen te worden door de interfacenaam van de netwerkkaart in het systeem die met - het publieke internet is verbonden. Voor gebruikers van + het publieke Internet is verbonden. Voor gebruikers van PPP zou dat tun0 zijn. Er zit een structuur in de regels: Alle regels die controleren op het verzoek voor het opzetten van een sessie gebruiken keep–state. - Alle diensten die vanaf internet bereikbaar zijn + Alle diensten die vanaf Internet bereikbaar zijn gebruiken limit om flooding te voorkomen. Alle regels gebruiken in of out om de richting aan te geven. Alle regels gebruiken via interfacenaam om aan te geven op welke interface de regel van toepassing is. De volgende regels zouden in /etc/ipfw.rules kunnen staan: ################ Begin bestand met IPFW regels ############################### # Verwijder eerst de bestaande regels. ipfw –q –f flush # Stel commando voorvoegsel in. cmd="ipfw –q add" pif="dc0" # Interfacenaam van NIC die verbinding - # met het publieke internet heeft. + # met het publieke Internet heeft. ################################################################# # Geen beperkingen op de interface aan de LAN kant. Alleen nodig # als er een LAN is. Wijzig xl0 naar de gebruikte interfacenaam. ################################################################# #$cmd 00005 allow all from any to any via xl0 ################################################################# # Geen beperkingen op de loopback interface. ################################################################# $cmd 00010 allow all from any to any via lo0 ################################################################# # Sta het pakket toe als het aan de tabel met dynamische regels # was toegevoegd met een 'allow keep–state' commando. ################################################################# $cmd 00015 check–state ################################################################# -# Interface aan het publieke internet (onderdeel Uitgaand). +# Interface aan het publieke Internet (onderdeel Uitgaand). # Inspecteer verzoeken om een sessie te starten van achter de # firewall op het private netwerk of vanaf de server zelf naar -# het publieke internet. +# het publieke Internet. ################################################################# # Geef toegang tot de DNS server van de ISP. # x.x.x.x moet het IP adres van de DNS van de ISP zijn. -# Dupliceer deze regels als een ISP meedere DNS servers heeft. +# Dupliceer deze regels als een ISP meerdere DNS servers heeft. # Haal het IP adres evt. uit /etc/resolv.conf $cmd 00110 allow tcp from any to x.x.x.x 53 out via $pif setup keep–state $cmd 00111 allow udp from any to x.x.x.x 53 out via $pif keep–state # Geef toegang tot de DHCP server van de ISP voor kabel- en # xDSL-netwerken. Deze regel is niet nodig als gebruik gemaakt worden -# van PPP naar het publieke internet. In dat geval kan de hele groep +# van PPP naar het publieke Internet. In dat geval kan de hele groep # verwijderd worden. Gebruik de volgende regel en controleer het # logboek voor het IP adres. Wijzig dan het IP adres in de regel # commentaar hieronder en verwijder de eerste regel. $cmd 00120 allow log udp from any to any 67 out via $pif keep–state #$cmd 00120 allow udp from any to x.x.x.x 67 out via $pif keep–state # Sta niet beveiligd www verkeer toe. $cmd 00200 allow tcp from any to any 80 out via $pif setup keep–state # Sta beveiligd www verkeer over TLS SSL toe. $cmd 00220 allow tcp from any to any 443 out via $pif setup keep–state # Sta het verzenden en ontvangen van e-mail toe. $cmd 00230 allow tcp from any to any 25 out via $pif setup keep–state $cmd 00231 allow tcp from any to any 110 out via $pif setup keep–state # Sta de FreeBSD CVSUP functie toe voor uid root. $cmd 00240 allow tcp from me to any out via $pif setup keep–state uid root # Sta ping toe. $cmd 00250 allow icmp from any to any out via $pif keep–state # Sta Time toe naar buiten. $cmd 00260 allow tcp from any to any 37 out via $pif setup keep–state # Sta NNTP nieuws toe naar buiten. $cmd 00270 allow tcp from any to any 119 out via $pif setup keep–state # Sta beveiligde FTP, Telnet en SCP toe naar buiten. # Deze functie maakt gebruik van SSH (secure shell). $cmd 00280 allow tcp from any to any 22 out via $pif setup keep–state # Sta whois toe naar buiten. $cmd 00290 allow tcp from any to any 43 out via $pif setup keep–state # Blokkeer en log al het andere dat probeert buiten te komen. # Deze regel dwingt de 'block all' logica af. $cmd 00299 deny log all from any to any out via $pif ################################################################# -# Interface aan het publieke internet (onderdeel Inkomend). -# Inspecteert pakketten die van het publieke internet komen +# Interface aan het publieke Internet (onderdeel Inkomend). +# Inspecteert pakketten die van het publieke Internet komen # met als bestemming de host zelf of het private netwerk. ################################################################# # Blokkeer al het verkeer voor niet-routeerbare of gereserveerde # adresreeksen. $cmd 00300 deny all from 192.168.0.0/16 to any in via $pif #RFC 1918 privaat IP $cmd 00301 deny all from 172.16.0.0/12 to any in via $pif #RFC 1918 privaat IP $cmd 00302 deny all from 10.0.0.0/8 to any in via $pif #RFC 1918 privaat IP $cmd 00303 deny all from 127.0.0.0/8 to any in via $pif #loopback $cmd 00304 deny all from 0.0.0.0/8 to any in via $pif #loopback $cmd 00305 deny all from 169.254.0.0/16 to any in via $pif #DHCP auto–config $cmd 00306 deny all from 192.0.2.0/24 to any in via $pif #gereserveerd voor documentatie $cmd 00307 deny all from 204.152.64.0/23 to any in via $pif #Sun cluster interconnect $cmd 00308 deny all from 224.0.0.0/3 to any in via $pif #Klasse D & E multicast # Blokkeer publieke pings. $cmd 00310 deny icmp from any to any in via $pif # Blokkeer ident. $cmd 00315 deny tcp from any to any 113 in via $pif # Blokkeer alle Netbios diensten. 137=naam, 138=datagram, 139=sessie. # Netbios is de Windows® bestandsdeeldienst. # Blokkeer Windows hosts2 name server verzoeken 81. $cmd 00320 deny tcp from any to any 137 in via $pif $cmd 00321 deny tcp from any to any 138 in via $pif $cmd 00322 deny tcp from any to any 139 in via $pif $cmd 00323 deny tcp from any to any 81 in via $pif # Blokkeer gefragmenteerde pakketten. $cmd 00330 deny all from any to any frag in via $pif -# Blokkeer ACK pakketten die niet in de table met dynamische regels +# Blokkeer ACK pakketten die niet in de tabel met dynamische regels # staan. $cmd 00332 deny tcp from any to any established in via $pif # Geef toegang tot de DHCP server van de ISP voor kabel- en # xDSL-netwerken. Deze regel is niet nodig als gebruik gemaakt worden -# van PPP naar het publieke internet. In dat geval kan de hele groep +# van PPP naar het publieke Internet. In dat geval kan de hele groep # verwijderd worden. Hier wordt hetzelfde IP adres gebruikt als in de # sectie voor Uitgaand verkeer. #$cmd 00360 allow udp from any to x.x.x.x 67 in via $pif keep–state # Sta inkomend webverkeer toe omdat er een Apache server draait. $cmd 00400 allow tcp from any to me 80 in via $pif setup limit src–addr 2 -# Sta beveiligde FTP, telnet en SCP toe vanaf internet. +# Sta beveiligde FTP, telnet en SCP toe vanaf Internet. $cmd 00410 allow tcp from any to me 22 in via $pif setup limit src–addr 2 -# Sta niet beveiligde telnet sessie toe vanaf het publieke internet. +# Sta niet beveiligde telnet sessie toe vanaf het publieke Internet. # Dit heeft het label ``niet veilig'' omdat gebruikersnaam en -# wachtwoord als platte tekst over internet gaan. Als er geen telnet +# wachtwoord als platte tekst over Internet gaan. Als er geen telnet # server draait, hoeft deze regel niet actief te zijn. $cmd 00420 allow tcp from any to me 23 in via $pif setup limit src–addr 2 # Weiger en log alle niet toegestane inkomende verbindingen van buiten. $cmd 00499 deny log all from any to any in via $pif # Al het andere verkeer wordt standaard geblokkeerd. Weiger en log alle # pakketten die tot hier zijn gekomen om te bekijken welke het waren. $cmd 00999 deny log all from any to any ################ Einde bestand met IPFW regels ######################## Voorbeeld <acronym>NAT</acronym> en stateful regels NAT en IPFW Om NAT met IPFW te gebruiken moeten - een aantal instellingen gemaakt worden. In het + een extra aantal instellingen gemaakt worden. In het instellingenbestand voor de kernel moet option - divert toegevoegd worden aan de andere + IPDIVERT toegevoegd worden aan de andere IPFIREWALL opties. Naast de normale IPFW opties in /etc/rc.conf zijn de volgende nodig: natd_enable="YES" # Schakel NATD in -natd_interface="rl0" # interfacenaam voor de publieke internet NIC +natd_interface="rl0" # interfacenaam voor de publieke Internet NIC natd_flags="–dynamic –m" # –m = behoud poortnummers als mogelijk Stateful regels samen met de divert natd regel gebruiken maakt het schrijven van regels veel gecompliceerder. De plaats van de regels met check–state en divert natd zijn van kritiek belang. De logica bestaat niet langer uit het eenvoudigweg van boven naar beneden doorwerken van de regels. Er wordt dan ook een nieuw type actie gebruik: skipto. Bij het gebruik van skipto is het verplicht iedere regel te nummeren zodat duidelijk is waar een skipto precies heen springt. Hieronder staat een groep regels zonder commentaar waarin een manier om pakketten door de groep regels te leiden wordt aangegeven. De verwerking begint met de eerste regel en er wordt steeds een volgende regel gecontroleerd tot het einde wordt bereikt of totdat een regel op het gecontroleerde pakket van toepassing is, op dat pakket wordt toegepast en de verwerking van regels daardoor stopt. In het - voorbeeld zijn de regels 100, 101, 450, 500, and 510 van + voorbeeld zijn de regels 100, 101, 450, 500, en 510 van belang. Die regels regelen de vertaling van inkomende en uitgaande pakketten zodat er in de tabel met de dynamische keep–state regels altijd het private IP adres staat. Daarnaast is het van belang op te merken dat er in alle allow en deny regels de richting van het pakket wordt gecontroleerd (inkomend of uitgaand) en over welke interface het pakket gaat. Merk ook op dat alle uitgaande verzoeken voor het starten van een sessie met een skipto naar regel 500 gaan voor NAT. Stel dat een gebruiker zijn webbrowser gebruikt om een webpagina op te halen. Webpagina's gebruiken poort 80 voor communicatie. Er komt een pakket de firewall binnen dat niet past bij regel 100 omdat het naar buiten gaat en niet naar binnen. Het komt voorbij regel 101 omdat dit het eerste pakket is en er dus nog niets voor in de dynamische keep-state tabel staat. Als het pakket bij 125 aankomt blijkt het te passen bij die regel. Het gaat naar buiten - door de interface aan het publieke internet. Het pakket + door de interface aan het publieke Internet. Het pakket heeft dan nog steeds het bron IP adres van het private LAN. Als blijkt dat deze regel geldt, dan gebeuren er twee dingen: door keep–state wordt er een regel in de dynamische keep–state tabel gezet en wordt de aangegeven actie uitgevoerd. De actie is onderdeel van de informatie uit de dynamische tabel. In dit geval is het skipto 500. In regel 500 wordt NAT op het IP adres van het pakket toegepast en dan kan het weg. Het volgende is van groot belang. Dit pakket komt aan op zijn bestemming en als er een antwoord terug komt, dan begint de verwerking van dat pakket weer van voor af aan. Nu voldoet het aan regel 100 en dus wordt het bestemmingsadres vertaald naar het bijbehorende IP adres op het LAN. Daarna past het bij de check–state regel en wordt een vermelding in de tabel gevonden wat betekent dat er een bestaande sessie is en wordt het doorgelaten naar het LAN. Het gaat dan naar de PC op het LAN die als eerste een pakket heeft verzonden en die verstuurt een nieuw pakket met de vraag om een volgend segment met data naar de server. Nu blijkt bij controle van de check–state regel dat die op het pakket van toepassing moet zijn en er staat een vermelding in de tabel voor uitgaand verkeer. Daarom wordt de bijbehorende actie skipto 500 uitgevoerd. Het pakket springt naar regel 500, er wordt NAT op toegepast en het kan zijn weg vervolgen. Wat betreft binnenkomende pakketten wordt alles dat onderdeel is van een bestaande sessie automatisch afgehandeld door de check–state regel en de juist geplaatste divert natd regels. Nu hoeven alleen de foute pakketten nog geweigerd te worden en moet ondersteuning voor inkomende diensten ingesteld worden. In dit geval draait er een Apache server op de gateway machine - die vanaf internet bereikbaar moet zijn. Het nieuwe + die vanaf Internet bereikbaar moet zijn. Het nieuwe inkomende pakket past bij regel 100 en het IP adres wordt aangepast aan het interne IP adres van de gateway machine. Dat pakket wordt dan gecontroleerd op alle ongewenste eigenschappen en komt uiteindelijk aan bij regel 425 die van toepassing blijkt te zijn. In dat geval kunnen er twee dingen gebeuren: de pakketregel wordt in de dynamische keep–state tabel gezet, maar nu wordt het aantal nieuwe sessies dat van het bron IP adres komt gelimiteerd tot twee. Dit is een bescherming tegen DoS aanvallen op de dienst die op dat poortnummer wordt aangeboden. De actie is allow, dus het pakket wordt tot het LAN toegelaten. Voor het antwoord herkent de check–state regel dat het pakket bij een bestaande sessie hoort, stuurt het naar regel 500 voor NAT en stuurt het via de uitgaande interface weg. Voorbeeld Set Regels #1: #!/bin/sh cmd="ipfw –q add" skip="skipto 500" pif=rl0 ks="keep–state" good_tcpo="22,25,37,43,53,80,443,110,119" ipfw –q –f flush $cmd 002 allow all from any to any via xl0 # exclude LAN traffic $cmd 003 allow all from any to any via lo0 # exclude loopback traffic $cmd 100 divert natd ip from any to any in via $pif $cmd 101 check–state # Toegestaan uitgaand verkeer. $cmd 120 $skip udp from any to xx.168.240.2 53 out via $pif $ks $cmd 121 $skip udp from any to xx.168.240.5 53 out via $pif $ks $cmd 125 $skip tcp from any to any $good_tcpo out via $pif setup $ks $cmd 130 $skip icmp from any to any out via $pif $ks $cmd 135 $skip udp from any to any 123 out via $pif $ks # Blokkeer al het verkeer voor niet-routeerbare of gereserveerde # adresreeksen. $cmd 300 deny all from 192.168.0.0/16 to any in via $pif #RFC 1918 privaat IP $cmd 301 deny all from 172.16.0.0/12 to any in via $pif #RFC 1918 privaat IP $cmd 302 deny all from 10.0.0.0/8 to any in via $pif #RFC 1918 privaat IP $cmd 303 deny all from 127.0.0.0/8 to any in via $pif #loopback $cmd 304 deny all from 0.0.0.0/8 to any in via $pif #loopback $cmd 305 deny all from 169.254.0.0/16 to any in via $pif #DHCP auto–config $cmd 306 deny all from 192.0.2.0/24 to any in via $pif #gereserveerd voor documentatie $cmd 307 deny all from 204.152.64.0/23 to any in via $pif #Sun cluster $cmd 308 deny all from 224.0.0.0/3 to any in via $pif #Klasse D & E multicast # Toegestaan inkomend verkeer. $cmd 400 allow udp from xx.70.207.54 to any 68 in $ks $cmd 420 allow tcp from any to me 80 in via $pif setup limit src–addr 1 $cmd 450 deny log ip from any to any # Dit is de 'skipto' locatie voor de uitgaande stateful regels. $cmd 500 divert natd ip from any to any out via $pif $cmd 510 allow ip from any to any ######################## Einde regels ################## Het volgende voorbeeld doet vrijwel hetzelfde als het bovenstaande, maar volgt een zelfdocumenterende stijl voor het opstellen van regels en commentaar waardoor minder ervaren gebruikers beter kunnen begrijpen wat de regels doen. Voorbeeld Set Regels #2: #!/bin/sh ################ Begin bestand met IPFW regels ############################### # Verwijder eerst de bestaande regels. ipfw –q –f flush # Stel commando voorvoegsel in. cmd="ipfw –q add" skip="skipto 800" pif="rl0" # Interfacenaam van NIC die verbinding - # met het publieke internet heeft. + # met het publieke Internet heeft. ################################################################# # Geen beperkingen op de interface aan de LAN kant. # Wijzig xl0 naar de gebruikte interfacenaam. ################################################################# $cmd 005 allow all from any to any via xl0 ################################################################# # Geen beperkingen op de loopback interface. ################################################################# $cmd 010 allow all from any to any via lo0 ################################################################# # Controleer of pakket inkomend is. NAT in dat geval. ################################################################# $cmd 014 divert natd ip from any to any in via $pif ################################################################# # Sta het pakket toe als het aan de tabel met dynamische regels # was toegevoegd met een 'allow keep–state' commando. ################################################################# $cmd 015 check–state ################################################################# -# Interface aan het publieke internet (onderdeel Uitgaand). +# Interface aan het publieke Internet (onderdeel Uitgaand). # Inspecteer verzoeken om een sessie te starten van achter de # firewall op het private netwerk of vanaf de server zelf naar -# het publieke internet. +# het publieke Internet. ################################################################# # Geef toegang tot de DNS server van de ISP. # x.x.x.x moet het IP adres van de DNS van de ISP zijn. -# Dupliceer deze regels als een ISP meedere DNS servers heeft. +# Dupliceer deze regels als een ISP meerdere DNS servers heeft. # Haal het IP adres evt. uit /etc/resolv.conf $cmd 020 $skip tcp from any to x.x.x.x 53 out via $pif setup keep–state # Geef toegang tot de DHCP server van de ISP voor kabel en xDSL. $cmd 030 $skip udp from any to x.x.x.x 67 out via $pif keep–state # Sta niet beveiligd www verkeer toe. $cmd 040 $skip tcp from any to any 80 out via $pif setup keep–state # Sta beveiligd www verkeer over TLS SSL toe. $cmd 050 $skip tcp from any to any 443 out via $pif setup keep–state # Sta het verzenden en ontvangen van e-mail toe. $cmd 060 $skip tcp from any to any 25 out via $pif setup keep–state $cmd 061 $skip tcp from any to any 110 out via $pif setup keep–state # Sta de FreeBSD CVSUP functie toe voor uid root. $cmd 070 $skip tcp from me to any out via $pif setup keep–state uid root -# Sta ping toe naar het publieke internet. +# Sta ping toe naar het publieke Internet. $cmd 080 $skip icmp from any to any out via $pif keep–state # Sta Time toe. $cmd 090 $skip tcp from any to any 37 out via $pif setup keep–state # Sta NNTP nieuws toe. $cmd 100 $skip tcp from any to any 119 out via $pif setup keep–state # Sta beveiligde FTP, Telnet en SCP toe. # Deze functie maakt gebruik van SSH (secure shell). $cmd 110 $skip tcp from any to any 22 out via $pif setup keep–state # Sta whois toe. $cmd 120 $skip tcp from any to any 43 out via $pif setup keep–state # Sta NPT tijdserver toe. $cmd 130 $skip udp from any to any 123 out via $pif keep–state ################################################################# -# Interface aan het publieke internet (onderdeel Inkomend). -# Inspecteert pakketten die van het publieke internet komen +# Interface aan het publieke Internet (onderdeel Inkomend). +# Inspecteert pakketten die van het publieke Internet komen # met als bestemming de host zelf of het private netwerk. ################################################################# # Blokkeer al het verkeer voor niet-routeerbare of gereserveerde # adresreeksen. $cmd 300 deny all from 192.168.0.0/16 to any in via $pif #RFC 1918 privaat IP $cmd 301 deny all from 172.16.0.0/12 to any in via $pif #RFC 1918 privaat IP $cmd 302 deny all from 10.0.0.0/8 to any in via $pif #RFC 1918 privaat IP $cmd 303 deny all from 127.0.0.0/8 to any in via $pif #loopback $cmd 304 deny all from 0.0.0.0/8 to any in via $pif #loopback $cmd 305 deny all from 169.254.0.0/16 to any in via $pif #DHCP auto–config $cmd 306 deny all from 192.0.2.0/24 to any in via $pif #gereserveerd voor documentatie $cmd 307 deny all from 204.152.64.0/23 to any in via $pif #Sun cluster $cmd 308 deny all from 224.0.0.0/3 to any in via $pif #Klasse D & E multicast # Blokkeer ident. $cmd 315 deny tcp from any to any 113 in via $pif # Blokkeer alle Netbios diensten. 137=naam, 138=datagram, 139=sessie. # Netbios is de Windows® bestandsdeeldienst. # Blokkeer Windows hosts2 name server verzoeken 81. $cmd 320 deny tcp from any to any 137 in via $pif $cmd 321 deny tcp from any to any 138 in via $pif $cmd 322 deny tcp from any to any 139 in via $pif $cmd 323 deny tcp from any to any 81 in via $pif # Blokkeer gefragmenteerde pakketten. $cmd 330 deny all from any to any frag in via $pif -# Blokkeer ACK pakketten die niet in de table met dynamische regels +# Blokkeer ACK pakketten die niet in de tabel met dynamische regels # staan. $cmd 332 deny tcp from any to any established in via $pif # Geef toegang tot de DHCP server van de ISP voor kabel- en # xDSL-netwerken. Deze regel is niet nodig als gebruik gemaakt worden -# van PPP naar het publieke internet. In dat geval kan de hele groep +# van PPP naar het publieke Internet. In dat geval kan de hele groep # verwijderd worden. Hier wordt hetzelfde IP adres gebruikt als in de # sectie voor Uitgaand verkeer. $cmd 360 allow udp from x.x.x.x to any 68 in via $pif keep–state # Sta inkomend webverkeer toe omdat er een Apache server draait. $cmd 370 allow tcp from any to me 80 in via $pif setup limit src–addr 2 -# Sta beveiligde FTP, telnet en SCP toe vanaf internet. +# Sta beveiligde FTP, telnet en SCP toe vanaf Internet. $cmd 380 allow tcp from any to me 22 in via $pif setup limit src–addr 2 -# Sta niet beveiligde telnet sessie toe vanaf het publieke internet. +# Sta niet beveiligde telnet sessie toe vanaf het publieke Internet. # Dit heeft het label ``niet veilig'' omdat gebruikersnaam en -# wachtwoord als platte tekst over internet gaan. Als er geen telnet +# wachtwoord als platte tekst over Internet gaan. Als er geen telnet # server draait, hoeft deze regel niet actief te zijn. #$cmd 390 allow tcp from any to me 23 in via $pif setup limit src–addr 2 # Weiger en log alle niet toegestane inkomende verbindingen vanaf het -# publieke internet. +# publieke Internet. $cmd 400 deny log all from any to any in via $pif # Weiger en log alle niet toegestane uitgaande verbindingen naar -# internet. +# Internet. $cmd 450 deny log all from any to any out via $pif # Dit is de 'skipto' locatie voor de uitgaande stateful regels $cmd 800 divert natd ip from any to any out via $pif $cmd 801 allow ip from any to any # Al het andere verkeer wordt standaard geblokkeerd. Weiger en log alle # pakketten die tot hier zijn gekomen om te bekijken welke het waren. $cmd 999 deny log all from any to any ################ Einde bestand met IPFW regels ######################## diff --git a/nl_NL.ISO8859-1/books/handbook/install/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/install/chapter.sgml index 38644691b2..db2f124cf3 100644 --- a/nl_NL.ISO8859-1/books/handbook/install/chapter.sgml +++ b/nl_NL.ISO8859-1/books/handbook/install/chapter.sgml @@ -1,5719 +1,5218 @@ Jim Mock Geherstructureerd, gereorganiseerd en delen herschreven door Randy Pratt De sysinstall handleiding, schermafdrukken en algemene bijdragen door Willem Jaap Zwart Vertaald door &os; installeren Overzicht installatie &os; heeft een tekstgebaseerd, gebruikersvriendelijk installatieprogramma genaamd sysinstall. Dit is het standaard installatieprogramma, maar leveranciers kunnen hun eigen installatieprogrammatuur leveren. Dit hoofdstuk beschrijft hoe sysinstall gebruikt moet worden om &os; te installeren. Na het lezen van dit hoofdstuk weet de lezer: Hoe &os; installatieschijven gemaakt kunnen worden; Hoe &os; harde schijven benoemt en onderverdeelt; Hoe sysinstall gestart kan worden; Welke vragen sysinstall stelt, wat ze betekenen en hoe er geantwoord kan worden. Veronderstelde voorkennis: De ondersteunde hardwarelijst doornemen van de versie van &os; die geïnstalleerd gaat worden op aanwezigheid van de beschikbare hardware. In zijn algemeenheid zijn deze installatie-instructies geschreven voor computers met een &i386; architectuur (PC compatible). Waar van toepassing worden instructies voor andere platformen (bijvoorbeeld Alpha) gegeven. Deze handleiding is zoveel mogelijk bijgewerkt, maar toch kunnen er verschillen optreden tussen de installatieprocedure en deze tekst. Er wordt aangeraden dit hoofdstuk te beschouwen als een algemene richtlijn en niet als een letterlijke handleiding voor installatie. + + Hardware-eisen + + + Minimale configuratie + + De minimale configuratie om &os; te installeren varieert met + de versie van &os; en de hardware-architectuur. + + Informatie over de minimale configuratie is beschikbaar in + de Installatie Notes op de Uitgave + Informatie pagina op de &os; website. Een samenvatting + van deze informatie is gegeven in de volgende secties. + Afhankelijk van de methode die u kiest om &os; te installeren, + heeft u misschien ook een floppydrive, een ondersteunde CDROM + drive, en in sommige gevallen een netwerkadapter nodig. Dit zal + worden behandeld door het . + + + + &os;/&arch.i386; en &os;/&arch.pc98; + + Zowel &os;/&arch.i386; en &os;/&arch.pc98; hebben een 486 + of betere processor en tenminste 24 MB aan RAM nodig. U + zult tenminste 150 MB aan vrije hardeschijfruimte nodig + hebben voor de meest minimale installatie. + + + In het geval van oude configuraties is het verkrijgen + van meer RAM en meer hardeschijfruimte meestal belangrijker + dan het verkrijgen van een snellere processor. + + + + + &os;/&arch.alpha; + + Alpha + + Om &os;/&arch.alpha; te installeren heeft u een + ondersteund platform (zie ) en een toegewijde + schijf voor &os; nodig. Het is momenteel niet mogelijk om een + schijf met een ander besturingssysteem te delen. Deze schijf + dient aan een SCSI-controller gekoppeld te worden die wordt + ondersteund door de SRM firmware of een IDE-schijf aangenomen + dat de SRM in uw machine het opstarten van IDE-schijven + ondersteunt. + + ARC + + Alpha BIOS + + SRM + + U zult de SRM consolefirmware nodig hebben voor uw + platform. In sommige gevallen is het mogelijk om te wisselen + tussen AlphaBIOS (of ARC) firmware en SRM. In andere gevallen + zal het nodig zijn om nieuwe firmware van de website van de + verkoper te downloaden. + + + Ondersteuning voor de Alpha was verwijderd te beginnen + met &os; 7.0. De + &os; 6.X uitgaveserie is de + laatste die ondersteuning bevat voor deze architectuur. + + + + + + &os;/&arch.amd64; + + Er zijn twee klassen processoren die &os;/&arch.amd64; + kunnen draaien. De eerste zijn AMD64 processoren, inclusief + de &amd.athlon;64, &amd.athlon;64-FX, &amd.opteron; of betere + processoren. + + De tweede klasse van processoren die &os;/&arch.amd64; + kan gebruiken omvat die die de &intel; EM64T architectuur + gebruiken. Voorbeelden van deze processoren omvatten de + &intel; &core; 2 Duo, Quad, en Extreme + processorfamilies en de &intel; &xeon; 3000, 5000, en + 7000 rijen van processoren. + + Indien u een machine heeft die gebaseerd is op een nVidia + nForce3 Pro-150, moet u de BIOS-setup + gebruiken om IO APIC uit te zetten. Indien u geen optie heeft + om dit te doen, moet u waarschijnlijk in plaats hiervan ACPI + uitzetten. Er zitten bugs in de Pro-150 chipset waarvoor we + nog geen oplossing hebben gevonden. + + + + &os;/&arch.sparc64; + + Om &os;/&arch.sparc64; te installeren heeft u een + ondersteund platform nodig (zie ). + + U heeft een toegewijde schijf nodig voor + &os;/&arch.sparc64;. Het is momenteel niet mogelijk om een + schijf met een ander besturingssysteem te delen. + + + + + Ondersteunde hardware + + Een lijst van ondersteunde hardware wordt geleverd bij elke + uitgave van &os; in de &os; Hardware Notes. Dit document + kan normaliter worden gevonden in een bestand genaamd + HARDWARE.TXT, in de bovenste map van een + CDROM- of FTP-distributie of in het documentatiemenu van + sysinstall. Het somt, voor een + gegeven architectuur, op welke hardware-apparaten door welke + uitgave van &os; worden ondersteund. Kopiën van de lijst + van ondersteunde hardware voor verschillende uitgaven en + architecturen kunnen ook gevonden worden op de Uitgave + Informatie pagina van de &os; website. + + + Voorbereidende taken Beschrijf de computer Probeer een computer te inventariseren voordat &os; wordt geïnstalleerd. De &os; installatieroutines geven een overzicht van alle componenten (harde schijven, netwerkkaarten, cd-rom-spelers, enzovoort) met hun typenummer en fabrikant. &os; probeert ook de juiste instellingen te achterhalen, zoals IRQ en IO-poort gebruik. Vanwege de verscheidenheid aan PC-hardware verloopt dit niet altijd helemaal succesvol en daarom kan het nodig zijn om de gegevens die &os; achterhaalt te verbeteren. Mocht er al een ander besturingssysteem geïnstalleerd zijn, zoals &windows; of &linux;, dan is het aan te raden de mogelijkheden van dat besturingssysteem te gebruiken om te achterhalen hoe hardware is ingesteld. Als niet volledig bekend is welke instellingen een uitbreidingskaart heeft, dan kan het zijn dat ze op de kaart zelf zijn afgedrukt. Veelvoorkomende IRQ nummers zijn 3, 5 en 7 en IO-poort adressen zijn meestal geschreven als hexadecimale getallen, zoals 0x330. Er wordt aangeraden deze informatie af te drukken of op te schrijven voordat &os; wordt geïnstalleerd. Het kan handig zijn om een tabel te maken, zoals deze: Voorbeeld van beschrijving van componenten Component IRQ IO-poort(en) Opmerkingen Eerste harde schijf N/A N/A 40 GB, Seagate, eerste IDE master cd-rom N/A N/A Eerste IDE slave Tweede harde schijf N/A N/A 20 GB, IBM, tweede IDE master Eerste IDE controller 14 0x1f0 Netwerkkaart N/A N/A &intel; 10/100 Modem N/A N/A &tm.3com; 56K faxmodem, op COM1
+ + Nadat de inventarisatie van de componenten in uw computer + voltooid is, dient u te controleren of ze aan de hardware-eisen + van de uitgave van &os; die u wilt installeren voldoen.
Maak een back-up van gegevens Als de computer waarop &os; geïnstalleerd gaat worden waardevolle gegevens bevat, dan dient er een back-up te zijn en dient deze back-up getest te zijn voordat &os; wordt geïnstalleerd. De &os; installatieprocedure vraagt om bevestiging voordat er naar de schijven geschreven wordt, maar als dat eenmaal is begonnen kan het niet meer teruggedraaid worden. Bepaal waar &os; geïnstalleerd wordt Als de hele harde schijf voor &os; beschikbaar is, dan hoeft op dit punt verder niets gedaan te worden. Ga verder naar de volgende sectie. Als &os; echter naast een ander besturingssysteem op een computer komt, dan moet basaal bekend zijn hoe gegevens op schrijven worden opgeslagen en wat dat voor consequenties heeft. - Indeling van schrijven voor &i386; + Indeling van schrijven voor &os;/&arch.i386; Een PC schijf kan worden onderverdeeld in aparte stukken. - Deze stukken heten partities. In het - ontwerp van de PC is opgenomen dat een schijf slechts vier - partities kan bevatten. Deze partities heten de - primaire partities. Om deze beperking - te omzeilen is een nieuwe soort partitie bedacht, de - extended partitie. Een schijf kan - slechts één extended partitie bevatten. - Binnen een extended partitie kunnen speciale partities, - genaamd logische partities, worden - aangemaakt. + Deze stukken heten partities. + Aangezien &os; intern ook partities heeft, kan de naamgeving + snel verwarrend worden, daarom wordt naar deze schijfstukken + verwezen als schijfsnedes of simpelweg snedes (slices) in &os; + zelf. Het &os; gereedschap fdisk + bijvoorbeeld, dat met PC diskpartities werkt, verwijst naar + snedes in plaats van partities. In het ontwerp van de PC is + opgenomen dat een schijf slechts vier partities kan bevatten. + Deze partities heten de primaire + partities. Om deze beperking te omzeilen is een + nieuwe soort partitie bedacht, de extended + partitie. Een schijf kan slechts + één extended partitie bevatten. Binnen een + extended partitie kunnen speciale partities, genaamd + logische partities, worden aangemaakt. + Elke partitie heeft een partitie-ID, een getal dat aangeeft welk soort gegevens er op die partitie staan. &os;-partities hebben partitie-ID 165. In zijn algemeenheid benoemt elk besturingssysteem partities op zijn eigen manier. Bijvoorbeeld: &ms-dos; en zijn afgeleiden, zoals &windows;, geven elke primaire en logische partitie een (station) letter, beginnend met C:. &os; moet geïnstalleerd worden op een primaire partitie. &os; kan al zijn gegevens, inclusief alle bestanden die zelf zijn gemaakt, op deze partitie opslaan. Als er meerdere schijven zijn, dan kunnen er &os;-partities worden aangemaakt op alle of op sommige schijven. Als &os; wordt geïnstalleerd moet er een partitie beschikbaar zijn. Dit kan een lege partitie zijn die is aangemaakt of het mag een bestaande partitie zijn met gegevens die niet langer bewaard hoeven te blijven. Als alle partities op alle schijven gebruikt worden, dan moet er een leeg gemaakt worden voor &os; met de hulpprogramma's van het andere besturingssysteem dat wordt gebruikt (bijvoorbeeld fdisk onder &ms-dos; of &windows;). Als er een partitie over is, dan kan die gebruikt worden. Het kan zo zijn dat één of meer van de bestaande partities verkleind moet worden. Een minimale installatie van &os; heeft 100 MB schijfruimte nodig. Dat is wel een zeer minimale installatie, waarop bijna geen ruimte over is voor eigen bestanden. Een meer realistisch minimum is 250 MB zonder grafische gebruikersomgeving en 350 MB of meer als er ook een grafische gebruikersomgeving moet draaien. Als er ook nog gebruikt gemaakt wordt van een heleboel programma's van derde partijen dan is nog meer ruimte nodig. Met commerciële software zoals - &partitionmagic; kunnen partities - van grootte gewijzigd worden om ruimte te maken voor &os;. - De map tools op de cd-rom bevat twee - freeware programma's die dit ook kunnen, + &partitionmagic;, of gratis + software zoals GPartEd, kunnen + partities van grootte gewijzigd worden om ruimte te maken voor + &os;. De map tools op de CDROM bevat + twee freeware programma's die dit ook kunnen, FIPS en PResizer. Handleidingen hiervoor staan in dezelfde map. FIPS, PResizer en &partitionmagic; kunnen - FAT16 en - FAT32-partities wijzigen als ze gebruikt - worden in &ms-dos; tot &windows; ME. - &partitionmagic; is het enige van - de bovenstaande programma's dat - NTFS-partities kan wijzigen. + FAT16 en FAT32-partities + wijzigen als ze gebruikt worden in &ms-dos; tot &windows; ME. + Van zowel &partitionmagic; als + GPartEd is bekend dat ze met + NTFS kunnen werken. + GPartEd is beschikbaar op een + aantal Live CD Linux-distributies, zoals SystemRescueCD. + + Er zijn problemen gemeld met het veranderen van de grootte + van µsoft; Vista-partities. Het beschikbaar hebben van + een Vista installatie-CDROM tijdens het pogen van zo'n + bewerking is aanbevolen. Zoals met al zulke + schijfonderhoudtaken is een recente verzameling backups ook + sterk aangeraden. Verkeerd gebruik van deze programma's kan gegevens van een schijf verwijderen. Er dient een goede, werkende back-up te zijn voordat deze programma's gebruikt worden. Gebruik van een bestaande, ongewijzigde partitie Stel er is al een computer met een enkele 4 GB harde schijf waarop een versie van &windows; is geïnstalleerd en de schijf is verdeeld in twee schijfstations, C: en D:, van elk 2 GB. Er staat 1 GB aan gegevens op C: en 0.5 GB aan gegevens op D:. Dit betekent dat de harde schijf twee partities heeft, één voor elke letter. Alle gegevens op D: kunnen gekopieerd worden naar C:, waardoor de tweede partitie beschikbaar komt voor &os;. Een bestaande partitie verkleinen Stel er is een computer met een enkele 4 GB harde schijf waarop een versie van &windows; is geïnstalleerd. Bij het installeren van &windows; is een grote partitie gemaakt, station C: van 4 GB. Er is 1.5 GB in gebruik en voor &os; is 2 GB schijfruimte wenselijk. Voor een installatie van &os; is één van onderstaande opties de oplossing: Maak een back-up van de &windows; gegevens en installeer &windows; opnieuw, waarbij een partitie van 2 GB wordt aanmaakt bij het installeren. Gebruik één van de bovengenoemde programma's zoals &partitionmagic; om de &windows;-partitie te verkleinen. Schijfindelingen voor Alpha computers Alpha Op Alpha computers is een aparte harde schijf nodig voor &os;. Het is onmogelijk om een schijf te delen met een ander besturingssysteem. Afhankelijk van de Alpha computer kan de schijf een SCSI- of IDE-schijf zijn, als de computer er maar van kan opstarten. Conform de conventies van Digital / Compaq handleidingen is alle SRM invoer weergegeven in hoofdletters. SRM is ongevoelig voor hoofd- en kleine letters. Om de namen en types van de schijven in een machine te achterhalen kan het commando SHOW DEVICE in de SRM console prompt gebruikt worden: >>>SHOW DEVICE dka0.0.0.4.0 DKA0 TOSHIBA CD-ROM XM-57 3476 dkc0.0.0.1009.0 DKC0 RZ1BB-BS 0658 dkc100.1.0.1009.0 DKC100 SEAGATE ST34501W 0015 dva0.0.0.0.1 DVA0 ewa0.0.0.3.0 EWA0 00-00-F8-75-6D-01 pkc0.7.0.1009.0 PKC0 SCSI Bus ID 7 5.27 pqa0.0.0.4.0 PQA0 PCI EIDE pqb0.0.1.4.0 PQB0 PCI EIDE Dit is een voorbeeld van een Digital Personal Workstation 433au en geeft aan dat er drie schijven verbonden zijn met de computer. De eerste is een cd-rom station genaamd DKA0 en de andere twee zijn harde schijven die achtereenvolgens DKC0 en DKC100 heten. Schijven met namen in het formaat DKx zijn SCSI schijven. DKA100 is bijvoorbeeld een SCSI schijf met SCSI target ID 1 op de eerste SCSI bus (A), terwijl DKC300 een SCSI schijf is met SCSI ID 3 op de derde SCSI bus (C). Apparaatnaam PKx is de SCSI host bus adapter. Zoals te zien in de uitvoer van SHOW DEVICE worden SCSI cd-rom stations op dezelfde manier behandeld als SCSI harde schijven. IDE schijven hebben namen in het formaat DQx, terwijl PQx de naam is van de bijbehorende IDE controller. Netwerkgegevens verzamelen - Als bij de installatie van &os; gebruik gemaakt wordtvan + Als bij de installatie van &os; gebruik gemaakt wordt van een netwerk (bijvoorbeeld bij een installatie vanaf een FTP site of een NFS server), dan moeten de netwerkinstellingen bekend zijn. Deze informatie wordt gevraagd tijdens het installeren, zodat &os; contact kan maken met het netwerk om de installatie te voltooien. - Contact maken met een ethernet netwerk of + <title>Contact maken met een Ethernet netwerk of kabel/DSL modem - Als er contact gemaakt wordt met een ethernet netwerk of - een internetverbinding met een ethernet netwerkkaart via de + Als er contact gemaakt wordt met een Ethernet netwerk of + een Internetverbinding met een Ethernet netwerkkaart via de kabel of DSL, dan is de volgende informatie nodig: IP-adres IP-adres van de default gateway - Hostname + Hostnaam IP-adressen van de DNS server(s) Subnetmasker Als deze informatie niet bekend is, dan kan deze meestal nagevraagd worden bij de systeembeheerder of service provider. Het kan zijn dat zij aangeven dat één en ander automatisch wordt toegekend door middel van DHCP. Het is van belang hier een notitie van te maken. Contact maken met een modem - Ook door middel van inbellen bij een internet service + Ook door middel van inbellen bij een Internet service provider met een gewoon modem kan &os; geïnstalleerd - worden via internet, het duurt alleen erg lang. + worden via Internet, het duurt alleen erg lang. Dan is nodig: Het inbelnummer van een ISP De COM: poort waaraan de modem zit Gebruikersnaam en wachtwoord bij de ISP Controleer op &os; Errata Hoewel het &os; project er naar streeft om elke versie van &os; zo stabiel mogelijk te laten zijn, kan het voorkomen dat er foutjes in het systeem sluipen. Heel af en toe beïnvloeden deze foutjes de installatieprocedure. Als ze ontdekt en opgelost zijn worden ze beschreven in de &os; Errata op de &os; website. Het is verstandig voor een installatie te controleren of er errata zijn om er zeker van te zijn dat er geen obstakels zijn. Informatie over alle uitgaven, inclusief de errata staan in de release information op de &os; website. De &os; installatiebestanden De &os; installatieprocedure kan &os; installeren vanaf één van de volgende plaatsen: Lokale media Cd-rom of DVD DOS-partitie op dezelfde computer SCSI of QIC tape Diskettestation Netwerk FTP site, indien noodzakelijk door een firewall of via een HTTP proxy NFS server Parallelle of seriële verbinding Als &os; gekocht is op CD of DVD dan is alles wat nodig is aanwezig om door te gaan naar . Als de installatiebestanden nog niet beschikbaar zijn wordt in uitgelegd hoe de - installatie via bovenstande methoden voorbereid kan worden. + installatie via bovenstaande methoden voorbereid kan worden. Nadat de installatiebestanden beschikbaar zijn kunnen de voorbereidingen voor de installatie verdergaan in . Opstartmedia aanmaken De &os; installatieprocedure begint met het opstarten van een computer met het &os; installatieprogramma. Dit programma wordt niet uitgevoerd vanuit een ander besturingssysteem. Normaliter start een computer op met het besturingssysteem dat is geïnstalleerd op een harde schijf, maar hij kan ook ingesteld worden om op te starten van een bootable diskette. De meeste hedendaagse computers kunnen ook opstarten van een cd-rom in het cd-rom station. Als &os; op cd-rom of DVD beschikbaar is (gekocht of zelf gebrand) en een computer kan opstarten van een cd-rom of DVD (meestal een BIOS optie genaamd Boot Order of iets dergelijks), dan is het doorwerken van deze sectie niet nodig. De &os; cd-rom en DVD images zijn bootable en kunnen zonder verdere voorbereidingen gebruikt worden om &os; te installeren. Om opstartdiskettes te maken kunnen de volgende stappen gevolgd worden: Bemachtig de images voor opstartdiskettes De opstartschijven zijn beschikbaar op de installatiemedia in de map floppies/ en kunnen ook gedownload worden uit de map floppies, ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/<arch>/<versie>-RELEASE/floppies/. Vervang <arch> en <versie> door de architectuur en het versienummer dat geïnstalleerd moet worden. De images voor bootdiskettes voor bijvoorbeeld - &os; &rel.current;-RELEASE voor &i386; zijn + &os;/&arch.i386; &rel.current;-RELEASE zijn beschikbaar op . De diskette-images hebben de extensie .flp. De map floppies/ bevat een aantal images en het hangt af van de gewenste &os; versie, en in sommige gevallen ook van de hardware, welke images nodig zijn. - In de meeste gevallen zijn er drie floppies nodig, + In de meeste gevallen zijn er vier floppies nodig, boot.flp, - kern1.flp en - kern2.flp. In dezelfde map staat + kern1.flp, + kern2.flp, en + kern3.flp. In dezelfde map staat README.TXT voor de laatste informatie over de diskette-images. - - Voor 5.X systemen ouder dan &os; 5.3 kunnen - extra apparaatstuurprogramma's nodig zijn. Die - stuurprogramma's staan op het image - drivers.flp. - - Het FTP-programma moet ingesteld staan in - binary mode om de disk-images te + binary modus om de disk-images te downloaden. Sommige webbrowsers blijken de text (of ASCII) modus te gebruiken en dan kan er niet van de diskettes opgestart worden. Maak de diskettes aan Per gedownload image wordt een diskette aangemaakt. Vanzelfsprekend moeten deze diskettes vrij zijn van fouten. Het gemakkelijkst is dit te testen door de diskettes te formatteren. Vanaf de fabriek geformatteerde floppies kunnen niet vertrouwd worden. Het programma format in &windows; meldt niet of er bad blocks zijn, het markeert ze gewoon als bad en negeert ze. Het wordt geadviseerd schone, nieuwe floppies te gebruiken als op deze manier wordt geïnstalleerd. Als bij het installeren van &os; het installatieprogramma vastloopt, blijft hangen of zich op een andere manier vreemd gedraagt, dan ligt dat meestal aan de floppies. Probeer dan de diskette-images op nieuwe schijven te schrijven en probeer het opnieuw. Schrijf de imagebestanden op diskettes De .flp-bestanden zijn geen gewone bestanden die naar een diskette te kopiëren zijn. Het zijn images van de complete inhoud van een diskette. Dit betekent dat ze niet eenvoudigweg gekopieerd kunnen worden van de ene schijf naar de andere. In plaats daarvan moet speciale software gebruikt worden om de images rechtstreeks op de diskettes te schrijven. DOS Als de diskettes aanmaakt worden op een computer met &ms-dos;/&windows;, dan levert het &os; project de software fdimage. Als de floppies van de cd-rom worden gebruikt en het cd-rom station is E:, dan kan dit als volgt: - E:\> tools\fdimage floppies\kern.flp A: + E:\> tools\fdimage floppies\boot.flp A: Herhaal dit commando voor elk .flp-bestand, waarbij steeds een nieuwe diskette wordt gebruikt. Merk elke diskette met de naam van het bestand dat erop wordt gekopieerd. Pas de opdrachtregel steeds aan, afhankelijk van waar de .flp-bestanden staan. Als er geen cd-rom beschikbaar is dan kan fdimage gedownload worden vanuit de map tools op de &os; FTP site. Als de diskettes worden aanmaakt op een &unix; systeem (zoals een ander &os; systeem) dan kan &man.dd.1; gebruikt worden om de imagebestanden naar diskette te kopiëren. Onder &os;: - &prompt.root; dd if=kern.flp of=/dev/fd0 + &prompt.root; dd if=boot.flp of=/dev/fd0 Onder &os; verwijst /dev/fd0 naar het eerste diskettestation (de A:-schijf). /dev/fd1 zou de B:-schijf zijn enzovoorts. Andere &unix;-varianten kunnen andere namen hebben voor de diskettestations. Meer informatie staat in de documentatie van ieder systeem . Het installeren van &os; kan nu beginnen.
Beginnen met de installatie De installatie maakt geen wijzigingen op schijven totdat het volgende bericht verschijnt: Last Chance: Are you SURE you want continue the installation? If you're running this on a disk with data you wish to save then WE STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding! We can take no responsibility for lost disk contents! De installatie kan worden beëindigd op elk moment voor deze laatste waarschuwing zonder dat de inhoud van harde schijven wordt gewijzigd. Als de angst bestaat dat er iets verkeerd is ingesteld, dan kan op dat moment gewoon de computer uitgezet worden zonder dat er schade optreedt. Opstarten Opstarten van &i386; - - - Begin met een computer die uit staat. - - - - Zet de computer aan. Als hij aangaat laat hij een - optie zien om het systeeminstelmenu, of BIOS, te bereiken, - gewoonlijk via F2, F10, - Del, of AltS. - Gebruik de toets die op het scherm wordt aangegeven. In - sommige gevallen laat de computer een plaatje zien terwijl - hij opstart. Gewoonlijk verdwijnt dit plaatje door het - intypen van Esc zodat eventuele verborgen - berichten zichtbaar worden. - - - - Zoek de instelling die bepaalt vanaf welk medium de - computer opstart. Dit wordt meestal aangeduid met - Boot Order en laat een lijst met media zien, - zoals Floppy, CD-ROM, - eerste harde schijf, enzovoorts. - - Als het nodig was om diskettes aan te maken, stel dan - floppy disk in. Als wordt opstart van een cd-rom stel dat - dan in. Raadpleeg in geval van twijfel de documentatie van - de computer en/of het moederbord. - - Maak de instellingen, bewaar de veranderingen en sluit - het instelprogramma af. De computer moet dan opnieuw - starten. - - - - Als het nodig was opstartdiskettes te maken, zoals - beschreven in , dan is er - één opstartschijf, waarschijnlijk die met - kern.flp erop. Stop die diskette in - het diskettestation. - - Bij opstarten vanaf CD moet na het aanzetten van de - computer zo snel mogelijk de cd-rom ingestoken - worden. - - Als de computer opstart zoals altijd en met het huidige - besturingssysteem begint, dan kan dat om de volgende - redenen zijn: - - - - De opstartschijven waren niet vroeg genoeg in de - computer gedaan om ervan op te starten. Laat ze er dan - inzitten en probeer de computer te herstarten. - - - - De gemaakte wijzigingen in de BIOS zijn niet goed - doorgekomen. Doe dat dan nog een keer totdat de juiste - instelling gevonden is. - - - - De BIOS ondersteunt het opstarten van het gekozen - medium niet. - - - - - - &os; start nu op. Bij opstarten vanaf cd-rom is iets - als het volgende op het scherm te zien (versie-informatie - weggelaten): - - Verifying DMI Pool Data ........ -Boot from ATAPI CD-ROM : - 1. FD 2.88MB System Type-(00) -Uncompressing ... done + + + Begin met een computer die uit staat. + + + + Zet de computer aan. Als hij aangaat laat hij een + optie zien om het systeeminstelmenu, of BIOS, te bereiken, + gewoonlijk via F2, F10, + Del, of AltS + . Gebruik de toets die op het scherm wordt + aangegeven. In sommige gevallen laat de computer een + plaatje zien terwijl hij opstart. Gewoonlijk verdwijnt + dit plaatje door het intypen van Esc + zodat eventuele verborgen berichten zichtbaar worden. + + + + + Zoek de instelling die bepaalt vanaf welk medium de + computer opstart. Dit wordt meestal aangeduid met + Boot Order en laat een lijst met media + zien, zoals Floppy, + CD-ROM, + eerste harde schijf, enzovoorts. + + Als het nodig was om diskettes aan te maken, stel dan + floppy disk in. Als wordt opstart van een cd-rom stel dat + dan in. Raadpleeg in geval van twijfel de documentatie + van de computer en/of het moederbord. + + Maak de instellingen, bewaar de veranderingen en sluit + het instelprogramma af. De computer moet dan opnieuw + starten. + + + + Als het nodig was opstartdiskettes te maken, zoals + beschreven in , dan is er + één opstartschijf, waarschijnlijk die met + boot.flp erop. Stop die diskette in + het diskettestation. + + Bij opstarten vanaf CD moet na het aanzetten van de + computer zo snel mogelijk de cd-rom ingestoken worden. + + + Als de computer opstart zoals altijd en met het + huidige besturingssysteem begint, dan kan dat om de + volgende redenen zijn: + + + + De opstartschijven waren niet vroeg genoeg in de + computer gedaan om ervan op te starten. Laat ze er + dan inzitten en probeer de computer te herstarten. + + + + + De gemaakte wijzigingen in de BIOS zijn niet goed + doorgekomen. Doe dat dan nog een keer totdat de + juiste instelling gevonden is. + + + + De BIOS ondersteunt het opstarten van het gekozen + medium niet. + + + + + + &os; start nu op. Bij opstarten vanaf cd-rom is iets + als het volgende op het scherm te zien (versie-informatie + weggelaten): + + Booting from CD-Rom... +CD Loader 1.2 + +Building the boot loader arguments +Looking up /BOOT/LOADER... Found +Relocating the loader and the BTX +Starting the BTX loader BTX loader 1.00 BTX version is 1.01 Console: internal video/keyboard -BIOS drive A: is disk0 -BIOS drive B: is disk1 -BIOS drive C: is disk2 -BIOS drive D: is disk3 +BIOS CD is cd0 +BIOS drive C: is disk0 +BIOS drive D: is disk1 BIOS 639kB/261120kB available memory -FreeBSD/i386 bootstrap loader, Revision 0.8 - -/kernel text=0x277391 data=0x3268c+0x332a8 | +FreeBSD/i386 bootstrap loader, Revision 1.1 -| -Hit [Enter] to boot immediately, or any other key for command prompt. -Booting [kernel] in 9 seconds... _ +Loading /boot/defaults/loader.conf +/boot/kernel/kernel text=0x64daa0 data=0xa4e80+0xa9e40 syms=[0x4+0x6cac0+0x4+0x88e9d] +\ - Bij opstarten vanaf diskette is iets als het volgende - op het scherm te zien (versie-informatie - weggelaten): + Bij opstarten vanaf diskette is iets als het volgende + op het scherm te zien (versie-informatie + weggelaten): - Verifying DMI Pool Data + Booting from Floppy... +Uncompressing ... done BTX loader 1.00 BTX version is 1.01 Console: internal video/keyboard BIOS drive A: is disk0 BIOS drive C: is disk1 BIOS 639kB/261120kB available memory -FreeBSD/i386 bootstrap loader, Revision 0.8 +FreeBSD/i386 bootstrap loader, Revision 1.1 +Loading /boot/defaults/loader.conf /kernel text=0x277391 data=0x3268c+0x332a8 | -Please insert MFS root floppy and press enter: - - Volg de instructies op en haal de diskette met - kern.flp eruit, stop de diskette met - mfsroot.flp in het station en - druk op Enter. &os; 5.3 en latere - versies kennen andere diskettesets, zoals beschreven in het - vorige onderdeel. - Start op vanaf de eerste diskette en geef volgende - diskettes in als daarom wordt gevraagd. - - - - Of nu wordt opstart van diskette of cd-rom, de - opstartprocedure komt op een gegeven moment op het volgende - punt: - - Hit [Enter] to boot immediately, or any other key for command prompt. -Booting [kernel] in 9 seconds... _ - - Wacht 10 seconden of druk op Enter. - - - +Insert disk labelled "Kernel floppy 1" and press any key... + + Volg de instructies op en haal de diskette met + boot.flp eruit, stop de diskette met + kern1.flp in het station en druk op + Enter. Start op vanaf de eerste diskette + en geef volgende diskettes in als daarom wordt gevraagd. + + + + + Of nu wordt opstart van diskette of cd-rom, de + opstartprocedure komt op een gegeven moment bij het + bootloader-menu van &os;: + +
+ &os; bootloader-menu + + + + + + +
+ + Wacht 10 seconden of druk op Enter. + +
+
Opstarten voor Alpha Alpha - - - Begin met een computer die uit staat. - - - - Zet de computer aan en wacht op de boot monitor - prompt. - - - - Als het nodig was opstartdiskettes te maken, zoals - beschreven in , dan is er - één opstartschijf, waarschijnlijk die met - kern.flp erop. Stop die diskette in - het diskettestation en geef het volgende commando om op te - starten vanaf die schijf (vervang de naam van het - diskettestation waar nodig): - - >>>BOOT DVA0 -FLAGS '' -FILE '' - - Bij opstarten vanaf cd-rom: stop dan de cd-rom in het - cd-rom station en geef het volgende commando om de - installatie te starten (vervang daarbij de naam van het - cd-rom station als nodig): - - >>>BOOT DKA0 -FLAGS '' -FILE '' - - - - &os; start nu op. Bij opstarten vanaf diskette is op - een gegeven moment het volgende op het scherm te - zien: - - Please insert MFS root floppy and press enter: - - Volg de instructies op en haal de - kern.flp diskette eruit, stop de - mfsroot.flp diskette erin en druk op - Enter. - - - - Of nu wordt opstart van diskette of cd-rom, de - opstartprocedure komt op een gegeven moment op het volgende - punt: - - Hit [Enter] to boot immediately, or any other key for command prompt. + + + Begin met een computer die uit staat. + + + + Zet de computer aan en wacht op de boot monitor + prompt. + + + + + Als het nodig was opstartdiskettes te maken, zoals + beschreven in , dan is er + één eerste opstartschijf, waarschijnlijk die + met boot.flp erop. Stop deze + diskette in het diskettestation en geef het volgende + commando om op te starten vanaf die schijf (vervang de + naam van het diskettestation waar nodig): + + >>>BOOT DVA0 -FLAGS '' -FILE '' + + Bij opstarten vanaf cd-rom: stop dan de cd-rom in het + cd-rom station en geef het volgende commando om de + installatie te starten (vervang daarbij de naam van het + cd-rom station als nodig): + + >>>BOOT DKA0 -FLAGS '' -FILE '' + + + + &os; start nu op. Bij opstarten vanaf diskette is op + een gegeven moment het volgende op het scherm te zien: + + + Insert disk labelled "Kernel floppy 1" and press any key... + + Volg de instructies op en haal de + boot.flp diskette eruit, stop de + kern1.flp diskette erin en druk op + Enter. + + + + Of nu wordt opstart van diskette of cd-rom, de + opstartprocedure komt op een gegeven moment op het + volgende punt: + + Hit [Enter] to boot immediately, or any other key for command prompt. Booting [kernel] in 9 seconds... _ - Wacht 10 seconden of druk op Enter. - Nu start het menu voor kernelinstellingen. - - - + Wacht 10 seconden of druk op Enter. + Nu start het menu voor kernelinstellingen. + + + + Opstarten voor &sparc64; + + De meeste &sparc64;-systemen zijn ingesteld om automatisch + vanaf schijf op te starten. Om &os; te installeren dient u + over het netwerk of vanaf een CDROM op te starten, waarvoor u + in de PROM (OpenFirmware) dient te breken. + + Start het systeem opnieuw op, en wacht totdat te + opstartboodschappen verschijnen om dit te doen. Het hangt af + van het model, maar het zou er ongeveer zo uit moeten zien: + + + Sun Blade 100 (UltraSPARC-IIe), Keyboard Present +Copyright 1998-2001 Sun Microsystems, Inc. All rights reserved. +OpenBoot 4.2, 128 MB memory installed, Serial #51090132. +Ethernet address 0:3:ba:b:92:d4, Host ID: 830b92d4. + + Als uw systeem vanaf hier verder gaat met opstarten vanaf + schijf, dient u L1A + of StopA + op het toetsenbord in te drukken, of een + BREAK over de seriële console te + versturen (door bijvoorbeeld ~# in + &man.tip.1; of &man.cu.1; te gebruiken) om bij de PROM-prompt + te komen. Het ziet er als volgt uit: + + + + + + + + ok +ok {0} + + + + Deze prompt wordt gebruikt op systemen met slechts + één CPU. + + + + Deze prompt wordt op SMP-systemen gebruikt, het + cijfer geeft het aantal actieve CPUs aan. + + + + + Stop hier de CDROM in uw drive, en typ op de PROM-prompt + boot cdrom. +
Resultaten van het hardware-onderzoek bekijken De laatste paar honderd regels die op het scherm verschenen zijn bewaard en kunnen bekeken worden. Druk op Scroll Lock om ze te bekijken. Hiermee wordt de scrollmodus ingeschakeld. Gebruik de pijltjestoetsen en PageUp en PageDown om de resultaten te bekijken. Druk weer op Scroll Lock om de scrollmodus uit te schakelen. Dit kan nu gedaan worden om de tekst te bekijken die over het scherm rolde terwijl de kernel de hardware onderzocht. Er is tekst te zoals in , maar de exacte tekst is anders, afhankelijk van de componenten in een computer.
Voorbeeld resultaten hardware-onderzoek avail memory = 253050880 (247120K bytes) Preloaded elf kernel "kernel" at 0xc0817000. Preloaded mfs_root "/mfsroot" at 0xc0817084. md0: Preloaded image </mfsroot> 4423680 bytes at 0xc03ddcd4 md1: Malloc disk Using $PIR table, 4 entries at 0xc00fde60 npx0: <math processor> on motherboard npx0: INT 16 interface pcib0: <Host to PCI bridge> on motherboard pci0: <PCI bus> on pcib0 pcib1:<VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0 pci1: <PCI bus> on pcib1 pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11 isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0 isa0: <iSA bus> on isab0 atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 uhci0 <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci 0 usb0: <VIA 83572 USB controller> on uhci0 usb0: USB revision 1.0 uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr1 uhub0: 2 ports with 2 removable, self powered pci0: <unknown card> (vendor=0x1106, dev=0x3040) at 7.3 dc0: <ADMtek AN985 10/100BaseTX> port 0xe800-0xe8ff mem 0xdb000000-0xeb0003ff ir q 11 at device 8.0 on pci0 dc0: Ethernet address: 00:04:5a:74:6b:b5 miibus0: <MII bus> on dc0 ukphy0: <Generic IEEE 802.3u media interface> on miibus0 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xec00-0xec1f irq 9 at device 10. 0 on pci0 ed0 address 52:54:05:de:73:1b, type NE2000 (16 bit) isa0: too many dependant configs (8) isa0: unexpected small tag 14 orm0: <Option ROM> at iomem 0xc0000-0xc7fff on isa0 fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq2 on isa0 fdc0: FIFO enabled, 8 bytes threshold -fd0: <1440-KB 3.5" drive> on fdc0 drive 0 +fd0: <1440-KB 3.5” drive> on fdc0 drive 0 atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0 atkbd0: <AT Keyboard> flags 0x1 irq1 on atkbdc0 kbd0 at atkbd0 psm0: <PS/2 Mouse> irq 12 on atkbdc0 psm0: model Generic PS/@ mouse, device ID 0 vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0 pppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/15 bytes threshold plip0: <PLIP network interface> on ppbus0 ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master UDMA33 acd0: CD-RW <LITE-ON LTR-1210B> at ata1-slave PIO4 Mounting root from ufs:/dev/md0c /stand/sysinstall running as init on vty0
Controleer de resultaten van het hardware-onderzoek nauwgezet om er zeker van te zijn dat &os; alle componenten gevonden heeft die verwacht worden. Als een - component niet is gevonden, dan komt die niet voor. Als het - nodig was de instellingen van het stuurprogramma voor een - component te wijzigen, controleer dan of de juiste waarden zijn - ingevuld. + component niet is gevonden, dan wordt die niet genoemd. Een + eigen kernel staat u toe om + apparaten te ondersteunen die niet in de + GENERIC kernel zitten, zoals + geluidskaarten. + + Voor &os; 6.2 en later ziet u na de procedure voor het + opsporen van apparaten . Gebruik + de pijltoetsen om een land, regio, of groep te kiezen. Druk + daarna op Enter, dit stelt gemakkelijk uw land + en toetsenafbeelding in. Het is ook gemakkelijk om het + programma sysinstall te verlaten en + opnieuw te beginnen. + +
+ Landmenu kiezen - Als er wijzigingen gemaakt moeten worden dan is de meest - eenvoudige wijze het programma - sysinstall te beëindigen en - opnieuw te beginnen. Dit is tevens een goede manier om - vertrouwd te raken met het installatieproces. + + + + + +
Sysinstall verlaten
Gebruik de pijltjestoetsen om in het hoofdmenu Exit Install te selecteren. Het volgende bericht verschijnt: User Confirmation Requested Are you sure you wish to exit? The system will reboot - (be sure to remove any floppies from the drives). + (be sure to remove any floppies/CDs/DVDs from the drives). [ Yes ] No Het installatieprogramma start opnieuw als de cd-rom nog in het station zit en &gui.yes; gekozen wordt. Bij opstarten van diskettes is het nodig om de diskette met - mfsroot.flp uit het station te halen en te - vervangen door de diskette met kern.flp - voor opnieuw wordt gestart. + boot.flp uit de drive te halen voordat + opnieuw wordt gestart.
Inleiding Sysinstall Het hulpprogramma sysinstall is het installatieprogramma voor &os;. Het is tekstgebaseerd en is onderverdeeld in een aantal menu's en schermen die gebruikt kunnen worden om de installatieprocedure in te stellen en te beheren. Het menu van sysinstall wordt bestuurd met de pijltjestoetsen, Enter, - Space en andere toetsen. Een gedetailleerde - beschrijving van de gebruikte toetsen en wat ze doen is - opgenomen in de gebruikersinformatie voor + Tab, Space en andere toetsen. + Een gedetailleerde beschrijving van de gebruikte toetsen en wat ze + doen is opgenomen in de gebruikersinformatie voor sysinstall. Selecteer de optie Usage om deze informatie te lezen. Selecteer de knop [Select], zoals in , en druk op Enter. De instructies om het menusysteem te gebruiken worden getoond. Na het lezen kan met Enter het hoofdmenu weer getoond worden.
Usage selecteren in het sysinstall hoofdmenu
Menu Documentation selecteren Kies met de pijltjestoetsen in het hoofdmenu Doc en druk op Enter.
Menu Documentation selecteren
Dit toont het menu Documentation.
Sysinstall menu Documentation
Het is belangrijk om de documentatie te lezen. Selecteer een document met de pijltjestoetsen en druk op Enter om het te bekijken. Na het lezen wordt met Enter teruggekeerd naar het menu Documentation. Selecteer Exit met de pijltjestoetsen en druk op Enter om het menu Documentation te verlaten.
Menu Keymap selecteren Kies met de pijltjestoetsen Keymap in het menu en druk op Enter om de toetsenbordinstellingen te wijzigen. Dit is alleen nodig als geen standaard of VS-toetsenbord wordt gebruikt.
Sysinstall hoofdmenu
Een andere toetsenbordindeling is te kiezen door het - menuitem te selecteren met omhoog/omlaag en dan op + menu-item te selecteren met omhoog/omlaag en dan op Space te drukken. Nog een keer Space deselecteert het item. Nadat de keuze is gemaakt kan met de pijltjestoetsen &gui.ok; gekozen worden en op Enter gedrukt worden. In de schermafbeelding wordt maar een deel van de lijst getoond. Selecteer &gui.cancel; door op Tab te drukken. Dan wordt de standaard toetsenbordindeling gebruikt en het programma gaat terug naar het hoofdmenu voor de installatie.
Sysinstall menu Keymap
Installatiescherm Options Kies Options en druk op Enter.
Sysinstall hoofdmenu
Sysinstall opties
De standaardwaarden zijn in orde voor de meeste gebruikers en hoeven meestal niet gewijzigd te worden. De release name hangt af van de versie die geïnstalleerd wordt. Er staat een beschrijving van het geselecteerde item aan de onderkant van het scherm, geaccentueerd in blauw. Eén van de opties is Use Defaults waarmee opnieuw de beginwaarden worden ingesteld. Druk op F1 om de helptekst van de diverse opties te bekijken. Druk op Q om terug te gaan naar het hoofdmenu van de installatie.
Een standaardinstallatie starten De Standard installatie wordt aangeraden voor nieuwe gebruikers van &unix; of &os;. Gebruik de pijltjestoetsen om Standard te selecteren en druk op Enter om de installatie te starten.
Een standaardinstallatie starten
Schijfruimte toewijzen Als eerste moet schijfruimte aan &os; worden toegewezen en die ruimte dient gemerkt te worden zodat sysinstall deze kan voorbereiden.Om dit te kunnen doen is kennis nodig over hoe &os; informatie op schijven verwacht aan te treffen. BIOS schijfnummering Voordat &os; op een systeem geïnstalleerd en ingesteld kan worden is er een belangrijk onderwerp waarover kennis nodig is, met name als er meerdere harde schijven zijn. &ms-dos; µsoft.windows; Op een PC met een BIOS-afhankelijk besturingssysteem zoals &ms-dos; en µsoft.windows;, kan het BIOS de normale schijfvolgorde abstraheren en volgt het besturingssysteem die wijzigingen. Dit stelt de gebruiker in staat op te starten van een andere schijf dan de zogenaamde primary master. Dit is erg handig voor gebruikers die er achter zijn gekomen dat de gemakkelijkste en goedkoopste - manier om een systeemback-up te maken het plaatsen van een + manier om een systeembackup te maken het plaatsen van een identieke tweede harde schijf is en het daarop regelmatig kopieëren van de inhoud van de eerste schijf met Ghost of XCOPY. Als de eerste schijf weigert of aangevallen is door een virus of vervuild is door een fout in het besturingssysteem, dan kan eenvoudig overgeschakeld worden door in het BIOS de twee schijven logisch te wisselen. Dat is als het verwisselen van de kabels, maar dan zonder de systeemkast open te maken. SCSI BIOS Duurdere systemen met SCSI controllers hebben vaak BIOS-uitbreidingen die het mogelijk maken SCSI-schijven op soortgelijke wijze in te delen voor maximaal zeven schijven. Een gebruiker die gewend is hiervan gebruik te maken kan verrast worden als de resultaten met &os; niet overeenkomen met de verwachtingen. &os; maakt geen gebruik van het BIOS en heeft dus geen kennis van logical BIOS drive mapping. Dit kan leiden tot verbazingwekkende situaties, met name als de schijven fysiek gelijk zijn in - geometrie en ook de data clonen van elkaar zijn. + geometrie en ook de data klonen van elkaar zijn. Bij het gebruik van &os; moet altijd de natuurlijke schijfnummering hersteld worden voordat een installatie wordt gestart en die moet ook zo blijven. Als de schijven gewisseld moeten worden, dan moet dat op de moeilijke manier: maak de systeemkast open en verplaats jumpers en kabels. Uit de verbazingwekkende avonturen van Willem en Fred Willem sloopt een oude Wintel machine om er nog een &os; machine voor Fred van te maken. Willem installeert een enkele SCSI-schijf met SCSI ID 0 en installeert er &os; op. Fred begint met systeem te werken, maar na een paar dagen komt hij er achter dat de oude SCSI-schijf veel fouten geeft en hij geeft het door aan Willem. Na weer een paar dagen besluit Willem dat het tijd is om er iets aan te doen, dus hij pakt een identieke SCSI-schijf uit het archief met schijven in een achterkamertje. Een oppervlaktecontrole toont aan dat deze schijf goed functioneert, dus Willem installeert deze schijf als SCSI ID 4 en maakt een image kopie van schijf 0 naar schijf 4. Nu de nieuwe schijf is geïnstalleerd en het prima doet, besluit Willem dat het een goed idee is om hem in bedrijf te nemen, dus gebruikt hij de mogelijkheid van het BIOS om de schijven te hernummeren, om er voor te zorgen dat het systeem opstart van schijf 4. &os; start op en werkt goed. Fred werkt nog een paar dagen door en vlot besluiten Willem en Fred dat het tijd is voor een nieuw avontuur: tijd op om te waarderen naar een nieuwere versie van &os;. Willem haalt SCSI unit 0 eruit, want die was een beetje instabiel en vervangt hem door een andere schijf uit het archief. Willem installeert vervolgens de nieuwe versie van &os; op de nieuwe SCSI ID 0 met Fred's - magische internet FTP diskettes. De installatie gaat + magische Internet FTP diskettes. De installatie gaat goed. Fred gebruikt de nieuwe versie van &os; een paar dagen en bevestigt dat die goed genoeg is om gebruikt te worden op de programmeerafdeling. Het is tijd om al zijn werk vanaf de oude versie te kopiëren. Dus Fred mount SCSI ID 4 (de laatste kopie van de oudere &os; versie). Fred baalt behoorlijk als hij ontdekt dat niets van zijn kostbare werk aanwezig is op SCSI ID 4. Waar is de data gebleven? Toen Willem een zuivere kopie van de originele SCSI ID 0 maakte op SCSI ID 4, werd SCSI ID 4 de nieuwe kloon. Toen Willem het SCSI BIOS zo instelde dat hij kon opstarten van SCSI ID  4 hield hij zichzelf gewoonweg voor de gek. &os; draaide nog steeds op SCSI ID 0. Dit soort wijzigingen in het BIOS zorgen ervoor dat sommige of alle opstart- en laadprogramma's van de geselecteerde BIOS schijf komen, maar als de &os; kernelstuurprogramma's het overnemen, wordt de BIOS nummering genegeerd en valt &os; terug op de normale schijfnummering. In dit voorbeeld werkte het systeem nog steeds op de originele SCSI ID 0 en Fred's gegevens stonden daarop en niet op SCSI ID 4. Het feit dat het systeem leek te draaien vanaf SCSI ID 4 was eenvoudig een luchtkasteel als gevolg van menselijke verwachtingspatronen. Verheugd kunnen we mededelen dat er geen enkele byte weggegooid is bij de ontdekking van dit verschijnsel. De oude SCSI-schijf ID 0 werd teruggehaald van de stapel en al Fred's werk is aan hem teruggegeven (en Willem weet nu dat hij al tot 0 kan tellen). Hoewel in dit voorbeeld SCSI-schijven zijn gebruikt, geldt hetzelfde voor IDE-schijven. Slices maken met <application>FDisk</application> Wijzigingen die op dit punt gemaakt worden, worden niet weggeschreven naar de schijf. Als er een fout gemaakt is kan opnieuw begonnen worden door via de menu's sysinstall te verlaten en het nog een keer te proberen of door U te toetsen kan de optie Undo gebruikt worden. Als alles te verwarrend is kan zelfs de computer uitgezet worden. Na de keuze een standaardinstallatie te beginnen toont sysinstall het volgende bericht: Message In the next menu, you will need to set up a DOS-style ("fdisk") partitioning scheme for your hard disk. If you simply wish to devote all disk space to FreeBSD (overwriting anything else that might be on the disk(s) selected) then use the (A)ll command to select the default partitioning scheme followed by a (Q)uit. If you wish to allocate only free space to FreeBSD, move to a partition marked "unused" and use the (C)reate command. [ OK ] [ Press enter or space ] Toets Enter. Er wordt dan een lijst getoond met alle harde schijven die de kernel gevonden heeft bij het onderzoeken van de hardware. toont een voorbeeld van een systeem met twee IDE-schijven. Ze heten ad0 en ad2.
Schijf kiezen voor FDisk
Waarom staat ad1 niet in de lijst? Stel er zitten twee IDE-schijven in een systeem, de eerste als master op de eerste IDE controller en de andere als master op de tweede IDE controller. Als &os; deze zou nummeren zoals ze worden aangetroffen, als ad0 en ad1, dan zou het allemaal werken. - Maar als dan een derde schijf wordt toevoegd, als slave + Maar als dan een derde schijf wordt toegevoegd, als slave op de eerste IDE controller, dan wordt die ad1 en de vorige ad1 wordt dan ad2. Omdat apparaatnamen (zoals ad1s1a) in gebruik zijn om bestandssystemen te vinden, lijken bestandssystemen niet meer in orde zijn en moeten de &os; instellingen gewijzigd worden. Om dit te omzeilen kan de kernel zo ingesteld worden dat de IDE schijven namen krijgen gebaseerd op hun lokatie en niet in de volgorde waarin ze gevonden worden. Met dat schema wordt de masterschijf op de tweede IDE controller altijd ad2, ook als er geen ad0 of ad1 apparaten zijn. Dit is de standaardinstelling van de &os; kernel, vandaar dat dit scherm ad0 en ad2 laat zien. De machine waarop deze schermafdruk gemaakt is had IDE schijven op beide masterkanalen van de IDE controllers en geen schijven op de slavekanalen. Nu kan de schijf waarop de &os; installatie moet komen worden geselecteerd. Druk daarna op &gui.ok;. FDisk start op met een scherm vergelijkbaar met . Het scherm van FDisk bestaat uit drie delen. Het eerste deel, de eerste twee regels van het scherm, toont de details zien van de selecteerde schijf, inclusief de &os; naam, de schijfgeometrie en de totale grootte van de schijf. Het tweede deel laat de slices zien die momenteel op de schijf aanwezig zijn, waar ze beginnen en eindigen, hoe groot ze zijn en de namen die &os; ze geeft, hun omschrijving en - sub-type. In dit voorbeeld zijn twee kleine ongebruikte delen + subtype. In dit voorbeeld zijn twee kleine ongebruikte delen te zien, die een afspiegeling zijn van de schijfindeling op het systeem. Het laat ook een grote FAT-slice zien, die bijna zeker zichtbaar is als C: in &ms-dos; of &windows;, en een extended deel, dat de andere schijfletters kan bevatten voor &ms-dos; of &windows;. Het derde deel toont de commando's zien die beschikbaar zijn in FDisk.
Typische FDisk partities voor wijzigen
De volgende stap hangt af van hoe de schijf moet worden opgedeeld. Als de hele schijf voor &os; wordt gebruikt (waardoor alle andere data op die schijf verwijderd wordt als later in de procedure met sysinstall wordt bevestigd dat de installatie verder kan gaan) toets dan A, de optie Use Entire Disk. De bestaande delen worden verwijderd en daarvoor in de plaats komt een klein gebied, dat als unused wordt aangegeven (alweer een - afspiegeling van de PC schijf-opmaak) en dan een groot deel + afspiegeling van de PC schijfopmaak) en dan een groot deel voor &os;. Hierna dient het nieuwe &os;-deel met de pijltjestoetsen geselecteerd te worden en daarna kan S ingetoetst worden om het deel bootable te maken. Het scherm ziet er dan ongeveer uit als in . Let op de A in de kolom Flags. Deze geeft aan dat dit deel actief is en er van opgestart wordt. Als er ruimte voor &os; gemaakt wordt door een bestaande slice te verwijderen, dan moet dat deel geselecteerd worden met de pijltjestoetsen en kan vervolgens op D gedrukt worden. Daarna kan C getoetst worden en wordt er gevraagd hoe groot het deel moet zijn. Geef het gewenste getal in en druk op Enter. De standaardwaarde in dit invoervak is het grootst mogelijke deel dat gemaakt kan worden. Dat kan de grootst mogelijke aaneengesloten ruimte op de harde schijf zijn of de hele schijf. Als er al ruimte gemaakt is voor &os; (bijvoorbeeld met een programma als &partitionmagic;), dan kan de optie C gebruikt worden om een nieuw deel te maken. Opnieuw komt de vraag naar de grootte van het gebied dat aangemaakt moet worden.
FDisk partitie voor een hele schijf
Toets na afronding Q. De wijzigingen worden bewaard in sysinstall, maar worden nog niet op de schijf weggeschreven.
Bootmanager installeren Hierna is het mogelijk een bootmanager te installeren. Het installeren van de &os; bootmanager is verstandig als: Er meer dan één schijf in een systeem zit en &os; op een andere dan de eerste schijf wordt geïnstalleerd; &os; geïnstalleerd wordt naast een ander besturingssysteem op dezelfde schijf en er bij het opstarten van de computer gekozen moet worden of &os; of het andere besturingssysteem wordt gestart. Als &os; het enige besturingssysteem op een computer wordt en het is geïnstalleerd op de eerste harde schijf, dan volstaat de Standard bootmanager. Kies None als een bootmanager van een derde partij wordt gebruikt die in staat is om &os; te starten. Maak de keuze en druk op Enter.
Sysinstall menu Boot Manager
- Het helpscherm, bereikbaar via F1, + Het hulpscherm, bereikbaar via F1, beschrijft de problemen die mogelijk zijn als de harde schijf voor meerdere besturingssystemen gebruikt gaat worden.
Slices maken op een andere schijf Als er meer dan één schijf is komt het programma terug in het scherm Select Drives na het installeren van de bootmanager. Als &os; wordt geïnstalleerd op meerdere schijven, selecteer dan een andere schijf en herhaal het indelen van de schijf met FDisk. Als &os; wordt geïnstalleerd op een andere dan de eerste schijf, dan moet de &os; bootmanager geïnstalleerd worden op beide schijven.
Schijf selecteren verlaten
Met Tab wordt gewisseld tussen de laatst geselecteerde schijf, &gui.ok; en &gui.cancel;. Druk één keer op Tab om &gui.ok; actief te maken en druk dan op Enter om door te gaan met de installatie.
Partities maken met <application>Disklabel</application> Nu moeten er slices in elke zojuist aangemaakte partitie aangemaakt worden. Onthoud dat elke partitie een letter heeft van a tot en met h en dat partities b, c en d een betekenis hebben die gehonoreerd moet worden. Bepaalde programma's hebben voordeel van specifieke partitieschema's, met name als partities worden aanmaakt over meerdere schijven. Maar voor nu, als eerste &os; installatie, is het niet zo van belang hoe de schijf wordt gepartitioneerd. Het is belangrijker dat &os; wordt geïnstalleert en geleerd wordt hoe ermee te werken. &os; kan altijd opnieuw geïnstalleerd worden om een partitieschema te wijzigen als er meer bekendheid is met het besturingssysteem. Het onderstaande schema heeft vier partities. Eén als swapgebied en drie voor bestandssystemen. Partitieopmaak voor de eerste schijf Partitie Bestandssysteem Grootte Omschrijving a / - 100 MB + 512 MB Dit is het root-bestandssysteem. Elk ander - bestandssyteem wordt ergens in dit systeem gemount. - 100 MB is een redelijke grootte voor dit + bestandssyteem wordt ergens in dit systeem aangekoppeld. + 512 MB is een redelijke grootte voor dit bestandssysteem. Er wordt niet al te veel data in opgeslagen, want een normale &os; installatie slaat - hier ongeveer 40 MB aan gegevens op. De rest van + hier ongeveer 128 MB aan gegevens op. De rest van de ruimte is voor tijdelijke gegevens en laat extra ruimte over voor het geval nieuwere versies van &os; meer ruimte nodig hebben in /. b N/A 2-3 x RAM - De swapruimte van een systeem wordt op deze - partitie opgeslagen. De keuze van de juiste - hoeveelheid swapruimte is een beetje een kunst. Een - goede vuistregel is dat swapruimte twee of drie - keer de hoeveelheid intern geheugen (RAM) moet zijn. - Er moet minstens 64 MB aan swap zijn, dus als er - minder dan 32 MB RAM in een computer zit, zet - dan de swapruimte op 64 MB. + De swapruimte van een systeem wordt op de + b-partitie opgeslagen. De keuze + van de juiste hoeveelheid swapruimte is een beetje een + kunst. Een goede vuistregel is dat swapruimte twee of + drie keer de hoeveelheid intern geheugen (RAM) moet + zijn. Er moet minstens 64 MB aan swap zijn, dus + als er minder dan 32 MB RAM in een computer zit, + zet dan de swapruimte op 64 MB. Als er meer dan één schijf in een computer zit, dan kan er op iedere schijf swapruimte gemaakt worden. &os; gebruikt dan elke schijf als swap, wat effectief de snelheid van het swappen verhoogt. Bereken in dat geval de totale hoeveelheid swap die nodig is (bijv. 128 MB) en deel dat door het aantal schijven dat aanwezig is (bijvoorbeeld twee schijven) om de hoeveelheid swap per schijf te bepalen, in dit voorbeeld 64 MB swapruimte per schijf. e /var - 50 MB + 256 MB tot 1024 MB De map /var bevat bestanden die constant veranderen: logboekbestanden en andere administratieve bestanden. Veel van deze bestanden worden intensief gelezen of beschreven gedurende het dagelijks draaien van &os;. Door deze bestanden op een apart bestandssysteem te zetten heeft &os; de mogelijkheid de toegang tot deze bestanden te optimaliseren, zonder invloed te hebben op bestanden in andere map die niet zo'n toegangspatroon hebben. f /usr - Overige schijfruimte + Overige schijfruimte (minstens 2 GB) Alle andere bestanden worden gewoonlijk opgeslagen in /usr en submappen.
+ + De bovenstaande waardes dienen als voorbeeld en dienen + alleen door ervaren gebruikers gebruikt te worden. Gebruikers + worden aangeraden om de automatische partitie-indeling genaamd + Auto Defaultsvan de partitiebewerker van + &os; te gebruiken. + + Als &os; wordt geïnstalleerd op meer dan één schijf dan moeten ook partities aangemaakt worden op de andere slices die zijn ingesteld. De meest eenvoudige manier om dat te doen is het aanmaken van twee partities op elke schijf: een als swap en een voor een bestandssysteem. Partitieopmaak voor volgende schijven Partitie Bestandssysteem Grootte Omschrijving b N/A Zie omschrijving Zoals beschreven kan swapruimte over alle schijven verdeeld worden. Ook al is de a partitie vrij, de conventie schrijft voor dat de swapruimte op partitie b staat. e /diskn Overige schijfruimte De overige schijfruimte wordt gebruikt voor één grote partitie. Dit kan gemakkelijk op de a-partitie, in plaats van de e-partitie. De conventie schrijft echter voor dat partitie a op een slice is gereserveerd voor het bestandssysteem dat de root (/) van het bestandssysteem is. Deze conventie hoeft niet gevolgd te worden, maar sysinstall doet dat wel, dus als de conventie wordt nageleefd wordt de installatie iets schoner. Er kan gekozen worden om dit bestandssysteem waar dan ook te mounten. Dit voorbeeld - suggereert dat het wordt gemount als + suggereert dat het wordt aangekoppeld als /diskn, waarbij n een getal is dat verandert voor elke schijf. Er kan natuurlijk ook een ander schema worden aanhouden als dat de voorkeur heeft.
Na het kiezen van de partitieopmaak kunnen ze worden aangemaakt met sysinstall. Dan verschijnt het volgende bericht: Message Now, you need to create BSD partitions inside of the fdisk partition(s) just created. If you have a reasonable amount of disk space (200MB or more) and don't have any special requirements, simply use the (A)uto command to allocate space automatically. If you have more specific needs or just don't care for the layout chosen by (A)uto, press F1 for more information on manual layout. [ OK ] [ Press enter or space ] Druk op Enter om de &os; partitie-editor, Disklabel te starten. toont het scherm als Disklabel opstart. Het scherm bestaat uit drie delen. De eerste paar regels tonen de naam van de actieve schijf en het gebied dat de partities bevat die worden aangemaakt (op dit punt noemt Disklabel dit de Partitienaam in plaats van de slicenaam). Dit scherm toont ook de hoeveelheid vrije ruimte in de slice. Dat is de gereserveerde ruimte in de slice die nog niet aan een partitie is toegewezen. Het middelste deel toont de partities die aangemaakt zijn, de naam van het bestandssysteem dat elke partitie bevat, de grootte en enkele opties betreffende het aanmaken van het bestandssysteem. - Het onderderste deel van het scherm toont de toetsaanslagen + Het onderste deel van het scherm toont de toetsaanslagen die geldig zijn in Disklabel.
Sysinstall Disklabel Editor
Disklabel kan automatisch de - partities aanmaken en ze de standaardgrootte geven. Dit kan - door op A te drukken. Dan verschijnt een - scherm zoals in . - Afhankelijk van de grootte van de schrijf die wordt gebruikt - zijn de standaardwaarden wel of niet van toepassing. Dit maakt - niets uit, omdat de standaardaarden niet geaccepteerd hoeven te - worden. + partities aanmaken en ze de standaardgrootte geven. De + standaardgroottes worden met behulp van een intern algoritme om + de partitiegrootte te bepalen gebaseerd op de schijfgrootte + berekend. Dit kan door op A te drukken. Dan + verschijnt een scherm zoals in + . Afhankelijk van de grootte + van de schrijf die wordt gebruikt zijn de standaardwaarden wel + of niet van toepassing. Dit maakt niets uit, omdat de + standaardwaarden niet geaccepteerd hoeven te worden.
De standaard partitionering wijst /tmp zijn eigen partitie toe en is die geen onderdeel meer van de partitie /. Dit voorkomt het vollopen van de partitie / met tijdelijke bestanden.
Sysinstall Disklabel Editor met standaardwaarden
Als er gekozen is om niet de standaard partities te gebruiken en ze te vervangen door een eigen indeling, gebruik dan de pijltjestoetsen om de eerste partitie te selecteren en druk dan op D om deze te verwijderen. Herhaal dit om alle aanbevolen partities te verwijderen. Selecteer het juiste schijfdeel aan de bovenkant van het scherm om de eerste partitie aan te maken (a, gemount als / – root) en druk op C. Een dialoogscherm verschijnt met de vraag hoe groot de nieuwe partitie moet zijn (zoals te zien in ). De grootte kan opgeven worden in schijfblokken of als een getal gevolgd door M voor megabytes, G voor gigabytes of C voor cylinders. - - Vanaf &os; 5.X kunnen gebruikers - UFS2 kiezen (de standaard op &os; 5.1 - en hoger) met de optie Custom Newfs - (Z), labels maken met de optie - Auto Defaults en ze wijzigen met de optie - Custom Newfs of - toevoegen bij de standaard aanmaakmethode. Vergeet niet - de optie toe te voegen voor SoftUpdates - als de optie Custom Newfs wordt - gebruikt! - -
Vrije ruimte voor de rootpartitie
De standaardgrootte maakt een partitie aan zo groot als de rest van het schijfdeel. Als de partitiegroottes worden gebruikt als beschreven in het eerdere voorbeeld, verwijder dan het reeds ingevulde getal met Backspace en - type 64M, zoals te zien in 512M, zoals te zien in . Druk dan op &gui.ok;.
Grootte van de rootpartitie wijzigen
Als de grootte van een partitie gekozen is, wordt gevraagd of deze partitie een bestandssysteem of een wisselbestand (swap) bevat. Deze dialoog is te zien in . Deze eerste partitie bevat een bestandssysteem, dus controleer of FS geselecteerd is en druk op Enter.
Type van de rootpartitie kiezen
Omdat een bestandssysteem wordt aangemaakt moet disklabel verteld worden waar het bestandssysteem gemount moet worden. Het dialoogscherm is te zien in . Het mountpunt van het root-bestandssysteem is /, dus type / en druk dan op Enter.
Root mountpunt kiezen
Het scherm wordt dan bijgewerkt met de nieuw aangemaakte partitie. Deze stappen moeten herhaald worden voor de andere partities. Als een wisselbestandpartitie wordt aanmaakt, wordt niet gevraagd naar het mountpunt, want wisselbestanden worden nooit gemount. Als de laatste partitie is aanmaakt, /usr, kan de aangegeven grootte blijven staan, want dat is de rest van de schijf. Het uiteindelijke &os; Disklabel Editor scherm kan kan eruit zien als , maar de waarden kunnen afwijken. Druk op Q om af te sluiten.
Sysinstall Disklabel Editor
Wat installeren Distributieset selecteren De keuze van de distributieset om te installeren hangt af van het gebruiksdoel van een systeem en de beschikbare schijfruimte. De voorgedefiniëerde opties variëren van het installeren van kleinste mogelijke installatie tot alles. Nieuwelingen in &unix; en/of &os; kiezen bijna zeker één van voorgedefinieerde opties. Het aanpassen van de distributieset is typisch iets voor de meer ervaren gebruikers. Druk op F1 voor meer informatie over de distributiesets en wat ze bevatten. Na het bekijken van de informatie geeft het toetsen van Enter opnieuw het menu Select Distributions weer. Als een grafische gebruikersinterface gewenst is, kies dan een distributieset waar een X voor staat. Het instellen van de X-server en de selectie van een standaard bureaublad wordt na de installatie van &os; uitgevoerd. Meer informatie over het instellen van een X-server staat beschreven in . - De standaardversie van X11 hangt van de versie van &os;. - Voor versies ouder dan 5.3 wordt - &xfree86; 4.X - geïnstalleerd. Voor &os; 5.3 en later is - &xorg; de standaard. + &xorg; is de standaardversie van + X11 die wordt geïnstalleerd. Als het wenselijk is een aangepaste kernel te compileren, kies dan een optie die de broncode bevat. Meer informatie over de redenen om een aangepaste kernel te bouwen en hoe dat moet staat in . Vanzelfsprekend is het meest uitgebreide systeem het systeem dat alles omvat. Als er genoeg schijfruimte is, kies dan met de pijltjestoetsen All, zoals in en druk op Enter. Als schijfruimte een zorg is, overweeg dan een optie die meer toegespitst is op de gewenste situatie. De perfecte keuze maken is niet nodig, naderhand kunnen distributies worden toevoegd.
Distributies kiezen
Portscollectie installeren Na het kiezen van de gewenste distributie komt de vraag of de &os; Portscollectie geïnstalleerd moet worden. De Portscollectie is een gemakkelijke en handige manier om software te installeren. De Portscollectie bevat niet de broncode die nodig is om de software te compileren. In plaats daarvan is het een verzameling bestanden die het downloaden, compileren en installeren van software automatiseert. In wordt beschreven hoe de Portscollectie gebruikt kan worden. Het installatieprogramma controleert niet of er genoeg schijfruimte is. Deze optie dient alleen gekozen te worden als er voldoende schijfruimte is. In &os; &rel.current; neemt de Portscollectie ongeveer &ports.size; schijfruimte in. Het is verstandig om aan te nemen dat in recentere versies van &os; meer ruimte nodig is. User Confirmation Requested Would you like to install the FreeBSD ports collection? This will give you ready access to over &os.numports; ported software packages, at a cost of around &ports.size; of disk space when "clean" and possibly much more than that if a lot of the distribution tarballs are loaded (unless you have the extra CDs from a FreeBSD CD/DVD distribution available and can mount it on /cdrom, in which case this is far less of a problem). The ports collection is a very valuable resource and well worth having on your /usr partition, so it is advisable to say Yes to this option. For more information on the ports collection & the latest ports, visit: http://www.FreeBSD.org/ports [ Yes ] No Selecteer &gui.yes; met de pijltjestoetsen om de Portscollectie te installeren of &gui.no; om deze optie over te slaan. Druk op Enter om verder te gaan. Het menu Choose Distributions wordt opnieuw getoond.
Distributies kiezen
Als alle keuzes gemaakt zijn, selecteer dan Exit met de pijltjestoetsen, zorg ervoor dat &gui.ok; actief is en druk op Enter om verder te gaan.
Installatiemedia kiezen Als wordt geïnstalleerd vanaf een cd-rom of DVD kies dan met de pijltjestoetsen de optie Install from a &os; CD/DVD. Zorg ervoor dat &gui.ok; actief is en druk op Enter om verder te gaan. Kies voor andere installatiemethodes de desbetreffende optie en volg de aanwijzingen. Druk op F1 om de online help voor de installatiemedia te lezen. Druk op Enter om terug te gaan naar het menu mediaselectie.
Mediaselectie
FTP installatiemethoden installatie netwerk FTP Er zijn drie manieren van installeren via FTP: active FTP, passive FTP of via een HTTP proxy. Actieve FTP: Install from an FTP server Deze optie zorgt ervoor dat alle FTP acties gebruik maken van de Active modus. Dit werkt niet door firewalls, maar werkt wel met oudere FTP-servers die - de passive modus niet ondersteunen. Als een verbinding - blijft hangen met de passive modus probeer dan de active + de passieve modus niet ondersteunen. Als een verbinding + blijft hangen met de passieve modus probeer dan de actieve modus! Passieve FTP: Install from an FTP server through a firewall FTP - passive modus + passieve modus Deze optie geeft sysinstall aan gebruik te maken van de Passive modus voor al het FTP-verkeer. Dit zorgt ervoor dat verbindingen door firewalls heen kunnen die inkomende verbindingen niet toelaten op willekeurige TCP-poorten. FTP via een HTTP proxy: Install from an FTP server through a http proxy FTP via een HTTP proxy Deze optie geeft sysinstall aan gebruik te maken van het HTTP protocol (zoals een webbrowser) om verbinding te maken met een proxy voor alle FTP verbindingen. De proxy vertaalt de verzoeken en stuurt ze naar de FTP server. Dit zorgt ervoor dat verbindingen door firewalls heen kunnen die helemaal geen FTP toestaan, maar wel een HTTP proxy hebben. In dit geval moet naast de FTP-server ook een HTTP proxy opgegeven worden. Bij het gebruik van een proxy FTP-server moet meestal de server waar uiteindelijk verbinding mee gemaakt moet worden onderdeel zijn van de gebruikersnaam, na het teken @. De proxy server imiteert dan de echte server. Zo kan bijvoorbeeld geïnstalleerd worden vanaf ftp.FreeBSD.org, gebruikmakend van proxy FTP-server foo.example.com, luisterend op poort - 1024. + 1234. In dit geval kan in het menu opties menu als FTP gebruikersnaam ftp@ftp.FreeBSD.org ingevuld - worden en als wachtwoord een e-mailadres. Als installatiemedium + worden en als wachtwoord een emailadres. Als installatiemedium kan FTP ingevuld worden (of passieve FTP als de gebruikte proxy het ondersteunt) en als URL ftp://foo.example.com:1234/pub/FreeBSD. Omdat /pub/FreeBSD van ftp.FreeBSD.org via de proxy van foo.example.com wordt benaderd kan vanaf die machine geïnstalleerd worden (die de bestanden ophaalt van ftp.FreeBSD.org als het installatieprogramma erom vraagt).
De installatie bevestigen Nu kan de installatie verder gaan. Dit is ook de laatste mogelijkheid om de installatie te beëindigen ter voorkoming van wijzigingen op de harde schijf. User Confirmation Requested Last Chance! Are you SURE you want to continue the installation? If you're running this on a disk with data you wish to save then WE STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding! We can take no responsibility for lost disk contents! [ Yes ] No Kies &gui.yes; en druk op Enter om verder te gaan. De duur van de installatie hangt af van de gekozen distributie, het installatiemedium en de snelheid van de computer. Er wordt een serie berichten getoond die de voortgang aangeeft. De installatie is klaar als het volgende bericht wordt getoond: Message Congratulations! You now have FreeBSD installed on your system. We will now move on to the final configuration questions. For any option you do not wish to configure, simply select No. If you wish to re-enter this utility after the system is up, you may -do so by typing: /stand/sysinstall . +do so by typing: /usr/sbin/sysinstall. [ OK ] - [ Press enter to continue ] + [ Press enter or space ] Druk op Enter om verder te gaan met instellingen na de installatie. Kiezen voor &gui.no; en bevestigen met Enter beëindigt de installatie en er worden geen wijzigingen aan het systeem gemaakt. Het volgende bericht verschijnt: Message Installation complete with some errors. You may wish to scroll through the debugging messages on VTY1 with the scroll-lock feature. You can also choose "No" at the next prompt and go back into the installation menus to retry whichever operations have failed. [ OK ] Het bovenstaande bericht verschijnt omdat er niets is geïnstalleerd. Kies Enter om terug te gaan naar het menu Main Installation en de installatie te verlaten. Instellingen na de installatie Na het installeren volgt de instelling van diverse opties. Een optie kan worden ingesteld door opnieuw naar de instellingenopties te gaan voordat de nieuwe &os;-installatie wordt gestart of door na de installatie - sysinstall te gebruiken - (/stand/sysinstall in &os; versies ouder dan - 5.2) en te kiezen voor + sysinstall te gebruiken en te kiezen voor Configure. Netwerkapparaten instellen Als al eerder PPP is ingesteld voor een FTP-installatie verschijnt het volgende scherm niet en kan dit onderdeel worden geïnstalleerd zoals eerder beschreven. Gedetailleerde informatie over lokale netwerken (LAN's) en het instellen van &os; als een gateway of router staat in het hoofdstuk Netwerken voor Gevorderden. User Confirmation Requested Would you like to configure any Ethernet or SLIP/PPP network devices? [ Yes ] No Kies &gui.yes; en druk op Enter om een netwerkapparaat in te stellen. Kies anders &gui.no; om verder te gaan.
Ethernetapparaat kiezen
Kies de in te stellen interface met de pijltjestoetsen en druk op Enter. User Confirmation Requested Do you want to try IPv6 configuration of the interface? Yes [ No ] In dit gesloten lokale netwerk was het huidige type Internet protocol (IPv4) toereikend en dus werd &gui.no; geselecteerd met de pijltjestoetsen en kon met Enter verder gegaan worden. Als er verbinding is met een bestaand IPv6 netwerk met een RA server, kies dan &gui.yes; en druk op Enter. Zoeken naar RA servers duurt een paar seconden. User Confirmation Requested Do you want to try DHCP configuration of the interface? Yes [ No ] Kies &gui.no; met de pijltjestoetsen en druk op Enter als DHCP (Dynamic Host Configuration Protocol) niet nodig is. &gui.yes; kiezen start dhclient op en als het goed gaat stelt het netwerk zichzelf in. In staat meer informatie. Het volgende scherm met netwerkinstellingen toont de - instellingen van een ethernetapparaat van een systeem dat als + instellingen van een Ethernetapparaat van een systeem dat als gateway voor een lokaal netwerk functioneert.
Netwerkinstellingen voor ed0
Met Tab kunnen de velden geselecteerd worden waarna de juiste informatie ingevuld kan worden: Host De fully-qualified hostname, in dit geval k6-2.example.com. Domain De naam van het domein waar toe de machine behoort, in dit geval example.com. IPv4 Gateway Het IP-adres van de host die pakketjes doorstuurt naar niet-lokale bestemmingen. Dit moet ingesteld worden als een machine een onderdeel is van netwerk. Laat dit veld leeg als de machine de - gateway is naar het internet voor het netwerk. De IPv4 + gateway is naar het Internet voor het netwerk. De IPv4 Gateway staat ook bekend onder de naam default gateway of default route. Name server Het IP-adres van de lokale DNS server. Er is op dit gesloten lokale netwerk geen DNS server, dus wordt het IP-adres van de DNS server van de provider gebruikt (208.163.10.2). IPv4 Address Het IP-adres dat gebruikt moet worden voor deze interface (192.168.0.1). Netmask Het adresblok dat gebruikt wordt door het lokale - netwerk is een klasse C blok (192.168.0.0 - 192.168.255.255). Het standaard - netmasker is voor een klasse C netwerk (255.255.255.0). + role="ipaddr">192.168.255.255 met netmasker + 255.255.255.0. Extra options to ifconfig Elke interface-specifieke optie voor - ifconfig die toevoegd moet worden. In + ifconfig die toegevoegd moet worden. In dit geval waren er geen. Gebruik Tab om &gui.ok; te selecteren als de instellingen gereed zijn en druk op Enter. User Confirmation Requested Would you like to Bring Up the ed0 interface right now? [ Yes ] No Het kiezen van &gui.yes; en het drukken op Enter maakt een machine onderdeel van een netwerk en daarna is hij klaar voor gebruik. Dit heeft echter nog weinig zin, omdat de machine nog opnieuw opgestart moet worden.
Als gateway instellen User Confirmation Requested Do you want this machine to function as a network gateway? [ Yes ] No Als de machine gateway voor een lokaal netwerk is en pakketjes doorstuurt naar andere machines kies dan &gui.yes; en druk op Enter. Als de machine alleen host op een netwerk is, kies dan &gui.no; en druk op Enter om verder te gaan. Internetdiensten instellen User Confirmation Requested Do you want to configure inetd and the network services that it provides? Yes [ No ] Door het selecteren van &gui.no; worden diverse diensten als telnetd niet aangezet. Dat betekent dat gebruikers op afstand niet met telnet bij de machine kunnen. Lokale gebruikers kunnen wel met telnet naar andere machines. Deze diensten kunnen na de installatie worden aangezet door /etc/inetd.conf te wijzigen met een editor naar keuze. In staat meer informatie. Selecteer &gui.yes; om deze diensten in te stellen tijdens de installatie. Er wordt een extra bevestiging getoond: User Confirmation Requested The Internet Super Server (inetd) allows a number of simple Internet services to be enabled, including finger, ftp and telnetd. Enabling these services may increase risk of security problems by increasing the exposure of your system. With this in mind, do you wish to enable inetd? [ Yes ] No Selecteer &gui.yes; om verder te gaan. User Confirmation Requested inetd(8) relies on its configuration file, /etc/inetd.conf, to determine which of its Internet services will be available. The default FreeBSD inetd.conf(5) leaves all services disabled by default, so they must be specifically enabled in the configuration file before they will function, even once inetd(8) is enabled. Note that services for IPv6 must be separately enabled from IPv4 services. Select [Yes] now to invoke an editor on /etc/inetd.conf, or [No] to use the current settings. [ Yes ] No Het selecteren van &gui.yes; geeft de mogelijkheid diensten toe te voegen door het teken # aan het begin van een regel te verwijderen.
<filename>inetd.conf</filename> bewerken
Druk na het toevoegen van de gewenste diensten, op Esc om het menu te krijgen waarin de wijzigingen opgeslagen kunnen worden en de editor verlaten kan worden.
+ + SSH-login aanzetten + + + SSH + + sshd + + + User Confirmation Requested + Would you like to enable SSH login? + Yes [ No ] + + Het kiezen van &gui.yes; zal &man.sshd.8; aanzetten, het + daemon-programma voor OpenSSH. Dit + zal beveiligde toegang op afstand tot uw machine toestaan. Zie + voor meer informatie over OpenSSH + . + + Anonieme FTP FTP anoniem User Confirmation Requested Do you want to have anonymous FTP access to this machine? Yes [ No ] Anonieme FTP weigeren Het selecteren van de standaardwaarde &gui.no; en het drukken op Enter stelt gebruikers met toegang en een wachtwoord nog steeds in staat om de machine via FTP te benaderen. Anonieme FTP toestaan - Als anonieme FTP wordt toegestaan kan iederen de machine + Als anonieme FTP wordt toegestaan kan iedereen de machine met FTP benaderen. De gevolgen voor de veiligheid van de machine moeten overwogen worden voordat deze optie wordt ingeschakeld. Meer informatie over beveiliging staat in . Selecteer met de pijltjestoetsen &gui.yes; om anonieme - FTP toe te staan en druk op Enter. Het - volgende scherm (of iets soortgelijks) verschijnt: + FTP toe te staan en druk op Enter. Een + aanvullende bevestiging zal verschijnen: + + User Confirmation Requested +Anonymous FTP permits un-authenticated users to connect to the system +FTP server, if FTP service is enabled. Anonymous users are +restricted to a specific subset of the file system, and the default +configuration provides a drop-box incoming directory to which uploads +are permitted. You must separately enable both inetd(8), and enable +ftpd(8) in inetd.conf(5) for FTP services to be available. If you +did not do so earlier, you will have the opportunity to enable inetd(8) +again later. + +If you want the server to be read-only you should leave the upload +directory option empty and add the -r command-line option to ftpd(8) +in inetd.conf(5) + +Do you wish to continue configuring anonymous FTP? + + [ Yes ] No + + Dit bericht informeert u dat de FTP-dienst ook in + /etc/inetd.conf aangezet moet worden als + u anonieme FTP-verbindingen wilt toestaan, zie . Kies &gui.yes; en druk op + Enter om verder te gaan; het volgende scherm + zal verschijnen:
Standaard anonieme FTP instellingen
- Druk op F1 voor hulp: + Gebruik Tab om de informatievelden te + selecteren en de juiste informatie in te vullen: - This screen allows you to configure the anonymous FTP user. + + + UID -The following configuration values are editable: + + De gebruikers-ID die u aan de anonieme FTP-gebruiker + wilt toekennen. Alle geuploade bestanden zullen + eigendom zijn van deze ID. + + -UID: The user ID you wish to assign to the anonymous FTP user. - All files uploaded will be owned by this ID. + + Group -Group: Which group you wish the anonymous FTP user to be in. + + In welke groep de anonieme FTP-gebruiker dient te + zitten. + + -Comment: String describing this user in /etc/passwd + + Comment + + Een string die deze gebruiker in + /etc/passwd beschrijft. + + -FTP Root Directory: + + FTP Root Directory - Where files available for anonymous FTP will be kept. + + Waar de bestanden beschikbaar voor anonieme FTP + worden bewaard. + + -Upload subdirectory: + + Upload Subdirectory - Where files uploaded by anonymous FTP users will go. + + Waar bestanden geupload door anonieme FTP-gebruikers + naar toe gaan. + + + - De startmap voor ftp wordt standaard ingesteld op + De startmap voor FTP wordt standaard ingesteld op /var. Als daar niet genoeg ruimte is - voor de geschatte ftp-wensen dan kan + voor de geschatte FTP-wensen dan kan /usr gebruikt worden door de waarde FTP - Root Directory op /usr/ftp in te + root directory op /usr/ftp in te stellen. Druk op Enter om verder te gaan als de instellingen gemaakt zijn. User Confirmation Requested Create a welcome message file for anonymous FTP users? [ Yes ] No Na het kiezen van &gui.yes; en op Enter drukken opent zich een editor waarin het welkomstbericht bewerkt kan worden.
FTP welkomstbericht bewerken
De bovenstaande editor is ee. Volg de instructies om het bericht te wijzigen of wijzig het bericht later door gebruik te maken van een editor naar keuze. Let - op de bestaandsnaam en lokatie onderaan het scherm van de + op de bestandsnaam en lokatie onderaan het scherm van de editor. Druk op Esc en een pop-up menu verschijnt met als standaardoptie a) leave editor. Druk op Enter om de editor te verlaten en verder te gaan. Druk nog een keer op Enter om de eventuele wijzigingen te bewaren.
Network File System instellen Network File System (NFS) maakt het mogelijk bestanden te delen over een netwerk. Een machine kan worden ingesteld als server, client of beide. In staat meer informatie. NFS Server User Confirmation Requested Do you want to configure this machine as an NFS server? Yes [ No ] Kies &gui.no; als er geen noodzaak is voor een Network File System server en druk op Enter. Na het kiezen van &gui.yes; wordt een bericht getoond dat aangeeft dat er een betand exports moet worden gemaakt. Message Operating as an NFS server means that you must first configure an /etc/exports file to indicate which hosts are allowed certain kinds of access to your local filesystems. Press [Enter] now to invoke an editor on /etc/exports [ OK ] Druk op Enter om verder te gaan. Een editor start om exports te maken en te bewerken.
<filename>exports</filename> bewerken
Volg de instructies om een te exporteren bestandssysteem toe te voegen of doe het later met een editor naar keuze. Let op de bestandsnaam en lokatie onderaan het scherm van de editor. Druk op Esc en een pop-up menu verschijnt met als standaardoptie a) leave editor. Druk op Enter om de editor te verlaten en verder te gaan.
NFS Client De NFS client maakt het mogelijk om NFS servers te benaderen. User Confirmation Requested Do you want to configure this machine as an NFS client? Yes [ No ] Kies met de pijltjestoetsen de optie &gui.yes; of &gui.no; en druk op Enter.
- - Beveiligingsprofiel - - Een security profile (beveiligingsprofiel) - is een verzameling instellingen waarmee geprobeerd wordt de - gewenste verhouding tussen veiligheid en gebruikersgemak in te - stellen door bepaalde programma's en instellingen aan of uit te - zetten. Hoe hoger het beveiligingsprofiel, hoe minder - programma's standaard worden aangezet. Dat is - één van de basisregels van beveiliging: gebruik - niets anders dan wat echt nodig is. - - Het beveiligingsprofiel is slechts een standaardinstelling. - Alle programma's kunnen aan- of uitgezet worden door na de - installatie van &os; wijzigingen aan te brengen in - /etc/rc.conf. Meer informatie staat in de - handleiding van &man.rc.conf.5;. - - De volgende tabel beschrijft wat elk beveiligingsprofiel - doet. De kolommen zijn de verschillende beveiligingsprofielen - waaruit gekozen kan worden en de rijen zijn de programma's of - opties die in dat profiel in- of uitgeschakeld zijn. - - - Mogelijke beveiligingsprofielen - - - - - - - Extreme - - Moderate - - - - - - - &man.sendmail.8; - - Nee - - Ja - - - - &man.sshd.8; - - Nee - - Ja - - - - &man.portmap.8; - - Nee - - Wellicht - - De portmapper wordt aangezet als de machine - eerder in de installatie is ingesteld als NFS - client of server. - - - - - - NFS server - - Nee - - Ja - - - - &man.securelevel.8; - - Ja - - Het kiezen van een beveiligingsprofiel dat - securelevel op - Extreme of High zet, - heeft mogelijk grote gevolgen. Lees de hulppagina - &man.init.8; en let vooral op de betekenis van de - security levels of anders zijn in - een later stadium moeilijkheden - gegarandeerd! - - - - Nee - - - -
- - User Confirmation Requested - Do you want to select a default security profile for this host (select - No for "medium" security)? - - [ Yes ] No - - Het kiezen van &gui.no; en het drukken op - Enter stelt het beveiligingsprofiel in op - medium. - - Het kiezen van &gui.yes; en het drukken op - Enter geeft de mogelijkheid om een ander - beveiligingsprofiel te kiezen. - -
- Beveiligingsprofielopties - - - - - - -
- - Druk op F1 voor hulp. Druk op - Enter om terug te gaan naar het menu. - - Gebruik de pijltjestoetsen om - Medium te kiezen, behalve als bekend - is dat een ander niveau nodig is. Druk op - Enter terwijl &gui.ok; oplicht. - - Afhankelijk van het gekozen beveiligingsprofiel wordt een - toepasselijk bevestigingsbericht getoond: - - Message - -Moderate security settings have been selected. - -Sendmail and SSHd have been enabled, securelevels are -disabled, and NFS server setting have been left intact. -PLEASE NOTE that this still does not save you from having -to properly secure your system in other ways or exercise -due diligence in your administration, this simply picks -a standard set of out-of-box defaults to start with. - -To change any of these settings later, edit /etc/rc.conf - - [OK] - - Message - -Extreme security settings have been selected. - -Sendmail, SSHd, and NFS services have been disabled, and -securelevels have been enabled. -PLEASE NOTE that this still does not save you from having -to properly secure your system in other ways or exercise -due diligence in your administration, this simply picks -a more secure set of out-of-box defaults to start with. - -To change any of these settings later, edit /etc/rc.conf - - [OK] - - Druk op Enter om verder te gaan met de - instellingen na de installatie. - - - Het beveiligingsprofiel is geen Haarlemmerolie! Ook als - de instelling extreme wordt gebruikt, moeten - nog altijd beveiligingsproblemen bijgewerkt worden door de - mailinglijsten te volgen (), - goede wachtwoorden en wachtzinnen gebruikt worden en goede - beveiligingsgewoontes gevolgd worden. Het - beveiligingsprofiel stelt uitsluitend de gewenste verhouding - tussen beveiliging en gebruikersvriendelijkheid op een - standaard manier in. - -
- Systeemconsole instellen Er is een aantal opties beschikbaar om de systeemconsole in aan te passen. User Confirmation Requested Would you like to customize your system console settings? [ Yes ] No Om de opties te bekijken en in te stellen, kies &gui.yes; en druk op Enter.
Systeemconsole instellingen
Een gebruikelijke optie is de schermbeveiliging. Gebruik de pijltjestoetsen om Saver te selecteren en druk op Enter.
Schermbeveiligingsopties
Kies met de pijltjestoetsen de gewenste schermbeveiliging en druk op Enter. Het instellingenmenu System Console verschijnt weer. De standaard activeringstijd is 300 seconden. Kies voor het wijzigen van de activeringstijd weer Saver. Kies in het optiemenu Screen Saver met de pijltjestoetsen Timeout en druk op Enter. Een pop-up verschijnt:
Schermbeveiliging activeringstijd
Wijzig de waarde, selecteer &gui.ok; en druk op Enter om terug te gaan naar het instellingenmenu System Console.
Systeemconsole instellingen verlaten
Met het selecteren van Exit en drukken op Enter kan verdergegaan worden met de andere instellingen.
Tijdzone instellen Het instellen van de tijdzone van een machine maakt het mogelijk om automatisch correcties door te voeren voor regionale tijdswijzigingen en het juist uitvoeren van andere tijdzone-afhankelijke functies. Het voorbeeld toont een machine die staat in de oostelijke tijdzone van de Verenigde Staten. De keuze voor een specifiek systeem hangt af van de geografische locatie. User Confirmation Requested Would you like to set this machine's time zone now? [ Yes ] No Selecteer &gui.yes; en druk op Enter om de tijdzone in te stellen. User Confirmation Requested Is this machine's CMOS clock set to UTC? If it is set to local time or you don't know, please choose NO here! Yes [ No ] Kies &gui.yes; of &gui.no; afhankelijk van de instellingen van de klok van de machine en druk op Enter.
Regio instellen
Kies met de pijltjestoetsen de juiste regio en druk op Enter.
Land kiezen
Kies met de pijltjestoetsen het juiste land en druk op Enter.
Tijdzone kiezen
Kies met de pijltjestoetsen de juiste tijdzone en druk op Enter. Confirmation Does the abbreviation 'EDT' look reasonable? [ Yes ] No Bevestig dat de afkorting van de tijdzone juist is. Als die er goed uit ziet, druk dan op Enter om verder te gaan met de overige instellingen.
Linux compatibiliteit User Confirmation Requested Would you like to enable Linux binary compatibility? [ Yes ] No Selecteer &gui.yes; en druk op Enter als de mogelijkheid om Linux software te draaien op &os; geactiveerd moet worden. Deze optie installeert de voor Linux compatibiliteit benodigde pakketten. Als via FTP wordt geïnstalleerd, dan moet de machine - verbonden zijn met internet. Soms heeft een ftp-site niet alle - distributies, zoals de Linux compatabiliteit, beschikbaar. + verbonden zijn met Internet. Soms heeft een FTP-site niet alle + distributies, zoals de Linux comptabiliteit, beschikbaar. Zonodig kan deze ook later geïnstalleerd worden. Muisinstellingen Deze optie geeft de mogelijkheid om tekst te kopiëren en te plakken in de console en programma's met een 3-knops muis. Als een 2-knops muis wordt gebruikt, ga dan naar de hulppagina &man.moused.8; na de installatie voor de details over het emuleren van een 3-knops muis. Dit voorbeeld toont een niet-USB muisinstelling (zoals een PS/2 of seriële poort muis): User Confirmation Requested - Does this system have a non-USB mouse attached to it? + Does this system have a PS/2, serial, or bus mouse? [ Yes ] No - Selecteer &gui.yes; voor een niet-USB muis of &gui.no; voor - een USB muis en druk op Enter. + Selecteer &gui.yes; voor een PS/2-, seriële of busmuis + of &gui.no; voor een USB-muis en druk op Enter. +
Muisprotocoltype selecteren
Gebruik de pijltjestoetsen om Type te selecteren en druk op Enter.
Muisprotocol kiezen
De muis in dit voorbeeld is een PS/2-muis, dus de standaardoptie Auto was van toepassing. Selecteer met de pijltjestoetsen een andere optie om het protocol te wijzigen. Zorg ervoor dat &gui.ok; geselecteerd is en druk op Enter om dit menu te verlaten.
Muispoort instellen
Gebruik de pijltjestoetsen om Port te selecteren en druk op Enter.
Muispoort instellen
Dit systeem heeft een PS/2 muis, dus de standaardoptie PS/2 was van toepassing. Gebruik de pijltjestoetsen en druk op Enter om de poort te wijzigen.
Muisdaemon inschakelen
Gebruik tenslotte de pijltjestoetsen om Enable te selecteren en druk op Enter om de muisdaemon aan te zetten en te testen.
Het testen van de muisdaemon
Beweeg de muis over het scherm en controleer of de cursor op de juiste manier reageert. Als dat in orde is, selecteer dan &gui.yes; en druk op Enter. Als het niet goed gaat, dan is de muis niet goed ingesteld. Kies dan &gui.no; en probeer het met andere instellingen. Kies met de pijltjestoetsen Exit en druk op Enter om terug te gaan naar het instellingenmenu.
- - - - - Tom - Rhodes - Geschreven door - - - + + Pakketten installeren - Extra netwerkdiensten instellen + Pakketten zijn voorgebouwde binaire bestanden en zijn een + gemakkelijke manier om software te installeren. - Het instellen van netwerkdiensten kan afschrikwekkend zijn - voor nieuwe gebruikers zonder (voldoende) voorkennis op dit - gebied. Netwerken, inclusief internet, is van levensbelang - voor alle moderne besturingssystemen, inclusief &os;. Als - gevolg daarvan is het handig enig begrip te hebben van de - uitgebreide netwerkmogelijkheden van &os;. Door dit tijdens de - installatie te doen hebben gebruikers in elk geval enige - kennis van de diverse netwerkdiensten die hen ter beschikking - staan. + De installatie van één pakket wordt als + voorbeeld getoond. Er kunnen nog meer pakketten + geïnstalleerd worden als dat wenselijk is. Na de + installatie kan sysinstall gebruikt worden om + extra pakketten te installeren. - Netwerkdiensten zijn programma's die invoer accepteren - vanaf het netwerk. Al het mogelijke is gedaan om er voor te - zorgen dat deze programma's niets schadelijks - doen. Helaas zijn programmeurs niet perfect en in de loop van - de tijd zijn er fouten gevonden in netwerkdiensten die door - aanvallers zijn uitgebuit om slechte dingen te doen. Het is - belangrijk alleen netwerkdiensten aan te zetten die nodig zijn. - Bij twijfel kan een netwerkdienst het beste niet ingeschakeld - worden totdat duidelijk is dat de dienst wél nodig is. - Diensten kunnen later alsnog ingeschakeld worden door - sysinstall nog een keer te draaien - of door middel van de mogelijkheden van het bestand - /etc/rc.conf. + User Confirmation Requested + The FreeBSD package collection is a collection of hundreds of + ready-to-run applications, from text editors to games to WEB servers + and more. Would you like to browse the collection now? - Het kiezen van de optie Networking toont - het volgende menu: - -
- Netwerkinstellingen - bovenste opties - - - - - - -
- - De eerste optie, Interfaces, is - al behandeld in , dus die - wordt overgeslagen. - - Kies AMD voor het toevoegen van - ondersteuning voor het BSD hulpprogramma - voor automatisch mounten. Dit wordt meestal gebruikt in - combinatie met het NFS protocol (zie - verderop) voor het automatisch mounten van externe - bestandssystemen. Hier zijn geen speciale instellingen - nodig. - - De volgende optie is AMD Flags. - Als deze optie wordt selecteert komt er een pop-up menu waarin - de specifieke AMD vlaggen kunnen worden - ingesteld. Het menu bevat al een lijst standaardopties: - - -a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map - - De optie bepaalt de standaard - mountlocatie die is hier ingesteld op - /.amd_mnt. De optie - bepaalt het standaardbestand voor log, - maar als syslogd wordt gebruikt, dan worden - alle acties naar de systeemlogdaemon gestuurd. De map - /host wordt gebruikt om - een geëxporteerd bestandssysteem van een externe host te - mounten, terwijl de map /net wordt gebruikt om een - geëxporteerd bestandssysteem van een - IP-adres te mounten. Het bestand - /etc/amd.map bepaalt de standaardopties - voor AMD exports. - - - FTP - - anoniem - - - De optie Anon FTP staat anonieme - FTP verbindingen toe. Kies deze optie om - van een machine een anonieme FTP server te - maken. Hierbij zijn de beveiligingsimplicaties van belang. Er - wordt een volgend menu getoond om de beveiligingsrisico's en - verdere instellingen te verklaren. - - Het instellingenmenu Gateway - maakt van de machine een gateway, zoals eerder beschreven. - Hier kan de optie Gateway ook - gebruikt worden om de optie uit te zetten als die eerder in de - installatie per ongeluk is aangezet. - - De optie Inetd kan gebruikt - worden om de &man.inetd.8; daemon in te stellen of helemaal - uit te schakelen, zoals boven beschreven. - - De optie Mail kan gebruikt - worden om de standaard MTA (Mail Transfer - Agent) van het systeem in te stellen. Hiervoor wordt het - volgende menu gebruikt: - -
- Standaard MTA kiezen - - - - - - -
- - Hier kan gekozen worden welke MTA moet - worden geïnstalleerd en gebruikt. Een - MTA is niets meer dan een mailserver die - mail aflevert bij gebruikers op het systeem of op - internet. - - Het kiezen van Sendmail - installeert de populaire server - sendmail, die de standaard is voor - &os;. De optie Sendmail local maakt - van sendmail de standaard - MTA, maar zet de mogelijkheid om mail te - ontvangen vanaf het internet uit. De andere opties, - Postfix en - Exim werken net zo als - Sendmail. Allebei leveren ze mail - af. Sommige gebruikers geven de voorkeur aan deze - alternatieven boven de sendmail - MTA. - - Na het kiezen van een MTA of de keuze - geen MTA te installeren, verschijnt het menu - netwerkinstellingen met als volgende optie - NFS client. - - De optie NFS client stelt het - systeem in om te communiceren met een server via - NFS. Een NFS server - stelt bestandssystemen beschikbaar aan andere machines via het - NFS protocol. Als de te installeren machine - een op zichzelf staande machine is, dan kan deze optie - uitgeschakeld blijven. Het kan zijn dat het systeem later meer - instellingen nodig heeft. In - staat meer informatie over client- en - serverinstellingen. - - De volgende optie is NFS server, - die het mogelijk maakt een systeem in te stellen als - NFS server. Deze optie voegt de nodige - informatie toe om de dienst RPC, - remote procedure call, op te starten. - RPC wordt gebruikt om de verbindingen tussen - hosts en programma's te coördineren. - - Daarna volgt de optie Ntpdate - die de tijdsynchronisatie afhandelt. Als deze wordt - geselecteerd verschijnt het volgende menu: - -
- Ntpdate instellingen - - - - - - -
- - Kies uit dit menu de server die het dichtst bij het te - installeren systeem staat. Door het kiezen van een server in - de buurt is de synchronisatie preciezer omdat een verder - gelegen server meer vertraging in de verbinding kan - hebben. - - De volgende optie is de PCNFSD selectie. - Deze optie installeert het pakket net/pcnfsd uit de Portscollectie. - Dat is een handig hulpprogramma dat het mogelijk maakt om aan - te melden bij NFS met systemen die zelf geen - aanmeldsysteem hebben, zoals het besturingssysteem &ms-dos; van - µsoft;. - - Door naar benenden te scrollen in het hoofdmenu worden de - onderstaande opties zichtbaar: - -
- Netwerkinstellingen - onderste opties - - - - - - -
- - De hulpprogramma's &man.rpcbind.8;, &man.rpc.statd.8; en - &man.rpc.lockd.8; worden allemaal gebruikt voor Remote - Procedure Calls (RPC). Het - hulpprogramma rpcbind beheert de - communicatie tussen NFS servers en clients - en is noodzakelijk om NFS servers correct te - laten werken. De daemon rpc.statd - communiceert met de daemon rpc.statd - op andere machines om statusinformatie te leveren. De - gerapporteerde status wordt gewoonlijk bijgehouden in het - bestand /var/db/statd.status. De volgende - optie in de lijst is rpc.lockd die, - mits geselecteerd, bestandslockdiensten mogelijk maakt. Dit - wordt meestal gebruikt door - rpc.statd om bij te houden welke - hosts vragen om bestanden te locken en hoe vaak ze dat doen. - Hoewel deze laatste twee opties fantastisch zijn om fouten om - te sporen, zijn ze niet noodzakelijk voor - NFS servers en clients om correct te - werken. - - De dan volgende optie in de lijst is - Routed, een routeringsdaemon. Het - hulpprogramma &man.routed.8; beheert netwerkrouteringstabellen, - ontdekt multicast routers en stelt op verzoek - kopieën van de routeringstabellen ter beschikking aan - fysiek verbonden apparaten. Dit wordt vooral gebruikt door - machines die dienst doen als gateway voor het lokale netwerk. - Na het selecteren van deze optie verschijnt een menu waarin - naar de standaardlocatie van het hulpprogramma wordt gevraagd. - De standaardlocatie is al gedefiniëerd en kan met - Enter worden geactiveerd. Dan komt er een - ander menu dat vraagt om de opties die doorgegeven moeten - worden aan routed op te geven. De - standaard is en die staat al op het - scherm. - - Dan volgt de optie Rwhod die, - als geselecteerd, de daemon &man.rwhod.8; inschakelt bij het - opstarten. Het hulpprogramma rwhod zendt - periodiek systeemberichten uit over het netwerk of verzamelt - die in de modus consumer. Meer informatie staat - in de hulppagina's &man.ruptime.1; en &man.rwho.1;. - - De één na laatste optie in de lijst is de - daemon &man.sshd.8;. Dat is de secure shell - server van OpenSSH en deze - wordt sterk aangeraden boven de standaardservers - telnet en FTP. - De server sshd wordt gebruikt om een - veilige verbinding op te zetten van de ene computer naar de - andere door een versleutelde verbinding te gebruiken. - - Tenslotte is er de optie - TCP Extensions. Dit schakelt - TCP uitbreidingen in zoals gedefiniëerd - in RFC 1323 en - RFC 1644. Hoewel dit op veel machines - de verbindingen kan versnellen, kan het ook de oorzaak zijn van - het wegvallen van sommige verbindingen. Het wordt niet - aangeraden voor servers, maar voor alleenstaande machines kan - het voordelig zijn. - - Nu de netwerkmogelijkheden zijn ingesteld kan het menu via - Exit verlaten worden en doorgegaan - worden met het instellen in de volgende sectie. -
- - - X-server instellen - - - Vanaf &os; 5.3-RELEASE, is het instellen van - X-server uit sysinstall - verwijderd. Het installeren en instellen van X-server dient - na de installatie van &os; plaats te vinden. Meer informatie - over de installatie en het instellen van een X-server is te - vinden in . Dit onderdeel kan - overgeslagen worden als &os; versie 5.3-RELEASE of hoger - wordt geïnstalleerd. - - - Om een grafische gebruikersinterface zoals - KDE, - GNOME of andere te gebruiken moet - de X-server ingesteld worden. - - - Om &xfree86; te kunnen - gebruiken als een andere gebruiker dan - root moet x11/wrapper geïnstalleerd - zijn. Dit wordt vanaf &os; 4.7 standaard gedaan. Voor oudere - versies kan dit toegevoegd worden via het - pakketselectiemenu. - - - Of de videokaart uit een systeem wordt ondersteund kan - worden gecontroleerd op de &xfree86; - website. - - User Confirmation Requested - Would you like to configure your X-server at this time? - - [ Yes ] No - - - Het is noodzakelijk om de specificaties van monitor en - videokaart te kennen. Er kan schade aan apparatuur ontstaan - als er verkeerde instellingen worden gemaakt. Als deze - gegevens niet beschikbaar zijn, kies dan &gui.no; en dan kunnen - de instellingen na het verzamelen van de informatie gemaakt - worden met sysinstall - (/stand/sysinstall in &os; versies ouder - dan 5.2) door te kiezen voor - Configure en vervolgens - XFree86. Verkeerde instellingen van - de X-server op deze plaats kunnen de machine achterlaten in een - bevroren status. Het wordt vaak geadviseerd de instellingen - van de X-server te maken nadat de installatie is - voltooid. - - - Als de gegevens van monitor en videokaart voorhanden zijn, - kies dan &gui.yes; en druk op Enter om verder - te gaan met het instellen van de X-server. - -
- Menu Instelmethode kiezen - - - - - - -
- - Er zijn diverse manieren om de X-server in te stellen. - Kies een methode met de pijltjestoetsen en druk op - Enter. Lees alle instructies - nauwgezet! - - De methoden xf86cfg en - xf86cfg -textmode kunnen het scherm - zwart maken en hebben enkele seconden nodig om op te - starten. - - Het vervolg laat het gebruik van het hulpprogramma - xf86config zien. De te maken - instellingen hangen af van de hardware in een systeem en wijken - waarschijnlijk af van de keuzes hier: - - Message - You have configured and been running the mouse daemon. - Choose "/dev/sysmouse" as the mouse port and "SysMouse" or - "MouseSystems" as the mouse protocol in the X configuration utility. - - [ OK ] - - [ Press enter to continue ] - - Dit geeft aan dat de muisdaemon al eerder is ingesteld en - ontdekt. Druk op Enter om verder te - gaan. - - Aan het begin toont xf86config - een korte inleiding: - - This program will create a basic XF86Config file, based on menu selections you -make. - -The XF86Config file usually resides in /usr/X11R6/etc/X11 or /etc/X11. A sample -XF86Config file is supplied with XFree86; it is configured for a standard -VGA card and monitor with 640x480 resolution. This program will ask for a -pathname when it is ready to write the file. - -You can either take the sample XF86Config as a base and edit it for your -configuration, or let this program produce a base XF86Config file for your -configuration and fine-tune it. - -Before continuing with this program, make sure you know what video card -you have, and preferably also the chipset it uses and the amount of video -memory on your video card. SuperProbe may be able to help with this. - -Press enter to continue, or ctrl-c to abort. - - Druk op Enter om de muisinstellingen te - maken. Volg de instructies op het scherm en kies Mouse - Systems als protocol voor de muis en - /dev/sysmouse als muispoort, ook als een - PS/2 muis gebruikt wordt zoals getoond ter illustratie. - - First specify a mouse protocol type. Choose one from the following list: - - 1. Microsoft compatible (2-button protocol) - 2. Mouse Systems (3-button protocol) & FreeBSD moused protocol - 3. Bus Mouse - 4. PS/2 Mouse - 5. Logitech Mouse (serial, old type, Logitech protocol) - 6. Logitech MouseMan (Microsoft compatible) - 7. MM Series - 8. MM HitTablet - 9. Microsoft IntelliMouse - -If you have a two-button mouse, it is most likely of type 1, and if you have -a three-button mouse, it can probably support both protocol 1 and 2. There are -two main varieties of the latter type: mice with a switch to select the -protocol, and mice that default to 1 and require a button to be held at -boot-time to select protocol 2. Some mice can be convinced to do 2 by sending -a special sequence to the serial port (see the ClearDTR/ClearRTS options). - -Enter a protocol number: 2 - -You have selected a Mouse Systems protocol mouse. If your mouse is normally -in Microsoft-compatible mode, enabling the ClearDTR and ClearRTS options -may cause it to switch to Mouse Systems mode when the server starts. - -Please answer the following question with either 'y' or 'n'. -Do you want to enable ClearDTR and ClearRTS? n - -You have selected a three-button mouse protocol. It is recommended that you -do not enable Emulate3Buttons, unless the third button doesn't work. - -Please answer the following question with either 'y' or 'n'. -Do you want to enable Emulate3Buttons? y - -Now give the full device name that the mouse is connected to, for example -/dev/tty00. Just pressing enter will use the default, /dev/mouse. -On FreeBSD, the default is /dev/sysmouse. - -Mouse device: /dev/sysmouse - - Het toetsenbord is het volgende onderdeel dat moet worden - ingesteld. Een algemeen 101-toetsen model is getoond ter - illustratie. Als variant mag een willekeurige naam gebruikt - worden of druk gewoon op Enter om de - standaardwaarden te bevestigen. - - Please select one of the following keyboard types that is the better -description of your keyboard. If nothing really matches, -choose 1 (Generic 101-key PC) - - 1 Generic 101-key PC - 2 Generic 102-key (Intl) PC - 3 Generic 104-key PC - 4 Generic 105-key (Intl) PC - 5 Dell 101-key PC - 6 Everex STEPnote - 7 Keytronic FlexPro - 8 Microsoft Natural - 9 Northgate OmniKey 101 - 10 Winbook Model XP5 - 11 Japanese 106-key - 12 PC-98xx Series - 13 Brazilian ABNT2 - 14 HP Internet - 15 Logitech iTouch - 16 Logitech Cordless Desktop Pro - 17 Logitech Internet Keyboard - 18 Logitech Internet Navigator Keyboard - 19 Compaq Internet - 20 Microsoft Natural Pro - 21 Genius Comfy KB-16M - 22 IBM Rapid Access - 23 IBM Rapid Access II - 24 Chicony Internet Keyboard - 25 Dell Internet Keyboard - -Enter a number to choose the keyboard. - -1 - - -Please select the layout corresponding to your keyboard - - - 1 U.S. English - 2 U.S. English w/ ISO9995-3 - 3 U.S. English w/ deadkeys - 4 Albanian - 5 Arabic - 6 Armenian - 7 Azerbaidjani - 8 Belarusian - 9 Belgian - 10 Bengali - 11 Brazilian - 12 Bulgarian - 13 Burmese - 14 Canadian - 15 Croatian - 16 Czech - 17 Czech (qwerty) - 18 Danish - -Enter a number to choose the country. -Press enter for the next page - -1 - - -Please enter a variant name for 'us' layout. Or just press enter -for default variant - -us - - -Please answer the following question with either 'y' or 'n'. -Do you want to select additional XKB options (group switcher, -group indicator, etc.)? n - - Vervolgens wordt de monitor ingesteld. Geef geen waarden - op die verder gaan dan de mogelijkheden van de monitor. Er - kan schade onstaan. Maak bij twijfel deze instellingen pas als - voldoende informatie is verzameld. - - Now we want to set the specifications of the monitor. The two critical -parameters are the vertical refresh rate, which is the rate at which the -whole screen is refreshed, and most importantly the horizontal sync rate, -which is the rate at which scanlines are displayed. - -The valid range for horizontal sync and vertical sync should be documented -in the manual of your monitor. If in doubt, check the monitor database -/usr/X11R6/lib/X11/doc/Monitors to see if your monitor is there. - -Press enter to continue, or ctrl-c to abort. - - - -You must indicate the horizontal sync range of your monitor. You can either -select one of the predefined ranges below that correspond to industry- -standard monitor types, or give a specific range. - -It is VERY IMPORTANT that you do not specify a monitor type with a horizontal -sync range that is beyond the capabilities of your monitor. If in doubt, -choose a conservative setting. - - hsync in kHz; monitor type with characteristic modes - 1 31.5; Standard VGA, 640x480 @ 60 Hz - 2 31.5 - 35.1; Super VGA, 800x600 @ 56 Hz - 3 31.5, 35.5; 8514 Compatible, 1024x768 @ 87 Hz interlaced (no 800x600) - 4 31.5, 35.15, 35.5; Super VGA, 1024x768 @ 87 Hz interlaced, 800x600 @ 56 Hz - 5 31.5 - 37.9; Extended Super VGA, 800x600 @ 60 Hz, 640x480 @ 72 Hz - 6 31.5 - 48.5; Non-Interlaced SVGA, 1024x768 @ 60 Hz, 800x600 @ 72 Hz - 7 31.5 - 57.0; High Frequency SVGA, 1024x768 @ 70 Hz - 8 31.5 - 64.3; Monitor that can do 1280x1024 @ 60 Hz - 9 31.5 - 79.0; Monitor that can do 1280x1024 @ 74 Hz -10 31.5 - 82.0; Monitor that can do 1280x1024 @ 76 Hz -11 Enter your own horizontal sync range - -Enter your choice (1-11): 6 - -You must indicate the vertical sync range of your monitor. You can either -select one of the predefined ranges below that correspond to industry- -standard monitor types, or give a specific range. For interlaced modes, -the number that counts is the high one (e.g. 87 Hz rather than 43 Hz). - - 1 50-70 - 2 50-90 - 3 50-100 - 4 40-150 - 5 Enter your own vertical sync range - -Enter your choice: 2 - -You must now enter a few identification/description strings, namely an -identifier, a vendor name, and a model name. Just pressing enter will fill -in default names. - -The strings are free-form, spaces are allowed. -Enter an identifier for your monitor definition: Hitachi - - Nu volgt de keuze van een videokaartstuurprogramma uit een - lijst. Als de kaart uit een systeem in de lijst staat, blijf - dan op Enter drukken en de lijst herhaalt - zich. Hier wordt slechts een klein deel van de lijst - getoond: - - Now we must configure video card specific settings. At this point you can -choose to make a selection out of a database of video card definitions. -Because there can be variation in Ramdacs and clock generators even -between cards of the same model, it is not sensible to blindly copy -the settings (e.g. a Device section). For this reason, after you make a -selection, you will still be asked about the components of the card, with -the settings from the chosen database entry presented as a strong hint. - -The database entries include information about the chipset, what driver to -run, the Ramdac and ClockChip, and comments that will be included in the -Device section. However, a lot of definitions only hint about what driver -to run (based on the chipset the card uses) and are untested. - -If you can't find your card in the database, there's nothing to worry about. -You should only choose a database entry that is exactly the same model as -your card; choosing one that looks similar is just a bad idea (e.g. a -GemStone Snail 64 may be as different from a GemStone Snail 64+ in terms of -hardware as can be). - -Do you want to look at the card database? y - - - -288 Matrox Millennium G200 8MB mgag200 -289 Matrox Millennium G200 SD 16MB mgag200 -290 Matrox Millennium G200 SD 4MB mgag200 -291 Matrox Millennium G200 SD 8MB mgag200 -292 Matrox Millennium G400 mgag400 -293 Matrox Millennium II 16MB mga2164w -294 Matrox Millennium II 4MB mga2164w -295 Matrox Millennium II 8MB mga2164w -296 Matrox Mystique mga1064sg -297 Matrox Mystique G200 16MB mgag200 -298 Matrox Mystique G200 4MB mgag200 -299 Matrox Mystique G200 8MB mgag200 -300 Matrox Productiva G100 4MB mgag100 -301 Matrox Productiva G100 8MB mgag100 -302 MediaGX mediagx -303 MediaVision Proaxcel 128 ET6000 -304 Mirage Z-128 ET6000 -305 Miro CRYSTAL VRX Verite 1000 - -Enter a number to choose the corresponding card definition. -Press enter for the next page, q to continue configuration. - -288 - -Your selected card definition: - -Identifier: Matrox Millennium G200 8MB -Chipset: mgag200 -Driver: mga -Do NOT probe clocks or use any Clocks line. - -Press enter to continue, or ctrl-c to abort. - - - -Now you must give information about your video card. This will be used for -the "Device" section of your video card in XF86Config. - -You must indicate how much video memory you have. It is probably a good -idea to use the same approximate amount as that detected by the server you -intend to use. If you encounter problems that are due to the used server -not supporting the amount memory you have (e.g. ATI Mach64 is limited to -1024K with the SVGA server), specify the maximum amount supported by the -server. - -How much video memory do you have on your video card: - - 1 256K - 2 512K - 3 1024K - 4 2048K - 5 4096K - 6 Other - -Enter your choice: 6 - -Amount of video memory in Kbytes: 8192 - -You must now enter a few identification/description strings, namely an -identifier, a vendor name, and a model name. Just pressing enter will fill -in default names (possibly from a card definition). - -Your card definition is Matrox Millennium G200 8MB. - -The strings are free-form, spaces are allowed. -Enter an identifier for your video card definition: - - Vervolgens moeten de videomodi voor de gewenste - schermresoluties ingesteld worden. Normaliter zijn 640x480, - 800x600 en 1024x768 goede keuzes, maar dat hangt af van de - mogelijkheden van de videokaart, de afmetingen van de monitor - en comfort voor de ogen. Kies bij het instellen van de - kleurdiepte de hoogste waarde die een kaart aankan. - - For each depth, a list of modes (resolutions) is defined. The default -resolution that the server will start-up with will be the first listed -mode that can be supported by the monitor and card. -Currently it is set to: - -"640x480" "800x600" "1024x768" "1280x1024" for 8-bit -"640x480" "800x600" "1024x768" "1280x1024" for 16-bit -"640x480" "800x600" "1024x768" "1280x1024" for 24-bit - -Modes that cannot be supported due to monitor or clock constraints will -be automatically skipped by the server. - - 1 Change the modes for 8-bit (256 colors) - 2 Change the modes for 16-bit (32K/64K colors) - 3 Change the modes for 24-bit (24-bit color) - 4 The modes are OK, continue. - -Enter your choice: 2 - -Select modes from the following list: - - 1 "640x400" - 2 "640x480" - 3 "800x600" - 4 "1024x768" - 5 "1280x1024" - 6 "320x200" - 7 "320x240" - 8 "400x300" - 9 "1152x864" - a "1600x1200" - b "1800x1400" - c "512x384" - -Please type the digits corresponding to the modes that you want to select. -For example, 432 selects "1024x768" "800x600" "640x480", with a -default mode of 1024x768. - -Which modes? 432 - -You can have a virtual screen (desktop), which is screen area that is larger -than the physical screen and which is panned by moving the mouse to the edge -of the screen. If you don't want virtual desktop at a certain resolution, -you cannot have modes listed that are larger. Each color depth can have a -differently-sized virtual screen - -Please answer the following question with either 'y' or 'n'. -Do you want a virtual screen that is larger than the physical screen? n - - - -For each depth, a list of modes (resolutions) is defined. The default -resolution that the server will start-up with will be the first listed -mode that can be supported by the monitor and card. -Currently it is set to: - -"640x480" "800x600" "1024x768" "1280x1024" for 8-bit -"1024x768" "800x600" "640x480" for 16-bit -"640x480" "800x600" "1024x768" "1280x1024" for 24-bit - -Modes that cannot be supported due to monitor or clock constraints will -be automatically skipped by the server. - - 1 Change the modes for 8-bit (256 colors) - 2 Change the modes for 16-bit (32K/64K colors) - 3 Change the modes for 24-bit (24-bit color) - 4 The modes are OK, continue. - -Enter your choice: 4 - - - -Please specify which color depth you want to use by default: - - 1 1 bit (monochrome) - 2 4 bits (16 colors) - 3 8 bits (256 colors) - 4 16 bits (65536 colors) - 5 24 bits (16 million colors) - -Enter a number to choose the default depth. - -4 - - Tenslotte moeten de instellingen bewaard worden. Geef - /etc/X11/XF86Config op als plaats om de - instellingen te bewaren. - - I am going to write the XF86Config file now. Make sure you don't accidently -overwrite a previously configured one. - -Shall I write it to /etc/X11/XF86Config? y - - Als de instellingen niet juist zijn, kan het nogmaals - geprobeerd worden door &gui.yes; te kiezen als het volgende - bericht verschijnt: - - User Confirmation Requested -The XFree86 configuration process seems to have -failed. Would you like to try again? - - [ Yes ] No - - Selecteer bij moeilijkheden om - &xfree86; in te stellen &gui.no;, - druk op Enter en ga verder met het - installatieproces. Na de installatie kunnen als root de - hulpprogramma's xf86cfg -textmode en - xf86config gebruikt worden om - commandoregelgestuurd instellingen te maken. Er is nog een - methode om &xfree86; in te stellen. - Deze staat beschreven in . Als de keuze is - op dit moment &xfree86; niet in te - stellen, dan is de volgende optie in het menu de - pakketselectie. - - De standaardinstelling om de X-server te beëindigen is - de toetscombinatie CtrlAltBackspace. - Deze kan ook gebruikt worden om schade aan de apparatuur te - voorkomen als er iets mis is met de server. - - De standaardinstelling om van videomodus te wisselen - terwijl de X-server draait is CtrlAlt+ - en CtrlAlt-. - - Als &xfree86; draait kan het - scherm worden aangepast in hoogte, breedte en plaats op de - monitor met xvidtune. - - Er wordt in waarschuwingen gemeld dat foutieve instellingen - hardware kunnen beschadigen. Neem deze in acht. In geval van - twijfel: niet doen! Gebruik in plaats daarvan de instellingen - van de monitor zelf om de weergave van X aan te passen. De - weergave kan veranderen als wordt teruggeschakeld naar - tekstmodus, maar dat is nog altijd beter dan de hardware - beschadigen. - - Lees de handleiding voor &man.xvidtune.1; alvorens - wijzigingen te maken. - - Na het succesvol instellen van - &xfree86; wordt de standaard - bureaubladomgeving gekozen. -
- - - Standaard X bureaubladomgeving kiezen - - - Vanaf &os; 5.3-RELEASE is het instellen van - X-server uit sysinstall verwijderd. - Het installeren en instellen van X-server dient na de - installatie van &os; plaats te vinden. Meer informatie over - de installatie en het instellen van een X-server is te vinden - in . Dit onderdeel kan overgeslagen - worden als &os; versie 5.3-RELEASE of hoger wordt - geïnstalleerd. - - - Er is een verscheidenheid aan window managers beschikbaar. - Ze variëren van erg eenvoudige omgevingen tot volledige - bureaubladomgevingen met een grote hoeveelheid software. - Sommige hebben weinig schijfruimte en geheugen nodig, terwijl - andere met meer mogelijkheden veel meer nodig hebben. De beste - manier om uit te zoeken welke het beste is, is het uitproberen - van een paar verschillende window managers. Ze zijn - beschikbaar in de Portscollectie of als pakketten en kunnen na - de installatie worden toegevoegd. - - Er kan één van de populaire - bureaubladomgevingen geïnstalleerd als standaard - bureaublad. Hierdoor kan direct na de installatie begonnen - worden met productief zijn. - -
- Standaard bureaublad kiezen - - - - - - -
- - Kies een bureaublad met de pijltjestoetsen en druk op - Enter. De installatie van het geselecteerde - bureaublad start. -
- - - Pakketten installeren - - Pakketten zijn voorgebouwde binaire bestanden en zijn een - gemakkelijke manier om software te installeren. - - De installatie van één pakket wordt als - voorbeeld getoond. Er kunnen nog meer pakketten - geïnstalleerd worden als dat wenselijk is. Na de - installatie kan sysinstall - (/stand/sysinstall in &os; versies ouder dan - 5.2) gebruikt worden om extra pakketten te installeren. - - User Confirmation Requested - The FreeBSD package collection is a collection of hundreds of - ready-to-run applications, from text editors to games to WEB servers - and more. Would you like to browse the collection now? - - [ Yes ] No + [ Yes ] No Na het kiezen van &gui.yes; en drukken op Enter verschijnt het menu pakketkeuze:
Pakketcategorie kiezen
- Alle pakketten die aanwezig zijn op het huidige + Alleen pakketten die aanwezig zijn op het huidige installatiemedium zijn beschikbaar voor installatie op dat moment. Alle beschikbare pakketten worden getoond na het selecteren van All, maar er kan ook een bepaalde categorie geselecteerd worden. De categorie kan gekozen worden met de pijltjestoetsen en door te bevestigen met Enter. Dan wordt een menu getoond met alle beschikbare pakketten binnen de gemaakte selectie:
Pakketten selecteren
De shell bash is geselecteerd. Er kunnen zoveel pakketten als wenselijk gekozen worden door ze te selecteren en op de spatiebalk te drukken. Een korte beschrijving van elk pakket verschijnt in de linker benedenhoek van het scherm. Door te drukken op Tab wordt gewisseld tussen het laatst geselecteerde pakket, &gui.ok; en &gui.cancel;. Druk na het selecteren van pakketten voor installatie één keer op Tab om naar &gui.ok; te gaan en druk op Enter om terug te gaan naar het menu pakketkeuze. De linker- en rechterpijltjestoets wisselen eveneens tussen &gui.ok; en &gui.cancel;. Die manier kan ook gebruikt worden om &gui.ok; te kiezen en op Enter te drukken om terug te gaan naar het menu pakketkeuze.
Pakketten installeren
Gebruik Tab en de pijltjestoetsen om [ Install ] te selecteren en druk op Enter. Daarna moet de pakketinstallatie bevestigd worden:
Pakketinstallatie bevestigen
Het selecteren van &gui.ok; en drukken op Enter start de installatie. Er worden installatieberichten getoond tot alle installaties zijn afgerond. Maak een notitie van eventuele foutmeldingen. Na het installeren van pakketten gaat het maken van de laatste instellingen verder. Als er geen pakketten geselecteerd zijn kan om terug te gaan naar het menu toch Install gekozen worden.
Gebruikers en groepen toevoegen - Er moet minstens één gebruiker toevoegd + Er moet minstens één gebruiker toegevoegd worden tijdens de installatie, zodat het systeem gebruikt kan worden zonder als root aan te hoeven melden. De rootpartitie is in het algemeen klein en het draaien van programma's als root kan de schijfruimte snel vullen. Een groter gevaar wordt hieronder aangegeven: User Confirmation Requested Would you like to add any initial user accounts to the system? Adding at least one account for yourself at this stage is suggested since working as the "root" user is dangerous (it is easy to do things which adversely affect the entire system). [ Yes ] No Kies &gui.yes; en druk op Enter om verder te gaan met het toevoegen van een gebruiker.
Gebruiker kiezen
Selecteer User met de pijltjestoetsen en druk op Enter.
Gebruikersinformatie toevoegen
De volgende beschrijvingen verschijnen in het onderste deel van het scherm als opties zijn geselecteerd met Tab en kunnen behulpzaam zijn bij het invullen van de benodigde informatie: Login ID De aanmeldnaam van de nieuwe gebruiker (verplicht). UID Het numerieke ID van de gebruiker (laat leeg voor automatische toewijzing). Group De naam van de aanmeldgroep van de gebruiker (laat leeg voor automatische keuze). Password Het wachtwoord voor de gebruiker (vul dit zorgvuldig in!). Full name De volledige naam van de gebruiker (commentaar). Member groups De groepen waar de gebruiker in zit (waar hij toegangsrechten voor krijgt). Home directory De locatie van de thuismap van de gebruiker (laat leeg voor de standaardwaarde). Login shell De aanmeldshell voor de gebruiker (laat leeg voor de standaardwaarde, zoals /bin/sh). De aanmeldshell is hier veranderd van /bin/sh in /usr/local/bin/bash om de shell bash te gebruiken die eerder is geïnstalleerd als pakket. Probeer geen shell op te geven die niet bestaat, want dan kan niet aangemeld worden. De meest gebruikte shell in de BSD-wereld is de C shell, die aangegeven kan worden als /bin/tcsh. - De gebruiker is ook toegevoegd aan de groep - wheel om het mogelijk te maken superuser - te worden met root-rechten. + De gebruiker is ook toegevoegd aan de groep + wheel om het mogelijk te maken superuser + te worden met root-rechten. + + Druk op &gui.ok; als de instellingen zijn gemaakt om naar + het menu User and Group Management terug te + gaan: + +
+ Gebruikers en groepbeheer + + + + + + +
+ + Op dit moment kunnen ook groepen worden toegevoegd als de + specifieke behoeften bekend zijn. Dit kan ook door + sysinstall + (/stand/sysinstall in &os; versies ouder dan + 5.2) na de installatie te gebruiken. + + Kies na het toevoegen van gebruikers + Exit met de pijltjestoetsen en druk + op Enter om verder te gaan met de + installatie. +
+ + + <username>root</username> wachtwoord instellen + + Message + Now you must set the system manager's password. + This is the password you'll use to log in as "root". + + [ OK ] + + [ Press enter or space ] + + Druk op Enter om het + root wachtwoord in te stellen. + + Het wachtwoord moet twee keer gelijk ingegeven worden. Het + is vast overbodig om op te merken dat het belangrijk is zorg te + dragen voor een manier om het wachtwoord terug te vinden in het + geval het wordt vergeten. Tijdens de ingave van het wachtwoord + wordt dit niet weergegeven en er worden ook geen sterretjes + getoond. + + Changing local password for root. +New password: +Retype new password : + + De installatie gaat verder als het wachtwoord succesvol is + ingevoerd. + + + + Install verlaten + + Als het nodig is om extra netwerkapparaten toe te voegen of + andere instellingen te maken, dan kan dat nu of later met + sysinstall. + + User Confirmation Requested + Visit the general configuration menu for a chance to set any last + options? + + Yes [ No ] + + Selecteer &gui.no; met de pijltjestoetsen en druk op + Enter om terug te gaan naar het menu Main + Installation. + +
+ Install afsluiten + + + + + + +
+ + Selecteer [X Exit Install] met de + pijltjestoetsen en druk op Enter. Er wordt om + bevestiging gevraagd: + + User Confirmation Requested + Are you sure you wish to exit? The system will reboot (be sure to + remove any floppies/CDs/DVDs from the drives). + + [ Yes ] No + + Selecteer &gui.yes; en verwijder de diskette als er van een + diskette is opgestart. Het cd-rom station is op slot tot de + machine begint met herstarten. Het cd-rom station wordt dan + vrijgegeven en de CD kan dan (snel) verwijderd worden. + + Het systeem start op, dus let op eventuele foutberichten + die getoond worden, zie voor meer + details. +
+ + + + + + Tom + Rhodes + Geschreven door + + + + + Extra netwerkdiensten instellen + + Het instellen van netwerkdiensten kan afschrikwekkend zijn + voor nieuwe gebruikers zonder (voldoende) voorkennis op dit + gebied. Netwerken, inclusief Internet, is van levensbelang + voor alle moderne besturingssystemen, inclusief &os;. Als + gevolg daarvan is het handig enig begrip te hebben van de + uitgebreide netwerkmogelijkheden van &os;. Door dit tijdens de + installatie te doen hebben gebruikers in elk geval enige + kennis van de diverse netwerkdiensten die hen ter beschikking + staan. + + Netwerkdiensten zijn programma's die invoer accepteren + vanaf het netwerk. Al het mogelijke is gedaan om er voor te + zorgen dat deze programma's niets schadelijks + doen. Helaas zijn programmeurs niet perfect en in de loop van + de tijd zijn er fouten gevonden in netwerkdiensten die door + aanvallers zijn uitgebuit om slechte dingen te doen. Het is + belangrijk alleen netwerkdiensten aan te zetten die nodig zijn. + Bij twijfel kan een netwerkdienst het beste niet ingeschakeld + worden totdat duidelijk is dat de dienst wél nodig is. + Diensten kunnen later alsnog ingeschakeld worden door + sysinstall nog een keer te draaien + of door middel van de mogelijkheden van het bestand + /etc/rc.conf. + + Het kiezen van de optie Networking toont + het volgende menu: + +
+ Netwerkinstellingen - bovenste opties + + + + + + +
+ + De eerste optie, Interfaces, is + al behandeld in , dus die + wordt overgeslagen. + + Kies AMD voor het toevoegen van + ondersteuning voor het BSD hulpprogramma + voor automatisch mounten. Dit wordt meestal gebruikt in + combinatie met het NFS protocol (zie + verderop) voor het automatisch mounten van externe + bestandssystemen. Hier zijn geen speciale instellingen + nodig. + + De volgende optie is AMD Flags. + Als deze optie wordt selecteert komt er een pop-up menu waarin + de specifieke AMD vlaggen kunnen worden + ingesteld. Het menu bevat al een lijst standaardopties: + + -a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map + + De optie bepaalt de standaard + mountlocatie die is hier ingesteld op + /.amd_mnt. De optie + bepaalt het standaardbestand voor log, + maar als syslogd wordt gebruikt, dan worden + alle acties naar de systeemlogdaemon gestuurd. De map + /host wordt gebruikt om + een geëxporteerd bestandssysteem van een externe host te + mounten, terwijl de map /net wordt gebruikt om een + geëxporteerd bestandssysteem van een + IP-adres te mounten. Het bestand + /etc/amd.map bepaalt de standaardopties + voor AMD exports. + + + FTP + + anoniem + + + De optie Anon FTP staat anonieme + FTP verbindingen toe. Kies deze optie om + van een machine een anonieme FTP server te + maken. Hierbij zijn de beveiligingsimplicaties van belang. Er + wordt een volgend menu getoond om de beveiligingsrisico's en + verdere instellingen te verklaren. + + Het instellingenmenu Gateway + maakt van de machine een gateway, zoals eerder beschreven. + Hier kan de optie Gateway ook + gebruikt worden om de optie uit te zetten als die eerder in de + installatie per ongeluk is aangezet. + + De optie Inetd kan gebruikt + worden om de &man.inetd.8; daemon in te stellen of helemaal + uit te schakelen, zoals boven beschreven. + + De optie Mail kan gebruikt + worden om de standaard MTA (Mail Transfer + Agent) van het systeem in te stellen. Hiervoor wordt het + volgende menu gebruikt: + +
+ Standaard MTA kiezen + + + + + + +
+ + Hier kan gekozen worden welke MTA moet + worden geïnstalleerd en gebruikt. Een + MTA is niets meer dan een mailserver die + mail aflevert bij gebruikers op het systeem of op + Internet. + + Het kiezen van Sendmail + installeert de populaire server + sendmail, die de standaard is voor + &os;. De optie Sendmail local maakt + van sendmail de standaard + MTA, maar zet de mogelijkheid om mail te + ontvangen vanaf het Internet uit. De andere opties, + Postfix en + Exim werken net zo als + Sendmail. Allebei leveren ze mail + af. Sommige gebruikers geven de voorkeur aan deze + alternatieven boven de sendmail + MTA. + + Na het kiezen van een MTA of de keuze + geen MTA te installeren, verschijnt het menu + netwerkinstellingen met als volgende optie + NFS client. + + De optie NFS client stelt het + systeem in om te communiceren met een server via + NFS. Een NFS server + stelt bestandssystemen beschikbaar aan andere machines via het + NFS protocol. Als de te installeren machine + een op zichzelf staande machine is, dan kan deze optie + uitgeschakeld blijven. Het kan zijn dat het systeem later meer + instellingen nodig heeft. In + staat meer informatie over client- en + serverinstellingen. + + De volgende optie is NFS server, + die het mogelijk maakt een systeem in te stellen als + NFS server. Deze optie voegt de nodige + informatie toe om de dienst RPC, + remote procedure call, op te starten. + RPC wordt gebruikt om de verbindingen tussen + hosts en programma's te coördineren. - Druk op &gui.ok; als de instellingen zijn gemaakt om naar - het menu User and Group Management terug te - gaan: + Daarna volgt de optie Ntpdate + die de tijdsynchronisatie afhandelt. Als deze wordt + geselecteerd verschijnt het volgende menu: -
- Gebruikers en groepbeheer +
+ Ntpdate instellingen - +
- Op dit moment kunnen ook groepen worden toegevoegd als de - specifieke behoeften bekend zijn. Dit kan ook door - sysinstall - (/stand/sysinstall in &os; versies ouder dan - 5.2) na de installatie te gebruiken. - - Kies na het toevoegen van gebruikers - Exit met de pijltjestoetsen en druk - op Enter om verder te gaan met de - installatie. - - - - <username>root</username> wachtwoord instellen - - Message - Now you must set the system manager's password. - This is the password you'll use to log in as "root". - - [ OK ] - - [ Press enter to continue ] - - Druk op Enter om het - root wachtwoord in te stellen. - - Het wachtwoord moet twee keer gelijk ingegeven worden. Het - is vast overbodig om op te merken dat het belangrijk is zorg te - dragen voor een manier om het wachtwoord terug te vinden in het - geval het wordt vergeten. Tijdens de ingave van het wachtwoord - wordt dit niet weergegeven en er worden ook geen sterretjes - getoond. - - Changing local password for root. -New password : -Retype new password : - - De installatie gaat verder als het wachtwoord succesvol is - ingevoerd. - - - - Install verlaten - - Als het nodig is om extra netwerkapparaten toe te voegen of - andere instellingen te maken, dan kan dat nu of later met - sysinstall - (/stand/sysinstall in &os; versies ouder dan - 5.2). - - User Confirmation Requested - Visit the general configuration menu for a chance to set any last - options? + Kies uit dit menu de server die het dichtst bij het te + installeren systeem staat. Door het kiezen van een server in + de buurt is de synchronisatie preciezer omdat een verder + gelegen server meer vertraging in de verbinding kan + hebben. - Yes [ No ] + De volgende optie is de PCNFSD selectie. + Deze optie installeert het pakket net/pcnfsd uit de Portscollectie. + Dat is een handig hulpprogramma dat het mogelijk maakt om aan + te melden bij NFS met systemen die zelf geen + aanmeldsysteem hebben, zoals het besturingssysteem &ms-dos; van + µsoft;. - Selecteer &gui.no; met de pijltjestoetsen en druk op - Enter om terug te gaan naar het menu Main - Installation. + Door naar beneden te scrollen in het hoofdmenu worden de + onderstaande opties zichtbaar: -
- Install afsluiten +
+ Netwerkinstellingen - onderste opties - +
- Selecteer [X Exit Install] met de - pijltjestoetsen en druk op Enter. Er wordt om - bevestiging gevraagd: + De hulpprogramma's &man.rpcbind.8;, &man.rpc.statd.8; en + &man.rpc.lockd.8; worden allemaal gebruikt voor Remote + Procedure Calls (RPC). Het + hulpprogramma rpcbind beheert de + communicatie tussen NFS servers en clients + en is noodzakelijk om NFS servers correct te + laten werken. De daemon rpc.statd + communiceert met de daemon rpc.statd + op andere machines om statusinformatie te leveren. De + gerapporteerde status wordt gewoonlijk bijgehouden in het + bestand /var/db/statd.status. De volgende + optie in de lijst is rpc.lockd die, + mits geselecteerd, bestandslockdiensten mogelijk maakt. Dit + wordt meestal gebruikt door + rpc.statd om bij te houden welke + hosts vragen om bestanden te locken en hoe vaak ze dat doen. + Hoewel deze laatste twee opties fantastisch zijn om fouten om + te sporen, zijn ze niet noodzakelijk voor + NFS servers en clients om correct te + werken. - User Confirmation Requested - Are you sure you wish to exit? The system will reboot (be sure to - remove any floppies from the drives). + De dan volgende optie in de lijst is + Routed, een routeringsdaemon. Het + hulpprogramma &man.routed.8; beheert netwerkrouteringstabellen, + ontdekt multicast routers en stelt op verzoek + kopieën van de routeringstabellen ter beschikking aan + fysiek verbonden apparaten. Dit wordt vooral gebruikt door + machines die dienst doen als gateway voor het lokale netwerk. + Na het selecteren van deze optie verschijnt een menu waarin + naar de standaardlocatie van het hulpprogramma wordt gevraagd. + De standaardlocatie is al gedefiniëerd en kan met + Enter worden geactiveerd. Dan komt er een + ander menu dat vraagt om de opties die doorgegeven moeten + worden aan routed op te geven. De + standaard is en die staat al op het + scherm. - [ Yes ] No + Dan volgt de optie Rwhod die, + als geselecteerd, de daemon &man.rwhod.8; inschakelt bij het + opstarten. Het hulpprogramma rwhod zendt + periodiek systeemberichten uit over het netwerk of verzamelt + die in de modus consumer. Meer informatie staat + in de hulppagina's &man.ruptime.1; en &man.rwho.1;. - Selecteer &gui.yes; en verwijder de diskette als er van een - diskette is opgestart. Het cd-rom station is op slot tot de - machine begint met herstarten. Het cd-rom station wordt dan - vrijgegeven en de CD kan dan (snel) verwijderd worden. + De één na laatste optie in de lijst is de + daemon &man.sshd.8;. Dat is de secure shell + server van OpenSSH en deze + wordt sterk aangeraden boven de standaardservers + telnet en FTP. + De server sshd wordt gebruikt om een + veilige verbinding op te zetten van de ene computer naar de + andere door een versleutelde verbinding te gebruiken. - Het systeem start op, dus let op eventuele foutberichten - die getoond worden. + Tenslotte is er de optie + TCP Extensions. Dit schakelt + TCP uitbreidingen in zoals gedefiniëerd + in RFC 1323 en + RFC 1644. Hoewel dit op veel machines + de verbindingen kan versnellen, kan het ook de oorzaak zijn van + het wegvallen van sommige verbindingen. Het wordt niet + aangeraden voor servers, maar voor alleenstaande machines kan + het voordelig zijn. + + Nu de netwerkmogelijkheden zijn ingesteld kan het menu via + Exit verlaten worden en doorgegaan + worden met het instellen in de volgende sectie. &os; opstarten - &os; opstarten op &i386; + &os/&arch.i386; opstarten Als alles goed is gegaan komen er berichten over het scherm rollen en komt dit uit bij de aanmeldprompt. De inhoud van de berichten kan bekeken worden door te drukken op Scroll-Lock en dan met PgUp en PgDn door de tekst heen te lopen. Druk weer op Scroll-Lock om terug te gaan naar de prompt. Het kan zijn dat het totale bericht niet getoond kan worden (beperking van de buffer). Dan kunnen de berichten later bekeken worden op de commandoregel door na het aanmelden dmesg in te geven op de prompt. Meld aan met de gebruikersnaam en het wachtwoord die zijn aangemaakt tijdens de installatie (in dit voorbeeld rpratt). Vermijd het aanmelden als root, behalve als het noodzakelijk is. - Gebruikelijke opstartberichten (versieinformatie + Gebruikelijke opstartberichten (versie-informatie verwijderd): Copyright (c) 1992-2002 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. Timecounter "i8254" frequency 1193182 Hz CPU: AMD-K6(tm) 3D processor (300.68-MHz 586-class CPU) Origin = "AuthenticAMD" Id = 0x580 Stepping = 0 Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX> AMD Features=0x80000800<SYSCALL,3DNow!> real memory = 268435456 (262144K bytes) config> di sn0 config> di lnc0 config> di le0 config> di ie0 config> di fe0 config> di cs0 config> di bt0 config> di aic0 config> di aha0 config> di adv0 config> q avail memory = 256311296 (250304K bytes) Preloaded elf kernel "kernel" at 0xc0491000. Preloaded userconfig_script "/boot/kernel.conf" at 0xc049109c. md0: Malloc disk Using $PIR table, 4 entries at 0xc00fde60 npx0: <math processor> on motherboard npx0: INT 16 interface pcib0: <Host to PCI bridge> on motherboard pci0: <PCI bus> on pcib0 pcib1: <VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0 pci1: <PCI bus> on pcib1 pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11 isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0 isa0: <ISA bus> on isab0 atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 uhci0: <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci0 usb0: <VIA 83C572 USB controller> on uhci0 usb0: USB revision 1.0 uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered chip1: <VIA 82C586B ACPI interface> at device 7.3 on pci0 ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xe800-0xe81f irq 9 at device 10.0 on pci0 ed0: address 52:54:05:de:73:1b, type NE2000 (16 bit) isa0: too many dependant configs (8) isa0: unexpected small tag 14 fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0 fdc0: FIFO enabled, 8 bytes threshold fd0: <1440-KB 3.5" drive> on fdc0 drive 0 atkbdc0: <keyboard controller (i8042)> at port 0x60-0x64 on isa0 atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0 kbd0 at atkbd0 psm0: <PS/2 Mouse> irq 12 on atkbdc0 psm0: model Generic PS/2 mouse, device ID 0 vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 sc0: <System console> at flags 0x1 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0 ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/15 bytes threshold ppbus0: IEEE1284 device found /NIBBLE Probing for PnP devices on ppbus0: plip0: <PLIP network interface> on ppbus0 lpt0: <Printer> on ppbus0 lpt0: Interrupt-driven port ppi0: <Parallel I/O> on ppbus0 ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master using UDMA33 ad2: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata1-master using UDMA33 acd0: CDROM <DELTA OTC-H101/ST3 F/W by OIPD> at ata0-slave using PIO4 Mounting root from ufs:/dev/ad0s1a swapon: adding /dev/ad0s1b as swap device Automatic boot in progress... /dev/ad0s1a: FILESYSTEM CLEAN; SKIPPING CHECKS /dev/ad0s1a: clean, 48752 free (552 frags, 6025 blocks, 0.9% fragmentation) /dev/ad0s1f: FILESYSTEM CLEAN; SKIPPING CHECKS /dev/ad0s1f: clean, 128997 free (21 frags, 16122 blocks, 0.0% fragmentation) /dev/ad0s1g: FILESYSTEM CLEAN; SKIPPING CHECKS /dev/ad0s1g: clean, 3036299 free (43175 frags, 374073 blocks, 1.3% fragmentation) /dev/ad0s1e: filesystem CLEAN; SKIPPING CHECKS /dev/ad0s1e: clean, 128193 free (17 frags, 16022 blocks, 0.0% fragmentation) Doing initial network setup: hostname. ed0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255 inet6 fe80::5054::5ff::fede:731b%ed0 prefixlen 64 tentative scopeid 0x1 ether 52:54:05:de:73:1b lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x8 inet6 ::1 prefixlen 128 inet 127.0.0.1 netmask 0xff000000 Additional routing options: IP gateway=YES TCP keepalive=YES routing daemons:. additional daemons: syslogd. Doing additional network setup:. Starting final network daemons: creating ssh RSA host key Generating public/private rsa1 key pair. Your identification has been saved in /etc/ssh/ssh_host_key. Your public key has been saved in /etc/ssh/ssh_host_key.pub. The key fingerprint is: cd:76:89:16:69:0e:d0:6e:f8:66:d0:07:26:3c:7e:2d root@k6-2.example.com creating ssh DSA host key Generating public/private dsa key pair. Your identification has been saved in /etc/ssh/ssh_host_dsa_key. Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub. The key fingerprint is: f9:a1:a9:47:c4:ad:f9:8d:52:b8:b8:ff:8c:ad:2d:e6 root@k6-2.example.com. setting ELF ldconfig path: /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 standard daemons: inetd cron sshd usbd sendmail. Initial rc.i386 initialization:. rc.i386 configuring syscons: blank_time screensaver moused. Additional ABI support: linux. Local package initialization:. Additional TCP options:. FreeBSD/i386 (k6-2.example.com) (ttyv0) login: rpratt Password: Het aanmaken van de RSA en DSA sleutels kan een tijdje duren op langzamere machines. Dit gebeurt alleen bij de eerste keer aanmelden na een nieuwe installatie. De volgende keren gaan sneller. Als de X-server ingesteld is en er een standaard desktop is gekozen, dan kan die worden gestart door startx in te geven op de commandoregel. - &os; opstarten op Alpha + &os/&arch.alpha; opstarten Alpha Nadat de installatieprocedure voltooid is, kan &os; starten door iets als onderstaand in te voeren op de SRM prompt: >>>BOOT DKC0 Dit geeft de firmware de opdracht op te starten vanaf de aangegeven schijf. Gebruik om &os; in de toekomst automatisch op te laten starten deze commando's: >>> SET BOOT_OSFLAGS A >>> SET BOOT_FILE '' >>> SET BOOTDEF_DEV DKC0 >>> SET AUTO_ACTION BOOT De opstartberichten zijn vergelijkbaar (maar niet hetzelfde) als tijdens het opstarten van &os; op &i386;. &os; uitschakelen Het is belangrijk om het besturingssysteem op de juiste manier uit te schakelen. Schakel niet gewoon de stroom uit. Neem eerst de rol van superuser aan door su in te geven op de commandoregel en het root wachtwoord in te geven. Dit kan alleen als gebruiker die lid is van de groep wheel. Anders moet eerst worden aangemeld als root. Gebruik shutdown -h now om het systeem uit te schakelen. The operating system has halted. Please press any key to reboot. Het is veilig om de stroom uit te schakelen als na het commando shutdown het bericht Please press any key to reboot getoond wordt. Als een toets wordt ingedrukt in plaats van het uitschakelen van de stroom, dan start het systeem opnieuw. De combinatie CtrlAltDel kan ook gebruikt worden om het systeem te herstarten, maar dit wordt niet aangeraden tijdens normaal gebruik. - - Ondersteunde hardware - - hardware - - &os; draait momenteel op een grote hoeveelheid ISA, VLB, EISA - en PCI bus-gebaseerde PC's met Intel, AMD, Cyrix of NexGen - x86 processoren en ook op een aantal machines - gebaseerd op de Compaq Alpha processor. Ondersteuning voor - algemene IDE of ESDI schijfopstellingen, diverse SCSI - controllers, PCMCIA kaarten, USB apparaten en netwerk- en - serieële-kaarten is ook aanwezig. &os; ondersteunt ook - de microchannel (MCA) bus van IBM. - - Een lijst van ondersteunde hardware wordt meegeleverd met - elke &os; versie in de &os; Hardware Notes. Dit document kan - normaliter gevonden worden in een bestand genaamd - HARDWARE.TXT, in de hoofdmap van een cd-rom - of FTP distributie of in het documentatiemenu van - sysinstall. Dit document geeft voor - een bepaalde architectuur een opsomming van de hardware waarvan - bekend is dat ze ondersteund wordt door elke versie van &os;. - Kopieën van de ondersteunde hardwarelijst voor de diverse - versies en architecturen kunnen ook gevonden worden op de pagina - Release - Information van de &os; website. - - Problemen oplossen installatie problemen oplossen Dit onderdeel behandelt het oplossen van installatieproblemen, zoals veel voorkomende problemen die gebruikers hebben gerapporteerd. Er is ook een aantal vragen en antwoorden voor mensen die een systeem willen hebben met zowel - &os; als &ms-dos; (dual-boot). + &os; als &ms-dos; of &windows; (dual-boot). Wat als er iets misgaat? Door de beperkingen van de PC-architectuur is het onmogelijk om 100% betrouwbaar een hardware-onderzoek te doen, - maar er zijn een paar dingen die wel gedaan kunnen - worden. + maar er zijn een paar dingen die wel gedaan kunnen worden in + geval van storingen. - Controleer het Hardware Notes document voor de versie van - &os; om er zeker van te zijn dat de hardware ondersteund - wordt. + Controleer het Hardware + Notes document voor uw versie van &os; om er zeker van + te zijn dat de hardware ondersteund wordt. Als de hardware wordt ondersteund, maar het systeem loopt - nog steeds vast of heeft andere problemen, herstart dan de - computer en als de visuele kernelinstellingoptie wordt getoond, - kies die dan. Dit maakt het mogelijk om door de hardware te - gaan en informatie over die hardware aan het systeem te geven. - De kernel op de opstartschijven gaat er vanuit dat de hardware + nog steeds vast of heeft andere problemen, dient u een eigen kernel te bouwen. Dit maakt + het mogelijk om ondersteuning voor apparaten toe te voegen de + niet in de GENERIC kernel zitten. De + kernel op de opstartschijven gaat er vanuit dat de hardware ingesteld is op de fabrieksinstellingen wat betreft IRQ's, IO adressen en DMA kanalen. Als de hardware anders is ingesteld, dan moet waarschijnlijk de instellingeneditor gebruikt worden om &os; te vertellen waar de apparaten te vinden zijn. Het is ook mogelijk dat een onderzoek naar een apparaat dat niet aanwezig is een probleem veroorzaakt bij een later onderzoek naar een ander apparaat dat er wel is. In dat geval moet het conflicterende stuurprogramma uitgeschakeld worden. Sommige installatieproblemen kunnen voorkomen of verminderd worden door de firmware op de diverse hardwarecomponenten bij te werken, zeker als het om het moederbord gaat. De firmware voor een moederbord wordt ook aangeduid als het BIOS en de meeste moederbord- en computerfabrikanten hebben een website waar upgrades en upgrade-informatie beschikbaar is. De meeste fabrikanten raden sterk af om het BIOS te upgraden, tenzij er een goede reden voor is, zoals bijvoorbeeld een kritische update. Het upgradeproces kan misgaan, wat beschadiging van de BIOS chip kan veroorzaken. - - - Schakel geen stuurprogramma's uit die nodig zijn tijdens - de installatie, zoals het scherm - (sc0). Als de installatie vastloopt - of op mysterieuze wijze misgaat na het verlaten van de - instellingeneditor, dan is waarschijnlijk iets verwijderd of - veranderd dat beter niet verwijderd of veranderd had kunnen - worden. Herstart en probeer het opnieuw. - - - De instellingenmodus geeft gelegenheid om: - - - - Een lijst te maken van de stuurprogramma's die - geïnstalleerd zijn in de kernel; - - - - Stuurprogramma's van hardware die niet aanwezig is in - een systeem uit te schakelen; - - - - IRQ's, DRQ's en IO-poort adressen die door een - stuurprogramma worden gebruikt te veranderen. - - - - Na het aanpassen van de kernel aan de - hardware-instellingen, kan Q ingegeven - worden om op te starten met de nieuwe instellingen. Als de - installatie klaar is, worden de in de instellingenmodus - gemaakte wijzigingen opgeslagen, zodat ze niet bij iedere start - opnieuw ingesteld hoeven worden. Het is desalniettemin - waarschijnlijk dat op een gegeven moment een aangepaste kernel wenselijk - is. - - - - Omgang met bestaande &ms-dos;-partities - - DOS - - Veel gebruikers willen &os; installeren op een - PC waarop reeds µsoft; gebaseerde - besturingssystemen zijn geïnstalleerd. Voor die gevallen - heeft &os; een hulpprogramma genaamd - FIPS. Dit hulpprogramma staat in de - map tools op de installatie cd-rom of kan - gedownload worden van één van de vele &os; mirrors. - - Met het hulpprogramma FIPS kan - een bestaande &ms-dos;-partitie gedeeld worden in twee stukken, - waarbij de oorspronkelijke partitie in stand blijft, zodat op - het het tweede, vrije deel geïnstalleerd kan worden. - Eerst moet de &ms-dos;-partitie gedefragmenteerd worden met het - &windows; hulpprogramma - Disk Defragmenter (open de - verkenner, klik met de rechter muisknop op de harde schijf en - selecteer het defragmenteren van de harde schijf) of gebruik - Norton Disk Tools. Daarna kan - FIPS gedraaid worden. Dit vraagt de - benodigde informatie en de instructies op het scherm kunnen - verder opgevolgd worden. Daarna kan het systeem opnieuw - gestart worden om &os; te installeren op het nieuwe vrije - deel. In het menu Distributions - kan een schatting gemaakt worden voor de benodigde vrije ruimte - voor de het type installatie dat gewenst is. - - Er is ook een handig product van PowerQuest (http://www.powerquest.com), - &partitionmagic;. Deze applicatie - heeft veel meer functionaliteit dan - FIPS en wordt sterk aangeraden als - het plan is om vaak besturingssystemen toe te voegen en te - verwijderen. Het kost geld, dus als het de bedoeling is om - &os; te installeren en geïnstalleerd te houden, dan is - FIPS waarschijnlijk goed - genoeg. &ms-dos; en &windows; bestandssystemen gebruiken &os; ondersteunt geen bestandssystemen die gecomprimeerd zijn met het programma Double Space™. Daarom moet het bestandssysteem - eerst gedecomprimeerd worden voordat &os; de data kan + eerst gedecomprimeerd worden voordat &os; de gegevens kan benaderen. Dit kan met de Compression Agent, te vinden in het menu Start> Programma's > Bureau-accessoires > Systeemwerkset. - &os; kan &ms-dos; gebaseerde bestandssystemen ondersteunen. - Daarvoor dient &man.mount.msdosfs.8; gebruikt te worden - met de noodzakeijke parameters. Het normale gebruik van dit - hulpprogramma is: + &os; kan &ms-dos; gebaseerde bestandssystemen (soms FAT + bestandssystemen genoemd) ondersteunen. Het commando + &man.mount.msdosfs.8; plaatst zulke bestandssystemen in de + bestaande maphierarchie, waardoor de inhoud van het + bestandssysteem benaderd kan worden. Het programma + &man.mount.msdosfs.8; wordt normaliter niet direct gebruikt; in + plaats hiervan wordt het aangeroepen door een regel in + /etc/fstab of door een aanroep van het + gereedschap &man.mount.8; met de juiste parameters. + + Een typische regel in /etc/fstab is: + + + /dev/ad0sN /dos msdosfs rw 0 0 + + + De map /dos moet reeds bestaan om dit + te laten werken. Zie &man.fstab.5; voor details over het + formaat van /etc/fstab. + + + Een typische aanroep naar &man.mount.8; voor een &ms-dos; + bestandssysteem ziet er uit als: - &prompt.root; mount_msdosfs /dev/ad0s1 /mnt + &prompt.root; mount -t msdosfs /dev/ad0s1 /mnt In dit voorbeeld staat het &ms-dos; bestandssysteem op de eerste partitie van de primaire harde schijf. Iedere situatie kan anders zijn, dus controleer de uitvoer van de commando's dmesg en mount. Dat zou voldoende informatie moeten leveren om een idee te vormen over het partitieschema. - Extended &ms-dos; bestandssystemen worden meestal - opgeslagen na de &os;-partities. Met andere woorden: het - slicenummer kan hoger zijn dan die voor - &os; wordt gebruikt. Bijvoorbeeld: de eerste - &ms-dos;-partitie kan zijn /dev/ad0s1, - de &os;-partitie kan zijn /dev/ad0s2 en - de extended &ms-dos;-partitie kan staan op - /dev/ad0s3. Voor sommigen kan dit in - het begin verwarrend zijn. + &os; kan schijfstukken (dat zijn &ms-dos; partities) + anders nummeren dan andere besturingssystemen. In het + bijzonder krijgen extended &ms-dos; partities gewoonlijk + hogere schijfstuknummers dan primaire &ms-dos; partities. Het + gereedschap &man.fdisk.8; kan helpen te bepalen welke + schijfstukken bij &os; en welke bij andere besturingssystemen + horen. NTFS-partities kunnen op soortgelijke manier aangekoppeld worden met het commando &man.mount.ntfs.8;. - Vragen en antwoorden voor Alpha gebruikers - - Alpha - - In dit onderdeel wordt antwoord gegeven op gebruikelijke - vragen bij het installeren van &os; op Alpha systemen. + Vragen en antwoorden bij het oplossen van problemen - Is opstarten van de ARC of Alpha BIOS Console - mogelijk? + Mijn systeem hangt bij het opsporen van hardware + tijdens het opstarten, of het gedraagt zich vreemd tijdens + het installeren, of de floppydrive wordt niet onderzocht. + - ARC + + &os; maakt veelvuldig gebruik van de ACPI-diensten van + het systeem op de i386, amd64 en ia64 platformen bij het + helpen van de systeemconfiguratie als het tijdens het + opstarten is gedetecteerd. Helaas bestaan er nog enkele + bugs in zowel het ACPI-stuurprogramma als in sommige + systeemmoederborden en BIOSsen. ACPI kan worden + uitgeschakeld door de hint + hint.acpi.0.disabled in te stellen in + de derde-fase-bootloader: + + set hint.acpi.0.disabled="1" + + Dit wordt telkens wanneer het systeem opnieuw wordt + opgestart teruggezet, dus is het nodig om + hint.acpi.0.disabled="1" aan het + bestand /boot/loader.conf toe te + voegen. Meer informatie over de bootloader kan worden + gevonden in . + + + + + + Ik ga naar opstarten van harde schijf voor de eerste + keer na het installeren van &os;, de kernel laadt en + onderzoekt mijn hardware, maar stopt met berichten zoals + deze: + + changing root device to ad1s1a panic: cannot mount root - Alpha BIOS + Wat is er verkeerd? Wat kan ik doen? - SRM + Wat is dit + bios_drive:interface(unit,partition)kernel_name + dat wordt weergegeven met de opstarthulp? + - Nee. &os; kan, net als Compaq Tru64 en VMS, alleen - opstarten vanaf de SRM console. + Er is een langdurig probleem in het geval dat de + opstartschijf niet de eerste schijf in het systeem is. + Het BIOS gebruikt een ander nummeringsschema dan &os;, en + uitzoeken welke nummers met welke overeenkomen is lastig + goed te krijgen. + + In het geval dat de opstartschijf niet de eerste + schijf in het systeem is, kan &os; wel wat hulp gebruiken + om het te vinden. Er zijn hier twee bekende situaties, en + in beide gevallen dient u &os; te vertellen waar het + root-bestandssysteem zich bevindt. U kunt dit doen door + het BIOS schijfnummer te specificeren, het soort schijf en + het &os; schijfnummer voor die soort. + + De eerste situatie is wanneer u twee IDE-schijven + heeft, elk geconfigureerd als de meester op hun + respectievelijke IDE-bus, en u &os; wilt opstarten vanaf + de tweede schijf. Het BIOS ziet dit als schijf 0 en + schijf 1, terwijl &os; ze als ad0 + en ad2. + + &os; staat op BIOS schijf 1, van het soort + ad en het &os; schijfnummer is 2, dus + geldt: + + 1:ad(2,a)kernel + + Merk op dat indien u een slaaf op de primaire bus + heeft, bovenstaande niet nodig is (en effectief onjuist + is). + + De tweede situatie is omvat opstarten van een + SCSI-schijf wanneer u één of meer + IDE-schijven in het systeem heeft. In dit geval is het + &os; schijfnummer lager dan het BIOS schijfnummer. Als u + twee IDE-schijven alsook de SCSI-schijf heeft, dan is de + SCSI-schijf BIOS schijf 2, soort da en + &os; schijfnummer 0, dus geldt: + + 2:da(0,a)kernel + + wanneer u &os; wilt vertellen dat u van BIOS schijf 2 + wilt opstarten, welke de eerste SCSI-schijf in het systeem + is. Als u slechts één IDE-schijf had, zou + 1: gegolden hebben. + + Wanneer u de juiste waardes heeft bepaald om te + gebruiken, kunt u het commando precies zoals u het zou + typen in het bestand /boot.config + plaatsen met een standaard tekstverwerker. Tenzij anders + geïnstrueerd, gebruikt &os; de inhoud van dit bestand + als het standaardantwoord op de prompt + boot:. - Help, er is geen ruimte! Moet eerst alles - weggegooid worden? + Ik ga naar opstarten van harde schijf voor de eerste + keer na de installatie van &os;, maar de prompt van de + Boot Manager geeft telkens alleen F? + weer in het opstartmenu maar het opstarten gaat niet + verder. - Ja, helaas wel. + De geometrie van de harde schijf was verkeerd + ingesteld in de partitiebewerker toen u &os; installeerde. + Ga terug naar de partitiebewerker en specificeer de + eigenlijke geometrie van uw harde schijf. U moet &os; + weer van het begin af herinstalleren met de juiste + geometrie. + + Als u geheel faalt in het bepalen van de juiste + geometrie van uw machine, is hier een tip: Installeer een + kleine DOS partitie aan het begin van de schijf en + installeer &os; na die partitie. Het installatieprogramma + zal de DOS partitie zien en proberen de juiste geometrie + er uit af te leiden, wat gewoonlijk werkt. + + De volgende tip wordt niet meer aangeraden, maar is + hier achtergelaten ter referentie: + +
+ Als u een echt toegewijde &os; server of werkstation + installeert waar u geen (toekomstige) compatibiliteit + met DOS, Linux of een ander besturingssysteem wilt, + heeft u ook de mogelijkheid om de gehele schijf + (A in de partitiebewerker) te + gebruiken, de niet-standaard optie selecterende waarbij + &os; de gehele schijf van de allereerste tot de + allerlaatste sector beslaat. Dit laat alle + geometrieoverwegingen buiten beschouwing, maar is wat + beperkend tenzij u nooit iets anders dan &os; op een + schijf gaat draaien. +
- Kunnen Compaq Tru64 of VMS bestandssystemen - aangekoppeld worden? + Het systeem vindt mijn &man.ed.4; netwerkkaart, maar + ik blijf apparaat-timeout-fouten krijgen. - Nee, niet op dit moment. + Uw kaart zit waarschijnlijk op een andere IRQ dan wat + is gespecificeerd in het bestand + /boot/device.hints. Het + stuurprogramma &man.ed.4; gebruikt standaard niet de + soft-configuratie (waardes gegeven met + EZSETUP in DOS), maar het zal de softwareconfiguratie + gebruiken wanneer u -1 specificeert in + de hints voor de interface. + + Verplaats òf de jumper op de kaart naar een + vaste configuratie-instelling (pas indien nodig de + kernelinstellingen aan), òf specificeer het IRQ als + -1 door de hint + hint.ed.0.irq="-1" in te stellen. Dit + vertelt de kernel om de softconfiguratie te gebruiken. + + + Een andere mogelijkheid is dat uw kaart op IRQ 9 zit, + welke gedeeld is met IRQ 2 en vaak een bron van problemen + is (al helemaal wanneer u een VGA-kaart heeft die IRQ 2 + gebruikt!). U dient IRQ 2 en 9 te vermijden indien + mogelijk.
Valentino Vaschetto Geschreven door Installeren voor gevorderden In dit onderdeel wordt het installeren van &os; in bijzondere situaties beschreven. &os; installeren op een systeem zonder monitor of toetsenbord installatie zonder monitor en toetsenbord (seriële console) seriële console Dit type installatie heet ook wel een headless install, omdat de met &os; te installeren machine of geen monitor heeft aangesloten of zelfs geen VGA-uitvoer heeft. Hoe is dat mogelijk, kan de vraag zijn. Dat kan met een seriële console. Een seriële console is gewoonweg een andere machine die optreedt als monitor en toetsenbord voor een systeem. Om dit te doen moeten eerst opstartdiskettes gemaakt worden, zoals beschreven in . Volg de volgende stappen om deze diskettes aan te passen om op te starten met een seriële console: Opstartdiskettes geschikt maken voor een seriële console mount Als wordt opgestart van de zojuist gemaakt diskettes, start &os; op in de normale installatiemodus. &os; moet echter opstarten naar een seriële console voor de installatie. Om dit te regelen moet de diskette met - kern.flp gekoppeld worden aan het + boot.flp gekoppeld worden aan het &os; systeem met het commando &man.mount.8;. &prompt.root; mount /dev/fd0 /mnt Nu de diskette is aangekoppeld kan de map /mnt worden geopend: &prompt.root; cd /mnt Hier moet de diskette worden ingesteld om naar een seriële console op te starten. Maak een bestand genaamd boot.config met daarin /boot/loader -h. Dit geeft een instelling aan de bootloader door om naar een seriële console te starten. &prompt.root; echo "/boot/loader -h" > boot.config Nu de diskette goed is ingesteld moet deze weer afgekoppeld worden met &man.umount.8;: &prompt.root; cd / &prompt.root; umount /mnt Nu kan de diskette uit het diskettestation gehaald worden. Null-modem kabel aansluiten null-modem kabel Nu moeten de twee machines verbonden worden met een null-modem kabel. De kabel kan gewoon aangesloten worden tussen de seriële poorten van de machines. Een gewone seriële kabel werkt niet, er is een null-modem kabel nodig omdat daarin sommige draden kruiselings zijn verbonden. Opstarten voor het installeren Nu is het tijd om te beginnen met installeren. Steek - de diskette kern.flp in het station + de diskette boot.flp in het station van de machine die headless wordt geïnstalleerd en zet hem aan. Verbinden met de headless machine cu Nu moet verbinding gemaakt worden met die machine met &man.cu.1;: - &prompt.root; cu -l /dev/cuaa0 + &prompt.root; cu -l /dev/cuad0 Dat is alles! De headless machine kan bediend worden via de cu sessie. Het installatieprogramma - vraagt de diskette mfsroot.flp in te geven + vraagt de diskette kern1.flp in te geven en vraagt dan wat voor terminal er gebruikt moeten worden. Selecteer de &os; color console en ga verder met de installatie! Aangepaste installatiemedia maken Om herhaling te voorkomen: &os;-schijf betekent in deze context een &os; cd-rom of DVD die gekocht is of zelf is gemaakt. Er kunnen zich situaties voordoen waarin aangepaste &os; installatiemedia en/of bronnen gemaakt moeten worden. Dat kunnen fysieke media zijn zoals een tape of een bron die sysinstall kan gebruiken om bestanden op te halen, zoals een lokale FTP site of een &ms-dos;-partitie. Bijvoorbeeld: Er zijn veel machines aangesloten op een lokaal netwerk en er is maar één &os;-schijf. Er moet een lokale FTP site gemaakt worden met de inhoud van de &os; schijf en vervolgens gebruiken andere machines die in plaats van steeds naar het Internet te moeten. Er is een &os;-schijf, &os; herkent de CD/DVD-speler niet, maar &ms-dos;/&windows; wel. De &os; installatiebestanden moeten gekopieerd worden naar een DOS-partitie op dezelfde computer en dan moet &os; geïnstalleerd worden met die bestanden. De computer die geïnstalleerd moet worden heeft geen CD/DVD-speler of netwerkkaart, maar kan wel verbonden worden via een Laplink-achtige seriële of parallelle kabel met een computer die wel een CD/DVD-speler heeft. Er moet een tape gemaakt worden die gebruikt kan worden om &os; te installeren. Installatie cd-rom maken - Als onderdeel van elke versie stelt het &os; project twee - cd-rom images beschikbaar (ISO images). Deze + Als onderdeel van elke versie stelt het &os; project + tenminste twee CDROM images beschikbaar (ISO + images) per ondersteunde architectuur. Deze images kunnen op een CD-R gebrand worden en dan gebruikt worden om &os; te installeren. Als een CD-schrijver aanwezig is en bandbreedte is goedkoop, dan is dit de makkelijkste manier om &os; te installeren. De juiste ISO images downloaden De ISO images voor iedere versie kunnen worden gedownload van ftp://ftp.FreeBSD.org/pub/FreeBSD/ISO-IMAGES-arch/versie of de dichtstbijzijnde mirror. Vervang arch en versie door de gewenste waarden. De bovenstaande map bevat meestal de volgende images: - &os; 4.<replaceable>X</replaceable> ISO imagenamen en verklaring - - - - - Bestandsnaam - - Bevat - - - - - - versie-RELEASE-arch-miniinst.iso - - Alles wat nodig is om &os; te - installeren. - - - - versie-RELEASE-arch-disc1.iso - - Alles wat nodig is om &os; te installeren en - zoveel additionele pakketten van derde partijen als - op de schijf passen. - - - - - versie-RELEASE-arch-disc2.iso - - Een live bestandssyteem dat - gebruikt wordt in samenwerking met de optie - Repair in - sysinstall. Een kopie - van de &os; CVS boom. Zoveel additionele pakketten - van derde partijen als op de schijf passen. - - - -
- - - FreeBSD 5.<replaceable>X</replaceable> ISO imagenamen en verklaring + FreeBSD 6.<replaceable>X</replaceable> en + 7.<replaceable>X</replaceable> ISO imagenamen en + verklaring Bestandsnaam Bevat versie-RELEASE-arch-bootonly.iso Alles wat nodig is om in een &os; kernel te starten en in het installatieprogramma te komen. De installatiebestanden dienen van FTP of een andere ondersteunde bron te komen. - - versie-RELEASE-arch-miniinst.iso - - Alles wat nodig is om &os; te - installeren. - - versie-RELEASE-arch-disc1.iso Alles wat nodig is om &os; te installeren en een live bestandssyteem dat gebruikt wordt in samenwerking met de optie Repair in sysinstall. versie-RELEASE-arch-disc2.iso - &os; documentatie en zoveel programma's van - derde partijen als op de schijf passen. + Zoveel programma's van derde partijen als op de + schijf passen. + + + + versie-RELEASE-arch-docs.iso + + &os; documentatie.
- Of het mini ISO image of het disc one image + Of het bootonly ISO image of het disc one image moet gedownload worden. Download niet - beiden, want disc one bevat alles wat ook op het miniinst + beiden, want disc one bevat alles wat ook op het bootonly ISO image staat. - - Het miniinst ISO image is alleen beschikbaar voor - releases voor 5.4-RELEASE. - - - Gebruik de miniinst ISO als toegang tot internet + Gebruik de bootonly ISO als toegang tot Internet goedkoop is. Hiermee kan &os; geïnstalleerd worden, waarna pakketten van derde partijen gedownload en geïnstalleerd kunnen worden via het ports/packages systeem (zie ). - Gebruik het disc one image om een redelijke hoeveelheid - pakketten op de installatieschijf te kiezen. + Gebruik het disc one image om een uitgave van &os; te + installeren en een redelijke hoeveelheid pakketten op de + schijf te installeren. De additionele disc images zijn nuttig, maar niet noodzakelijk, zeker niet als er breedband toegang tot - internet is. + Internet is.
CD's branden Daarna moeten de CD images op een schijf gebrand worden. Als dat wordt gedaan op een ander &os; systeem, dan staat in meer informatie (meer in het bijzonder in en ). Als de CD's op een ander platform worden gebrand, gebruik dan de op dat platform beschikbare hulpprogramma's om een CD-brander aan te sturen. De images zijn samengesteld in het standaard ISO-formaat dat ondersteund wordt door de meeste CD-brandprogramma's.
Als er interesse is in het bouwen van een aangepaste versie van &os; dan staat hierover informatie in het Release Engineering artikel.
Een lokale FTP site maken met een &os;-schijf installatie netwerk FTP &os;-schijven zijn op dezelfde manier ingedeeld als de FTP site. Dat maakt het erg gemakkelijk om een lokale FTP site te maken die gebruikt kan worden door andere machines op een netwerk bij het installeren van &os;. Op de &os; computer die de FTP site bevat moet de cd-rom in het cd-rom station zitten en aangekoppeld zijn op /cdrom. &prompt.root; mount /cdrom Maak een gebruikersaccount voor anonieme FTP toegang in /etc/passwd het bestand te bewerken met &man.vipw.8; en de volgende regel toe te voegen: ftp:*:99:99::0:0:FTP:/cdrom:/nonexistent Zorg ervoor dat de dienst FTP aan staat in /etc/inetd.conf. Iedereen met een netwerkverbinding naar de machine kan nu als mediumtype FTP kiezen en ftp://de-machine ingeven na het kiezen van Other in het menu FTP sites tijdens de installatie. Als de bootmedia (meestal diskettes) voor een FTP client niet precies dezelfde versie hebben als die van de lokale FTP site, dan kan sysinstall de installatie niet volledig afronden. Als de versies niet gelijk zijn, dan kan in het menu Options de distributienaam gewijzigd worden in any. Deze aanpak is in orde voor een machine die aan een lokaal netwerk hangt en beschermd wordt door een firewall. Het aanbieden van FTP-diensten aan andere machines over - internet (en niet alleen het lokale netwerk) stelt een + Internet (en niet alleen het lokale netwerk) stelt een computer bloot aan de aandacht van krakers en andere ongewenste personen. We raden sterk aan om voldoende voorzorgsmaatregelen te nemen als hiervoor wordt gekozen. Installatiediskettes maken installatie diskettes Als wordt geïnstalleerd met diskettes (we adviseren om dit niet te doen), hetzij vanwege niet ondersteunde hardware of eenvoudigweg omdat de persoon die installeert er op staat dingen op de moeilijkste manier te doen, dan moeten eerst diskettes gemaakt worden voor de installatie. - Er zijn minstens zoveel 1.44 MB of 1.2 MB - diskettes nodig als nodig zijn om alle bestanden die in de map - bin (binaire distributie) staan op te + Er zijn minstens zoveel 1.44 MB diskettes nodig als + nodig zijn om alle bestanden die in de map + base (basisdistributie) staan op te slaan. Als de diskettes worden gemaakt vanuit DOS, dan moeten ze geformatteerd worden met het &ms-dos; commando FORMAT. Als &windows; wordt gebruikt, formatteer de schijven dan via de verkenner - (rechtermuis-klik op A: en kies dan + (rechtermuisklik op A: en kies dan Format). Vertrouw voorgeformatteerde schijven niet. Formatteer ze voor de zekerheid opnieuw. Veel door gebruikers gerapporteerde problemen kwamen voort uit het gebruik van verkeerd geformatteerde media, vandaar dat dit punt hier wordt benadrukt. Als de diskettes worden gemaakt op een andere &os; machine is formatteren nog steeds geen slecht idee, hoewel niet op elke diskette een DOS bestandssysteem nodig is. Met de commando's bsdlabel en newfs kan er een UFS bestandssysteem op gezet worden, zoals met de volgende commando's wordt getoond (voor een 3.5" 1.44 MB diskette): &prompt.root; fdformat -f 1440 fd0.1440 -&prompt.root; bsdlabel -w -r fd0.1440 floppy3 +&prompt.root; bsdlabel -w fd0.1440 floppy3 &prompt.root; newfs -t 2 -u 18 -l 1 -i 65536 /dev/fd0 - - Gebruik fd0.1200 en - floppy5 voor 5.25" 1.2 MB - diskettes. - - Daarna kunnen ze aangekoppeld en beschreven worden als elk ander bestandssysteem. Nadat de diskettes zijn geformatteerd moeten de bestanden op de diskettes gezet worden. De distributiebestanden zijn opgedeeld in porties zodat vijf stuks gemakkelijk op een ouderwetse 1.44 MB diskette passen. Ga door met alle diskettes en zet zoveel bestanden als mogelijk op elke diskette tot alle distributies op die manier gekopiëerd zijn. Elke distributie moet in een submap op de diskette komen, - bijvoorbeeld: a:\bin\bin.aa, - a:\bin\bin.ab, enzovoorts. + bijvoorbeeld: a:\base\base.aa, + a:\base\base.ab, enzovoorts. + + + Het bestand base.inf dient ook op de + eerste diskette van de base verzameling + te staan aangezien het door het installatieprogramma wordt + gelezen om uit te zoeken naar hoeveel aanvullende delen te + kijken wanneer de distributie opgehaald en aan elkaar geregen + wordt. + Als tijdens de installatie het scherm Media verschijnt kan Floppy gekozen worden en het installatiesysteem vraagt daarna om de overige diskettes. Installeren vanaf een &ms-dos;-partitie installatie van &ms-dos; Om een installatie voor te bereiden vanaf een &ms-dos;-partitie kunnen alle bestanden vanaf de distributie in een map genaamd freebsd in de hoofdmap van de partitie gezet worden, bijvoorbeeld c:\freebsd. De mappenstructuur van de cd-rom of FTP site moet gedeeltelijk worden gereproduceerd in deze map, dus we raden aan het DOS commando xcopy te gebruiken als de bron een cd-rom is. Om bijvoorbeeld een minimale installatie van &os; voor te bereiden: C:\> md c:\freebsd C:\> xcopy e:\bin c:\freebsd\bin\ /s C:\> xcopy e:\manpages c:\freebsd\manpages\ /s Hierbij wordt aangenomen dat C: de schijf is met voldoende vrije ruimte en dat E: het cd-rom station is. Als er geen cd-rom station is, dan kan de distributie gedownload worden van ftp.FreeBSD.org. Elke distributie heeft zijn eigen map. De base distributie staat bijvoorbeeld in de map &rel.current;/base/. Kopiëer de vanaf een &ms-dos;-partitie te installeren distributies (en waar schijfruimte voor is) en plaats ze elk onder c:\freebsd. De distributie BIN is de enige noodzakelijke voor een minimale installatie. Installeren van tape installatie van QIC/SCSI Tape Het installeren vanaf een tape is waarschijnlijk de - gemakktelijkste manier, sneller dan een online FTP installatie - of een cd-rom installatie. Het installatie-programma verwacht + gemakkelijkste manier, sneller dan een online FTP installatie + of een cd-rom installatie. Het installatieprogramma verwacht dat de bestanden eenvoudigweg getarred zijn op een tape. Na het ophalen van alle benodigde distributiebestanden moeten ze op een tape getarred worden: &prompt.root; cd /freebsd/distdir &prompt.root; tar cvf /dev/rwt0 dist1 ... dist2 Bij het uitvoeren van de installatie moet ervoor gezorgd worden dat er voldoende ruimte is in een tijdelijke map (die gekozen kan worden) om de volledige inhoud van de gemaakte tape te bevatten. Door de sequentiële toegangsmethode van een tape heeft deze manier van installeren nogal wat tijdelijke schijfruimte nodig. Bij het begin van de installatie moet de tape al in de drive zitten voor het opstarten van de opstartdiskette. Het installatieprogramma kan hem anders niet vinden. Installeren over een netwerk installatie netwerk serieel (SLIP of PPP) installatie netwerk parallel (PLIP) installatie netwerk Ethernet Er zijn drie soorten netwerkinstallaties beschikbaar: - Seriële poort (SLIP of PPP), Parallelle poort (PLIP of - laplink kabel) of Ethernet (een standaard ethernetkaart, - inclusief sommige PCMCIA-kaarten). + Ethernet (een standaard Ethernet-controller), seriële poort + (SLIP of PPP), of parallelle poort (PLIP, laplink-kabel). De ondersteuning van SLIP is nogal primitief en hoofdzakelijk beperkt tot hard-wired links, zoals een seriële kabel tussen een laptop en een andere computer. De link moet hard-wired zijn, omdat de SLIP installatie geen inbelfaciliteiten biedt. Zo'n faciliteit wordt wel geboden met het PPP-hulpprogramma, dat dan ook gebruikt moet in worden in plaats van SLIP als maar - enigzins mogelijk. + enigszins mogelijk. Als een modem wordt gebruikt is PPP hoogstwaarschijnlijk de enige mogelijkheid. Er dient informatie over de provider beschikbaar te zijn omdat die redelijk vroeg in het installatieproces nodig is. Als PAP of CHAP wordt gebruikt om een verbinding te maken met een ISP (met andere woorden als een verbinding gemaakt kan worden met een ISP onder &windows; zonder een script te gebruiken), dan is alles wat gedaan moet worden het ingeven van het dial commando op de ppp prompt. Anders moet bekend zijn hoe de ISP gebeld moet worden met AT commando's die specifiek zijn voor een modem, aangezien de PPP-dialer slechts een erg eenvoudige terminal emulator bevat. In het ppp-gebruikers handboek en de FAQ staat meer informatie. Bij problemen kan de log naar het scherm worden gestuurd met het commando set log local .... Als een hard-wired verbinding naar een andere &os; (2.0-R of later) machine beschikbaar is kan ook overwogen worden te installeren via een laplink parallelle poort kabel. De snelheid van een parallelle poort is veel hoger dan wat normaal mogelijk is over een seriële kabel (tot 50 kbytes/sec), resulterend een veel snellere installatie. - Tenslotte, voor de snelst mogelijke netwerk-nstallatie is + Tenslotte, voor de snelst mogelijke netwerkinstallatie is een Ethernet adapter altijd een goede keuze! &os; ondersteunt - de meeste ethernetkaarten. Een overzicht van de ondersteunde + de meeste Ethernetkaarten. Een overzicht van de ondersteunde kaarten (en de benodigde instellingen) is beschikbaar in de Hardware Notes voor elke versie van &os;. Als gebruik gemaakt wordt van een ondersteunde PCMCIA kaart, stop deze dan in het slot vóór de laptop wordt aangezet. &os; ondersteunt momenteel helaas geen hot insertion van PCMCIA-kaarten tijdens de installatie. Een toe te wijzen IP-adres op het netwerk, het netmask van de adresklasse en de naam voor de te installeren machine moeten ook bekend zijn. Als wordt geïnstalleerd over een PPP-verbinding en er is geen vast IP-adres, wanhoop dan niet. Het IP-adres kan dynamisch toegekend worden door een ISP. Een systeembeheerder kan aangeven welke waarden gebruikt moeten worden voor netwerkinstellingen. Als andere hosts benaderd moeten worden op naam en niet op IP-adres, dan moet ook een nameserver en mogelijk het adres van een gateway opgegeven worden (als PPP wordt gebruikt is dat het IP-adres van de provider). Bij installatie met FTP via een HTTP-proxy moet ook het adres van de proxy bekend zijn. Als het antwoord op één of meerdere vragen niet bekend is, dan moet echt gesproken worden met de systeembeheerder of ISP vóóor dit soort installaties worden uitgevoerd. Installeren via NFS installatie netwerk NFS De installatie via NFS is redelijk rechttoe-rechtaan. Kopiëer gewoon de &os; distributiebestanden die nodig zijn naar een NFS server en geef die server dan aan in de NFS-media selectie. Als de server alleen zogenaamde privileged ports toestaat (zoals in z'n algemeenheid de standaard voor Sun workstations), dan moet ook de optie NFS Secure aangezet worden in het menu Options voor de installatie verder kan gaan. - Bij het gebruik van een ethernetkaart van lage kwaliteit + Bij het gebruik van een Ethernetkaart van lage kwaliteit die last heeft van erg lage overdrachtssnelheden kan ook de vlag NFS Slow aangezet worden. Om de installatie van NFS te laten werken, moet de server het aankoppelen van submappen ondersteunen. Als bijvoorbeeld een &os; &rel.current; distributie op ziggy:/usr/archive/stuff/FreeBSD staat, dan moet ziggy toestaan dat /usr/archive/stuff/FreeBSD rechtstreeks wordt aangekoppeld en niet alleen /usr of /usr/archive/stuff. Dit wordt vanuit het &os;-bestand /etc/exports geregeld door de opties . Andere NFS servers kunnen andere gewoontes hebben. Bij een foutbericht permission denied van de server is het waarschijnlijk dat deze niet goed is ingesteld.
diff --git a/nl_NL.ISO8859-1/books/handbook/txtfiles.ent b/nl_NL.ISO8859-1/books/handbook/txtfiles.ent index 16e446861c..7c42aafc60 100644 --- a/nl_NL.ISO8859-1/books/handbook/txtfiles.ent +++ b/nl_NL.ISO8859-1/books/handbook/txtfiles.ent @@ -1,72 +1,73 @@ + - - diff --git a/nl_NL.ISO8859-1/books/handbook/x11/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/x11/chapter.sgml index cc408d76a1..2423d75107 100644 --- a/nl_NL.ISO8859-1/books/handbook/x11/chapter.sgml +++ b/nl_NL.ISO8859-1/books/handbook/x11/chapter.sgml @@ -1,1793 +1,1792 @@ Ken Tom - Geupdate voor X.Org's X11 server door + Bijgewerkt voor X.Org's X11 server door Marc Fonvieille Erik Radder Vertaald door Het X Window systeem Overzicht &os; gebruikt X11 om gebruikers een krachtige grafische - gebruikersschil te bieden. X11 is een open-source - implementatie van het X Window System dat zowel + gebruikersschil te bieden. X11 is een vrij beschikbare versie van + het X Window System dat geïmplementeerd is in zowel &xorg; als - &xfree86; bevat. &os; versies tot en - met &os; 5.2.1-RELEASE hebben + &xfree86; (en andere softwarepakketten + die hier niet worden besproken). &os; versies tot en met + &os; 5.2.1-RELEASE hebben &xfree86; als standaard, de X11 server die is uitgebracht door The &xfree86; Project, Inc. Vanaf - &os; 5.3-RELEASE is de officiële standaardversie van - X11 gewijzigd naar &xorg;, de X11 - server die is ontwikkeld door de X.Org Foundation. + &os; 5.3-RELEASE is de officiële standaardversie van X11 + gewijzigd naar &xorg;, de X11-server + die is ontwikkeld door de X.Org Foundation onder een licentie die + veel lijkt op degene die door &os; wordt gebruikt. Er zijn ook + commerciële X-servers voor &os; beschikbaar. In dit hoofdstuk wordt de installatie en instelling van X11 - behandeld met de nadruk op - &xorg;. + behandeld met de nadruk op &xorg; + &xorg.version; release. Voor informatie over het configureren van + &xfree86; (i.e. op oudere uitgaven van + &os; waar &xfree86; de standaard + X11-distributie was) of vorige uitgave van + &xorg;, is het altijd mogelijk om + gearchiveerde versies van het &os; Handboek op te raadplegen. Meer informatie over de videohardware die X11 ondersteunt - kan gevonden worden op &xorg; of &xfree86; - websites. + kan gevonden worden op de &xorg; website. Na het lezen van dit hoofdstuk weet de lezer: Wat de componenten van het X Window systeem zijn en hoe zij samenwerken. Hoe X11 geïnstalleerd en ingesteld kan worden. Hoe verschillende window managers geïnstalleerd en gebruikt kunnen worden. Hoe &truetype; lettertypen in X11 te gebruiken. Hoe het systeem ingesteld moet worden voor grafisch aanmelden (XDM). Aangeraden voorkennis: Hoe extra software van derden te installeren (). - - - In dit hoofdstuk wordt het installeren en instellen van de - &xorg; en - &xfree86; X11 servers behandeld. De - bestanden met instellingen, commando's en syntaxis is - overwegend hetzelfde. Waar dat anders is wordt het - aangegeven. - X begrijpen X voor de eerste keer gebruiken kan een hele schok zijn voor mensen die gewend zijn aan andere grafische omgevingen, zoals µsoft.windows; of &macos;. Het is niet noodzakelijk om alle details te kennen over de X componenten en hoe zij samenwerken, maar enige basiskennis draagt wel bij aan krachtiger gebruik kunnen maken van X. Waarom X? X is niet het eerste windows systeem dat geschreven is voor &unix;, maar wel het meest populaire. Het oorspronkelijke X ontwikkelteam werkte eerst aan een ander window systeem. De naam van dat systeem was W (van Window). X was gewoon de volgende letter in het alfabet. X kan gewoon X, X Window systeem, X11 of nog anders genoemd worden. X11 X Windows noemen kan door sommigen als een belediging opgevat worden. &man.X.7; kan hierover wat licht laten schijnen. Het X client/server model X is vanaf het begin aan ontworpen om netwerk-centraal te zijn en gebruikt een client-server model. - In het X model, draait de X server op de + In het X model draait de X server op de computer waar het toetsenbord, beeldscherm en muis aan vast zit. De server is verantwoordelijk voor het regelen van beeldinformatie, verwerken van invoer van toetsenbord en muis, - enzovoort. Iedere X applicatie (zoals - XTerm, of + en andere invoer- of uitvoerapparaten (i.e. een + tablet kan als invoerapparaat worden gebruikt, en + een videoprojector kan een alternatief uitvoerapparaat zijn). + Iedere X applicatie (zoals XTerm, of &netscape;) is een - client. Een client stuurt berichten naar de - server zoals teken een venster op deze + cliënt. Een cliënt stuurt berichten + naar de server zoals teken een venster op deze coördinaten en de server stuurt berichten terug - zoals de gebruiker heeft op de OK knop - gedrukt. + zoals de gebruiker heeft op de OK knop gedrukt. + Thuis of in kleine bedrijven draaien zowel de X server als de X clients op dezelfde machine. Het is heel goed mogelijk dat de X server op een minder krachtige desktop computer draait en de X applicaties (de clients) op een, zeg maar, dure krachtige machine van het bedrijf. Hier vindt de communicatie tussen de X client en server plaats over het netwerk. Dit verwart sommige mensen, omdat de X terminologie geheel omgekeerd is aan wat ze verwachten. Dat is namelijk dat de X server de grote krachtige machine aan het eind van de gang is en de X client de machine op hun bureau is. De X server is de machine met het beeldscherm en het toetsenbord en de X clients zijn de programma's die de vensters tonen. Het protocol vereist niet dat de clients en servers hetzelfde besturingssysteem moeten draaien of hetzelfde soort computer moeten zijn. Het is heel goed mogelijk om X server op een µsoft.windows; of Apple's &macos; te draaien en er zijn verschillende gratis en commerciële applicaties die dat doen. - - &xorg;, zit vanaf - &os; 5.3-RELEASE als standaard X server bij &os; en is - gratis onder een gelijksoortig licentie als de &os; licentie. - Er zijn ook commerciële X servers voor &os; - verkrijgbaar. De window manager De filosofie van het X ontwerp lijkt veel op die van &unix;: gereedschappen, geen beleid. Dit houdt in dat X niet bepaalt hoe een taak volbracht moet worden. In plaats daarvan worden gereedschappen geleverd aan de gebruiker die verantwoordelijk is voor het juiste gebruik hiervan. Deze filosofie verbreedt zich door X niet te laten bepalen hoe vensters er moeten uitzien op het scherm, hoe ze verplaatst moeten worden met de muis, welke toetsaanslagen gebruikt moeten worden om te schakelen tussen vensters (bijvoorbeeld AltTab in het geval van µsoft.windows;), hoe de titelbalken eruit moeten zien, of ze wel of niet sluitknoppen moeten hebben, enzovoort. In plaats daarvan delegeert X deze verantwoordelijkheid aan een applicatie die Window Manager heet. Er zijn tientallen window managers voor X: AfterStep, Blackbox, ctwm, Enlightenment, fvwm, Sawfish, twm, Window Maker en vele anderen. Elk van deze window managers heeft een eigen voorkomen en werking. Er zijn window managers met virtual desktops of met eigen toetscombinaties om de desktop te beheren; of hebben - een Start knop of iets gelijksoortigs. Sommige + een Start knop of iets gelijksoortig. Sommige gebruiken thema's die uiterlijk en beleving compleet veranderen door een nieuw thema te kiezen. Window managers zijn te vinden in de categorie x11-wm van de Portscollectie. De KDE en GNOME desktop omgevingen hebben hun eigen window managers die in het bureaublad zijn geïntegreerd. Iedere windows manager heeft zijn eigen manier van instellen. Sommige werken met handgetypte bestanden, anderen beschikken over grafische gereedschappen voor de meeste instellingen. Er is er minstens één (Sawfish) waarvan het instellingenbestand is geschreven in een dialect van de taal Lisp. Focusbeleid De window manager is ook verantwoordelijk voor het focusbeleid van de muis. Ieder window geörienteerd systeem heeft een manier nodig om te bepalen welk venster actief is, toetsaanslagen ontvangt en daarbij zichtbaar aangeeft welk venster actief is. Een bekend focus beleid heet click-to-focus. Dit model wordt gebruikt door µsoft.windows;, waarbij een venster actief wordt door er met de muis op te klikken. X ondersteunt geen specifiek focusbeleid. In plaats daarvan bepaalt de window manager op welk venster, op welk moment, de focus ligt. Een aantal window managers ondersteunen verschillende focusmethoden. Ze ondersteunen allemaal click to focus en de meerderheid ondersteunt ook nog andere. De meest populaire zijn: focus-volgt-muis (focus-follows-mouse) Het venster dat onder de muis zit is het venster waarop de focus ligt. Dit hoeft niet het venster te zijn dat bovenop alle andere vensters ligt. De focus verandert door te wijzen naar een ander venster. Het is niet nodig om er ook nog eens op te klikken. slordige-focus (sloppy-focus) Dit beleid is een kleine uitbreiding op focus-follows-mouse. Indien bij focus-follows-mouse de muis over het root venster (of de achtergrond) gaat, ligt op geen enkel venster de focus en gaan alle toetsaanslagen verloren. Bij sloppy-focus, verandert de focus alleen als de muis in een nieuw venster komt en niet als het huidige venster wordt verlaten. klik-voor-focus (click-to-focus) Het actieve venster wordt geselecteerd door erop te klikken. Het venster wordt dan opgetild en verschijnt dan voor alle andere vensters. Alle toetsaanslagen worden nu naar dit venster gestuurd, zelfs als de cursor naar een ander scherm wordt verplaatst. Veel window managers ondersteunen andere soorten of variaties op de bovenstaande typen muisbeleid. Hierover staat meestal meer in de documentatie van de betreffende window manager. Widgets De X aanpak door gereedschappen te leveren en niets af te dwingen breidt zich uit naar de widgets die in elk applicatievenster te zien zijn. Widget is een term voor alle dingen van de gebruikersinterface waarop geklikt kan worden of een andere actie mee uitgevoerd kan worden: knoppen, vinkvakjes, iconen, lijsten en ga zo maar door. µsoft.windows; noemt ze controls. µsoft.windows; en Apple's &macos; hebben beide een erg strikt widgetbeleid. Van de applicatieontwikkelaars wordt verwacht dat hun applicaties eenduidig zijn wat betreft uiterlijk en beleving. Bij X is ervoor gekozen geen grafische stijl of widgets te verplichten. X applicaties hebben dus niet allemaal hetzelfde uiterlijk. Er zijn populaire widgetsets en variaties, inclusief de originele Athena widgetset van MIT, &motif; (waarvan de widgetset van µsoft.windows; is afgeleid: schuine randen en drie gradaties grijs), OpenLook en anderen. De meeste nieuwe X applicaties gebruiken een modern uitziende widgetset: Qt, gebruikt door KDE, of GTK+ van het GNOME project. Vanuit dit oogpunt - lijkt het enigzins op de &unix; desktop, wat het makkelijker + lijkt het enigszins op de &unix; desktop, wat het makkelijker maakt voor de beginnende gebruiker. X11 installeren - Zowel &xorg; als - &xfree86; kan op &os; - geïnstalleerd worden. Vanaf &os; 5.3-RELEASE is - &xorg; de standaard X11 + &xorg; is de standaard X11 implementatie voor &os;. &xorg; is de X11 server van de open source implementatie die is uitgebracht door de X.Org Foundation. &xorg; is gebaseerd op de code van &xfree86 4.4RC2 en X11R6.6. - De X.Org Foundation heeft X11R6.7 uitgebracht in april - 2004 en X11R6.8.2 in februari 2005. De laatstgenoemde versie - is beschikbaar via de &os; Portscollectie. + De versie van &xorg; die momenteel + beschikbaar is in de &os; Portscollectie is &xorg.version;. Om &xorg; vanuit de Portscollectie te bouwen en te installeren: &prompt.root; cd /usr/ports/x11/xorg &prompt.root; make install clean Om &xorg; compleet te bouwen is tenminste 4 GB vrije schijfruimte nodig. - Om &xfree86; vanuit de - Portscollectie te bouwen en te installeren: - - &prompt.root; cd /usr/ports/x11/XFree86-4 -&prompt.root; make install clean - X11 kan ook als package geïnstalleerd worden doordat er binaire packages beschikbaar zijn voor &man.pkg.add.1;. Als hiervoor de optie remote fetching van &man.pkg.add.1; wordt gebruikt, dan moet het versienummer verwijderd worden. &man.pkg.add.1; haalt automatisch de laatste versie van het programma op. Om het package voor &xorg; op te halen en te installeren: &prompt.root; pkg_add -r xorg - Het &xfree86; 4.X package kan - geïnstalleerd worden met: - - &prompt.root; pkg_add -r XFree86 - Het voorbeeld hierboven installeert de complete X11 distributie inclusief de servers, clients, lettertypen enz. Er - zijn ook afzondelijke packages en ports beschikbaar voor + zijn ook afzonderlijke packages en ports beschikbaar voor verschillende delen van X11. De rest van dit hoofdstuk licht toe hoe X11 wordt ingesteld en hoe een productieve desktopomgeving gebouwd kan worden. - - - Van <application>&xfree86;</application> naar - <application>&xorg;</application> - - Zoals voor iedere port, moet - /usr/ports/UPDATING bekeken worden voor - de wijzigingen. In dit bestand staan instructies die - nodig zijn om een systeem te migreren van - &xfree86; naar - &xorg;. - - CVSup kan gebruikt worden om - de ports tree bij te werken voordat er wordt begonnen met een - migratie. Naast deze maatregel moet ook sysutils/portupgrade - geïnstalleerd worden voor de migratie van een X11 - systeem. - - In /etc/make.conf kan de variabele - X_WINDOW_SYSTEM=xorg ingesteld worden. - Hierdoor is het zeker dat een systeem weet welke X11 er wordt - gebruikt. De oude variabele XFREE86_VERSION - is komen te vervallen en vervangen door de variabele - X_WINDOW_SYSTEM. - - Dan kunnen de volgende commando's uitgevoerd worden: - - &prompt.root; pkg_delete -f /var/db/pkg/imake-4* /var/db/pkg/XFree86-* -&prompt.root; cd /usr/ports/x11/xorg -&prompt.root; make install clean -&prompt.root; pkgdb -F - - &man.pkgdb.1; is onderdeel van de - portupgrade software en kan packages - inclusief afhankelijkheden bijwerken. - - - Om &xorg; compleet te bouwen - is tenminste 4 GB vrije schijfruimte nodig. - - Christopher Shumway Geschreven door X11 instellen - &xfree86; 4.X - - &xfree86; - &xorg; X11 Voorbereiding Voordat er wordt begonnen met het instellen van X11 is de volgende informatie van de te installeren machine nodig: Monitor specificaties Chipset van de videokaart Geheugen van de videokaart horizontale scansnelheid verticale scansnelheid De specificaties van de monitor worden door X11 gebruikt om de resolutie en ververssnelheid te bepalen. Deze specificaties kunnen normaal gesproken verkregen worden uit de bij de monitor geleverde documentatie of van de website van de leverancier. Er zijn twee nummerreeksen nodig: de horizontale scansnelheid - (scan rate) en de vertikale syncronisatiesnelheid (vertical + (scan rate) en de verticale synchronisatiesnelheid (vertical synchronization). De chipset van de videokaart bepaalt welk stuurprogramma X11 gebruikt om de grafische hardware aan te spreken. Bij de meeste chipsets kan dit automatisch bepaald worden, maar het is altijd handig om dit te weten voor het geval de automatische detectie niet correct werkt. Het geheugen op de videokaart bepaalt de resolutie en kleurdiepte waarmee het systeem kan werken. Dit is belangrijk omdat de gebruiker zo de grenzen van zijn systeem kent. X11 instellen - Het instellen van X11 bestaat uit meerdere stappen. De - eerste stap is het bouwen van een instellingenbestand. Dit kan - met: + Sinds versie 7.3 kan &xorg; vaak + zonder enig instellingenbestand werken door eenvoudig op de + prompt te typen: - &prompt.root; Xorg -configure + &prompt.user; startx - In het geval van &xfree86; is - dat: + Als dit niet werkt, of als de standaardconfiguratie niet + acceptabel is, dient X11 handmatig geconfigureerd te worden. + Het instellen van X11 bestaat uit meerdere stappen. De eerste + stap is het bouwen van een instellingenbestand. Dit kan met: + - &prompt.root; XFree86 -configure + &prompt.root; Xorg -configure - Dit genereert een kaal X11 instellingbestand in de map + Dit genereert een kaal X11 instellingenbestand in de map /root met de naam xorg.conf.new. Feitelijk wordt bepaald waar de map staat door hoe er superuser rechten zijn verkregen. $HOME is anders bij gebruik van &man.su.1; of bij direct aanmelden. Het X11 programma probeert dan de grafische hardware te detecteren en schrijft een instellingenbestand dat de juiste stuurprogramma's laadt voor de gevonden hardware van het systeem. De volgende stap is het testen van de bestaande instellingen om te controleren of &xorg; met de grafische kaart van het doelsysteem kan werken. Dit kan met: &prompt.root; Xorg -config xorg.conf.new - Voor &xfree86; - gebruikers: - - &prompt.root; XFree86 -xf86config XF86Config.new - Als er een zwart/grijs rooster en een X muis cursor - verschijnen was de instelling successvol. Om de test te + verschijnen was de instelling succesvol. Om de test te stoppen dient gelijktijdig op CtrlAlt Backspace gedrukt te worden. Als de muis niet werkt, dan moet deze eerst ingesteld worden. Zie in het &os; installatie hoofdstuk. X11 optimaliseren - Nu moet xorg.conf.new (of - XF86Config.new als - &xfree86; wordt gebruikt) worden - aangepast aan de smaak van de gebruiker. Hiervoor moet het - bestand in een teksteditor zoals &man.emacs.1; of &man.ee.1; - worden geladen. Eerst moeten de frequenties van de monitor - toegevoegd worden. Die zijn meestal weergegeven als - horizontale en vertikale synchronisatiesnelheid. Deze waarden - worden toegevoegd aan xorg.conf.new in het - onderdeel "Monitor": + Nu moet xorg.conf.new worden aangepast + aan de smaak van de gebruiker. Hiervoor moet het bestand in een + teksteditor zoals &man.emacs.1; of &man.ee.1; worden geladen. + Eerst moeten de frequenties van de monitor toegevoegd worden. + Die zijn meestal weergegeven als horizontale en verticale + synchronisatiesnelheid. Deze waarden worden toegevoegd aan + xorg.conf.new in het onderdeel + "Monitor": Section "Monitor" Identifier "Monitor0" VendorName "Monitor Vendor" ModelName "Monitor Model" HorizSync 30-107 VertRefresh 48-120 EndSection In het instellingenbestand kunnen de sleutelwoorden HorizSync en VertRefresh missen. Als ze er niet staan, moeten ze toegevoegd worden met de juiste horizontale synchronisatiesnelheid achter het - HorizSync sleutelwoord en de vertikale + HorizSync sleutelwoord en de verticale synchronisatiesnelheid achter het VertRefresh sleutelwoord. In het bovenstaande voorbeeld werden de gegevens van de monitor ingevoerd. X kan DPMS (Energy Star) eigenschappen gebruiken bij monitoren die dit ondersteunen. &man.xset.1; regelt de - time-outs en kan de statussen standby, suspend of uit forceren. + timeouts en kan de statussen standby, suspend of uit forceren. Om DPMS eigenschappen voor een monitor te activeren, moet de volgende regel toegevoegd worden aan de monitor sectie: Option "DPMS" xorg.conf - - XF86Config - - Als het instellingenbestand - xorg.conf.new (of - XF86Config.new) toch open staat in de - editor dan kan ook meteen de gewenste standaardresolutie en + xorg.conf.new toch open staat in de editor + dan kan ook meteen de gewenste standaardresolutie en kleurdiepte gekozen worden. Dit staat in het onderdeel "Screen": Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 Modes "1024x768" EndSubSection EndSection Het sleutelwoord DefaultDepth beschrijft de kleurdiepte die standaard wordt gebruikt. Met de - commandoregeloptie van &man.Xorg.1; (of - &man.XFree86.1;) kan dit overschreven worden. Het sleutelwoord + commandoregeloptie van &man.Xorg.1; kan + dit overschreven worden. Het sleutelwoord Modes beschrijft de resolutie waarmee gewerkt wordt bij de opgegeven kleurdiepte. Alleen VESA standaarden die door de grafische kaart van het systeem worden gedefinieerd worden ondersteund. In het voorbeeld hierboven is - de standaardkleurdiepte 24 bits per pixel. Bij deze + de standaard kleurdiepte 24 bits per pixel. Bij deze kleurdiepte is de toegestane resolutie 1024 bij 768 pixels. Bij het oplossen van problemen zijn de logboekbestanden van X11 vaak een goede hulp. Ze bevatten informatie voor ieder apparaat waar de X11 server verbinding mee maakt. Namen van &xorg; logboekbestanden - hebben de vorm /var/log/Xorg.0.log - (namen van &xfree86; - logboekbestanden hebben de vorm - XFree86.0.log). De precieze naam van - een logboekbestand van variëren van + hebben de vorm /var/log/Xorg.0.log. De + precieze naam van een logboekbestand van variëren van Xorg.0.log tot Xorg.8.log enzovoort. Als alles is ingesteld, moet het instellingenbestand op een - plaats gezet worden waar &man.Xorg.1; (of &man.XFree86.1;) het - kan vinden. Dit is meestal - /etc/X11/xorg.conf of - /usr/X11R6/etc/X11/xorg.conf (voor - &xfree86; heet het - /etc/X11/XF86Config of - /usr/X11R6/etc/X11/XF86Config): + plaats gezet worden waar &man.Xorg.1; het kan vinden. Dit is + meestal /etc/X11/xorg.conf of + /usr/local/etc/X11/xorg.conf: &prompt.root; cp xorg.conf.new /etc/X11/xorg.conf - Voor &xfree86;: - - &prompt.root; cp XF86Config.new /etc/X11/XF86Config - - Het instellen van X11 is nu gereed. Om - &xfree86; 4.X te kunnen starten - met &man.startx.1; dient de x11/wrapper port geïnstalleert - te worden. &xorg; heeft wrappercode - en heeft geen extra wrapper nodig. De X11 server kan ook - gestart worden met &man.xdm.1;. + Het instellen van X11 is nu gereed. + &xorg; gestart worden met + &man.startx.1;. De X11-server kan ook gestart worden met behulp + van &man.xdm.1;. - Er zit ook een grafisch instellingenprogramma bij de - X11 distributie: &man.xorgcfg.1; (man.xf86cfg.1; voor - &xfree86;). Hiermee kunnen de - instellingen en stuurprogramma's interactief gekozen worden. - Dit kan ook op het console gebruikt worden: + Er is ook een grafisch configuratiegereedschap, + &man.xorgcfg.1;, dat met de X11-distributie wordt geleverd. + Hiermee kunnen de instellingen en stuurprogramma's interactief + gekozen worden. Dit kan ook op het console gebruikt worden: xorgcfg -textmode. Meer details zijn - te vinden in &man.xorgcfg.1; en &man.xf86cfg.1;. + te vinden in de hulppagina &man.xorgcfg.1;. - Er is ook nog het hulpprogramma &man.xorgconfig.1; - (&man.xf86config.1; voor - &xfree86;). Dit programma is - op het console te gebruiken en is veel minder + Er is ook nog het hulpprogramma &man.xorgconfig.1;. Dit + programma is op het console te gebruiken en is veel minder gebruikersvriendelijk, maar het zou wel kunnen werken in gevallen waarin andere hulpprogramma's dat niet doen. Bijzondere instellingen - Instellen met de &intel; i810 graphische - chipset + Instellen met de &intel; i810 grafische chipset Intel i810 grafische chipset - Instellen met &intel; i810 integrated chipsets vereist de - agpgart AGP programmeringsinterface + Instellen met &intel; i810 geïntegreerde chipsets vereist de + agpgart AGP programmeerinterface voor X11 om de kaart aan te sturen. Zie de &man.agp.4; handleiding voor meer informatie. Hierdoor wordt het instellen van de hardware net als ieder andere grafische kaart. Bij systemen die zonder &man.agp.4; stuurprogramma gecompileerd zijn slaagt het laden van module met &man.kldload.8; niet. Het stuurprogramma moet in de kernel geladen zijn tijdens het opstarten door te compileren of door /boot/loader.conf te gebruiken. + + + + Een Breedbeeld Flatpanel toevoegen - Als &xfree86; 4.1.0 (of - later) gebruikt wordt en er verschijnen berichten over - unresolved symbols zoals - fbPictureInit, dan kan het toevoegen van - de regel aan het - &xfree86; instellingenbestand na - Driver "i810" de oplossing zijn: + breedbeeld flatpanelconfiguratie + + + Deze sectie gaat uit van wat diepere configuratiekennis. + Als pogingen om de bovenstaande standaard instelgereedschappen + niet tot een werkende configuratie leidden, dan is er genoeg + informatie in de logbestanden om de opstelling aan de praat te + krijgen. Het gebruik van een tekstverwerker zal nodig zijn. + + + Huidige breedbeeldformaten (WSXGA, WSXGA+, WUXGA, WXGA, + WXGA+, et. al.) ondersteunen 16:10 en 10:9 formaten of + aspectverhoudingen die problematisch kunnen zijn. Voorbeelden + van enkele veelvoorkomende schermresoluties voor 16:10 + aspectverhoudingen zijn: + + + 2560x1600 + + 1920x1200 + + 1680x1050 + + 1440x900 - Option "NoDDC" + 1280x800 + + + Op een gegeven moment zal het toevoegen van een van deze + resoluties net zo eenvoudig zijn als een mogelijke + Mode in het Section + "Screen": + + Section "Screen" +Identifier "Screen 0" +Device "Card0" +Monitor "Monitor0" +DefaultDepth 24 +SubSection "Display" + Viewport 0 0 + Depth 24 + Modes "1680x1050" +EndSubSection +EndSection + + &xorg; is slim genoeg om de + resolutie-informatie via I2C/DDC-informtie uit het flatpanel + te onttrekken zodat het weet wat de monitor aan kan wat betreft + frequenties en resoluties. + + Als die ModeLines niet bestaan in de + stuurprogramma's, dient men &xorg; + een kleine hint te geven. Met behulp van + /var/log/Xorg.0.log kan men genoeg + informatie onttrekken om handmatig een werkende + ModeLine aan te maken. Kijk naar + informatie die op deze lijkt: + + (II) MGA(0): Supported additional Video Mode: +(II) MGA(0): clock: 146.2 MHz Image Size: 433 x 271 mm +(II) MGA(0): h_active: 1680 h_sync: 1784 h_sync_end 1960 h_blank_end 2240 h_border: 0 +(II) MGA(0): v_active: 1050 v_sync: 1053 v_sync_end 1059 v_blanking: 1089 v_border: 0 +(II) MGA(0): Ranges: V min: 48 V max: 85 Hz, H min: 30 H max: 94 kHz, PixClock max 170 MHz + + Deze informatie wordt EDID-informatie genoemd. Hiervan een + ModeLine maken is gewoon een kwestie van de + nummers in de juiste volgorde zetten: + + ModeLine <name> <clock> <4 horiz. timings> <4 vert. timings> + + Dus de ModeLine in Section + "Monitor" zou er voor dit voorbeeld uitzien als: + + + Section "Monitor" +Identifier "Monitor1" +VendorName "GroteNaam" +ModelName "BesteModel" +ModeLine "1680x1050" 146.2 1680 1784 1960 2240 1050 1053 1059 1089 +Option "DPMS" +EndSection + + Na het voltooien van deze eenvoudige stappen, zou X moeten + starten op uw nieuwe breedbeeldmonitor. Murray Stokely Bijgedragen door Lettertypen gebruiken in X11 Type1 lettertypen De standaard lettertypen van X11 zijn allerminst ideaal voor het typische bureaubladprogramma. Grote presentatielettertypen zien er hoekig en onprofessioneel uit en kleine lettertypen in &netscape; zijn bijna onleesbaar. Er zijn diverse gratis, kwalitatief goede Type1 (&postscript;) lettertypen die meteen gebruikt kunnen worden met X11. De URW lettertypecollectie (x11-fonts/urwfonts) heeft bijvoorbeeld hoge kwaliteit versies van standaard Type1 lettertypen (Times Roman, Helvetica, Palatino en anderen). De Freefonts collectie (x11-fonts/freefonts) heeft nog meer lettertypen, maar de meesten ervan zijn bedoeld om in grafische software als Gimp gebruikt te worden en zijn niet compleet genoeg om als schermlettertypen te gebruiken. Daarbij kan X11 zonder veel moeite ingesteld worden worden om &truetype; lettertypen te gebruiken. Meer informatie staat in &man.X.7; of de paragraaf over &truetype; Lettertypen. Om de bovenstaande Type1 lettertypecollectie van de Portscollectie te installeren: &prompt.root; cd /usr/ports/x11-fonts/urwfonts &prompt.root; make install clean Dat geldt ook voor de freefont en andere collecties. Om de X server te vertellen dat deze lettertypen bestaan, dient de - volgende regel toegevoegd te worden in - XF86Config (in /etc/ - voor &xfree86; versie 3 of in - /etc/X11/ voor versie 4): + volgende regel toegevoegd te worden aan het instellingenbestand + van de X server (/etc/X11/xorg.conf): + - FontPath "/usr/X11R6/lib/X11/fonts/URW/" + FontPath "/usr/local/lib/X11/fonts/URW/" Ook kan op de commando regel in de X sessie het volgende gestart worden: - &prompt.user; xset fp+ /usr/X11R6/lib/X11/fonts/URW + &prompt.user; xset fp+ /usr/local/lib/X11/fonts/URW &prompt.user; xset fp rehash Dit werkt wel, maar zodra de X sessie wordt afgesloten is het weer verdwenen tenzij het is toegevoegd aan het opstartbestand (~/.xinitrc voor een normale startx sessie of ~/.xsession als er wordt aangemeld met een grafische aanmeldmanager als XDM). Een derde manier is het gebruik van het nieuwe bestand - /usr/X11R6/etc/fonts/local.conf: zie + /usr/local/etc/fonts/local.conf: zie hiervoor de paragraaf over over Anti-aliasing. &truetype; lettertypen TrueType lettertypen lettertypen TrueType - &xfree86; 4.X en - &xorg; hebben ingebouwde + &xorg; heeft ingebouwde ondersteuning voor het renderen van &truetype; lettertypen. Er zijn twee verschillende modules die deze functionaliteit activeren. In dit voorbeeld wordt de freetype module gebruikt omdat deze beter werkt met de andere lettertypen die back-ends renderen. Om de freetype module te activeren dient de volgende regel toegevoegd te worden aan het onderdeel "Module" van - /etc/X11/xorg.conf of - /etc/X11/XF86Config. + /etc/X11/xorg.conf. Load "freetype" - Voor &xfree86; 3.3.X is een - aparte &truetype; lettertypeserver nodig. Meestal wordt - Xfstt gebruikt. Om - Xfstt te installeren hoeft alleen - de port x11-servers/Xfstt - geïnstalleerd te worden. - Hierna dient een map voor de &truetype; lettertypen gemaakt te worden (bijvoorbeeld - /usr/X11R6/lib/X11/fonts/TrueType) en alle + /usr/local/lib/X11/fonts/TrueType) en alle &truetype; lettertypen moeten naar deze map gekopieerd worden. &truetype; lettertypen kunnen niet direct van een &macintosh; gehaald worden. Ze moeten in een &unix;/&ms-dos;/&windows; formaat zijn voor X11. Zodra de bestanden naar deze map zijn gekopieerd, kan ttmkfdir gestart worden om een fonts.dir bestand te maken zodat de X lettertyperenderer weet waar deze nieuwe bestanden zijn geïnstalleerd. ttmkfdir zit in de &os; Portscollectie als x11-fonts/ttmkfdir. - &prompt.root; cd /usr/X11R6/lib/X11/fonts/TrueType -&prompt.root; ttmkfdir > fonts.dir + &prompt.root; cd /usr/local/lib/X11/fonts/TrueType +&prompt.root; ttmkfdir -o fonts.dir Nu moet de &truetype; map toe aan het lettertypepad - toegevoegd worden. Dit gebeurt op dezelde wijze als boven is + toegevoegd worden. Dit gebeurt op dezelfde wijze als boven is beschreven voor Type1 lettertypen: - &prompt.user; xset fp+ /usr/X11R6/lib/X11/fonts/TrueType + &prompt.user; xset fp+ /usr/local/lib/X11/fonts/TrueType &prompt.user; xset fp rehash of door een FontPath regel toe te voegen - aan xorg.conf (of - XF86Config). + aan xorg.conf. Dat is alles. Nu herkennen &netscape;, Gimp, &staroffice; en alle andere X applicaties de geïnstalleerde &truetype; lettertypen. Extreem kleine lettertypen (zoals hoge resolutie tekst op een webpagina) en extreme grote lettertypen (in &staroffice;) zien er nu veel beter uit. Joe Marcus Clarke Bijgewerkt door - Anti-alias lettertypen + Antialias lettertypen - anti-alias lettertypen + antialias lettertypen lettertypen - anti-alias + antialias Anti-aliasing wordt door X11 sinds ondersteund sinds &xfree86; versie 4.0.2. Maar instellingen voor lettertypen waren bewerkelijk voordat &xfree86; 4.3.0 geïntroduceerd werd. Vanaf &xfree86; 4.3.0 zijn alle lettertypen die X11 in de mappen - /usr/X11R6/lib/X11/fonts/ en + /usr/local/lib/X11/fonts/ en ~/.fonts/ aantreft automatisch beschikbaar voor anti-aliasing in applicaties die Xft ondersteunen. Niet alle applicaties ondersteunen Xft. Voorbeelden van applicaties met Xft ondersteuning zijn Qt 2.3 en hoger (de hulpprogramma's voor het KDE bureaublad), GTK+ 2.0 en hoger (de hulpprogramma's voor het GNOME bureaublad) en Mozilla 1.2 en hoger. Om te kunnen regelen welke lettertypen gebruik maken van anti-alias of om de eigenschappen van anti-aliasing in te stellen kan - /usr/X11R6/etc/fonts/local.conf gemaakt + /usr/local/etc/fonts/local.conf gemaakt of gewijzigd worden. In dit bestand kunnen speciale eigenschappen van het Xft lettertypesysteem aangepast worden. - Deze paragraaf beschijft wat eenvoudige mogelijkheden. + Deze paragraaf beschrijft wat eenvoudige mogelijkheden. Meer details staan in &man.fonts-conf.5;. XML Dit bestand moet in het XML formaat opgemaakt worden. Hoofdletters en kleine letters worden onderscheiden en alle tags moeten netjes worden afgesloten. Het bestand begint met de gewone XML header gevolgd door een DOCTYPE definitie en daarna de <fontconfig> tag: <?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> Zoals al eerder is vermeld zijn alle lettertypen in - /usr/X11R6/lib/X11/fonts/ en in + /usr/local/lib/X11/fonts/ en in ~/.fonts/ al geschikt gemaakt voor Xft applicaties. Als naast deze twee mappen nog een andere lettertypen moeten kunnen bevatten, dan dient een soortgelijke regel als de onderstaande aan - /usr/X11R6/etc/fonts/local.conf toegevoegd + /usr/local/etc/fonts/local.conf toegevoegd te worden: - <dir>/path/to/my/fonts</dir> + <dir>/pad/naar/mijn/fonts</dir> Na het toevoegen van nieuwe lettertypen en zeker nieuwe lettertypemappen dienen de lettertypecaches opnieuw opgebouwd worden met: &prompt.root; fc-cache -f Anti-aliasing maakt randen een beetje wazig wat kleine teksten beter leesbaar maakt en voorkomt trapvorming van grote letters. Maar het kan oogkramp veroorzaken als het op normale tekst wordt toegepast. Om lettertypen kleiner dan 14 punten uit te sluiten van anti-aliasing moeten de volgende regels toegevoegd worden: <match target="font"> <test name="size" compare="less"> <double>14</double> </test> <edit name="antialias" mode="assign"> <bool>false</bool> </edit> </match> <match target="font"> <test name="pixelsize" compare="less" qual="any"> <double>14</double> </test> <edit mode="assign" name="antialias"> <bool>false</bool> </edit> </match> lettertypen spacing Spatiëring voor sommige enkel gespatieerde lettertypen kan ook ongepast zijn bij anti-aliasing. Dit lijkt vooral een probleem te zijn bij KDE. Een mogelijke oplossing hiervoor is het vergroten van de spatiëring van die lettertypen naar 100: <match target="pattern" name="family"> <test qual="any" name="family"> <string>fixed</string> </test> <edit name="family" mode="assign"> <string>mono</string> </edit> </match> <match target="pattern" name="family"> <test qual="any" name="family"> <string>console</string> </test> <edit name="family" mode="assign"> <string>mono</string> </edit> </match> Het bovenstaande hernoemt de standaardnamen van lettertypen naar "mono"). Voeg daarna het volgende toe: <match target="pattern" name="family"> <test qual="any" name="family"> <string>mono</string> </test> <edit name="spacing" mode="assign"> <int>100</int> </edit> </match> Bepaalde lettertypen, zoals Helvetica, kunnen problemen hebben met anti-aliasing. Dit uit zich meestal in een - lettertype dat vertikaal door midden lijkt gesneden. Op zijn + lettertype dat verticaal door midden lijkt gesneden. Op zijn ergst kan het applicaties zoals Mozilla laten crashen. Om dit te voorkomen kan overwogen worden om ook de volgende regels toe te voegen aan local.conf: <match target="pattern" name="family"> <test qual="any" name="family"> <string>Helvetica</string> </test> <edit name="family" mode="assign"> <string>sans-serif</string> </edit> </match> Als de wijzigingen in local.conf zijn gemaakt dient niet vergeten te worden het bestand te eindigen met de tag </fontconfig> tag. Als dit niet gedaan wordt, dan worden de wijzigingen niet gezien. De standaard lettertypeset die geleverd wordt bij X11 is niet erg geschikt als het aankomt op anti-aliasing. Een veel betere set standaardlettertypen is de x11-fonts/bitstream-vera port. Deze port maakt - /usr/X11R6/etc/fonts/local.conf aan als + /usr/local/etc/fonts/local.conf aan als het nog niet bestaat. Als het al wel bestaat maakt de port - /usr/X11R6/etc/fonts/local.conf-vera aan. + /usr/local/etc/fonts/local.conf-vera aan. De inhoud van dit bestand dient in - /usr/X11R6/etc/fonts/local.conf geplaatst + /usr/local/etc/fonts/local.conf geplaatst te worden en dan vervangen de Bitstream lettertypen automatisch de standaard X11 Serif, Sans Serif en Monospaced lettertypen. Als laatste kunnen gebruikers hun eigen instellingen aan een persoonlijk .fonts.conf bestand toevoegen. Om dit te doen moet iedere gebruiker het bestand ~/.fonts.conf maken. Ook dit bestand moet in het XML formaat zijn. - LCD screen + LCD scherm lettertypen - LCD screen + LCD scherm Nog een laatste punt: bij een LCD scherm kan sub-pixel sampling prettig zijn. Eigenlijk zorgt dit er voor dat de (horizontaal gesplitste) rode, groene en blauwe componenten gewijzigd worden om de horizontale resolutie te verbeteren. Het resultaat is geweldig. Voeg hiervoor de volgende regels ergens aan local.conf toe: <match target="font"> <test qual="all" name="rgba"> <const>unknown</const> </test> <edit name="rgba" mode="assign"> <const>rgb</const> </edit> </match> Afhankelijk van het soort beeldscherm kan rgb veranderd moeten worden in bgr, vrgb of vbgr. Experimenteren levert de beste instelling op. Mozilla anti-aliasing lettertypen uitschakelen Anti-aliasing moet werken zodra de X server opnieuw gestart is. Programma's dienen echter wel te weten hoe ze er mee moeten werken. Op dit moment geldt dat voor de Qt toolkit en de hele KDE omgeving kan met anti-alias omgaan. GTK+ en GNOME anti-aliasing gebruiken via de Font capplet (zie ). Mozilla 1.2 en hoger gebruiken automatisch anti-aliasing. Om dit uit te zetten moet Mozilla opnieuw gebouwd worden met de optie -DWITHOUT_XFT. Seth Kingsley Bijgedragen door De X beeldschermmanager Overzicht X beeldschermmanager De X beeldschermmanager (XDM) is een optioneel onderdeel van het X Window systeem dat gebruikt wordt voor beheer van aanmeldsessies. Dit is vaak erg handig bij bijvoorbeeld X Terminals, desktops en grote netwerk beeldschermservers. Omdat het X Window systeem netwerk- en protocolonafhankelijk is, zijn er veel mogelijkheden om X clients en servers op verschillende machines in een netwerk te verbinden. XDM levert een grafische interface waarmee er gekozen kan worden welke beeldschermserver gebruikt moet worden en handelt - authorisatie informatie (gebruikersnaam en wachtwoord) + autorisatie informatie (gebruikersnaam en wachtwoord) af. XDM levert de gebruiker dezelfde - funtionaliteit levert als &man.getty.8; (zie + functionaliteit levert als &man.getty.8; (zie ). Dus het regelt de systeemaanmeldingen voor de schermen waaraan verbonden moet worden en start dan een sessie manager namens de gebruiker (meestal een X window manager). XDM wacht dan tot het programma stopt en geeft aan dat de gebruiker klaar is en afgemeld kan worden. Hierna kan XDM het aanmeldscherm weer tonen zodat de volgende gebruiker kan aanmelden. XDM gebruiken De XDM daemon staat in - /usr/X11R6/bin/xdm. Dit programma + /usr/local/bin/xdm. Dit programma kan als root altijd gestart worden en regelt dan het X weergavegedeelte van de lokale machine. Als XDM iedere keer bij het opstarten moet starten is het handig om een regel toe te voegen aan /etc/ttys. Meer informatie over het gebruik van dit bestand staat in . In de standaardversie van /etc/ttys staat - een regel om de applicatie deamon + een regel om de applicatie daemon XDM op een virtuele terminal te draaien: - ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure + ttyv8 "/usr/local/bin/xdm -nodaemon" xterm off secure Standaard staat deze regel uit. Om hem aan te zetten moet veld 5 van off naar on gewijzigd worden en moet met &man.init.8; herstart worden met gebruikmaking van de aanwijzingen in . Het eerste veld, de naam van de terminal die het programma aanstuurt, is ttyv8. Dit houdt in dat XDM op de negende virtuele terminal begint te draaien. XDM instellen De map met instellingen voor XDM - is /usr/X11R6/lib/X11/xdm. In deze map + is /usr/local/lib/X11/xdm. In deze map staan diverse bestanden die gebruikt kunnen worden om het gedrag en uiterlijk van XDM te veranderen. Meestal zijn dit de volgende bestanden: Bestand Omschrijving Xaccess Regels voor client authorisatie. Xresources Standaard waarden voor X bronnen. Xservers - Lijst met op afstand en lokaal te beheren schermen. + Lijst met op afstand en lokaal te beheren schermen. + Xsession Standaard sessie script voor logins. Xsetup_* Script die applicaties start voordat de login interface start. xdm-config Algehele instellingen voor alle schermen op deze machine. xdm-errors - Errors die gegenereerd zijn door het server programma. + Fouten die gegenereerd zijn door het + serverprogramma. xdm-pid - Het proces ID van de draaiende XDM. + Het proces ID van de draaiende + XDM. Tevens staan in deze map een aantal scripts en programma's om het bureaublad in te stellen als XDM draait. Het doel van elk van deze bestanden wordt kort omschreven. De juiste syntaxis en het gebruik van deze bestanden staat in &man.xdm.1;. De standaardinstelling regelt een eenvoudig rechthoekig aanmeldvenster met bovenin de hostnaam van de machine in een groot lettertype met een Login: en Password: prompt eronder. Dit is een goed beginpunt om het uiterlijk en werking van het XDM venster te veranderen. Xaccess Om een verbinding te maken met - XDM gestuurde schermen wordt het + XDM-gestuurde schermen wordt het protocol X Display Manager Connection Protocol (XDMCP) gebruikt. Het bestand is een set regels die XDMCP verbindingen met andere machines bestuurt. Het wordt genegeerd, tenzij xdm-config is gewijzigd zodat er wordt geluisterd naar inkomende verbindingen. Standaard wordt het clients niet toegestaan te verbinden. Xresources Dit is een bestand met standaarden voor de schermkiezer en de aanmeldschermen. Hier kan het uiterlijk van het aanmeldprogramma gewijzigd worden. De indeling is hetzelfde als bij het app-defaults bestand en is beschreven in de X11 documentatie. Xservers Dit is een lijst met netwerkschermen waaruit gekozen kan worden. Xsession Dit is het standaard sessiescript voor XDM dat start nadat de gebruiker is aangemeld. Normaal heeft iedere gebruiker een eigen sessiescript in ~/.xsession dat dit script overheerst. Xsetup_* Deze starten automatisch voordat de kiezers of aanmeldschermen getoond worden. Er is een script voor ieder gebruikt scherm met de naam Xsetup_ gevolgd door het lokale schermnummer (bijvoorbeeld Xsetup_0). Normaal draaien deze scripts éé of twee programma's in de achtergrond zoals xconsole. xdm-config Dit bevat de instellingen die toegepast worden op ieder scherm die deze installatie aanstuurt. De indeling is hetzelfde als van app-defaults. xdm-errors Hierin staan de meldingen die de X servers geven als XDM ze probeert te starten. Als een scherm dat gestart is door XDM om onduidelijke reden hangt, is dit een goede plaats om te zoeken naar foutmeldingen. Deze meldingen worden ook per sessie naar het ~/.xsession-errors van de gebruiker gestuurd. Een netwerk beeldschermserver gebruiken Om gebruikers een verbinding te laten maken met een X server moeten de toegangsregels gewijzigd worden en de connectielistener moet aangezet worden. Deze hebben standaard wat terughoudende waarden. Om XDM te laten luisteren naar verbindingen moet als eerste een regel uitgecommentarieerd worden in xdm-config: ! SECURITY: do not listen for XDMCP or Chooser requests ! Comment out this line if you want to manage X terminals with XDM DisplayManager.requestPort: 0 Hierna moet XDM herstart worden. Afwijkend in dit bestand is dat commentaar in app-defaults bestanden begint met het karakter ! en niet met het karakter #. Het kan wenselijk zijn om de - toegangcontrole aan te scherpen. Hiervoor staan - voorbeeldregels in Xaccess en - &man.xdm.1;. + toegangscontrole aan te scherpen — hiervoor staan + voorbeeldregels in Xaccess en lees de + hulppagina &man.xdm.1; voor meer informatie. Alternatieven voor XDM Er bestaan diverse alternatieven voor XDM programma. kdm (wordt geleverd bij - KDE) wordt later in dit hoofstuk + KDE) wordt later in dit hoofdstuk behandeld. De kdm beeldschermmanager biedt vele grafische verbeteringen en cosmetische franje en de mogelijkheid om de gebruiker de kans te geven een window manager te laten kiezen bij het aanmelden. Valentino Vaschetto Bijgedragen door Bureaubladomgevingen Deze sectie beschrijft de verschillende bureaubladomgevingen voor X op &os;. Een bureaubladomgeving kan van alles inhouden: van een simpele window manager tot een complete suite van bureaubladapplicaties zoals KDE of GNOME. GNOME Over GNOME GNOME GNOME is een gebruikersvriendelijke bureaubladomgeving die de gebruiker de mogelijkheid geeft om gemakkelijk de computer te gebruiken en in te stellen. GNOME heeft een paneel (voor het starten en tonen van statusinformatie van applicaties), een bureaublad (waar data en applicaties geplaatst kunnen worden), een set standaard bureaubladapplicaties en een regels die het makkelijker maakt voor applicaties om eenduidig met elkaar samen te werken. Gebruikers van andere besturingssystemen of omgevingen voelen zich meestal meteen thuis bij het gebruik van de krachtige grafisch gestuurde omgeving die GNOME biedt. Meer informatie over GNOME op &os; staat op de &os; GNOME Project website. De website bevat ook redelijk complete FAQ's over het installeren, instellen en beheren van GNOME. GNOME installeren - De makkelijkste manier om - GNOME te installeren is door - middel van het Desktop Configuration menu - tijdens de &os; installatie zoals beschreven in . Het kan ook makkelijk - geïnstalleerd worden van een package of uit de - Portscollectie: + De software kan eenvoudig worden geïnstalleerd vanuit + een pakket of de Portscollectie: Om het GNOME package te installeren: &prompt.root; pkg_add -r gnome2 Om GNOME vanuit de Portscollectie te installeren: &prompt.root; cd /usr/ports/x11/gnome2 &prompt.root; make install clean Zodra GNOME geïnstalleerd is, moet de X server verteld worden dat in plaats van de standaard window manager GNOME gebruikt moet worden. De meest eenvoudige manier om GNOME te starten is via GDM, de GNOME Display Manager. GDM wordt meegeïnstalleerd met de GNOME bureaubladomgeving, maar staat standaard uitgeschakeld. Dit programma kan ingeschakeld worden door gdm_enable="YES" toe te voegen aan /etc/rc.conf. Na herstarten start GNOME automatisch bij het aanmelden. Er zijn geen verdere instellingen nodig. GNOME kan ook gestart worden vanaf de commandoregel door het bestand .xinitrc juist in te stellen. Als er al een .xinitrc is, dan hoeft alleen de regel die de huidige window manager start veranderd te worden in een regel die - /usr/X11R6/bin/gnome-session + /usr/local/bin/gnome-session start. Als er niets speciaals met dit instellingenbestand is gedaan: - &prompt.user; echo "/usr/X11R6/bin/gnome-session" > ~/.xinitrc + &prompt.user; echo "/usr/local/bin/gnome-session" > ~/.xinitrc Nu kan met startx de GNOME bureaubladomgeving gestart worden. Als een beeldschermmanager als XDM gebruikt wordt werkt het bovenstaande niet. In plaats daarvan moet een uitvoerbaar .xsession gemaakt worden met hetzelfde commando erin. Hiervoor moet het bestand aangepast worden door het bestaande window manager commando te vervangen door - /usr/X11R6/bin/gnome-session: + /usr/local/bin/gnome-session: &prompt.user; echo "#!/bin/sh" > ~/.xsession -&prompt.user; echo "/usr/X11R6/bin/gnome-session" >> ~/.xsession +&prompt.user; echo "/usr/local/bin/gnome-session" >> ~/.xsession &prompt.user; chmod +x ~/.xsession - Het is ook mogelijk de beeldschermanager zo in te stellen + Het is ook mogelijk de beeldschermmanager zo in te stellen dat de window manager gekozen kan worden tijdens het aanmelden. In de paragraaf Meer KDE Details wordt uitgelegd hoe dit gedaan moet worden voor de kdm beeldschermmanager van KDE. Anti-alias lettertypen in GNOME GNOME anti-alias lettertypen X11 ondersteunt anti-aliasing via de RENDER uitbreiding. GTK+ 2.0 en hoger (de toolkit die gebruikt wordt bij GNOME) kunnen dit gebruiken. Het instellen van anti-aliasing is beschreven in . Dus met up-to-date software is anti-aliasing in de GNOME - bureaublagomgeving mogelijk. In + bureaubladomgeving mogelijk. In ApplicationsDesktop PreferencesFont - kan gekozen wordne voor Best + kan gekozen worden voor Best shapes, Best contrast of Subpixel smoothing (LCDs). Bij een GTK+ applicatie die geen onderdeel is van het GNOME bureaublad moet de omgevingsvariabele GDK_USE_XFT op 1 gezet worden voordat het programma wordt gestart. KDE KDE Over KDE KDE is een bureaubladomgeving die eigentijds is en makkelijk in gebruik. KDE biedt de gebruiker: Een schitterende eigentijdse desktop; Een desktop die volledig netwerktransparant is; Een geïntegreerd hulpsysteem dat eenvoudig bruikbare informatie geeft over het gebruik van het KDE bureaublad en de applicaties; Alle KDE applicaties werken op dezelfde manier en zien er hetzelfde uit; Gestandaardiseerde menu's en werkbalken, keybindings, kleurschema's, enzovoort; Internationalisatie: KDE is beschikbaar in meer dan 40 talen; - Gecentraliseerde vraag en antwoord gestuurde + Gecentraliseerde, consistente, dialooggedreven bureaubladinstelling; Een grote hoeveelheid bruikbare KDE applicaties; KDE wordt geleverd met een webbrowser genaamd Konqueror die niet onder doet voor de andere bestaande webbrowsers op &unix; systemen. Meer informatie over KDE staat op de KDE website. Voor &os; specifieke informatie en bronnen over KDE is er de &os;-KDE team + url="http://freebsd.kde.org/">KDE op &os; team website. + + Er zijn twee versies van KDE beschikbaar op &os;. + Versie 3 is al een lange tijd aanwezig, en is zeer + volwassen. Versie 4, de volgende generatie, is ook + beschikbaar in de Portscollectie. Ze kunnen zelfs naast + elkaar geïnstalleerd worden. KDE installeren Net als bij GNOME of iedere - andere bureaubladomgeving is de makkelijkste manier om - KDE te installeren door middel van - het Desktop Configuration menu in het &os; - installatie proces. Dat wordt beschreven in . Ook nu geldt weer dat de - software eenvoudig geïnstalleerd met een package of uit - de Portscollectie: - - Om KDE van een package te - installeren: + andere bureaubladomgeving kan de software eenvoudig + geïnstalleerd met een package of uit de Portscollectie: + + + Om het KDE3 package van het + netwerk te installeren: &prompt.root; pkg_add -r kde + Om het KDE4 package van het + netwerk te installeren: + + &prompt.root; pkg_add -r kde4 + &man.pkg.add.1; haalt automatisch de laatste versie van de applicatie op. - Om KDE vanuit de + Om KDE3 vanuit de Portscollectie te bouwen en te installeren: &prompt.root; cd /usr/ports/x11/kde3 &prompt.root; make install clean + Gebruik de Portscollectie om + KDE4 vanuit de broncode te bouwen: + + + &prompt.root; cd /usr/ports/x11/kde4 +&prompt.root; make install clean + Nadat KDE geïnstalleerd is, moet de X server verteld worden dat déze applicatie gestart moet worden in plaats van de standaard window manager. Hiervoor kan .xinitrc aangepast worden: + Voor KDE3: + &prompt.user; echo "exec startkde" > ~/.xinitrc + Voor KDE4: + + &prompt.user; echo "exec /usr/local/kde4/bin/startkde" > ~/.xinitrc + Als het X Window System wordt gestart met startx is KDE het bureaublad. Als er een beeldschermmanager als XDM gebruikt wordt, is de instelling anders. Dan moet .xsession gewijzigd worden. Instructies voor kdm worden later in dit hoofdstuk beschreven. Meer KDE details Nadat KDE geïnstalleerd is op een systeem, kunnen de meeste dingen uitgezocht worden via de hulppagina's of door de verschillende menu's aan te wijzen en erop te klikken. &windows; en &mac; gebruikers voelen zich meestal helemaal thuis. Het beste naslagwerk voor KDE is de on-line documentatie. KDE heeft zijn eigen web browser, Konqueror, tientallen handige - applicatie's en uitgebreide documentatie. De volgende + applicaties en uitgebreide documentatie. De volgende paragrafen beschrijven de technische zaken die moeilijk proefondervindelijk te achterhalen zijn. De KDE beeldschermmanager KDE beeldschermmanager Een beheerder van een multi-user systeem die een grafisch aanmeldscherm willen hebben voor zijn gebruikers kan hiervoor XDM gebruiken, zoals eerder beschreven. KDE biedt kdm als alternatief. Dat is ontworpen met een beter uiterlijk en heeft meer aanmeldopties. Gebruikers kunnen via een menu kiezen welke bureaubladomgeving (KDE, GNOME of een andere) zij na het aanmelden willen gebruiken. Om kdm te starten, moet de - ttyv8 regel in + ttyv8 regel in /etc/ttys worden aangepast. De regel moet er als volgend uitzien: + Voor KDE3 + ttyv8 "/usr/local/bin/kdm -nodaemon" xterm on secure + + Voor KDE4 + + ttyv8 "/usr/local/kde4/bin/kdm -nodaemon" xterm on secure XFce Over XFce XFce is een bureaubladomgeving die gebaseerd is op de GTK+ toolkit die gebruikt wordt bij GNOME, maar is eenvoudiger en - bedoeld voor gebruikers die een simpel en efficient + bedoeld voor gebruikers die een simpel en efficiënt bureaublad willen dat toch eenvoudig en makkelijk in te stellen is. Het ziet er bijna hetzelfde uit als CDE dat bij commerciële &unix; systemen zit. Een aantal XFce functies zijn: Een eenvoudige, makkelijk te bedienen desktop; Geheel in te stellen met de muis, met klikken en slepen, enzovoort; Hoofdpaneel hetzelfde als CDE met menu's, applets en applicaties Geïntegreerde window manager, bestandsmanager, geluidsmanager, GNOME - compliance module en andere zaken; + compliance module en meer zaken; Thema's (sinds het gebruik van GTK+); - Snel, licht en efficient: ideaal voor de oudere + Snel, licht en efficiënt: ideaal voor de oudere of langzamere machines of machines met beperkte hoeveelheid geheugen; Meer informatie over XFce staat op de XFce website. Installeren van XFce XFce is met een package te installeren: &prompt.root; pkg_add -r xfce4 Of vanuit de Portscollectie: &prompt.root; cd /usr/ports/x11-wm/xfce4 &prompt.root; make install clean Nu moet de X server weten dat XFce gestart moet worden als X de volgende keer start: - &prompt.user; echo "/usr/X11R6/bin/startxfce4" > ~/.xinitrc + &prompt.user; echo "/usr/local/bin/startxfce4" > ~/.xinitrc De volgende keer dat X start is XFce het bureaublad. Wederom: als een beeldschermmanager als XDM gebruikt wordt, moet .xsession gemaakt worden zoals beschreven in de paragraaf over GNOME. Nu moet echter het - command /usr/X11R6/bin/startxfce4 + command /usr/local/bin/startxfce4 gebruikt. Het is ook mogelijk de beeldschermmanager in te stellen om bureaublad te kiezen bij het aanmelden, zoals is uitgelegd in de paragraaf over kdm. diff --git a/nl_NL.ISO8859-1/share/sgml/glossary/freebsd-glossary.sgml b/nl_NL.ISO8859-1/share/sgml/glossary/freebsd-glossary.sgml index 54f12a0354..276fe16d03 100644 --- a/nl_NL.ISO8859-1/share/sgml/glossary/freebsd-glossary.sgml +++ b/nl_NL.ISO8859-1/share/sgml/glossary/freebsd-glossary.sgml @@ -1,1827 +1,2069 @@ &os; begrippenlijst Deze begrippenlijst bevat de termen en acroniemen die binnen de &os; gemeenschap en documentatie worden gebruikt. A ACL ACPI AMD AML + + API + + + APIC APM APOP ASL ATA ATM ACPI Machinetaal AML Pseudocode die wordt geïnterpreteerd door een virtual machine binnen een ACPI-compliant besturingssysteem die een laag biedt tussen de onderliggende hardware en de gedocumenteerde interface van het OS. ACPI Brontaal ASL De programmeertaal AML is hierin geschreven. Toegangscontrole Lijst ACL - + Een lijst toestemmingen gekoppeld aan een object, meestal + òfwel een bestand òfwel een netwerkapparaat. + Advanced Configuration and Power Interface ACPI Een specificatie die een abstractie biedt van de interface die de hardware aan het besturingssysteem biedt, zodat het besturingssysteem niets hoeft te weten over de onderliggende hardware om er het maximale uit te halen. ACPI is een evolutie en opvolger van de functionaliteit die daarvoor door APM, PNPBIOS en andere technologieën werd geleverd en faciliteert in de controle van stroomverbruik, de slaapstand, het in- en uitschakelen van apparaten, etc. + + Application Programming Interface + API + + Een verzameling procedures, protocollen en gereedschappen + dat de canonieke interactie van één of meer + programmadelen specificeert; hoe, wanneer en waarom ze + samenwerken, en welke gegevens ze delen of bewerken. + + + - Advanced Power Management (Geavanceerd Energie - Beheer) + Advanced Power Management (Geavanceerd Energie Beheer) + APM - + Een API dat het besturingssysteem in + staat stelt om samen te werken met het BIOS + om zo energiebeheer na te streven. APM is + voor de meeste toepassingen ingehaald door de veel generiekere + en krachtigere ACPI-specificatie. Advanced Programmable Interrupt Controller APIC Advanced Technology Attachment ATA Asynchronous Transfer Mode ATM Authenticated Post Office Protocol APOP Automatic Mount Daemon AMD Een daemon die automatisch een bestandssysteem mount als een bestand of map wordt geraadpleegd. B + + BAR + + + BIND BIOS BSD + + Base Address Register + + De registers die bepalen op welk adresbereik een + PCI-apparaat zal reageren. + + + Basic Input/Output System BIOS - + De definitie van BIOS hangt enigszins + af van de context. Sommige mensen verwijzen ernaar als de + ROM-chip met een basisverzameling routines + om een interface tussen software en hardware te bieden. + Anderen verwijzen ernaar als de verzameling routines die de + chip bevat die helpen het systeem op te starten. Sommigen + kunnen er ook naar verwijzen als het scherm dat gebruikt wordt + om het opstartproces te configureren. Het + BIOS is PC-specifiek maar andere systemen + hebben iets soortgelijks. Berkeley Internet Name Domain BIND - + Een implementatie van de DNS + protocollen. Berkeley Software Distributie BSD Deze naam heeft de Computer Systems Research Group (CSRG) van de The University of California in Berkeley gegeven aan de verbeteringen en aanpassingen die ze hebben gemaakt aan AT&T's 32V &unix;. &os; is een afstammeling van het werk van de CSRG. Bikeshed Building Een fenomeen waar blijkt dat veel mensen een mening geven over een eenvoudig onderwerp terwijl er weinig of geen discussie ontstaat over een complex onderwerp. Op FAQ is meer te lezen over het ontstaan van de term. C CD CHAP CLIP COFF CPU CTS CVS Carrier Detect CD - Een RS232C signaal dat aangeeft dat er een drager is - ontdekt. + Een RS232C signaal dat aangeeft dat er + een drager is ontdekt. - Central Processing Unit (Centrale - Verwerkingseenheid) + Central Processing Unit (Centrale Verwerkingseenheid) + CPU - + Ook bekend als de processor. Dit zijn de hersenen van de + computer waar alle berekeningen plaatsvinden. Er zijn een + aantal verschillende architecturen met verschillende + instructieverzamelingen. Onder de bekendere bevinden zich de + Intel-x86 en afgeleiden, Sun SPARC, PowerPC, en Alpha. - Challenge Handshake Authentication - Protocol + Challenge Handshake Authentication Protocol CHAP - + Een methode om een gebruiker te authenticeren, gebaseerd + op een geheim gedeeld tussen te cliënt en de server. + Classical IP over ATM CLIP Clear To Send CTS - Een RS232C signaal dat het andere systeem permissie geeft - om gegevens te sturen. + Een RS232C signaal dat het andere + systeem toestemming geeft om gegevens te sturen. + Common Object File Format COFF Concurrent Versions System CVS - + Een versiebeheersysteem, dat een methode biedt om te + werken met vele verschillende revisies van bestanden en deze + bij te houden. CVS biedt de mogelijkheid om individuele + veranderingen te extraheren, samen te voegen, en terug te + draaien, en het biedt te mogelijkheid om bij te houden welke + veranderingen waren gemaakt, door wie en om welke reden. + D DAC DDB DES DHCP DNS DSDT DSR DTR DVMRP Discretionary Access Control DAC Data Encryption Standard DES - + Een methode om informatie te versleutelen, traditioneel + gebruikt als de methode om &unix;-wachtwoorden te versleutelen + en als de functie &man.crypt.3;. Data Set Ready DSR - + Een RS232C signaal verzonden van het + modem naar de computer of terminal om een bereidheid om + gegevens te versturen en te ontvangen aan te geven. + Data Terminal Ready DTR - + Een RS232C signaal verzonden van de + computer of terminal naar het modem om een bereidheid om + gegevens te versturen en ontvangen aan te geven. Debugger DDB - + Een interactieve in-kernel faciliteit om de toestand van + een systeem te onderzoeken, vaak gebruikt nadat een systeem + gecrasht is om de gebeurtenissen rondom de storing te bepalen. + Differentiated System Description Table DSDT - + Een ACPI tabel die + basisconfiguratie-informatie over het basissysteem biedt. + Distance-Vector Multicast Routing Protocol DVMRP Domain Name System DNS - + Het systeem dat menselijk leesbare hostnamen (i.e. + mail.example.net) omzet in Internetadressen en andersom. + Dynamic Host Configuration Protocol DHCP - + Een protocol dat dynamisch IP-adressen aan een computer + (host) toekent wanneer het er een vraagt van de server. De + adrestoekenning wordt een lease genoemd. E ECOFF ELF ESP Encapsulated Security Payload ESP Executable and Linking Format ELF Extended COFF ECOFF F FADT FAT FAT16 FTP File Allocation Table FAT File Allocation Table (16-bit) FAT16 File Transfer Protocol FTP - + Een lid van de familie van hoogniveau protocollen + geïmplementeerd bovenop TCP dat + gebruikt kan worden om bestanden over een + TCP/IP netwerk te versturen. Fixed ACPI Description Table FADT G GUI Giant De naam van het wederzijdse uitsluitingsmechanisme (een sleep mutex) die veel kernelbronnen beschermt. Hoewel in de dagen dat er op een machine maar enkele tientallen processen draaiden, er één netwerkkaart in zat en echt maar één processor, een eenvoudig sleutelmechanisme toereikend was, is het in de huidige tijden een onaanvaardbare beperking voor prestaties. &os; ontwikkelaars werken actief om het te vervangen door sloten die individuele bronnen beschermen waardoor er meer ruimte komt voor parallelisme voor zowel machines met één als meerdere processoren. Grafische Gebruikersinterface GUI Een systeem waarin gebruiker en compiter interacteren door mideel van afbeeldingen. H HTML HUP HangUp HUP HyperText Markup Language HTML De opmaaktaal voor webpagina's. I I/O IASL IMAP IP IPFW IPP IPv4 IPv6 ISP IP Firewall IPFW IP Versie 4 IPv4 - + Versie 4 van het IP protocol, dat 32 + bits gebruikt voor adressering. Deze versie wordt nog steeds + het meest gebruikt, maar het wordt langzaam vervangen door + IPv6. + IP Versie 6 IPv6 - + Het nieuwe IP protocol. Uitgevonden + omdat de adresruimte in IPv4 opraakt. + Gebruikt 128 bits voor adressering. Invoer/Uitvoer I/O Intel’s ASL compiler IASL Intel’s compiler voor de conversie van ASL naar AML. Internet Message Access Protocol IMAP - + Een protocol om emailberichten op een mailserver te + benaderen, gekarakteriseerd doordat de berichten normaliter op + de server worden gehouden in tegenstelling tot te worden + gedownload naar de mailleescliënt. Internet Printing Protocol IPP Internet Protocol IP - + Het pakketverstuurprotocol dat het basisprotocol op het + Internet is. Oorspronkelijk ontwikkeld op het Ministerie van + Defensie van de Verenigde Staten en een extreem belangrijk + deel van de TCP/IP stack. Zonder het + Internet Protocol zou het Internet niet zijn geworden wat het + vandaag is. Zie voor meer informatie + RFC 791. Internet Service Provider ISP - + Een bedrijf dat toegang biedt tot het Internet. K KAME Japans voor schildpad. De term KAME wordt in computerkringen gebruikt om te verwijzen naar het KAME Project, dat werkt aan de implementatie van IPv6. KDC KLD KSE KVA Kbps Kernel &man.ld.1; KLD - + Een methode om dynamisch functionaliteit in een + &os;-kernel te laden zonder het systeem opnieuw te starten. + Kernel Planningsentiteiten KSE Een door de kernel ondersteund threading systeem. Op de project homepage staan meer details. Kernel Virtueel Adres KVA - Sleutel Distributiecentrum (Key Distribution - Center) + Key Distribution Center (Sleutel Distributiecentrum) + KDC Kilo Bits Per Seconde Kbps - + Gebruikt om bandbreedte te meten (hoeveel gegevens kunnen + een gegeven punt in een gespecificeerde hoeveelheid tijd + passeren). Alternatieven voor de Kilo prefix omvatten Mega, + Giga, Tera, enzovoorts. L LAN LOR LPD - Lijnpinter Daemon (Line Printer Daemon) + Line Printer Daemon (Lijnprinter Daemon) LPD - Lokaal Netwerk (Local Area Network) + Local Area Network (Lokaal Netwerk) LAN - + Een netwerk gebruik in een lokaal gebied, bijvoorbeeld + kantoor, huis, enzovoorts. Lock Order Reversal LOR De &os; kernel gebruikt een aantal bronsloten om tussen die bronnen te bemiddelen. In de &os; current kernels zit een run-time slotdiagnosesysteem, &man.witness.4;, dat in release versies wordt verwijderd, waarmee potentiele deadlocks vanwege slotfouten opgespoord kunnen worden. &man.witness.4; is redelijk conservatief en daarom zijn vals-positieven mogelijk. Een echte positief geeft aan dat in het slechtste geval op dat punt een deadlock had plaatsgevonden.. Echte positieve LOR's worden meestal snel opgelost, dus is het verstandig &a.current.url; en Voorgekomen LOR's Seen te bekijken alvorens te mailen naar mailinglijsten. M MAC MADT MFC + + MFP4 + + + MFS MIT MLS MOTD MTA MUA Mail Transfer Agent MTA - + Een toepassing gebruikt om email te versturen. Een + MTA maakte traditioneel deel uit van het + basissysteem van BSD. Tegenwoordig zit Sendmail in het + basissysteem, maar er zijn vele andere MTAs, + + zoals postfix, qmail en Exim. Mail User Agent MUA - + Een toepassing die door gebruikers wordt gebruikt om email + af te beelden en te schrijven. Mandatory Access Control MAC Massachusetts Institute of Technology MIT - Samenvoegen vanuit Current (Merge From - Current) + Merge From Current (Samenvoegen vanuit Current) + MFC Functionaliteit of een patch samenvoegen vanuit de -CURRENT tak of een andere, meestal -STABLE. + + Merge From Perforce (Samenvoegen vanuit Perforce) + + MFP4 + + Het samenvoegen van functionaliteit of een patch vanuit + het Perforce repository naar de -CURRENT tak. + + + + - Samenvoegen vanuit Stable + Merge From Stable (Samenvoegen vanuit Stable) + MFS In het &os ontwikkelproces wordt een wijziging gecommit in de -CURRENT tak om deze te testen voordat deze wordt samengevoegd naar -STABLE. In bijzondere gevallen gaat een wijziging eerst naar -STABLE en wordt dan pas samengevoegd naar -CURRENT. Deze term wordt ook gebruikt als een patch wordt samengevoegd uit -STABLE naar een beveiligingstak. - Bericht van de Dag (Message Of The Day) + Message Of The Day (Bericht van de Dag) MOTD Een bericht, meestal getoond bij aanmelden, dat vaak gebruikt wordt om informatie aan gebruikers te geven. - Meerlaagse Beveiliging (Multi-Level - Security) + Multi-Level Security (Meerlaagse Beveiliging) + MLS Multiple APIC Description Table MADT N NAT NDISulator NFS NTFS NTP - Netwerkadres Vertaling (Network Address - Translation) + Network Address Translation (Netwerkadresvertaling) + NAT - + Een techniek waarbij IP pakketten + worden herschreven tijdens de weg door een gateway, zodat + vele machines achter de gateway effectief een enkel + IP adres kunnen delen. - Netwerkbestandssysteem (Network File - System) + Network File System (Netwerkbestandssysteem) + NFS - Nieuwe Technologie Bestandssysteem (New Technology - File System) + New Technology File System (Nieuwe Technologie + Bestandssysteem) NTFS Een bestandssysteem dat door µsoft; is ontwikkeld en beschikbaar is voor haar New Technology besturingssystemen als &windows2k;, &windowsnt; en &windowsxp;. - Netwerk Tijdprotocol (Network Time - Protocol) + Network Time Protocol (Netwerk Tijdprotocol) + NTP - + Een middel om klokken over een netwerk te synchroniseren. + O OBE ODMR OS On-Demand Mail Relay ODMR - Besturingssysteem (Operating System) + Operating System (Besturingssysteem) OS - + Een verzameling programma's, bibliotheken en + gereedschappen die toegang geeft tot de hardwarebronnen van + een computer. Tegenwoordig variëren besturingssystemen + van simplistische ontwerpen die slechts één + programma tegelijk kunnen draaien dat slechts + één apparaat benadert, tot volledige + meergebruikers-, meertaaks- en meerprocessystemen, waarbij elk + van hen tientallen verschillende toepassingen draaien. Overtaken By Events OBE Geeft aan dat een voorgestelde verandering (zoals een Problem Report of een feature request) niet langer relevant of van toepassing is vanwege bijvoorbeeld veranderingen aan &os;, wijzigingen in netwerkstandaarden, overbodig worden van hardware, enzovoort. P + + p4 + + + PAE PAM PAP PC PCNSFD PDF PID POLA POP POP3 PPD PPP PPPoA PPPoE PPP over ATM PPPoA PPP over Ethernet PPPoE PR PXE - Wachtwoord Authenticatieprotocol (Password - Authentication Protocol) + Password Authentication Protocol (Wachtwoord + Authenticatieprotocol) PAP + + Perforce + + Een broncodebeheerproduct gemaakt door Perforce Software dat + geavanceerder is dan CVS. Hoewel niet opensource, is het + kosteloos te gebruiken voor opensourceprojecten zoals &os;. + + + Sommige &os;-ontwikkelaars gebruiken een Perforce + repository als een ontwikkelgebied voor code die te + experimenteel voor de -CURRENT tak wordt geacht. + + + Personal Computer PC - PC Netwerkbestandssysteem Daemon (Personal Computer - Network File System Daemon) + Personal Computer Network File System Daemon (PC + Netwerkbestandssysteem Daemon) PCNFSD - Fysieke Adresextensies (Physical Address - Extensions + Physical Address Extensions (Fysieke + Adresuitbreidingen) PAE Een methode voor het inschakelen van toegang tot 64 GB RAM op systemen die fysieke een 32-bit brede adresruimte hebben (en daarom zonder PAE een limiet van 4 GB zouden hebben). Pluggable Authentication Modules PAM Point-to-Point Protocol PPP Pointy Hat (Punthoed) Een mythisch hoofddeksel dat rondgaat tussen &os; committers die een kapotte build veroorzaken, aflopende revisienummers veroorzaken of op een andere manier problemen veroorzaken in de broncode. Alle committers who breaks the build, makes revision numbers go backwards, or creates any other kind of havoc in the source base. Alle committers die ook maar iets waard zijn, hebben meestal snel een kast vol. Het gebruik is (bijna altijd) grappig bedoeld. Portable Document Format PDF Post Office Protocol POP + Post Office Protocol Version 3 POP3 - + Een protocol om emailberichten op een mailserver te + benaderen, gekarakteriseerd doordat berichten normaliter + worden gedownload van de server naar de cliënt, in + tegenstelling tot op de server te blijven staan. + PostScript Printer Description PPD Preboot eXecution Environment PXE - Principe van Kleinste Verrassing (Principle Of Least Astonishment) + Principle Of Least Astonishment (Principe van Kleinste + Verbazing) POLA In de evolutie van &os; moeten zichtbare wijzigingen voor gebruikers vooral geen grote verrassing zijn. Het willekeurig reorganiseren van bijvoorbeeld de opstartvariabelen van het systeem in /etc/defaults/rc.conf is in strijd met POLA. Ontwikkelaart houden rekening met POLA bij het uitvoeren van systeemwijzigingen die zichtbaar zijn voor gebruikers. Problem Report PR - + Een beschrijving van een probleem dat gevonden is in + òfwel de broncode òfwel de documentatie van + &os;. Zie Writing &os; + Problem Reports. Proces ID PID Een nummer dat bij een uniek proces op een systeem hoort, waarmee het geïdentificeerd kan worden en ervoor zorgt dat er acties op uitgevoerd kunnen worden. Project Evil De werktitel van de NDISulator, geschreven door Bill Paul, die het zo heeft genoemd omdat het zo verschikkelijk is, vanuit een filosofisch standpunt, dat een dergelijk iets nodig is. De NDISulator is een speciale module voor compatibiliteit met µsoft; &windows; NDIS miniport netwerkstuurprogramma's voor &os;/i386. Dit is meestal de enige manier om kaarten te gebruiken waarvoor de broncode voor het stuurprogramma niet openbaar is. Meer is te vinden in src/sys/compat/ndis/subr_ndis.c. R RA RAID RAM RD RFC RISC RPC RS232C RTS Random Access Memory RAM Received Data RD - + Een RS232C pin of draad waarop gegevens + worden ontvangen. + Recommended Standard 232C RS232C Een standaard voor communicatie tussen seriële apparaten. Reduced Instruction Set Computer RISC - + Een benadering van processorontwerp waarbij de bewerkingen + die de hardware kan uitvoeren versimpeld en zo generiek + mogelijk zijn. Dit kan leiden tot lager energieverbruik, + minder transistors en in sommige gevallen, betere prestaties + en verhoogde codedichtheid. Voorbeelden van RISC processoren + omvatten de Alpha, &sparc;, &arm;, en &powerpc;. Redundant Array of Inexpensive Disks RAID Remote Procedure Call RPC + + repocopy + + + + + Repository Copy + + Het direct kopiëren van bestanden binnen het CVS + repository. + + Zonder een repocopy, als een bestand gekopieerd of + verplaatst moest worden, zou de committer cvs + add draaien om het bestand op de nieuwe plaats te + zetten, en vervolgens cvs rm op het oude + bestand als de oude kopie werd verwijderd. + + Het nadeel van deze methode is dat de geschiedenis (i.e. + de ingangen in de CVS logs) van het bestand niet gekopieerd + werd naar de nieuwe plaats. Aangezien het &os; Project deze + geschiedenis zeer bruikbaar acht, wordt in plaats hiervan vaak + een repocopy gebruikt. Dit is een proces waarbij een van de + repository meisters de bestanden direct binnen het repository + kopiëren, in plaats van het programma &man.cvs.1; te + gebruiken. + + + Request For Comments RFC - + Een verzameling documenten die Internetstandaarden, + protocollen, enzovoorts definiëren. Zie www.rfc-editor.org. + + + Ook gebruikt als algemene term wanneer iemand een + verandering voorstelt en terugkoppeling wil. Request To Send RTS - + Een RS232C signaal dat verzoekt dat het + verre systeem begint met het versturen van gegevens. + Router Advertisement RA S SCI SCSI SG SMB SMP SMTP SMTP AUTH SSH STR + + SVN + + + SMTP Authentication SMTP AUTH Server Message Block SMB Signal Ground SG - E7eacute;n RS232 pin of draad is de aardereferentie voor - het signaal. + Een RS232 pin of draad die de + aardereferentie voor het signaal is. Simple Mail Transfer Protocol SMTP Secure Shell SSH Small Computer System Interface SCSI + + Subversion + SVN + + Subversion is een versiebeheersysteem, vergelijkbaar met + CVS, maar met een uitgebreidere lijst mogelijkheden. + + + + Suspend To RAM STR Symmetric MultiProcessor SMP System Control Interrupt SCI T TCP + + TCP/IP + + + TD TFTP TGT TSC Ticket-Granting Ticket TGT Time Stamp Counter TSC Een profiling counter die in moderne &pentium; processoren zit die het aantal kloktikken telt van de kernfrequentie. Transmission Control Protocol TCP - + Een protocol dat bovenop (b.v.) het IP + protocol zit en garandeert dat pakketten in een betrouwbare en + ordelijke manier worden afgeleverd. + + + + + Transmission Control Protocol/Internet Protocol + + TCP/IP + + De term oor de combinatie van het TCP + protocol dat over het IP protocol draait. + Veel van het Internet draait op TCP/IP. + Transmitted Data TD - + Een RS232C pin of draad waarover + gegevens worden verstuurd. Trivial FTP TFTP U UDP UFS1 UFS2 UID URL USB Uniform Resource Locator URL Unix File System Version 1 UFS1 Unix File System Version 2 UFS2 Universal Serial Bus USB User ID UID Een uniek nummer dat wordt toegewezen aan een gebruiker of een computer waarmee bronnen en rechten die zijn toegewezen kunnen worden geïdentificeerd. User Datagram Protocol UDP V VPN Virtual Private Network VPN diff --git a/nl_NL.ISO8859-1/share/sgml/mailing-lists.ent b/nl_NL.ISO8859-1/share/sgml/mailing-lists.ent index b8f4f10dde..65e2f7b8d7 100644 --- a/nl_NL.ISO8859-1/share/sgml/mailing-lists.ent +++ b/nl_NL.ISO8859-1/share/sgml/mailing-lists.ent @@ -1,442 +1,456 @@ FreeBSD lijstserver"> &a.mailman.listinfo;"> FreeBSD ACPI mailinglijst"> freebsd-acpi"> FreeBSD steun mailinglijst"> freebsd-advocacy"> FreeBSD AFS porting mailinglijst"> freebsd-afs"> FreeBSD Adaptec AIC7xxx discussies mailinglijst"> freebsd-aic7xxx"> FreeBSD Alpha porting mailinglijst"> freebsd-alpha"> FreeBSD porten naar AMD64 systemen"> freebsd-amd64"> FreeBSD aankondigingen mailinglijst"> freebsd-announce"> FreeBSD Apache mailinglijst"> freebsd-apache"> FreeBSD architectuur en ontwerp mailinglijst"> freebsd-arch"> FreeBSD ARM porting mailinglijst"> freebsd-arm"> FreeBSD ATM netwerken mailinglijst"> freebsd-atm"> FreeBSD broncode audit mailinglijst"> freebsd-audit"> FreeBSD binair updatesysteem systeem mailinglijst"> freebsd-binup"> FreeBSD Bluetooth mailinglijst"> freebsd-bluetooth"> FreeBSD bugbusters mailinglijst"> freebsd-bugbusters"> FreeBSD problem reports mailinglijst"> freebsd-bugs"> FreeBSD babbel mailinglijst"> freebsd-chat"> FreeBSD clustering mailinglijst"> freebsd-cluster"> &os.current; mailinglijst"> freebsd-current"> CTM aankondigingen"> ctm-announce"> CTM distributie van CVS bestanden"> ctm-cvs-cur"> CTM 4-STABLE src tak distributie mailinglijst"> ctm-src-4"> CTM -CURRENT src tak distributie mailinglijst"> ctm-src-cur"> CTM gebruikersdiscussie mailinglijst"> ctm-users"> FreeBSD CVS commitberichten mailinglijst"> cvs-all"> FreeBSD CVS doc commitlijst"> cvs-doc"> FreeBSD CVS ports commitlijst"> cvs-ports"> FreeBSD CVS projecten commitlijst"> cvs-projects"> FreeBSD CVS src commitlijst"> cvs-src"> FreeBSD CVSweb beheer mailinglijst"> freebsd-cvsweb"> FreeBSD gebaseerde Databases mailinglijst"> freebsd-database"> FreeBSD documentatieproject mailinglijst"> freebsd-doc"> Apparaatstuurprogramma's schrijven voor FreeBSD"> freebsd-drivers"> FreeBSD gebruikers van Eclipse IDE, hulpprogramma's, clientapplicaties en ports"> freebsd-eclipse"> FreeBSD-embedded mailinglijst"> freebsd-embedded"> FreeBSD-emulatie mailinglijst"> -freebsd-emulatie"> +freebsd-emulation"> FreeBSD-eol mailinglijst"> freebsd-eol"> FreeBSD FireWire (IEEE 1394) discussion mailinglijst"> freebsd-firewire"> FreeBSD bestandssysteem project mailinglijst"> freebsd-fs"> FreeBSD GEOM mailinglijst"> freebsd-geom"> FreeBSD GNOME and GNOME applications mailinglijst"> freebsd-gnome"> FreeBSD technische discussie mailinglijst"> freebsd-hackers"> FreeBSD hardware and apparatuur mailinglijst"> freebsd-hardware"> FreeBSD mirror sites mailinglijsts"> freebsd-hubs"> FreeBSD internationalisatie mailinglijst"> freebsd-i18n"> FreeBSD i386-specifieke onderwerpen mailinglijst"> freebsd-i386"> FreeBSD IA32 porting mailinglijst"> freebsd-ia32"> FreeBSD IA64 porting mailinglijst"> freebsd-ia64"> FreeBSD IPFW code mailinglijst"> freebsd-ipfw"> FreeBSD ISDN mailinglijst"> freebsd-isdn"> FreeBSD Internet service provider mailinglijst"> freebsd-isp"> FreeBSD jails mailinglijst"> freebsd-jail"> FreeBSD Java Language mailinglijst"> freebsd-java"> FreeBSD gerelateerd werk mailinglijst"> freebsd-jobs"> FreeBSD KDE/Qt en KDE applicaties mailinglijst"> freebsd-kde"> FreeBSD LFS porting mailinglijst"> freebsd-lfs"> FreeBSD libh installatie and packagingsysteem mailinglijst"> freebsd-libh"> FreeBSD MIPS porting mailinglijst"> freebsd-mips"> FreeBSD mirrorsite beheerders"> mirror-announce"> FreeBSD laptop computer mailinglijst"> freebsd-mobile"> FreeBSD port van de Mozilla browser mailinglijst"> freebsd-mozilla"> FreeBSD multimedia mailinglijst"> freebsd-multimedia"> FreeBSD netwerken mailinglijst"> freebsd-net"> FreeBSD nieuwe gebruikers mailinglijst"> freebsd-newbies"> FreeBSD new-bus mailinglijst"> freebsd-new-bus"> FreeBSD OpenOffice mailinglijst"> freebsd-openoffice"> FreeBSD prestaties mailinglijst"> freebsd-performance"> FreeBSD Perl mailinglijst"> freebsd-perl"> FreeBSD pakketfilter mailinglijst"> freebsd-pf"> FreeBSD niet-Intel platformen porting mailinglijst"> freebsd-platforms"> FreeBSD core team beleidsbeslissingen mailinglijst"> freebsd-policy"> FreeBSD ports mailinglijst"> freebsd-ports"> FreeBSD ports bugs mailinglijst"> freebsd-ports-bugs"> FreeBSD PowerPC porting mailinglijst"> freebsd-ppc"> Technische discussie over FreeBSD op HP ProLiant serverplatforms"> freebsd-proliant"> FreeBSD Python mailinglijst"> freebsd-python"> FreeBSD Quality Assurance mailinglijst"> freebsd-qa"> FreeBSD algemene vragen mailinglijst"> freebsd-questions"> -FreeBSD boot script system mailing list"> +FreeBSD boot script system mailinglijst"> freebsd-rc"> FreeBSD realtime extensions mailinglijst"> freebsd-realtime"> + +FreeBSD Ruby mailinglijst"> +freebsd-ruby"> + FreeBSD SCSI subsysteem mailinglijst"> freebsd-scsi"> FreeBSD beveiliging mailinglijst"> freebsd-security"> FreeBSD beveiligingswaarschuwingen mailinglijst"> freebsd-security-notifications"> FreeBSD-small mailinglijst"> freebsd-small"> FreeBSD symmetric multiprocessing mailinglijst"> freebsd-smp"> FreeBSD SPARC porting mailinglijst"> freebsd-sparc64"> &os.stable; mailinglijst"> freebsd-stable"> FreeBSD C99 en POSIX compliance mailinglijst"> freebsd-standards"> FreeBSD sun4v porting mailinglijst"> freebsd-sun4v"> FreeBSD test mailinglijst"> freebsd-test"> FreeBSD prestaties en stabiliteit test mailinglijst"> freebsd-testing"> FreeBSD threads mailinglijst"> freebsd-threads"> FreeBSD tokenring mailinglijst"> freebsd-tokenring"> FreeBSD USB mailinglijst"> freebsd-usb"> FreeBSD gebruikersgroep coördinatie mailinglijst"> freebsd-user-groups"> FreeBSD wederverkopers pre-release coördinatie mailinglijst"> freebsd-vendors"> + +Discussies over verscheidene virtualizatietechnieken ondersteund door FreeBSD"> +freebsd-virtualization"> + -Discussies over de VuXML infrastructuur"> +Discussies over de VuXML infrastructuur"> freebsd-vuxml"> + +FreeBSD Werk-In-Uitvoering Status"> +freebsd-wip-status"> + FreeBSD Webmaster mailinglijst"> freebsd-www"> FreeBSD X11 mailinglijst"> freebsd-x11"> - + bug-followup@FreeBSD.org"> majordomo@FreeBSD.org">