diff --git a/nl_NL.ISO8859-1/books/handbook/Makefile b/nl_NL.ISO8859-1/books/handbook/Makefile
index df3409fb3a..53eef664a0 100644
--- a/nl_NL.ISO8859-1/books/handbook/Makefile
+++ b/nl_NL.ISO8859-1/books/handbook/Makefile
@@ -1,262 +1,265 @@
#
# $FreeBSD$
-# $FreeBSDnl: nl_NL.ISO8859-1/books/handbook/Makefile,v 1.11 2004/12/15 00:15:19 siebrand Exp $
-# Gebaseerd op: 1.91 (sortof)
+# $FreeBSDnl: nl_NL.ISO8859-1/books/handbook/Makefile,v 1.14 2005/08/15 20:54:56 siebrand Exp $
+# Gebaseerd op: 1.95 (sortof)
#
# Build the FreeBSD Dutch Handbook.
#
# ------------------------------------------------------------------------
#
# 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
WITH_GLOSSARY?=
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-mgr.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 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
#
# SRCS lists the individual SGML files that make up the document. Changes
# to any of these files will force a rebuild
#
# SGML content
-SRCS= book.sgml
+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+= config/chapter.sgml
SRCS+= boot/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+= 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+= x11/chapter.sgml
# Entities
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
# XXX The Handbook build currently overflows some internal, hardcoded
# limits in pdftex. Until we split the Handbook up, build the PDF
# version using ps2pdf instead of pdftex.
PS2PDF?= ${PREFIX}/bin/ps2pdf
book.tex-pdf:
${TOUCH} book.tex-pdf
book.pdf: book.ps
${PS2PDF} book.ps book.pdf
pgpkeyring: pgpkeys/chapter.sgml
@${JADE} -V nochunks ${JADEOPTS} -d ${DSLPGP} -t sgml ${MASTERDOC}
#
# Handbook-specific variables
#
.if defined(WITH_PGPKEYS)
JADEFLAGS+= -V withpgpkeys
.endif
URL_RELPREFIX?= ../../../..
DOC_PREFIX?= ${.CURDIR}/../../..
.for p in ftp cvsup
SRCS+= mirrors.sgml.${p}.inc
CLEANFILES+= mirrors.sgml.${p}.inc
CLEANFILES+= mirrors.sgml.${p}.inc.tmp
.endfor
SRCS+= eresources.sgml.www.inc
CLEANFILES+= eresources.sgml.www.inc
CLEANFILES+= eresources.sgml.www.inc.tmp
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
.for p in ftp cvsup
mirrors.sgml.${p}.inc: ${XML_MIRRORS} ${XSL_MIRRORS}
${XSLTPROC} ${XSLTPROCOPTS} \
-o $@.tmp \
--param 'type' "'$p'" \
--param 'proto' "'$p'" \
--param 'target' "'handbook/mirrors/chapter.sgml'" \
${XSL_MIRRORS} ${XML_MIRRORS}
${SED} -e 's,<\([^ >]*\)\([^>]*\)/>,<\1\2>\1>,;s,,,'\
< $@.tmp > $@ || (${RM} -f $@ && false)
${RM} -f $@.tmp
.endfor
eresources.sgml.www.inc: ${XML_MIRRORS} ${XSL_MIRRORS}
${XSLTPROC} ${XSLTPROCOPTS} \
-o $@.tmp \
--param 'type' "'www'" \
--param 'proto' "'http'" \
--param 'target' "'handbook/eresources/chapter.sgml'" \
${XSL_MIRRORS} ${XML_MIRRORS}
${SED} -e 's,<\([^ >]*\)\([^>]*\)/>,<\1\2>\1>,;s,,,'\
< $@.tmp > $@ || (${RM} -f $@ && false)
${RM} -f $@.tmp
diff --git a/nl_NL.ISO8859-1/books/handbook/audit/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/audit/chapter.sgml
new file mode 100644
index 0000000000..95e5ca8fef
--- /dev/null
+++ b/nl_NL.ISO8859-1/books/handbook/audit/chapter.sgml
@@ -0,0 +1,107 @@
+
+
+
+
+
+
+
+
+
+
+ Tom
+ Rhodes
+ Written by
+
+
+
+
+ Siebrand
+ Mazeland
+ Vertaald door
+
+
+
+
+ Kernelgebeurtenissen auditen
+
+
+ * Overzicht
+
+ AUDIT
+
+
+ kernelgebeurtenissen auditen
+
+ MAC
+
+
+ Wordt vertaald
+
+
+
+ * Sleutelbegrippen - Woordenlijst
+
+ Wordt vertaald
+
+
+
+ * Auditondersteuning installeren
+
+ Wordt vertaald
+
+
+
+ * Auditen instellen
+
+
+ * Auditen bestandssyntaxis
+
+ Wordt vertaald
+
+
+
+ * Instellingenbestanden
+
+
+ * Bestand audit_control
+
+ Wordt vertaald
+
+
+
+ * Bestand audit_user
+
+ Wordt vertaald
+
+
+
+
+
+ * Gebeurtenisaudit beheer
+
+ Wordt vertaald
+
+
+ * Audit logboekbestanden roteren
+
+ Wordt vertaald
+
+
+
diff --git a/nl_NL.ISO8859-1/books/handbook/basics/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/basics/chapter.sgml
index f7fe63ce6b..c76f6da818 100644
--- a/nl_NL.ISO8859-1/books/handbook/basics/chapter.sgml
+++ b/nl_NL.ISO8859-1/books/handbook/basics/chapter.sgml
@@ -1,2882 +1,2881 @@
ChrisShumwayHerschreven door RemkoLodderVertaald door &unix; beginselenOverzichtHet 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 gemount en ge-unmount
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 apparaatmountpunten zijn;Welk binair formaat &os; gebruikt;Hoe handleidingen te gebruiken meer informatie.Virtuele consoles en terminalsVirtuele consolesterminals&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 consoleconsoleAls &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 scriptsDirect 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 /etc/ttysDe 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 secureEen 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 consoleIn 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 secureZoals 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.RechtenUNIX&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:RechtenBestandsrechtenWaardeRechtMaprecht0Niet lezen, niet schrijven, niet uitvoeren---1Niet lezen, niet schrijven, uitvoeren--x2Niet lezen, schrijven, niet uitvoeren-w-3Niet lezen, schrijven, uitvoeren-wx4Lezen, niet schrijven, niet uitvoerenr--5Lezen, niet schrijven, uitvoerenr-x6Lezen, schrijven, niet uitvoerenrw-7Lezen, schrijven, uitvoerenrwxlsmappenDe 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 de rest. 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 de rest kan het
bestand alleen 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;.TomRhodesBijgedragen door Symbolische rechtenrechtensymbolischSymbolische 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:OptieLetterVertegenwoordigt(wie)uGebruiker(wie)gGroepseigenaar(wie)oOverigen(wie)aIedereen (wereld)(actie)+Rechten toevoegen(actie)-Rechten verwijderen(actie)=Stel deze rechten in(recht)rLezen(recht)wSchrijven(recht)xUitvoeren(recht)tSticky bit(recht)sVerander UID of GIDDeze 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= BESTANDEr 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 BESTANDTomRhodesGeschreven door &os; bestandsvlaggenNaast 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.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 file1Om de vlag niet verwijderbaar weer te verwijderen kan het
voorgaande command met no voor
worden uitgevoerd:&prompt.root; chflags nosunlink file1Om de vlaggen op een bestand te bekijken, kan &man.ls.1;
met de vlaggen gebruikt worden:&prompt.root; ls -lo file1De uitvoer hoort er ongeveer als volgt uit te zien:-rw-r--r-- 1 trhodes trhodes sunlnk 0 Mar 1 05:54 file1Een 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;.MappenstructuurmappenstructuurDe &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 gemount 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 mountpunten
- voor elk ander bestandssysteem dat misschien gemountd
+ voor elk ander bestandssysteem dat misschien gemount
wordt.Een mountpunt is een map waar extra bestandssystemen aan
gemount kunnen worden. Standaard mountpunten bevatten
/usr, /var,
/tmp, /mnt en /cdrom. Naar
deze mappen wordt meestal verwezen in
/etc/fstab, een tabel met bestandssystemen
en mountpunten ter referentie voor het systeem. De meeste
bestandssystemen in /etc/fstab worden
automatisch gemount tijdens het opstarten door het script
&man.rc.8;, behalve als ze de optie
hebben. 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.MapOmschrijving/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 mountpunt 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./stand/Programma's die gebruikt worden in een standalone
omgeving./tmp/Tijdelijke bestanden, meestal een op &man.mfs.8;
geheugen gebaseerd bestandssysteem (de inhoud van
/tmp wordt
meestal NIET bewaard tijdens het rebooten)./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/portsDe &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/ypNIS maps.Organisatie van schijvenDe 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
- of honderden bestanden bevatten. Een map kan ook andere mappen
+ 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 schijfnamennamen
- in het pad. &os; gebruikt geen
+ &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 gemount onder het root
bestandssysteem. Hoeveel schijven er ook aan een &os; systeem
- hangen, het lijkt als elke map zich op dezelfde schijf
+ 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
|
`--- A2Een bestandssysteem moet gemount worden in een map op een
ander bestandssysteem. Als nu bestandssysteem
B wordt gemount onder de map
A1 vervangt BA1 en zien de mappingen in
B er als volgt uit: /
|
+--- A1
| |
| +--- B1
| |
| `--- B2
|
`--- A2Elk bestand dat in de mappen B1 en
- B2 directories 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
+ 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
ge-unmountvan A.Als B gemount is onder
A2 ziet de diagram er als volgt uit: /
|
+--- A1
|
`--- A2
|
+--- B1
|
`--- B2en de paden zouden dan respectievelijk
/A2/B1 en /A2/B2
zijn.Bestandssystemen kunnen op elkaar worden gemount. Doorgaand
op het vorige voorbeeld kan het bestandssysteem
C gemount worden bovenop de map
B1 in het bestandssysteem
B. Dit resulteert in: /
|
+--- A1
|
`--- A2
|
+--- B1
| |
| +--- C1
| |
| `--- C2
|
`--- B2Of C kan direct onder het bestandssysteem
A gemount worden, onder de map
A1: /
|
+--- A1
| |
| +--- C1
| |
| `--- C2
|
`--- A2
|
+--- B1
|
`--- B2Hoewel 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 gemount worden. Meestal worden ze ook niet
- gewijzigd tot de een nieuwe schijf aan een systeem wordt
+ 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 bestandssystemenVerschillende bestandssystemen kunnen verschillende
mount opties hebben. Met een goede
voorbereiding kan het root bestandssysteem bijvoorbeeld als
alleen-lezen gemount 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
mounten. 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 de
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 bestandssysteemBestandssystemen 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; 4.4 en latere versies hebben &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 mountpunt 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.
+ terug).Aan sommige partities zijn bepaalde conventies
gekoppeld.PartitieConventieaBevat meestal het root bestandssysteembBevat meestal de swapruimtecHeeft 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.dPartitie d had vroeger een
speciale betekenis, maar die is verdwenen. Tegenwoordig
werken sommige hulpprogramma's raar als ze verteld worden
dat ze moeten werken op partitie d,
dus sysinstall maakt normaal
gesproken partitie d niet.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.slicespartitiesgevaarlijk toegewijdSlicenummers 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
aan de slice en schijf refereert die de partitie bevat wordt
gerefereerd 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 gemount wordt.
Voorbeeld schijf-, slice- en partitienamenNameBetekenisad0s1aDe eerste partitie (a) op de
eerste slice (s1) op de eerste IDE
schijf (ad0).da1s2eDe vijfde partitie (e) op de
tweede slice (s1) op de tweede SCSI
schijf (da1).Conceptmodel van een schijfHet 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, gemount 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 |
: : | |
| | | |
| | --' |
`-----------------' --'Mounten en unmounten van bestandssystemenHet 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 bestandssysteemEr 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 fstabbestandssystemengemount met fstabTijdens het opstartproces,
worden bestandssystemen die vermeld staan in
/etc/fstab automatisch gemount
(tenzij ze vermeld staan met )./etc/fstab bevat een lijst van regels
die aan het volgende formaat voldoen:apparaat/mountpuntfstypeoptiesdumpfreqpassnoapparaatEen apparaatnaam (die moet bestaan) zoals uitgelegd
in .mountpuntEen map (die moet bestaan) waarop het bestandssysteem
gemount moet worden.fstypeHet bestandssysteem type dat aan &man.mount.8;
gegeven wordt. Het standaard &os; bestandssysteem is
ufs.opties
- Dit is of voor lezen en
+ 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 gemount
worden tijdens het opstarten. Andere opties staan in
&man.mount.8;.dumpfreqDit 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.passnoDit 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 mountbestandssystemenmounten&man.mount.8; wordt gebruikt om bestandsystemen te
mounten.De meest eenvoudige vorm is:&prompt.root; mount apparaatmountpuntAlle opties voor het commando staat in &man.mount.8;, maar
de meest voorkomende zijn:MountoptiesMount alle bestandssystemen die in
/etc/fstab staan, behalve die
gemarkeerd staan als noauto, uitgesloten
zijn door de optie of die al
gemount 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 mounten van een niet schoon
bestandssysteem (gevaarlijk) of forceert het innemen van
schrijftoegang als de mountstatus 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 .fstypeMount het opgegeven bestandssysteem als het opgegeven
type bestandssysteem of mount alleen bestandssystemen
van het aangegeven type als ook de optie
is opgegeven.ufs is het standaard
bestandssysteem.Werk mountopties 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:nodev
- Intrepeteer geen speciale apparaten op het
+ Interpreteer geen speciale apparaten op het
bestandssysteem. Dit is een nuttige
veiligheidsoptie.noexecSta geen uitvoerbare bestanden toe op dit
bestandssysteem. Ook dit is een nuttige
veiligheidsoptie.nosuid
- Intrepeteer geen setuid of setgid opties op het
+ Interpreteer geen setuid of setgid opties op het
bestandssysteem. Ook dit is een nuttige
veiligheidsoptie.Het commando umountbestandssystemenunmounten&man.umount.8; heeft een mountpunt, een apparaatnaam,
of als
parameter.Alle vormen kunnen de optie hebben om
een bestandsysteem te forceren te unmounten en de optie
voor uitgebreide informatie. De optie
is meestal geen goed idee. Forceren dat
een bestandssysteem geunmount 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 unmounten.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 proces). Het ouderproces is
- het proces het ze door gestart is. 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.
+ 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/sawfishIn 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. 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, 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 processenAls 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
Daemon (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. Deze
communicatie heet signaleren (signals).
Er kan met een daemon (of met elk ander draaiend proces)
- gecommunicaeerd worden door er een signaal naartoe te sturen. Er
+ gecommuniceerd worden door er een signaal naartoe te sturen. 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.1;een signaal naar een proces
+ 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 procesDit 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 -wWDus 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; suPassword:
&prompt.root; /bin/kill -s HUP 198Zoals 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 /bin/kill 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.ShellsshellscommandoregelIn &os; wordt een groot deel van het alledaagse werk
gedaan vanuit een omgeving met een commandoregel die shell heet.
- De grootste taak van een sheel is om commando's van het
+ 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 verbeterede C-shell. Er zijn veel
+ 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.omgevingsvariabelenEen 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 beteken:
+ omgevingsvariabelen en wat ze betekenen:
omgevingsvariabelenVariabeleOmschrijvingUSERGebruikersnaam van de gebruiker die is
aangemeld.PATHEen lijst van mappen, gescheiden door een
: voor het zoeken naar binaire
bestanden.DISPLAYNetwerknaam van het X11 scherm om verbinding mee
te maken, indien beschikbaar.SHELLDe huidige shell.TERMDe naam van de huidige gebruikersterminal.
Gebruikt om de mogelijkheden van de terminal te
bepalen.TERMCAPDatabaseregel met terminal escape codes voor het
uitvoeren van diverse terminalfuncties.OSTYPEType besturingssysteem, bijvoorbeeld &os;.MACHTYPEDe CPU architectuur waar het systeem op
draait.EDITORDe teksteditor waar de gebruiker de voorkeur aan
geeft.PAGERDe tekstpager waar de gebruiker de voorkeur aan
geeft.MANPATHLijst van mappen gescheiden door een
: voor het zoeken naar
handleidingen.Bourne shellsHet 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/emacsIn 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 wijzigenDe 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/bashDit kan ook door chsh zonder parameters
te starten en de regel met daarin de shell te wijzigen.De te gebruiken shell moet
- geregistreerd zijn in /etc/ssh. Als een
- shell uit de Portscollectie
+ 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/shellsHierna kan chsh weer gedraaid
worden.TeksteditorsteksteditorseditorsEen 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.eeeditorseeDe 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.vieditorsviEmacseditorsEmacs&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 apparaatnodesApparaat 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 makenAls een nieuw apparaat wordt toegevoegd aan een systeem of
als ondersteuning voor extra apparaten wordt gecompileerd, dan
moeten misschien één of meer apparaatnodes voor
het nieuwe apparaat gemaakt worden.Het MAKEDEV scriptOp systemen zonder DEVFS (dit is het
geval voor alle &os; versies vóór 5.0) worden
apparaatnodes gemaakt door het script &man.MAKEDEV.8; zoals
hieronder wordt aangegeven:&prompt.root; cd /dev
&prompt.root; sh MAKEDEV ad1Dit voorbeeld maakt de juiste apparaatnode voor de tweede
IDE drive wanneer die geïnstalleerd is.DEVFS (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.DEVFS wordt standaard gebruikt in
&os; 5.0 en verder.Binaire formatenOm 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.COFFHet 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 informatieHandleidingenhandleidingenDe 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 commandocommando 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 lsDe 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'sKernelontwikkelaars.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 chmodDit 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 mailMet 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 infobestandenFree 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; infoh geeft een korte beschrijving en
? toont een een kort
commando–overzicht.
diff --git a/nl_NL.ISO8859-1/books/handbook/book.sgml b/nl_NL.ISO8859-1/books/handbook/book.sgml
index 7b972e0c5a..8cf6024559 100644
--- a/nl_NL.ISO8859-1/books/handbook/book.sgml
+++ b/nl_NL.ISO8859-1/books/handbook/book.sgml
@@ -1,342 +1,342 @@
%books.ent;
- %txtfiles;
-
- %chapters;
+
+%chapters;
+
+%txtfiles;
+
%pgpkeys;
]>
- &os; Handboek
+ &os; handboekThe &os; Dutch Documentation ProjectJuni 200419951996199719981999200020012002200320042005The &os; Dutch Documentation Project
&bookinfo.legalnotice;
&tm-attrib.freebsd;
&tm-attrib.3com;
&tm-attrib.3ware;
&tm-attrib.arm;
&tm-attrib.adaptec;
&tm-attrib.adobe;
&tm-attrib.apple;
&tm-attrib.corel;
&tm-attrib.creative;
&tm-attrib.cvsup;
&tm-attrib.heidelberger;
&tm-attrib.ibm;
&tm-attrib.ieee;
&tm-attrib.intel;
&tm-attrib.intuit;
&tm-attrib.linux;
&tm-attrib.lsilogic;
&tm-attrib.m-systems;
&tm-attrib.macromedia;
&tm-attrib.microsoft;
&tm-attrib.netscape;
&tm-attrib.nexthop;
&tm-attrib.opengroup;
&tm-attrib.oracle;
&tm-attrib.powerquest;
&tm-attrib.realnetworks;
&tm-attrib.redhat;
&tm-attrib.sap;
&tm-attrib.sun;
&tm-attrib.symantec;
&tm-attrib.themathworks;
&tm-attrib.thomson;
&tm-attrib.usrobotics;
&tm-attrib.vmware;
&tm-attrib.waterloomaple;
&tm-attrib.wolframresearch;
&tm-attrib.xfree86;
&tm-attrib.xiph;
&tm-attrib.general;
Welkom bij &os;! Dit handboek behandelt de installatie en
het dagelijks gebruik van
- &os; &rel2.current;-RELEASE en
- &os; &rel.current;-RELEASE. Aan deze
+ &os; &rel2.current;-RELEASE en
+ &os; &rel.current;-RELEASE. Aan deze
handleiding wordt nog gewerkt, en is het resultaat van het werk
van veel mensen. Veel hoofdstukken of paragrafen bestaan nog
niet en wat bestaat dient soms nog bijgewerkt te worden. Als
de lezer mee wil helpen aan dit project kan een mail gestuurd
worden naar de &a.doc;. De meest recente versie van dit
document is te vinden op de &os; website. Het
kan ook gedownload worden in veel verschillende formaten en
compressiewijzen van de &os; FTP
server of een van de vele mirror sites. Een gedrukt
exemplaar van het handboek is te koop bij de &os; Mall
- (Engels). Het handboek kan ook &os; Mall (Engels).
+ Het handboek kan ook doorzocht
- worden..
+ worden.
&chap.preface;
BeginnenDit deel van het &os; handboek is voor gebruikers en
beheerders die net beginnen met &os;. Deze
hoofdstukken:Geven een inleiding in &os;;Lichten het installatieproces toe;Bespreken de &unix; basisbegrippen en grondslag;Tonen hoe de vele aanvullende applicaties
voor &os; geïnstalleerd kunnen worden;Introduceren X, het venstersysteem van &unix;
en gaan uitvoerig in op hoe een bureaubladomgeving wordt
ingesteld die een gebruiker helpt productiever te
zijn.Er is geprobeerd het aantal vooruitwijzingen tot een
minimum te beperken zodat het handboek van begin tot einde
gelezen kan worden zonder bladeren.
- Algemene Taken
+ Algemene takenNa de inleiding gaat dit deel van het &os; handboek over
een aantal vaak gebruikte mogelijkheden van &os;. De volgende
hoofdstukken:Geven een inleiding in populaire en handige desktop
toepassingen: browsers, productieviteitsgereedschappen,
documentviewers, etc;Geven een inleiding in een aantal
multimediatoepassingen die in &os; beschikbaar zijn;Geven uitleg over het proces waarmee een aangepaste
- kernel voor &os; kan worden gemaakt om extra functionaliteit
- aan een systeen toe te voegen;
+ kernel voor &os; kan worden gemaakt om extra
+ functionaliteit aan een systeen toe te voegen;
Beschrijven gedetailleerd het afdruksysteem, zowel voor
met een desktop verbonden als met het netwerk verbinden
printers;
- Beschrijven hoe applicaties voor Linux op &os; kunnen
+ Beschrijven hoe applicaties voor &linux; op &os; kunnen
draaien.
-
In een aantal van de hoofdstukken wordt voorkennis
aangeraden. Dit staat vermeld in de inleiding van ieder
hoofdstuk.
-
SysteembeheerDe verdere hoofdstukken van het &os; handboek beslaan alle
aspecten van het &os; systeembeheer. Ieder hoofdstuk begint
met een omschrijving van wat de leerstof in een hoofdstuk is en
wat de verwachte voorkennis is.De hoofdstukken zijn ook ontworpen om gelezen te worden als
de specifieke informatie nodig is. Ze hoeven niet in een
bepaalde volgorde gelezen te worden en ze hoeven ook niet
gelezen te zijn voordat een gebruiker met &os; aan de slag
kan.
+
NetwerkcommunicatieAls het om servers gaat die hoge prestaties moeten leveren,
wordt wereldwijd vaak &os; toegepast. De hoofdstukken in dit
deel behandelen:Seriëe communicatie;PPP en PPP over Ethernet;E-mail;Netwerkdiensten;
- Firewalls.
+ Firewalls;
- Overig Gevorderd Netwerken.
+ Overig gevorderd netwerken.Deze hoofdstukken zijn geschreven om gelezen te worden als
de informatie nodig is. Ze hoeven niet allemaal in een
bepaalde volgorde gelezen te worden. Ze hoeven ook niet
allemaal gelezen te worden om &os; in een netwerkomgeving in te
zetten.
-
Appendix
+
&chap.colophon;
diff --git a/nl_NL.ISO8859-1/books/handbook/chapters.ent b/nl_NL.ISO8859-1/books/handbook/chapters.ent
index cc3fc8d4a8..bd892d73b5 100644
--- a/nl_NL.ISO8859-1/books/handbook/chapters.ent
+++ b/nl_NL.ISO8859-1/books/handbook/chapters.ent
@@ -1,59 +1,60 @@
+
diff --git a/nl_NL.ISO8859-1/books/handbook/config/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/config/chapter.sgml
index 935317db93..9ac6a2dc4b 100644
--- a/nl_NL.ISO8859-1/books/handbook/config/chapter.sgml
+++ b/nl_NL.ISO8859-1/books/handbook/config/chapter.sgml
@@ -1,3332 +1,3331 @@
ChernLeeGeschreven door MikeSmithNaar een tutorial van MattDillonTevens gebaseerd op tuning(7) door DannyPanstersVertaald door Instellingen en optimalisatieOverzichtsysteeminstellingensysteemoptimalisatieSysteeminstellingen 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 instellingenPartitionerenpartitioneren/etc/var/usrBasispartitiesBij het aanmaken van bestandssystemen met
&man.disklabel.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 groottewisselpartitiewisselpartitiegrootteDe 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.Hoofdinstellingenrc bestandenrc.confDe 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 instellenGeï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/etcDeze 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.defaultAan 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.TomRhodesBijgedragen door Diensten startendienstenVeel 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 rcNG 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 rcNG. 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.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 0Dit 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 startHoewel 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 rcNG. Dit wordt in de volgende paragraaf
behandeld.Uitgebreide applicatieinstellingenNu &os; rcNG heeft, zijn de instellingen van
applicaties die mee moeten opstarten verbeterd. Er is meer
diepgang in gekomen. Door gebruik te maken van de
sleutelwoorden die in de paragraaf rcNG 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
# BEFORE: LOGIN
# KEYWORD: FreeBSD 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 voor
de dienst login, maar na de dienst
daemon. 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 nieuwe methode maakt het volgende mogelijk:
makkelijker commandoregelopties manipuleren, importeren van
standaardfuncties uit /etc/rc.subr,
compatibiliteit met het &man.rcorder.8; programma en het
eenvoudiger instellingen via
/etc/rc.conf. In essentie kan dit
script zelfs geplaatst worden in de map /etc/rc.d. Dat kan in
potentie wel het &man.mergemaster.8; programma van de wijs
brengen als dat gebruikt wordt voor het bijwerken van
software.Diensten met diensten startenAndere 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.TomRhodesGeschreven door cron instellencroninstellenEen 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 installerenDe 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 crontabbestandIn 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.TomRhodesGeschreven door
- Gebruik van rc met &os; 5.X
+ Gebruik van rc met &os; 5.X en laterrcNG&os; gebruikt inmiddels 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 restartDeze procedure is vrijwel gelijk voor andere diensten.
Uiteraard worden diensten meestal automatisch 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 force. Dus om
sshd te herstarten ongeacht
/etc/rc.conf setting, voldoet het volgende
commando:&prompt.root; /etc/rc.d/sshd forcerestartHet 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=YESDe 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.Het is ook mogelijk om een dienst te herladen 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.
- De structuur van rcNG wordt niet
- alleen gebruikt voor netwerkdiensten, maar ook voor het merendeel
- van de systeemstart. In dit kader is bijvoorbeeld het bestand
+ 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: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.KEYWORD: &os; of NetBSD. Dit wordt gebruikt voor
speciale eigenschappen van één van de
*BSD's.Met deze methode kan een systeembeheerder gemakkelijk
systeemdiensten besturen, zonder gedoe met
runlevels zoals bij sommige andere &unix;
systemen.
- Meer informatie over het &os; 5.X
- rc.d staat in &man.rc.8; en
- &man.rc.subr.8;.
+ Meer informatie over het rc.d-systeem
+ staat in &man.rc.8; en &man.rc.subr.8;.MarcFonvieilleGeschreven door Netwerkkaarten instellennetwerkkaarteninstellenHet 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 vindennetwerkkaartenstuurprogrammaVoor 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
(/usr/src/sys/arch/conf/LINT
voor &os; 4.X) 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.NOTES bestaat niet op &os; 4.X.
In plaats daarvan kan in het bestand
LINT informatie gevonden worden over een
groot aantal netwerkkaarten. In staan meer details over
NOTES versus
LINT.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, autoIn 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;.
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.De netwerkkaart instellennetwerkkaarteninstellenNadat 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 1500Op 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:daOm 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 oplossenAls 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 hostsvirtuele hostsIP 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/etc layoutInstellingengegevens wordt in een aantal mappen bewaard.
Daar zijn onder andere:/etcGenerieke systeeminstellingenbestanden, specifiek
voor het systeem./etc/defaultsDe standaardversies van
systeeminstellingenbestanden die gebruikt worden als er
geen in /etc staat./etc/mailExtra &man.sendmail.8; instellingenbestanden of
instellingenbestanden voor andere MTAs.
/etc/pppInstellingen voor zowel user- als kernel-ppp
programma's./etc/namedbStandaardlocatie voor &man.named.8; gegevens.
Normaal gesproken bevinden zich hier
named.conf en
zonebestanden./usr/local/etcInstellingenbestanden voor geïnstalleerde
software. Kan submappen hebben waarin bij elkaar
horende instellingengegevens van een applicatie
gegroepeerd zijn./usr/local/etc/rc.dStart en stop scripts voor geïnstalleerde
diensten./var/dbAutomatisch gemaakte systeemspecifieke
databasebestanden, zoals de packagedatabase, de
&man.locate.1; database, enzovoort.HostnamenhostnaamDNS/etc/resolv.confresolv.confIn /etc/resolv.conf wordt
voorgeschreven op welke wijze &os; het Domain Name System
(DNS) moet gebruiken.De meest voorkomende termen in
resolv.conf zijn:nameserverHet 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.searchZoeklijst voor het opzoeken van hostnamen.
Meestal wordt deze bepaald door het domein waarop de
lokale hostnaam zich bevindt.domainDe lokale domeinnaam.Een typisch resolv.conf
bestand:search example.com
nameserver 147.11.1.11
nameserver 147.11.100.30search 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./etc/hostshosts/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 foobar2In &man.hosts.5; staat meer informatie.Logboekbestanden instellenlogboekbestandensyslog.confsyslog.confsyslog.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.logIn &man.syslog.conf.5; staat meer informatie.newsyslog.confnewsyslog.confnewsyslog.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 * ZIn &man.newsyslog.8; staat meer informatie.sysctl.confsysctl.confsysctlsysctl.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.Hieronder staat een voorbeeld van
sysctl.conf waarin het loggen van gevallen
waarin een proces beëindigd wordt ten gevolge van een
fataal signaal (bijvoorbeeld een TERM signaal of een exitcode
van een programma dat crasht) wordt uitgezet en waarin de
&linux; emulatielaag zodanig wordt ingesteld dat een &linux;
programma ook echt rapporteert dat het onder &os;
draait:kern.logsigexit=0 # Do not log fatal signal exits (e.g. sig 11)
compat.linux.osname=&os;
compat.linux.osrelease=4.3-STABLEOptimaliseren met sysctlsysctloptimaliseringmet 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 -aOm een bepaalde variabele op te vragen, bijvoorbeeld
kern.maxproc:&prompt.user; sysctl kern.maxproc
kern.maxproc: 1044Om een bepaalde variabele toe te kennen (te wijzigen), is de
syntaxis
variable=value:&prompt.root; sysctl kern.maxfiles=5000
kern.maxfiles: 2088 -> 5000Waarden 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 .TomRhodesGeschreven door &man.sysctl.8; alleen-lezenIn 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 12In 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 optimaliserenSysctl variabelenvfs.vmiodirenablevfs.vmiodirenableDe 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.vfs.write_behindvfs.write_behindDe 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.vfs.hirunningspacevfs.hirunningspaceDe 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. Sinds
&os; 4.3 is het VM systeem zeer goed in staat zichzelf
automatisch te optimaliseren.vm.swap_idle_enabledvm.swap_idle_enabledDe 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.hw.ata.wchw.ata.wcTen 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;.SCSI_DELAY
(kern.cam.scsi_delay)kern.cam.scsi.delaykerneloptiesSCSI_DELAYDe 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.SoftupdatesSoftupdatestunefs&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 /filesystemEen 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.Vanaf &os; 4.5, is het mogelijk om softupdates
aan te zetten op het moment dat de bestandssystemen aangemaakt
worden, door middel van de -U optie van
&man.newfs.8;.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 softupdatesSoftupdatesdetailsEr 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 kernellimietenfijnafstemmingkernellimietenBestandsproceslimietenkern.maxfileskern.maxfileskern.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.De standaardwaarde voor kern.maxfiles
wordt bepaald door de optie MAXUSERS in
het bestand met kernelinstellingen.
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.Vanaf &os; 4.5 kan meestal het beste
MAXUSERS op 0 gezet
worden in het bestand met kernelinstellingen. Er wordt dan
een redelijke waarde gekozen, die gebaseerd is op de
hoeveelheid RAM in een systeem.kern.ipc.somaxconnkern.ipc.somaxconnDe 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.NetwerkbeperkingenDe 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.net.inet.ip.portrange.*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 aanbevolen
om net.inet.ip.portrange.first te
verlagen.TCP Bandbreedtevertragingsproduct (TCP Bandwidth Delay
Product)TCP bandbreedtevertragingsproductnet.inet.tcp.inflight.enableDe 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.In 4.X en eerdere releases van &os; staan de sysctl
variabelen inflight direct onder
net.inet.tcp. Hun namen waren (in
alfabetische volgorde):
net.inet.tcp.inflight_debug,
net.inet.tcp.inflight_enable,
net.inet.tcp.inflight_max,
net.inet.tcp.inflight_min,
net.inet.tcp.inflight_stab.Virtueel Geheugenkern.maxvnodesEen 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: 91349Om het maximale aantal vnodes weer te geven:&prompt.root; sysctl kern.maxvnodes
kern.maxvnodes: 100000Als 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 toevoegenHoe 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.Wisselbestand (partitie) op een nieuwe harde
schijfDit 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 NFSIn het algemeen wordt swappen over NFS niet aangeraden
omdat het langzaam is. Dit dient alleen gebruikt te worden als
het onmogelijk om naar een lokale schijf te swappen. In &os;
versies voor 4.X was het hanteren van een wisselbestand over
NFS erg langzaam en inefficiënt. Nieuwere versies werken
beter, maar dan nog wordt swappen over NFS sterk gelimiteerd
door de aanwezige netwerkbandbreedte en belast het de NFS
server.WisselbestandenHet 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 met &os; 4.XDe kernel moet het vnode stuurprogramma bevatten. In
recente versies van GENERIC
is vnode niet opgenomen.pseudo-device vn #Vnode driver (turns a file into a device)Een vn-apparaat aanmaken:&prompt.root; cd /dev
&prompt.root; sh MAKEDEV vn0Een wisselbestand aanmaken
(/usr/swap0):&prompt.root; dd if=/dev/zero of=/usr/swap0 bs=1024k count=64Correcte rechten op (/usr/swap0)
instellen:&prompt.root; chmod 0600 /usr/swap0Wisselbestand opnemen in
/etc/rc.conf:swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired.Nu kan de machine herstart worden of het
wisselbestand meteen te gebruiken:&prompt.root; vnconfig -e /dev/vn0b /usr/swap0 swapEen wisselbestand aanmaken met &os; 5.XDe 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=64De correctie rechten op
/usr/swap0 instellen:&prompt.root; chmod 0600 /usr/swap0Het 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/md0HitenPandyaGeschreven door TomRhodesEnergie- en bronnenbeheerHet is belangrijk om hardwarebronnen op een efficiënte
wijze te benutten. Voordat ACPI
geïntroduceerd werd was het erg lastig en onflexibel
om het energieverbruik en de thermische eigenschappen van een
systeem te beheersen. De hardware werd beheerst door deze of
gene interface, ingebed in het BIOS, zoals de
Plug-n-play BIOS (PNPBIOS) of
Advanced Power Management (APM), enzovoort.
Energie- en bronnenbeheer is een kerntaak van moderne
besturingssystemen. 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
staan referenties naar meer leesmateriaal.
ACPI is op &os; 5.X en nieuwere systemen
als een standaard ingeladen kernelmodule aanwezig. In
&os; 4.9 kan ACPI aangezet worden door de
regel device acpica toe te voegen aan het
bestand met kernelinstellingen en een nieuwe kernel te bouwen en
te installeren.Wat is ACPI?ACPIAPMAdvanced 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 APMMet 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.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;.ACPI instellenHet 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, weinig nuttig is en
in sommige gevallen fataal kan zijn. In geval van tijfel 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 met
het hulpprogramma &man.acpiconf.8;. In feite kan de meeste
interactie met het ACPI systeem gedaan
worden via &man.acpiconf.8;. In wezen betekent dit dat als er
iets over ACPI in &man.dmesg.8; staat, het
hoogstwaarschijnlijk al draait.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 nodig. De optie 5
verricht een soft-off, wat hetzelfde is
als:&prompt.root; halt -pAndere opties zijn mogelijk. In &man.acpiconf.8; staat
meer informatie.NateLawsonGeschreven door PeterSchultzMet medewerking van TomRhodes&os; ACPI gebruiken en debuggenACPI 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 aanleverenVoordat 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 -t -d > 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.AchtergrondACPI 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 problemenWil 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.MuisproblemenSoms 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/resumeACPI 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: 0Dit 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
(0) 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 stormsInterruptstorms 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 (CTRLALTESC)
show interrupts uit te voeren.APICuitschakelenDe beste hoop in geval van interruptproblemen
is om APIC ondersteuning uit te zetten met
hint.apic.0.disabled="1" in
loader.conf.PanicsPanics 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 stophw.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 problemenAls 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.ASL, acpidump en
IASLACPIASLHet 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_FOUNDVaak 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.aslASL reparerenACPIASLOp 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.ACPIerror messagesHieronder staat een lijst algemene foutmeldingen, hun
oorzaken en hoe ze op te lossen:_OS afhankelijkhedenSommige 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 opdrachtenSommige 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 AML aanpassenNadat eigen.asl aangepast is, kan
deze als volgt gecompileerd wordent:&prompt.root; iasl eigen.aslMet 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 ACPI
verkrijgenACPIproblemenACPIdebuggenHet 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=1acpi.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.VerwijzingenMeer 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/disks/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/disks/chapter.sgml
index 45192d6ffa..0882ba0004 100644
--- a/nl_NL.ISO8859-1/books/handbook/disks/chapter.sgml
+++ b/nl_NL.ISO8859-1/books/handbook/disks/chapter.sgml
@@ -1,4311 +1,4311 @@
RenéLadanVertaald door OpslagOverzichtDit 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 snapshots zijn en hoe ze efficiënt te
gebruiken.Aangeraden voorkennis:Hoe een nieuwe &os;-kernel in te stellen en te
installeren ().ApparaatnamenDe volgende lijst noemt de fysieke opslagapparaten die in
&os; ondersteund worden, samen met de bijhorende namen.
Naamconventies voor fysieke SchijvenType mediumApparaatnaam mediumIDE harde schijvenadIDE CD-ROM-stationsacdSCSI harde schijven en USB-apparaten voor
massa-opslagdaSCSI CD-ROM-schijvencdOverige niet-standaard-CD-ROM-stationsmcd voor Mitsumi CD-ROM,
scd voor Sony CD-ROM,
matcd voor Matsushita/Panasonic CD-ROM
Het stuurprogramma voor &man.matcd.4; is sinds
2002 uit de &os; 4.X-tak verwijderd en bestaat
niet in &os; versies 5.0 en latere versies.
DiskettestationsfdSCSI bandstationssaIDE bandstationsastFlashdrivesfla voor &diskonchip;
flashapparatenRAID-schijvenaacd voor &adaptec; AdvancedRAID,
mlxd en mlyd voor
&mylex;, amrd voor AMI &megaraid;,
idad voor Compaq Smart RAID,
twed voor &tm.3ware; RAID.
DavidO'BrienOrigineel bijgedragen door Schijven toevoegenschijventoevoegenStel 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 wd1 op systemen
voorafgaand aan 4.0, en ad1 in 4.X- en
5.X-systemen).partitiesslicesfdisk&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; (&man.disklabel.8; op
&os; 4.X) 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; gebruikensysinstallschijven toevoegensuNavigeren door
sysinstallsysinstall
(/stand/sysinstall in versies van &os;
ouder dan 5.2) 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.fdisk
partitie-bewerkerEenmaal binnen fdisk kan
a ingetypt 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
schijf worden geschreven. Nu dient de FDISK-bewerker
verlaten te worden door het intypen van
q. 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.SchijflabelbewerkerBSD-partitiesVervolgens 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
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
dat de nieuwe partitie niet gemount kon worden kunnen
genegeerd worden. De Labelbewerker en
sysinstall kunnen nu volledig
verlaten worden.AfrondenDe laatste stap bestaat uit het bewerken van
/etc/fstab om hier een regel voor de
nieuwe schijf aan toe te voegen.Het gebruik van opdrachtregelgereedschappenHet gebruik van slicesDeze 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; disklabel -B -w -r da1s1 auto # Label de schijf.
&prompt.root; disklabel -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. Op systemen voor 4.X dient
wd gebruikt te worden.ToegewijdOS/2Indien 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; disklabel -Brw da1 auto
&prompt.root; disklabel -e da1 # Maak de `e'-partitie aan.
&prompt.root; newfs -d0 /dev/da1e
&prompt.root; mkdir -p /1
&prompt.root; vi /etc/fstab # Voeg een regel voor /dev/da1e toe.
&prompt.root; mount /1Een alternatieve methode is:&prompt.root; dd if=/dev/zero of=/dev/da1 count=2
&prompt.root; disklabel /dev/da1 | disklabel -BrR da1 /dev/stdin
&prompt.root; newfs /dev/da1e
&prompt.root; mkdir -p /1 # Voeg een regel voor /dev/da1e toe.
&prompt.root; mount /1Sinds &os; 5.1-RELEASE is het oude programma
&man.disklabel.8; vervangen door &man.bsdlabel.8;. In
&man.bsdlabel.8; zijn een aantal overbodige opties en
parameters verwijderd. In de bovenstaande voorbeelden
dient de optie met &man.bsdlabel.8;
weggelaten te worden. Meer informatie staat in de
hulppagina van &man.bsdlabel.8;.RAIDSoftware RAIDChristopherShumwayOrigineel werk van JimBrownHerzien door RAIDsoftwarematigRAIDCCDConcatenated Disk Driver (CCD) instellingenBij 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 installerenAls 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 UDMA33Indien &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 installerenHet 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:pseudo-device ccd 4Op 5.X-systemen dient de volgende regel gebruikt
te worden:device ccdIn &os; 5.X is het niet nodig om het aantal
&man.ccd.4;-apparaten op te geven aangezien het
&man.ccd.4;-apparaat nu zelfklonend is. Nieuwe
instanties van het apparaat worden automatisch op verzoek
aangemaakt.De ondersteuning voor &man.ccd.4; kan ook als
kernelmodule geladen worden in &os; 3.0 en
hoger.Om &man.ccd.4; te installeren dient eerst
&man.disklabel.8; gebruikt te worden om de schijven te
labelen:disklabel -r -w -ad1 auto
disklabel -r -w ad2 auto
disklabel -r -w ad3 autoBovenstaande maakt een schijflabel aan voor
ad1c,
ad2c en
ad3c die de gehele schijf
beslaat.Sinds &os; 5.1-RELEASE is het oude programma
&man.disklabel.8; vervangen door &man.bsdlabel.8;. In
&man.bsdlabel.8; zijn een aantal overbodige opties en
parameters verwijderd. In de bovenstaande voorbeelden
dient de optie met &man.bsdlabel.8;
weggelaten te worden. Meer informatie staat in de
hulppagina van &man.bsdlabel.8;.Vervolgens dient het labeltype van de schijf veranderd
te worden. Voor het bewerken van de schijven kan
&man.disklabel.8; gebruikt worden:disklabel -e ad1
disklabel -e ad2
disklabel -e ad3Dit 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
moet4.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 aanmakenHet kan zijn dat de apparaatnode voor
ccd0c nog niet bestaat. Om deze
aan te maken dienen de volgende commando's uitgevoerd te
worden:cd /dev
sh MAKEDEV ccd0In &os; 5.0 beheert &man.devfs.5; automatisch
apparaatnodes in /dev, dus is het
niet nodig om MAKEDEV te
gebruiken.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/ad3eHieronder 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/ccd0cAlles automatisch makenIn 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.confTijdens het opstarten draait het script
/etc/rcccdconfig -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 -COm 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 2Volumebeheerder VinumRAIDsoftwareRAIDVinumDe 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 RAIDRAIDhardwarematig&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 bouwenMet &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 lostMeer 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: DEGRADEDOntkoppel schijf van de rij zodat deze veilig kan
worden verwijderd:&prompt.root; atacontrol detach 3Vervang de schijf.Koppel de schijf als een reserveschijf aan:&prompt.root; atacontrol attach 3
Master: ad6 <MAXTOR 6L080J4/A93.0500> ATA/ATAPI rev 5
Slave: no device presentDe rij dient nu opnieuw opgebouwd te worden:&prompt.root; atacontrol rebuild ar0Het rebuild-commando blijft hangen totdat het voltooid
is. Het is echter wel mogelijk om een andere terminal te
openen (door middel van AltFn)
en de voortgang te controleren door middel van:&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% completedNu moet er gewacht worden tot de bewerking voltooid
is.MarcFonvieilleBijgedragen door USB-opslagapparatenUSBschijvenVeel 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.InstellenHet 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 umassHet 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 cdAangezien 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; 5.X en in de 4.X-tak sinds &os; 4.10-RELEASE.
Het volgende dient toegevoegd te worden aan het
kernelinstellingenbestand voor ondersteuning voor USB
2.0:device ehciDe stuurprogramma's &man.uhci.4; en &man.ohci.4; zijn nog
steeds nodig voor USB 1.X-ondersteuning.Op &os; 4.X dient de USB-daemon (&man.usbd.8;) te
draaien om sommige USB-apparaten te kunnen zien. Om die aan
te zetten dient usbd_enable="YES" aan het
bestand /etc/rc.conf toegevoegd te
worden en de machine opnieuw gestart te worden.Instellingen testenDe 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.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: detachedReferentiesNaast 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;.MikeMeyerBijgedragen door Optische media (CD's) aanmaken en gebruikenCD-ROM'saanmakenInleidingCD'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 9660bestandssystemenISO 9660Het 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/cdrtoolsDe 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-branderATAPIHet 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.burncd ondersteunt een beperkt aantal
stations. Om erachter te komen of een station ondersteund is,
dient de lijst CD-R/RW ondersteunde
stations te worden geraadpleegd.CD-branderATAPI/CAM-stuurprogrammaIndien &os; 5.X of &os; 4.8-RELEASE of hoger
gedraaid wordt, is het 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.mkisofsHet 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/boomstructuurbestandssystemenISO 9660Dit 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.bestandssystemenHFSbestandssystemenJolietEr 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'sopstartbaar makenDe 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/mybootAls dit gedaan is en vn (
&os; 4.X) of md (&os; 5.X)
in de kernel is ingesteld, kan het bestandssysteem gemount
worden voor &os; 4.X met:&prompt.root; vnconfig -e vn0c /tmp/bootable.iso
&prompt.root; mount -t cd9660 /dev/vn0c /mntVoor &os; 5.X met:&prompt.root; mdconfig -a -t vnode -f /tmp/bootable.iso -u 0
&prompt.root; mount -t cd9660 /dev/md0 /mntNu 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;.burncdCD-ROM'sbrandenIndien 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 fixateHet bovenstaande commando brandt een kopie van
beeldbestand.iso naar
cd-apparaat. Het standaardapparaat
is /dev/acd0 (of
/dev/acd0c op &os; 4.X). Opties om
de schrijfsnelheid in te stellen, de CD na het branden uit
te werpen en geluidsgegevens te schrijven staan in
&man.burncd.8;.cdrecordIndien 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=devicebeeldbestand.isoHet 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'sbranden&prompt.root; cdrecord -scanbus
Cdrecord 1.9 (i386-unknown-freebsd4.2) Copyright (C) 1995-2000 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 duplicerenEen 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-drivesOnttrek cdda2wav de audio:&prompt.user; cdda2wav -v255 -D2,0 -B -OwavSchrijf met cdrecord de
.wav-bestanden:&prompt.user; cdrecord -v dev=2,0 -dao -useinfo *.wavControleer of 2,0 juist is
opgegeven, zoals beschreven in .ATAPI-drivesHet 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.&prompt.root; cd /dev
&prompt.root; sh MAKEDEV acd0t99In &os; 5.0 maakt &man.devfs.5; automatisch
ingangen in /dev aan en beheert
deze, dus is het niet nodig om MAKEDEV
te gebruiken.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 ... fixateGegevens-CD's duplicerenEen 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. Voor &os; 4.X wordt een c
toegevoegd aan het einde van de apparaatnaam om de volledige
partitie, of in het geval van CD-ROM's, de volledige schijf
aan te duiden.&prompt.root; dd if=/dev/acd0 of=bestand.iso bs=2048Nu het beeld beschikbaar is, kan het naar CD geschreven
worden zoals hierboven beschreven.Gegevens-CD's gebruikenNu 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 /mntDe 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 /mntDe 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 /mntHet 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 (nog!) geen Unicode, dus verschijnen
niet-Engelse karakters als vraagtekens. Als &os; 4.3 of
later gedraaid wordt, bevat het CD9660-stuurprogramma haken om
tijdens het draaien een geschikte Unicode-omzettabel te laden.
Modules voor enkele veelgebruikte coderingen zijn beschikbaar
via de port sysutils/cd9660_unicode.)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=15000Dit 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 brandenEen 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 fixateOm 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/acd1Het 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.MarcFonvieilleBijgedragen door CD-branderATAPI/CAM-stuurprogrammaHet ATAPI/CAM-stuurprogramma gebruikenDit 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 kernelinstellingenbestand toe te
voegen:device atapicamOok zijn de volgende regels in het
kernelinstellingenbestand nodig, die meestal wel aanwezig
zijn:device ata
device scbus
device cd
device passHierna 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 closedHet 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 /mntAls 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;.MarcFonvieilleBijgedragen door AndyPolyakovMet toevoegingen van Optische media (DVD's) aanmaken en gebruikenDVDbrandenInleidingVergeleken 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.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.InstellingenHet 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 brandenHet 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/gegevensDe 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.isoDe 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;.DVDDVD-VideoDVD-Video brandenEen 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/videoDe 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;.DVDDVD+RWDVD+RW gebruikenIn 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/cd0Deze 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 gegevensHet 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 gegevensDezelfde 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/zeroDVDDVD-RWDVD-RW gebruikenEen 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/cd0Volledig 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.isoDe 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/gegevensOm 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/cd0Om terug te gaan naar het sequentiële formaat:&prompt.root; dvd+rw-format -blank=full /dev/cd0MultisessieMultisessie 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 gegevensHet 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 informatieOm 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.JulioMerinoOrigineel werk door MartinKarlssonHerschreven door Diskettes aanmaken en gebruikenSoms 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 formatterenHet apparaatDiskettes worden benaderd door ingangen in
/dev, net zoals andere apparaten. Om de
rauwe diskette in 4.X en eerdere versies te benaderen, dient
/dev/fdN,
waar N voor het stationsnummer
staat, gewoonlijk 0, of
/dev/fdNX,
waar X voor een letter staat,
gebruikt te worden.In 5.0 en nieuwere versies dient simpelweg
/dev/fdN gebruikt te
worden.Schijfgrootte in 4.X en eerdere versiesEr zijn ook apparaten
/dev/fdN.grootte
waar grootte een diskettegrootte
in kB is. Deze ingangen worden tijdens het formatteren op
laag niveau gebruikt om de schijfgrootte te bepalen. In de
volgende voorbeelden wordt 1440 kB als grootte
gebruikt.Soms is het nodig om de ingangen in
/dev (opnieuw) aan te maken:&prompt.root; cd /dev && ./MAKEDEV "fd*"Schijfgrootte in 5.0 en latere versiesIn 5.0 beheert &man.devfs.5; automatisch de
apparaatnodes in /dev, dus is het niet
nodig om MAKEDEV te gebruiken.De gewenste schijfgrootte wordt met de vlag
doorgegeven aan &man.fdformat.1;. De
ondersteunde groottes staan vermeld in &man.fdcontrol.8;,
maar 1440kB werkt het beste.FormatterenEen 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 in 4.X en eerdere versiesVoor het formatteren van een diskette dienen de
apparaten
/dev/fdN.grootte
gebruikt te worden. Nadat een 3,5 inch diskette in
het station is gestoken:&prompt.root; /usr/sbin/fdformat /dev/fd0.1440Formatteren in 5.0 en latere versiesVoor 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/fd0SchijflabelsNadat 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.disklabel.8; als volgt gedraaid worden:&prompt.root; /sbin/disklabel -B -r -w /dev/fd0 fd1440Sinds &os; 5.1-RELEASE is het oude programma
&man.disklabel.8; vervangen door &man.bsdlabel.8;. In
&man.bsdlabel.8; zijn een aantal overbodige opties en
parameters verwijderd. In de bovenstaande voorbeelden
dient de optie met &man.bsdlabel.8;
weggelaten te worden. Meer informatie staat in de
hulppagina van &man.bsdlabel.8;.BestandssystemenNu 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/fd0De schijf is nu klaar voor gebruik.Diskettes gebruikenOm de diskette te gebruiken kan &man.mount.msdos.8; (in
4.X en eerdere versies) of &man.mount.msdosfs.8; (in 5.0 en
nieuwere versies) gebruikt worden om het medium te mounten.
Ook kan emulators/mtools uit de
Portscollectie worden gebruikt.Gegevensbanden aanmaken en gebruikenbandmediaDe belangrijkste bandmedia zijn de 4mm, 8mm, QIC,
mini-cartridge en DLT.4mm (DDS: Digital Data Storage)bandmediaDDS (4mm) bandenbandmediaQIC banden4mm-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)bandmediaExabyte (8mm) banden8mm-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.QICbandmediaQIC-150De 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.DLTbandmediaDLTDLT-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.AITbandmediaAITAIT 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 bandAls 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 readyDe 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-uppenKunnen diskettes gebruikt worden om gegevens te
back-uppen?back-updiskettesdiskettesDiskettes 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?targzipcompressieHelaas 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/fd0Er 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 bestandsnaamHet 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!Back-upbeginselenDe drie grote back-upprogramma's zijn &man.dump.8;,
&man.tar.1; en &man.cpio.1;.Dump en Restoreback-upsoftwaredump / restoredumprestoreDe 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..rhostsHet 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>&1Let 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 dump via
ssh&prompt.root; /sbin/dump -0uan -f - /usr | gzip -2 | ssh -c blowfish \
doelgebruiker@doelmachine.voorbeeld.com dd of=/mijngrotebestanden/dump-usr-10.gzOok kan de ingebouwde manier van dump
gebruikt worden, door de omgevingsvariabele RSH
in te stellen:Het gebruik van dump via
ssh met ingestelde
RSH&prompt.root; RSH=/usr/bin/ssh /sbin/dump -0uan -f doelgebruiker@doelmachine.voorbeeld.com:/dev/sa0 /usrtarback-upsoftwaretar&man.tar.1; stamt ook uit de tijd van Versie 6 van AT&T
- &unix; (circa 1975). tar 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.
+ &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
- De meeste versies van tar bieden geen
- ondersteuning voor back-ups over het netwerk. De GNU-versie
- van tar, die door &os; gebruikt wordt,
+ 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/tar cf komodo:/dev/nsa8 . 2 >&1
+ &prompt.root; /usr/bin/gtar cf komodo:/dev/nsa8 . 2>&1
- Voor versies zonder ondersteuning voor apparaten op afstand
- kan gebruik worden gemaakt van een pijplijn en
+ 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=20bIndien de veiligheid van back-uppen over een netwerk een
punt is, dient gebruik te worden gemaakt van het commando
ssh en niet van
rsh.cpioback-upsoftwarecpio&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.cpiocpio 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; dofind $f >> back-up.lijstdone
&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).paxback-upsoftwarepaxpaxPOSIXIEEE&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.Amandaback-upsoftwareAmandaAmandaAmanda (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.NietsdoenNietsdoen 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.NoodterugzetprocedureVóór de rampEr zijn slechts vier stappen om te volgen bij het
voorbereiden op elke ramp die voor kan komen.disklabelHet schijflabel van elke schijf dient afgedrukt te worden
(bijvoorbeeld met disklabel da0 | lpr), de
bestandssysteemtabel (/etc/fstab) en
alle opstartboodschappen, alles in tweevoud.fix-it diskettesDe 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
cp -f /dev/MAKEDEV /mnt/dev
chmod 755 /mnt/dev/MAKEDEV
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 de apparaatnodes aan
#
cd /mnt/dev
./MAKEDEV std
./MAKEDEV da0
./MAKEDEV da1
./MAKEDEV da2
./MAKEDEV sa0
./MAKEDEV pty0
cd /
#
# maak een minimale bestandssysteemtabel aan
#
cat > /mnt/etc/fstab < /mnt/etc/passwd < /mnt/etc/master.passwd <Na de rampDe 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.mountrootpartitiedisklabelnewfsProbeer de rootpartitie van de eerste schijf te mounten
(bijvoorbeeld mount /dev/da0a /mnt). Als
het schijflabel beschadigd is, gebruik dan
disklabel 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?
]]>
MarcFonvieilleGeherstructureerd en verbeterd door Netwerk-, geheugen-, en bestandsgebaseerde
bestandssystemenvirtuele schijvenschijvenvirtueelNaast 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.NFSCodaschijvengeheugenDit 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.Gebruikers van &os; 4.X kunnen &man.MAKEDEV.8;
gebruiken om de benodigde apparaten aan te maken.
&os; 5.0 en nieuwer kennen &man.devfs.8; om de
apparaatnodes transparant voor de gebruiker toe te
wijzen.Bestandsgebaseerd bestandssysteem onder
&os; 4.Xschijvenbestandsgebaseerd (4.X)Het commando &man.vnconfig.8; stelt vnode
pseudo-schijf-apparaten in en zet ze aan. Een
vnode is een representatie van een
bestand en is de focus van bestandsactiviteit. Dit betekent
dat &man.vnconfig.8; bestanden gebruikt om een bestandssysteem
aan te maken en te bewerken. Een mogelijk gebruik is het
mounten van een beeld van een diskette of een CD dat in een
bestand bewaard wordt.Om &man.vnconfig.8; te gebruiken, is ondersteuning voor
&man.vn.4; nodig in het kernelinstellingenbestand:pseudo-device vnOm een bestaand beeld van een bestandssysteem te
mounten:vnconfig gebruiken om een bestaand
beeld van een bestandssysteem te mounten onder
&os; 4.X&prompt.root; vnconfig vn0schijfbeeld
&prompt.root; mount /dev/vn0c /mntOm een nieuw beeld van een bestandssysteem aan te maken met
&man.vnconfig.8;:Een nieuwe bestandsgebaseerde schijf aanmaken met
vnconfig&prompt.root; dd if=/dev/zero of=nieuwbeeld bs=1k count=5k
5120+0 records in
5120+0 records out
&prompt.root; vnconfig -s labels -c vn0nieuwbeeld
&prompt.root; disklabel -r -w vn0 auto
&prompt.root; newfs vn0c
Warning: 2048 sector(s) in last cylinder unallocated
/dev/vn0c: 10240 sectors in 3 cylinders of 1 tracks, 4096 sectors
5.0MB in 1 cyl groups (16 c/g, 32.00MB/g, 1280 i/g)
super-block backups (for fsck -b #) at:
32
&prompt.root; mount /dev/vn0c /mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/vn0c 4927 1 4532 0% /mntBestandsgebaseerd bestandssysteem onder
&os; 5.Xschijvenbestandsgebaseerd (5.X)Met &man.mdconfig.8; kunnen geheugenschijven, &man.md.4;,
ingesteld worden en aangezet worden onder &os; 5.X. Om
&man.mdconfig.8; te gebruiken, moet de module &man.md.4;
geladen worden of ondersteuning aan het
kernelinstellingenbestand toegevoegd worden:device mdHet 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:mdconfig gebruiken om een bestaand
beeld van een bestandssysteem te mounten onder
&os; 5.X&prompt.root; mdconfig -a -t vnode -f schijfbeeld -u 0
&prompt.root; mount /dev/md0/mntOm een nieuw beeld van een bestandssysteem aan te maken met
&man.mdconfig.8;:Nieuwe bestandsgebaseerde schijf aanmaken met
mdconfig&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; disklabel -r -w md0 auto
&prompt.root; newfs md0c
/dev/md0c: 5.0MB (10240 sectors) block size 16384, fragment size 2048
using 4 cylinder groups of 1.27MB, 81 blks, 256 inodes.
super-block backups (for fsck -b #) at:
32, 2624, 5216, 7808
&prompt.root; mount /dev/md0c /mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/md0c 4846 2 4458 0% /mntIndien 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;.Sinds &os; 5.1-RELEASE is het oude programma
&man.disklabel.8; vervangen door &man.bsdlabel.8;. In
&man.bsdlabel.8; zijn een aantal overbodige opties en
parameters verwijderd. In de bovenstaande voorbeelden
dient de optie met &man.bsdlabel.8;
weggelaten te worden. Meer informatie staat in de
hulppagina van &man.bsdlabel.8;.Het commando &man.mdconfig.8; is erg nuttig, hoewel het
veel opdrachten vergt om een bestandsgebaseerd bestandssysteem
aan te maken. &os; 5.0 wordt met een gereedschap
&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 mdmfs&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 4846 2 4458 0% /mntAls 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;.Geheugengebaseerde bestandssystemen onder
&os; 4.Xschijvengeheugenbestandssysteem (4.X)Het stuurprogramma &man.md.4; is een eenvoudig,
efficiënt middel om geheugenbestandssystemen aan te maken
onder &os; 4.X. &man.malloc.9; wordt gebruikt om het
geheugen toe te wijzen.Om het te gebruiken, dient met een bestandssysteem dat met
&man.vnconfig.8; voorbereid is het volgende gedaan te
worden:md geheugenschijf onder &os; 4.X&prompt.root; dd if=nieuwbeeld of=/dev/md0
5120+0 records in
5120+0 records out
&prompt.root; mount /dev/md0c/mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/md0c 4927 1 4532 0% /mntMeer details staan in de hulppagina van &man.md.4;.Geheugengebaseerd bestandssysteem onder &os; 5.X
schijvengeheugenbestandssysteem (5.X)Voor geheugengebaseerde en bestandsgebaseerde
bestandssystemen worden dezelfde gereedschappen gebruikt:
&man.mdconfig.8; of &man.mdmfs.8;. De opslagruimte voor
geheugengebaseerde bestandssystemen wordt met &man.malloc.9;
toegewezen.Nieuwe geheugengebaseerde schijf aanmaken met
mdconfig&prompt.root; mdconfig -a -t malloc -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, 256 inodes.
with soft updates
super-block backups (for fsck -b #) at:
32, 2624, 5216, 7808
&prompt.root; mount /dev/md1/mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/md1 4846 2 4458 0% /mntNieuwe geheugengebaseerde schijf aanmaken met
mdmfs&prompt.root; mdmfs -M -s 5m md2/mnt
&prompt.root; df /mnt
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/md2 4846 2 4458 0% /mntIn plaats van een bestandssysteem dat gebaseerd is op
&man.malloc.9;, is het ook mogelijk om swap te gebruiken.
Hiervoor dient in de opdrachtregel van
&man.mdconfig.8; door vervangen te
worden. &man.mdmfs.8; maakt standaard (zonder
een swap-gebaseerde schijf aan. Meer
details staan in de hulppagina's voor &man.mdconfig.8; en
&man.mdmfs.8;.Geheugenschijf van het systeem afkoppelenschijvengeheugenschijf afkoppelenAls 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.Met &os; 4.X wordt &man.vnconfig.8; gebruikt om het
apparaat los te koppelen. Om bijvoorbeeld alle bronnen die
door /dev/vn4 gebruikt worden los te
koppelen en vrij te geven:&prompt.root; vnconfig -u vn4TomRhodesBijgedragen door Snapshots van bestandssystemenbestandssystemensnapshots&os; 5.0 biedt een nieuwe mogelijkheid 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 /varAls alternatief kan &man.mksnap.ffs.8; gebruikt worden om een
snapshot aan te maken:&prompt.root; mksnap_ffs /var /var/snapshot/snapSnapshotbestanden kunnen gezocht worden op een
bestandssysteem (bijvoorbeeld /var) door
gebruik te maken van het commando &man.find.1;:&prompt.root; find /var -flags snapshotNadat 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;Bestandsintegriteit. op het snapshot kan &man.fsck.8;
gedraaid worden. 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 /mntHet 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 4Meer informatie over en
snapshots van bestandssystemen, inclusief technische documenten,
staat op de website van Marshall Kirk McKusick op .BestandssysteemquotaaccountenschijfruimteschijfquotaQuota 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 inschakelenControleer 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 QUOTADe 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"schijfquotacontrolerenVoor 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 2Analoog, 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 2Standaard 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 instellenschijfquotalimietenIndien 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 -vEr 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 limietEen 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 limietZachte 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 testQuotas 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-19999Meer informatie staat in de hulppagina voor
&man.edquota.8;.Quotalimieten en schijfgebruik controlerenschijfquotacontrolerenZowel &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 60gratieperiodeVoor 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 NFSNFSQuota 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.rquotadVervolgens dient inetd opnieuw gestart
te worden:&prompt.root; kill -HUP `cat /var/run/inetd.pid`LuckyGreenBijgedragen door shamrock@cypherpunks.toSchijfpartities versleutelenschijvenversleutelen&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.gbde in de kernel aanzettenWord rootHet instellen van gbde
vereist beheerdersrechten.&prompt.user; su -
Password:Controleer de versie van het besturingssysteemVoor &man.gbde.4; is &os; 5.0 of hoger
nodig.&prompt.root; uname -r
5.0-RELEASEVoeg ondersteuning voor &man.gbde.4; aan het
kernelinstellingenbestand toeVoeg de volgende regel aan het
kernelinstellingenbestand toe:options GEOM_BDECompileer en installeer de &os; kernel opnieuw. Dit
proces wordt beschreven in .Start op met de nieuwe kernel.Versleutelde harde schijf voorbereidenIn 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 toeVoeg 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/ad4Maak een map aan voor gbde lockbestanden&prompt.root; mkdir /etc/gbdeHet 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-partitieEen 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&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.Het commando gbde init maakt een
lockbestand aan voor de
gbde-partitie die in dit
voorbeeld is opgeslagen als
/etc/gbde/ad4s1c.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/ad4s1cEr 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*
/dev/ad0 /dev/ad0s1b /dev/ad0s1e /dev/ad4s1
/dev/ad0s1 /dev/ad0s1c /dev/ad0s1f /dev/ad4s1c
/dev/ad0s1a /dev/ad0s1d /dev/ad4 /dev/ad4s1c.bdeMaak een bestandssysteem op het versleutelde
apparaatNu 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.De optie is de standaard in
&os; 5.1-RELEASE en nieuwer.&prompt.root; newfs -U -O2 /dev/ad4s1c.bdeVoer &man.newfs.8; uit op een aangekoppelde
gbde-partitie die
geïndificeerd wordt door de uitbreiding
*.bde op
de apparaatnaam.Mount de versleutelde partitieMaak een mountpunt voor het versleutelde
bestandssysteem aan:&prompt.root; mkdir /privateMount het versleutelde bestandssysteem:&prompt.root; mount /dev/ad4s1c.bde /privateControleer of het versleutelde bestandssysteem
beschikbaar isHet 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% /privateBestaande versleutelde bestandssystemen mountenElke 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/ad4s1cEr wordt om de wachtwoordzin gevraagd die gekozen is
tijdens de initialisatie van de versleutelde
gbde-partitie.Controleer het bestandssysteem op foutenAangezien 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.bdeMount het versleutelde bestandssysteem&prompt.root; mount /dev/ad4s1c.bde /privateHet versleutelde bestandssysteem is nu klaar voor
gebruik.Versleutelde partities automatisch mountenHet 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.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/ad4s1cgbde kan niet met
vinum volumes gebruikt worden, omdat
&man.vinum.4; geen gebruik maakt van het subsysteem
&man.geom.4;.
diff --git a/nl_NL.ISO8859-1/books/handbook/eresources/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/eresources/chapter.sgml
index 8c5796fe95..0c995c45aa 100644
--- a/nl_NL.ISO8859-1/books/handbook/eresources/chapter.sgml
+++ b/nl_NL.ISO8859-1/books/handbook/eresources/chapter.sgml
@@ -1,1910 +1,1933 @@
Bronnen op InternetDoor 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.MailinglijstenHoewel 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
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.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.LijstsamenvattingAlgemene lijsten: De volgende zijn
algemene lijsten waarop vrijelijk (en aangemoedigd) geabonneerd
kan worden:LijstDoel&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 lijstenTechnische 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.LijstDoel&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.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.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.scsi.name;Het SCSI subsysteem&a.security.name;Beveiligingsonderwerpen betreffende &os;&a.small.name;&os; gebruiken in embedded toepassingen&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.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.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.LijstDoel&a.hubs.name;Mensen die mirror sites draaien (infrastructurele
ondersteuning)&a.usergroups.name;Gebruikersgroep coördinatie&a.vendors.name;Coördinatie van pre-release met
wederverkopers&a.www.name;Beheerders van www.FreeBSD.orgVerkorte 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.LijstBroncodegebiedBroncodebeschrijving&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/portsAlle wijzigingen aan de ports structuur&a.cvs-projects.name;/usr/projectsAlle wijzigingen aan de projects structuur&a.cvs-src.name;/usr/srcAlle wijzigingen aan de src structuurHoe abonnerenOm 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.LijstdoelstellingenAlle &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
projectdoelenDit 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
ontwerpDeze 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 projectDit 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
ProjectDeze 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
ReportsHet 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 reportsDit 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; gemeenschapDeze 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; KernteamDit 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 ProjectTechnische discussie over het gebruik, de
ontwikkeling en het beheer van &os;-CVSweb.&a.doc.name;Documentatie projectDit 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.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;BestandssystemenDiscussie over &os; bestandssystemen. Dit is een
technische mailinglijst waarop slechts strikt technische
bijdragen worden verwacht.&a.geom.name;GEOMDiscussie specifiek over GEOM en gerelateerde
implementaties. Dit is een technische mailinglijst
waarop slechts strikt technische bijdragen worden
verwacht.&a.gnome.name;GNOMEDiscussie over de GNOME
bureaubladomgeving voor &os;. Dit is een technische
mailinglijst waarop slechts strikt technische bijdragen
worden verwacht.&a.ipfw.name;IP FirewallDit 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 IA64Dit 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 CommunicatieDit is de mailinglijst voor discussie over de
ontwikkeling van ISDN ondersteuning voor &os;.&a.java.name;&java; OntwikkelingDit 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
gezochtDit 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;KDEDiscussie over KDE op &os;
systemen. Dit is een technische mailinglijst waarop
slechts strikt technische bijdragen worden
verwacht.&a.hackers.name;Technische discussiesDit 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;
hardwareAlgemene discussie over de typen hardware waar &os;
op draait en problemen en oplossingen over wat te kopen
en wat vooral niet.&a.hubs.name;MirrorsitesAankondigingen en discussie voor beheerders van &os;
mirrorsites.&a.isp.name;Onderwerpen voor Internet Service
ProvidersDeze 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.orgDiscussie 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 systeemDiscussie 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;
platformsCross-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
beleidsbeslissingenDit is een laag volume, alleen-lezen mailinglijst
voor beleidsbeslissingen van het &os; Kernteam.&a.ports.name;Discussie over
portsDiscussie 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
bugsDiscussie 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 serverplatformsDeze 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;GebruikersvragenDit 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.scsi.name;SCSI subsysteemDit 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;BeveiligingswaarschuwingenWaarschuwingen voor &os; beveiligingsproblemen en
oplossingen. Dit is geen discussielijst. De
discussielijst is &a.security.name;.&a.small.name;&os; gebruiken in embedded
toepassingenOp 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.&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 &
POSIXDit 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
USBDit is de mailinglijst voor technische bespreking van
onderwerpen gerelateerd aan &os; ondersteuning voor
USB.&a.usergroups.name;Gebruikersgroep Coördinatie
LijstDit 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;VerkopersCoördinatie en discussie tussen het &os; project
en verkopers van software en hardware voor &os;.Filters op de mailinglijstenDe &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-streamapplication/pdfapplication/pgp-signatureapplication/x-pkcs7-signaturemessage/rfc822multipart/alternativemultipart/relatedmultipart/signedtext/htmltext/plaintext/x-difftext/x-patchSommige 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 nieuwsgroepenNaast 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 nieuwsgroepencomp.unix.bsd.freebsd.announcecomp.unix.bsd.freebsd.miscde.comp.os.unix.bsd
(Duits)fr.comp.os.bsd
(Frans)it.comp.os.freebsd
(Italiaans)Overige interessante &unix; nieuwsgroepencomp.unixcomp.unix.questionscomp.unix.admincomp.unix.programmercomp.unix.shellcomp.unix.user-friendlycomp.security.unixcomp.sources.unixcomp.unix.advocacycomp.unix.misccomp.bugs.4bsdcomp.bugs.4bsd.ucb-fixescomp.unix.bsdX Window systeemcomp.windows.x.i386unixcomp.windows.xcomp.windows.x.appscomp.windows.x.announcecomp.windows.x.intrinsicscomp.windows.x.motifcomp.windows.x.pexcomp.emulators.ms-windows.wineWorld wide web serversOnderstaande lijst met World Wide Web Servers wordt
automatisch samengesteld om zo actueel mogelijk te zijn en is
daarom niet vertaald.
&chap.eresources.www.inc;
E–mail adressenDe 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.DomeinFaciliteitenGebruikersgroepBeheerderukug.uk.FreeBSD.orgAlleen forwardenfreebsd-users@uk.FreeBSD.orgLee Johnston
lee@uk.FreeBSD.orgShell accountsDe 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.HostToegangFaciliteitenBeheerderdogma.freebsd-uk.eu.orgTelnet/FTP/SSHE–mail, webhosting, anonieme FTPLee Johnston
lee@uk.FreeBSD.org
diff --git a/nl_NL.ISO8859-1/books/handbook/geom/Makefile b/nl_NL.ISO8859-1/books/handbook/geom/Makefile
new file mode 100644
index 0000000000..59e5759cdc
--- /dev/null
+++ b/nl_NL.ISO8859-1/books/handbook/geom/Makefile
@@ -0,0 +1,15 @@
+#
+# Build the Handbook with just the content from this chapter.
+#
+# $FreeBSD$
+#
+
+CHAPTERS= geom/chapter.sgml
+
+VPATH= ..
+
+MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
+
+DOC_PREFIX?= ${.CURDIR}/../../../..
+
+.include "../Makefile"
diff --git a/nl_NL.ISO8859-1/books/handbook/geom/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/geom/chapter.sgml
new file mode 100644
index 0000000000..f829dd5445
--- /dev/null
+++ b/nl_NL.ISO8859-1/books/handbook/geom/chapter.sgml
@@ -0,0 +1,444 @@
+
+
+
+
+
+
+ Tom
+ Rhodes
+ Geschreven door
+
+
+
+
+ Siebrand
+ Mazeland
+ Vertaald door
+
+
+
+
+ GEOM: Modulair schijftransformatie framework
+
+
+ Overzicht
+
+ GEOM
+
+
+ GEOM schijf framework
+
+ GEOM
+
+
+ Dit hoofdstuk beschrijft het gebruik van schijven in het
+ nieuwe GEOM framework in &os;. Hieronder vallen de belangrijkste
+ RAID
+ besturingsprogramma's die het framework gebruikt voor
+ instellingen. In dit hoofdstuk wordt niet diepgaand beschreven
+ hoe GEOM omgaat met I/O, het onderliggende subsysteem of code.
+ Die informatie staat in het hulppagina voor &man.geom.4; en de
+ verscheidene SEE ALSO referenties. Dit hoofdstuk
+ is ook geen definitief stuk over het instellen van
+ RAID. Alleen de door GEOM ondersteunde
+ RAID-classificaties worden beschreven.
+
+ Na het lezen van dit hoofdstuk weet de lezer:
+
+
+
+ Welk type RAID-ondersteuning via GEOM
+ beschikbaar is;
+
+
+
+ Hoe de basisgereedschappen te gebruiken om de
+ verschillende RAID-niveau's in te stellen,
+ te onderhouden en te wijzigen;
+
+
+
+ Hoe schijfapparaten via GEOM te spiegelen, aaneen te
+ schakelen, te versleutelen en vanaf afstand schijven aan te
+ sluiten;
+
+
+
+ Hoe problemen op te lossen met schijven die via het GEOM
+ framework zijn aangesloten.
+
+
+
+ Veronderstelde voorkennis:
+
+
+
+ Begrijpen hoe &os; omgaat met schijfapparaten ();
+
+
+
+ Weten hoe een nieuwe &os; kernel in te stellen en te
+ installeren ().
+
+
+
+
+
+ GEOM inleiding
+
+ GEOM staat toegang en controle toe op klassen, Master Boot
+ Records, BSD labels, enzovoort, door gebruik
+ te maken van diensten of de speciale bestanden in /dev. GEOM ondersteunt
+ verschillende software RAID instellingen en
+ biedt transparante toegang tot het besturingssysteem en de
+ hulpprogramma's.
+
+
+
+
+
+
+ Tom
+ Rhodes
+ Geschreven door
+
+
+ Murray
+ Stokely
+
+
+
+
+ RAID0 - aaneengeschakeld
+
+ GEOM
+
+ aaneengeschakeld
+
+ Aaneenschakelen is een methode die gebruikt wordt
+ om meerdere schijven te combineren tot een enkele volume. In
+ veel gevallen wordt dit gedaan met hardware controllers. Het
+ GEOM subsysteem biedt softwareondersteuning voor
+ RAID0, ook wel bekend als aaneenschakelen
+ (disk striping).
+
+ In een RAID0-systeem worden gegevens
+ opgedeeld in blokken die verdeeld worden over de schijven in een
+ reeks. In plaats van te hoeven wachten tot een systeem 256k naar
+ één schijf heeft geschreven, kan een
+ RAID0-systeem tegelijkertijd 64k naar vier
+ verschillende schijven schrijven, waardoor superieure I/O
+ prestaties worden bereikt. Deze prestaties kunnen nog verbeterd
+ worden door meerdere schijfcontrollers te gebruiken.
+
+ Iedere schijf in een
+ RAID0-aaneenschakeling moet van dezelfde
+ grootte zijn, omdat I/O-verzoeken altijd zijn opgebouwd uit
+ precies gelijk over de schijven verdeelde verzoeken tot lezen of
+ schrijven.
+
+
+
+
+
+
+
+ Illustratie aaneengeschakelde schijven
+
+
+
+
+ Ongeformatteerde ATA-schijven aaneenschakelen
+
+
+ Laad de module geom_stripe:
+
+ &prompt.root; kldload geom_stripe.ko
+
+
+
+ Zorg ervoor dat er een mountpunt beschikbaar is. Als dit
+ volume een rootpartitie wordt, gebruikt dan tijdelijk een
+ ander mountpunt zoals /mnt.
+
+ &prompt.root; mkdir /mnt
+
+
+
+ Stel de apparaatnamen voor de schijven vast die aaneen
+ worden geschakeld en maak het nieuwe apparaat aan. Het
+ volgende commando kan bijvoorbeeld gebruikt worden om twee
+ ongebruikte, ongepartitioneerde ATA
+ schijven aaneen te schakelen (/dev/ad2
+ en /dev/ad3).
+
+ &prompt.root; gstripe label -v st0 /dev/ad2 /dev/ad3
+
+
+
+
+
+ Als dit volume wordt gebruikt als rootapparaat voor het
+ opstarten van een systeem, dan dient het volgende commando
+ gegeven te worden voordat het bestandssysteem wordt
+ gemaakt:
+
+ &prompt.root; fdisk -vBI /dev/stripe/st0
+
+
+
+ Er moet een partitietabel gemaakt worden op het nieuwe
+ volume:
+
+ &prompt.root; bsdlabel -wB /dev/stripe/st0
+
+
+
+ Dit proces hoort twee nieuwe apparaten gemaakt te hebben
+ in de map /dev/stripe
+ naast het apparaat st0, te weten
+ st0a en st0c. Nu
+ kan er een bestandssysteem gemaakt worden op het apparaat
+ st0a met
+ newfs:
+
+ &prompt.root; newfs -U /dev/stripe/st0a
+
+ Na het uitvoeren van het bovenstaande commando rollen er
+ veel getallen over het scherm en na een aantal seconden is
+ het proces afgerond. Het volume is gereed en klaar om
+ gemount te worden.
+
+
+
+ Met het volgende commando kan een nieuw gemaakte
+ aaneengeschakelde schijf handmatig gemount worden:
+
+ &prompt.root; mount /dev/stripe/st0a /mnt
+
+ Om dit aaneengeschakelde bestandssysteem automatisch te
+ mounten bij het opstarten kan de volume-informatie in
+ /etc/fstab gezet worden:
+
+ &prompt.root; echo "/dev/stripe/st0a /mnt ufs rw 2 2" \
+ >> /etc/fstab
+
+ De GEOM module dient ook automatisch geladen te worden bij
+ het initialiseren van een systeem door de volgende regel toe te
+ voegen aan /boot/loader.conf:
+
+ &prompt.root; echo 'geom_stripe_load="YES"' >> /boot/loader.conf
+
+
+
+ RAID1 - spiegelen
+
+ GEOM
+
+ schijf spiegelen
+
+ Spiegelen (mirroring) is een technologie die
+ door veel bedrijven en thuisgebruikers wordt ingezet om gegevens
+ te back-uppen zonder onderbrekingen. Als er een spiegel bestaat,
+ betekent dat eenvoudigweg dat schijfB een kopie is van schijfA,
+ of misschien zijn schijvenC+D een kopie van schijvenA+B. Los van
+ de schijfinstellingen is het belangrijkste aspect dat de
+ gegevens van de ene schijf of partitie worden gerepliceerd naar
+ de andere. Later kunnen die gegevens eenvoudiger worden hersteld
+ of geback-upped zonder dat dit leidt tot onderbrekingen in
+ dienstverlening of toegang tot gegevens en schijven kunnen zelfs
+ fysiek worden opgeslagen in een kluis.
+
+ Begin met een systeem dat twee schijven heeft van gelijke
+ grootte. Deze oefening stelt dat het directe toegang
+ (&man.da.4;) SCSI-schijven zijn.
+
+ Begin door &os; te installeren op de eerste schijf met twee
+ partities. Een van de twee moet een swap-partitie zijn die twee
+ keer de grootte van het RAM-geheugen is en de rest van de ruimte
+ moet toegewezen worden aan het root bestandssysteem (/). Er zouden eigen partities
+ gemaakt kunnen worden voor andere mountpunten, maar hierdoor
+ wordt de moeilijkheidsgraad wel tien keer hoger doordat de
+ instellingen voor &man.bsdlabel.8; and &man.fdisk.8; handmatig
+ gewijzigd moeten worden.
+
+ Herstart en wacht tot het systeem volledig is
+ geïnitialiseerd. Meld daarna aan als gebruiker
+ root.
+
+ Maak het apparaat /dev/mirror/gm en link
+ het aan /dev/da1:
+
+ &prompt.root; gmirror label -vnb round-robin gm0 /dev/da1
+
+
+ Dit commando hoort de apparaatnodes
+ gm0, gm0s1,
+ gm0s1a en gm0s1c
+ gemaakt te hebben onder de map /dev/mirror.
+
+
+ Initialiseer GEOM, waardoor de kernelmodule
+ /boot/kernel/geom_mirror.ko wordt
+ geladen:
+
+ &prompt.root; geom load
+
+ Installeer het algemene fdisk label en de
+ bootcode op het nieuw aangemaakte apparaat
+ gm0:
+
+ &prompt.root; fdisk -vBI /dev/mirror/gm0
+
+ Installeer nu de algemene bsdlabel
+ informatie:
+
+ &prompt.root; bsdlabel -wB /dev/mirror/gm0s1
+
+
+ Als meerdere slices en partities bestaan, dienen de vlaggen
+ voor de vorige twee commando's anders te zijn. Ze moeten
+ gelijk zijn aan de groottes van de slice en partitie van de
+ andere schijf.
+
+
+ Gebruik &man.newfs.8; om een standaard bestandssysteem te
+ maken op de apparaatnode gm0s1a:
+
+ &prompt.root; newfs -U /dev/mirror/gm0s1a
+
+ Door het bovenstaande commando spuugt een systeem wat
+ informatie uit en wat getalletjes. Dat is goed. Bekijk de
+ uitvoer op het voorkomen van foutmeldingen en mount het apparaat
+ op het mountpunt /mnt:
+
+ &prompt.root mount /dev/mirror/gm0s1a /mnt
+
+ Verplaats nu alle gegevens van de bootschijf naar dit nieuwe
+ bestandssysteem. In dit voorbeeld worden &man.dump.8; en
+ &man.restore.8; gebruikt, maar &man.dd.1; werkt ook in dit
+ scenario. Hier wordt geen gebruik gemaakt van &man.tar.1; omdat
+ &man.tar.1; de bootcode niet kan kopiëren, iets dat een
+ foute afloop garandeert.
+
+ &prompt.root; dump -L -0 -f- / |(cd /mnt && restore -r -v -f-)
+
+ Dit dient voor ieder bestandssysteem uitgevoerd te worden.
+ Plaats eenvoudigweg het juiste bestandssysteem op de juiste
+ plaats bij het uitvoeren van het voorgaande commando.
+
+ Wijzig nu het gerepliceerde bestand
+ /mnt/etc/fstab en verwijder het swapbestand
+ of plaats er een commentaarteken voor. Wijzig de informatie voor
+ de andere bestandssystemen zodat ze de nieuwe schijf gebruiken.
+ Zie het volgende voorbeeld:
+
+ # Device Mountpoint FStype Options Dump Pass#
+#/dev/da0s2b none swap sw 0 0
+/dev/mirror/gm0sa1 / ufs rw 1 1
+
+ Maak nu een bestand boot.conf op zowel
+ de huidige als de nieuwe rootpartitie. Dit bestand
+ helpt het BIOS van een systeem
+ op te starten van de juiste schijf:
+
+ &prompt.root; echo "1:da(1,a)/boot/loader" > /boot.config
+&prompt.root; echo "1:da(1,a)/boot/loader" > /mnt/boot.config
+
+
+ Dit bestand dient op beide rootpartities te staan om zeker
+ te stellen dat een systeem goed opstart. Als een systeem om
+ welke reden dan ook niet kan lezen van de nieuwe rootpartitie,
+ dan is een achtervang beschikbaar.
+
+
+ Voeg de volgende regel toe aan
+ /boot/loader.conf:
+
+ &prompt.root; echo 'geom_mirror_load="YES"' >> /boot/loader.conf
+
+ Hiermee wordt aan &man.loader.8; aangegeven dat deze
+ geom_mirror.ko dient te laden tijdens de
+ initialisatie van een systeem.
+
+ Herstart het systeem:
+
+ &prompt.root; shutdown -r now
+
+ Als alles goed is gegaan, hoort het systeem gestart te zijn
+ vanaf het apparaat gm0s1a en er moet een
+ login prompt staan te wachten. Als er iets
+ mis is gegaan, kijk dan in de volgende sectie voor het oplossen
+ van problemen. Voeg nu de schijf da0 toe
+ aan het apparaat gm0:
+
+ &prompt.root; gmirror configure -a gm0
+&prompt.root; gmirror insert gm0 /dev/da0
+
+ De vlag geeft &man.gmirror.8; aan dat
+ automatische synchronisatie gebruikt moet worden, ofwel dat
+ schrijfbewerkingen naar schijf automatisch gespiegeld moeten
+ worden. In de hulppagina wordt beschreven hoe schijven herbouwd
+ en vervangen kunnen worden, hoewel daar data
+ wordt gebruikt in plaats van gm0.
+
+
+ Problemen oplossen
+
+
+ Systeem weigert op te starten
+
+ Als een systeem opstart in een prompt dat op het volgende
+ lijkt:
+
+ ffs_mountroot: can't find rootvp
+Root mount failed: 6
+mountroot>
+
+ Herstart te machine met de aan/uit-schakelaar of met de
+ resetknop. Selecteer in het bootmenu optie zes (6).
+ Hierdoor komt een systeem in een &man.loader.8; prompt. Laad
+ de kernelmodules handmatig:
+
+ OK? load geom_mirror.ko
+OK? boot
+
+ Als dit werkt werd de module om welke reden dan ook niet
+ juist geladen. Zet de onderstaande regel in het bestand met
+ kernelinstellingen en herbouw en installeer de kernel.
+
+ options GEOM_MIRROR
+
+ Hiermee moet het probleem opgelost zijn.
+
+
+
+
+
+
diff --git a/nl_NL.ISO8859-1/books/handbook/multimedia/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/multimedia/chapter.sgml
index 72a85b3059..523717bb6d 100644
--- a/nl_NL.ISO8859-1/books/handbook/multimedia/chapter.sgml
+++ b/nl_NL.ISO8859-1/books/handbook/multimedia/chapter.sgml
@@ -1,2053 +1,2060 @@
RossLippertAangepast door SiebrandMazelandVertaald door MultimediaOverzicht&os; ondersteunt een breed bereik aan geluidskaarten,
waardoor het mogelijk is van geluid van hoge kwaliteit op een
computer te genieten. Hieronder vallen mogelijkheden om geluid
op te nemen en af te spelen in de MPEG Audio Layer 3 (MP3), WAV
en Ogg Vorbis formaten en vele andere formaten. De &os;
Portscollectie bevat ook programma's waarmee opgenomen audio
bewerkt kan worden, waarmee geluidseffecten toegevoegd kunnen
worden en aangesloten MIDI apparaten bestuurd kunnen
worden.Met wat wil om te experimenteren kunnen met &os;
videobestanden en DVD's afgespeeld worden. Er zijn minder
programma's om video te encoderen, te converteren en af te spelen
dan er zijn voor audio. Op het moment van schrijven is er
bijvoorbeeld geen programma in de &os; Portscollectie beschikbaar
waarmee video goed gehercodeerd kan worden. Deze functie zou
gebruikt kunnen worden om tussen formaten te converteren, zoals
mogelijk is met audio/sox.
De software in dit landschap is echter sterk aan verandering
onderhevig.In dit hoofdstuk worden de stappen beschreven die uitgevoerd
moeten worden om een geluidskaart in te stellen. Bij de
installatie en instelling van X11 () is al
beschreven hoe videokaarten ingesteld kunnen worden, hoewel er
nog wel een aantal mogelijkheden zijn om het afspelen te
verbeteren.Na het lezen van dit hoofdstuk weet de lezer:Hoe een systeem zo in te stellen dat een geluidskaart
wordt herkend;Hoe getest kan worden of een kaart werkt door gebruik te
maken van voorbeeldapplicaties;Hoe problemen op te lossen met betrekking tot
geluidsinstellingen;Hoe MP3's en andere audio af te spelen en te
maken;Hoe video wordt ondersteund door de X server;Welke video speler/encoderports goede resultaten
geven;Hoe DVD's, .mpg en
.avi bestanden af te spelen;Hoe CD en DVD informatie naar bestanden geript kan
worden;Hoe een TV-kaart in te stellen;Hoe een scanner in te stellen.Er wordt aangenomen dat de lezer van dit hoofdstuk:Weet hoe een nieuwe kernel in te stellen en te
installeren ().Het proberen te mounten van audio CD's met &man.mount.8;
resulteert in ieder geval in een foutmelding en op zijn ergst
in een kernel panic. Dat type media heeft
een formaat dat afwijkt van het gebruikelijke
ISO-bestandssysteem.MosesMooreGeschreven door MarcFonvieilleAangepast voor &os; 5.X door Geluidskaart installerenSysteem instellenPCIISAgeluidskaartenAlvorens te beginnen is het van belang te weten welk model
een geluidskaart is, welke chip erop wordt gebruikt en of het
een PCI of ISA kaart is. &os; ondersteunt vele PCI en ISA
kaarten. De ondersteunde audioapparaten staan in een lijst in
de Hardware Notes.
In dit document staat ook beschreven welk stuurprogramma welke
kaart(en) ondersteunt.kernelinstellenOm een geluidsapparaat te gebruiken dient het juiste
apparaatstuurprogramma geladen te worden. Dit kan op twee
manieren. De meest eenvoudige manier is simpelweg een
kernelmodule te laden voor de gewenste geluidskaart met
&man.kldload.8;. Dit kan vanaf de commandoregel:&prompt.root; kldload snd_emu10k1Of door als volgt de juiste regel toe te voegen aan
/boot/loader.conf:snd_emu10k1_load="YES"De bovenstaande voorbeelden zijn voor een Creative
&soundblaster; Live! geluidskaart. De overige beschikbare
laadbare geluidsmodules staan beschreven in
/boot/defaults/loader.conf. Als niet
compleet duidelijk is welk stuurprogramma gebruikt dient te
worden, dan kan het met de module
snd_driver geprobeerd worden:&prompt.root; kldload snd_driverDit is een metastuurprogramma, dat in één
keer de meest voorkomende apparaatstuurprogramma's laadt.
Hiermee kan het zoeken naar het juiste stuurprogramma versneld
worden. Het is ook mogelijk om alle geluidsstuurprogramma's te
laden via de optie
/boot/loader.conf.Om uit te vinden welk struurprogramma na het laden van het
metastuurprogramma snd_driver wordt
geladen kan de inhoud van het bestand
/dev/sndstat nagekeken worden met
cat /dev/sndstat.Om onder &os; 4.X alle geluidsstuurprogramma's te
laden, dient de module snd geladen te
worden in plaats van snd_driver.Een tweede mogelijkheid is ondersteuning voor een
geluidskaart statisch in de kernel te compileren. In de
onderstaande paragrafen staat meer informatie over hoe op die
manier ondersteuning voor hardware toegevoegd kan worden. Meer
informatie over het hercompileren van een kernel staat in .Aangepaste kernel maken met geluidsondersteuningEerst moet het generieke audiostuurprogramma
&man.sound.4; aan de kernel toegevoegd worden. Daarvoor
dient het volgende te worden opgenomen in het bestand met
kernelinstellingen:device soundVoor &os; 4.X kan het volgende gebruikt
worden:device pcmDaarna kan ondersteuning voor de specifieke geluidskaart
toegevoegd worden. Daarvoor moet bekend zijn welk
stuurprogramma de kaart ondersteunt. Dit kan opgezocht
worden in de lijst met ondersteunde audioapparaten in de
Hardware Notes,
waar de correcte stuurprogramma's voor geluidskaarten
beschreven staan. Zo wordt een Creative &soundblaster; Live!
geluidskaart bijvoorbeeld ondersteund door het stuurprogramma
&man.snd.emu10k1.4;. Ondersteuning voor deze kaart kan als
volgt worden toegevoegd:device "snd_emu10k1"In de hulppagina voor een stuurprogramma staat welke
syntaxis gebruikt kan worden. Informatie over de syntaxis
van geluidsstuurprogramma's in de kernelinstellingen staat
ook in /usr/src/sys/conf/NOTES
(/usr/src/sys/i386/conf/LINT voor
&os; 4.X).Voor niet-PnP ISA-kaarten kan het nodig zijn dat de
kernel informatie gegeven moet worden over de instellingen
van een geluidskaart (IRQ, I/O poort, enzovoort). Dit kan
via het bestand /boot/device.hints. Bij
het starten van een systeem leest de &man.loader.8; dat
bestand uit en geeft de instellingen door aan de kernel. Zo
gebruikt een oude Creative &soundblaster; 16 ISA
niet-PnP-kaart het stuurprogramma &man.snd.sbc.4; en dient de
volgende regel toegevoegd te worden aan het bestand met
kernelinstellingen:device snd_sbcDaarnaast moet het volgende worden toegevoegd aan
/boot/device.hints:hint.sbc.0.at="isa"
hint.sbc.0.port="0x220"
hint.sbc.0.irq="5"
hint.sbc.0.drq="1"
hint.sbc.0.flags="0x15"In dit geval gebruikt de kaart I/O poort
0x220 en IRQ 5.De gebruikte syntaxis voor
/boot/device.hints staat beschreven in
de hulppagina voor het geluidsstuurprogramma. In
&os; 4.X worden deze instellingen direct in het bestand
met kernelinstellingen gezet. In het geval van de
bovenstaande ISA-kaart gaat dat al volgt:device sbc0 at isa? port 0x220 irq 5 drq 1 flags 0x15De bovenstaande instellingen zijn de standaard
instellingen. In sommige gevallen moeten IRQ of andere
instellingen gewijzigd worden om een apparaat juist te laten
werken. In &man.snd.sbc.4; staat meer informatie.Onder &os; 4.X hebben sommige systemen met
audioapparaten op het moederbord de volgende optie in het
bestand met kernelinstellingen nodig:options PNPBIOSGeluidskaart testenNa het herstarten met de aangepaste kernel of na het laden
van de benodigde module, hoort de geluidskaart ongeveer als
volgt te verschijnen in de systeemberichtbuffer
(&man.dmesg.8;):pcm0: <Intel ICH3 (82801CA)> port 0xdc80-0xdcbf,0xd800-0xd8ff irq 5 at device 31.5 on pci0
pcm0: [GIANT-LOCKED]
pcm0: <Cirrus Logic CS4205 AC97 Codec>De status van de geluidskaart kan gecontroleerd worden via
het bestand /dev/sndstat:&prompt.root; cat /dev/sndstat
FreeBSD Audio Driver (newpcm)
Installed devices:
pcm0: <Intel ICH3 (82801CA)> at io 0xd800, 0xdc80 irq 5 bufsz 16384
kld snd_ich (1p/2r/0v channels duplex default)De uitvoer kan per systeem wat verschillen. Als er geen
apparaten pcm verschijnen, dienen
eerdere stappen bekeken te worden. Bekijk nogmaals de
instellingen van de kernel en bevestig dat het juiste apparaat
is gekozen. Veel voorkomende problemen staan beschreven in
.Als het goed is werkt de geluidskaart nu. Als de cd-rom of
DVD-ROM drive juist is aangesloten op de geluidskaart, dan kan
er een CD in de drive gestoken worden en kan deze met
&man.cdcontrol.1; afgespeeld worden:&prompt.user; cdcontrol -f /dev/acd0 play 1Applicaties als audio/workman kunnen een
vriendelijker interface bieden. Wellicht is het handig om een
applicatie als audio/mpg123
te installeren om naar MP3 audiobestanden te luisteren. Een
snelle manier om de kaart te testen is het als volgt sturen van
data naar /dev/dsp:&prompt.user; cat filename > /dev/dspfilename kan ieder bestand zijn.
Deze commandoregel hoort wat ruis tot gevolg te hebben,
waardoor wordt bevestigd dat de geluidskaart echt werkt.&os; 4.X gebruikers moeten de geluidskaart
apparaatnodes maken voordat hij gebruikt kan worden. Als de
kaart voorkomt in de berichtbuffer als
pcm0, dan dient het volgende als
root uitgevoerd te worden:&prompt.root; cd /dev
&prompt.root; sh MAKEDEV snd0Als de kaart herkend is als
pcm1, kunnen dezelfde stappen als
hierboven gevolgd worden, waarbij
snd0 wordt vervangen door
snd1.MAKEDEV maakt een groep apparaatnodes
aan die gebruikt worden voor de applicaties die met geluid
te maken hebben.Niveau's voor de geluidskaartmixer kunnen aangepast worden
met het commando &man.mixer.8;. Er staan meer details in
&man.mixer.8;.Bekende problemenapparaatnodesI/O poortIRQDSPFoutOplossingunsupported
subdevice XXEén of meer van de apparaatnodes zijn
niet correct gemaakt. De bovenstaande stappen dienen
opnieuw uitgevoerd te worden.sb_dspwr(XX) timed
outDe I/O poort is niet correct ingesteld.bad irq XXHet IRQ is niet correct ingesteld. Zorg dat het
ingestelde IRQ en het IRQ voor het geluid hetzelfde
zijn.xxx: gus pcm not attached, out of
memoryEr is niet genoeg geheugen beschikbaar om het
apparaat te gebruiken.xxx: can't open
/dev/dsp!Controleer fstat | grep dsp
of een ander programma het apparaat geopend heeft.
Bekende probleemgevallen zijn
esound en
KDE's
geluidsondersteuning.
-
+ MunishChopraGeschreven door Meerdere geluidsbronnen gebruikenHet is vaak wenselijk om meerdere geluidsbronnen
tegelijkertijd af te kunnen spelen, zoals wanneer
esound of
artsd het delen van een
geluidsapparaat met een andere applicatie niet
ondersteunen.Met &os; kan dit met Virtuele
Geluidskanalen, die ingesteld kunnen worden met de
&man.sysctl.8; faciliteit. Met virtuele kanalen kunnen de
afspeelkanalen van een geluidskaart gemultiplext worden door
het geluid in de kernel te mixen.Het aantal virtuele kanalen kan met twee sysctl knoppen
als root als volgt ingesteld
worden:&prompt.root; sysctl hw.snd.pcm0.vchans=4
&prompt.root; sysctl hw.snd.maxautovchans=4In het bovenstaande voorbeeld worden vier virtuele kanelen
gealloceerd, wat in het dagelijks gebruik voldoende is.
In hw.snd.pcm0.vchans staat het aantal
vitruele kanalen dat pcm0 heeft en is
instelbaar als een apparaat is aangesloten.
In hw.snd.maxautovchans staat het aantal
virtuele kanalen dat aan een nieuw audio-apparaat wordt gegeven
als het wordt aangesloten met &man.kldload.8;. Omdat de module
pcm onafhankelijk van de hardware
stuurprogramma's geladen kan worden, kan in
hw.snd.maxautovchans opgeslagen worden
hoeveel virtuele kanalen apparaten die later worden aangesloten
krijgen.
+
+ Het aantal virtuele kanalen voor een apparaat kan niet
+ gewijzigd worden als het in gebruik is. Sluit eerst alle
+ programma's die het apparaat gebruiken, zoals muziekspelers
+ of geluidsdaemons.
+
+
Als er geen gebruik wordt gemaakt van &man.devfs.5;, dan
moeten applicaties wijzen naar
/dev/dsp0.x,
waar x tussen 0 en 3 ligt als
hw.snd.pcm.0.vchans is ingesteld op 4, zoals
in het bovenstaande voorbeeld. Op een systeem waar
&man.devfs.5; wordt gebruikt, wordt het voorgaande voor een
gebruiker automatisch transparant gealloceerd.JosefEl-RayesGeschreven door Standaardwaarden voor mixerkanalen instellenDe standaard waarden voor de mixerkanelen zijn ingesteld in
de broncode van het stuurprogramma &man.pcm.4;. Er zijn vele
applicaties en daemons waarmee waarden voor de mixer ingesteld
en onthouden kunnen worden en iedere keer bij het starten
weer kunnen worden ingesteld. Maar dit is geen nette
oplossing, omdat het netter is de standaardwaarden in te
stellen op het niveau van het stuurprogramma. Die kunnen
ingesteld worden door de gewenste waarden in te stellen in
/boot/device.hints. Bijvoorbeeld:hint.pcm.0.vol="100"Met de bovenstaande instelling wordt het volume van een
kanaal standaard op 100 ingesteld bij het laden van de module
&man.pcm.4;.Dit wordt alleen ondersteund in &os; 5.3-RELEASE en
later.ChernLeeGeschreven door MP3 audioMet MP3 (MPEG Layer 3 Audio) kan geluid bijna in CD-kwaliteit
weergegeven worden en dus is er een goede reden om dit vooral
niet na te laten op een &os; werkstation.MP3 spelersVerreweg de meest populaire X11 MP3 speler is
XMMS (X Multimedia Systeem).
In XMMS kunnen
Winamp skins gebruikt worden, omdat
de GUI vrijwel gelijk is aan die van Nullsoft's
Winamp.
XMMS heeft ook een eigen plug-in
ondersteuning.XMMS kan geïnstalleerd
worden via de multimedia/xmms port of
package.De interface van XMMS is
intuïtief met een playlist, grafische equalizer en meer.
Gebruikers die bekend zijn met
Winamp vinden
XMMS vast eenvoudig te
gebruiken.De port audio/mpg123 is
een alternatieve MP3 speler die gebruik maakt van de
commandoregel.mpg123 werkt door het
geluidsapparaat en het MP3 bestand aan te geven op de
commandoregel, zoals hieronder wordt aangegeven:&prompt.root; mpg123 -a /dev/dsp1.0 Foobar-GreatestHits.mp3
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3.
Version 0.59r (1999/Jun/15). Written and copyrights by Michael Hipp.
Uses code from various people. See 'README' for more!
THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!
Playing MPEG stream from Foobar-GreatestHits.mp3 ...
MPEG 1.0 layer III, 128 kbit/s, 44100 Hz joint-stereo/dev/dsp1.0 dient gewijzigd te worden in
het dsp apparaat van het systeem
waarop de MP3 afgespeeld moet worden.CD audio tracks rippenVoordat een CD of een CD track naar MP3 ge-encodeerd kan
worden moet de audiodata naar de harde schijf geript worden.
Dit gaat door de ruwe CDDA (CD Digital Audio) data naar
WAV-bestanden de kopiëren.Het hulpprogramma cdda2wav, dat
onderdeel is van de suite sysutils/cdrtools, kan gebruikt
worden om audio-informatie en de daarbij behorende informatie
van CD's te rippen.Als de audio CD in de drive zit, kan het volgende commando
als root uitgevoerd worden om een hele CD
naar individuele (per track) WAV-bestanden te rippen:&prompt.root; cdda2wav -D 0,1,0 -Bcdda2wav ondersteunt ATAPI (IDE)
cd-rom drives. Om van een IDE drive te rippen, dient de
apparaatnaam aangegeven te worden in plaats van de SCSI
eenheidsnummers. Om bijvoorbeeld track 7 van een IDE drive te
rippen:&prompt.root; cdda2wav -D /dev/acd0a -t 7De optie
geeft het
SCSI apparaat 0,1,0 aan, dat
overeenkomt met de uitvoer van cdrecord
-scanbus.Om individuele tracks te rippen kan gebruik gemaakt worden
van de optie :&prompt.root; cdda2wav -D 0,1,0 -t 7In het bovenstaande voorbeeld wordt track 7 van de audio
CD geript. Om een reeks tracks te rippen, bijvoorbeeld van
1 tot 7, kan een reeks opgegeven worden:&prompt.root; cdda2wav -D 0,1,0 -t 1+7Ook het hulpprogramma &man.dd.1; kan gebruikt worden om
audio tracks van ATAPI drives af te halen. Deze mogelijkheid
wordt beschreven in .MP3's encoderenTegenwoodig is de MP3 encoder
lame.
Lame staat in
audio/lame in de
portsstructuur.Met de geripte WAV-bestanden converteert het volgende
commando audio01.wav naar
audio01.mp3:&prompt.root; lame -h -b 192 \
--tt "Foo Titel" \
--ta "FooBar Artiest" \
--tl "FooBar Album" \
--ty "2005" \
--tc "Geript en encoded door Foo" \
--tg "Genre" \
audio01.wav audio01.mp3192 kbits lijkt de standaard bitrate voor MP3 te zijn.
Het is ook mogelijk 128 of 160 of andere bitrates te gebruiken.
Hoe hoger de bitrate, hoe meer schijfruimte de uiteindelijke
MP3-bestanden gebruiken, maar ook de kwaliteit wordt dan hoger.
Met de optie wordt de modus hogere
kwaliteit, maar iets langzamer ingeschakeld. Met de
opties vanaf worden de ID3 tags ingegeven,
die meestal informatie over een nummer bevatten en onderdeel
uitmaken van het MP3-bestand. In de hulppagina voor
lame staan nog meer opties die
gebruikt kunnen worden bij het encoderen beschreven.MP3's decoderenOm een CD te kunnen branden van MP3's, moeten ze omgezet
worden naar een niet gecomprimeerd WAV-formaat. Zowel
XMMS als
mpg123 ondersteunen de uitvoer van
MP3 naar een niet gecomprimeerd bestandsformaat.Naar schijf schrijven met
XMMS:Start XMMS;Klik rechts op het venster om het
XMMS menu te zien;Selecteer Preference onder
Options;Wijzig de Output Plugin naar Disk Writer
Plugin;Klik Configure;Voer een map in (of kies browse) waar de
ongecomprimeerde bestanden heengeschreven moeten
worden;Laad de MP3-bestanden zoals gewoonlijk in
XMMS, met het volume op 100% en
de EQ instellingen uitgeschakeld;Klik Play.
XMMS lijkt nu de MP3 af te
spelen, maar er is geen muziek te horen. Nu wordt
feitelijk de MP3 afgespeeld naar een bestand;Zorg ervoor dat de standaard Output Plugin wordt
teruggezet naar hoe de instellingen waren om weer naar
MP3's te kunnen luisteren.Schrijven naar stdout vanuit
mpg123:Voer mpg123 -s
audio01.mp3 >
audio01.pcm uit.XMMS schijft een bestand in het
WAV-formaat, terwijl mpg123 de MP3
converteert naar ruwe PCM audio data. Beide formaten kunnen
gebruikt worden met cdrecord om
audio CD's te maken. Met &man.burncd.8; moeten ruwe
PCM-bestanden gebruikt worden. Als er WAV-bestanden worden
gebruikt, is er een tik-geluid te horen bij het begin van
iedere track. Dit is het geluid van de kop van ieder
WAV-bestand. Met het hulpprogramma
SoX kan de kop van WAV-bestanden
verwijderd worden. Dit programma kan geïnstalleerd worden
met de port of package audio/sox&prompt.user; sox -t wav -r 44100 -s -w -c 2 track.wav track.rawIn staat meer informatie over
het gebruiken van een CD-brander in &os;.RossLippertGeschreven door Video afspelenVideo afspelen is een relatief nieuwe en zich snel
ontwikkelende richting voor applicaties. In tegenstelling tot
voor audio werkt alles hier niet zo soepel.Voor er wordt begonnen is het van belang te weten welk
model videokaart zich in een systeem bevindt en welke chip die
gebruikt. Hoewel &xorg; en
&xfree86; vele videokaarten
ondersteunen, zijn er veel minder geschikt om goed video mee af
te spelen. Er kan een lijst met ondersteunde extensies getoond
worden voor X server met de gebruikte videokaart door het
commando &man.xdpyinfo.1; uit te voeren terwijl X11
draait.Het is verstandig een kort MPEG-bestand beschikbaar te
hebben dat gebruikt kan worden als testbestand voor het
evalueren van de spelers en hun opties. Omdat sommige
DVD-spelers standaard zoeken naar DVD media in
/dev/dvd of deze apparaatnaam standaard in
de broncode hebben staan, is het wellicht verstandig om een
symbolische link te maken naar de juist apparaten:&prompt.root; ln -sf /dev/acd0c /dev/dvd
&prompt.root; ln -sf /dev/racd0c /dev/rdvdIn &os; 5.X, dat &man.devfs.5; gebruikt, worden
net iets andere links aangeraden:&prompt.root; ln -sf /dev/acd0 /dev/dvd
&prompt.root; ln -sf /dev/acd0 /dev/rdvdVanwege de werking van &man.devfs.5;, blijven handmatig
aangemaakte links niet bestaan als een systeem wordt herstart.
Om automatisch symbolische links aan te laten maken als een
systeem start, kunnen de volgende regels toegevoegd worden aan
/etc/devfs.conf:link acd0 dvd
link acd0 rdvdDaarnaast zijn voor het decoderen van DVD, waarvoor
bijzondere DVD-ROM functies aangeroepen worden, schrijfrechten
op de DVD-apparaten nodig.kerneloptiesCPU_ENABLE_SSEkerneloptiesUSER_LDTEen aantal van de hier besproken ports hebben specifieke
kernelopties nodig om correct gebouwd te worden. Voordat ze
gebouwd worden, dienen deze opties aan het bestand met
kernelinstellingen toegevoegd te worden, dient de kernel
opnieuw gebouwd te worden en het systeem opnieuw gestart te
worden:option CPU_ENABLE_SSE
option USER_LDToption USER_LDT bestaat niet in
&os; 5.X.Om de gedeeld geheugen interface van X11 te verbeteren,
wordt aangeraden dat een aantal variablelen van &man.sysctl.8;
worden verhoogd:kern.ipc.shmmax=67108864
kern.ipc.shmall=32768Videomogelijkheden vaststellenXVideoSDLDGAEr zijn een aantal methoden om video weer te geven onder
X11. Welke echt werkt, is voornamelijk afhankelijk van de
gebruikte hardware. Iedere hieronder beschreven methode geeft
andere resultaten op andere hardware. De laatste tijd krijgt
het renderen van video in X11 veel aandacht en bij iedere
versie van &xorg; of
&xfree86; kan er een aanzienlijke
verbetering zijn.Een lijst van veel gebruikte video-interfaces:X11: normale X11 uitvoer met gebruikmaking van gedeeld
geheugen;XVideo: een uitbreiding op de X11 interface die video
in een door X11 getekend object ondersteunt;SDL: de Simple Directmedia Layer;DGA: de Direct Graphics Access;SVGAlib: low level console grafische laag.XVideo&xorg; en
&xfree86; 4.X kennen een
uitbreiding XVideo, ook bekend als
Xvideo, Xv of xv, waarmee video direct weergegeven kan worden
in getekende objecten door een speciale versneller. Deze
uitbreiding geeft een goede afspeelkwaliteit, zelfs op
machines met mindere specificaties.Of de uitbreiding actief is, kan gecontroleerd worden met
het commando xvinfo:&prompt.user; xvinfoXVideo wordt ondersteund als de uitvoer er ongeveer als
volgt uitziet:X-Video Extension version 2.2
screen #0
Adaptor #0: "Savage Streams Engine"
number of ports: 1
port base: 43
operations supported: PutImage
supported visuals:
depth 16, visualID 0x22
depth 16, visualID 0x23
number of attributes: 5
"XV_COLORKEY" (range 0 to 16777215)
client settable attribute
client gettable attribute (current value is 2110)
"XV_BRIGHTNESS" (range -128 to 127)
client settable attribute
client gettable attribute (current value is 0)
"XV_CONTRAST" (range 0 to 255)
client settable attribute
client gettable attribute (current value is 128)
"XV_SATURATION" (range 0 to 255)
client settable attribute
client gettable attribute (current value is 128)
"XV_HUE" (range -180 to 180)
client settable attribute
client gettable attribute (current value is 0)
maximum XvImage size: 1024 x 1024
Number of image formats: 7
id: 0x32595559 (YUY2)
guid: 59555932-0000-0010-8000-00aa00389b71
bits per pixel: 16
number of planes: 1
type: YUV (packed)
id: 0x32315659 (YV12)
guid: 59563132-0000-0010-8000-00aa00389b71
bits per pixel: 12
number of planes: 3
type: YUV (planar)
id: 0x30323449 (I420)
guid: 49343230-0000-0010-8000-00aa00389b71
bits per pixel: 12
number of planes: 3
type: YUV (planar)
id: 0x36315652 (RV16)
guid: 52563135-0000-0000-0000-000000000000
bits per pixel: 16
number of planes: 1
type: RGB (packed)
depth: 0
red, green, blue masks: 0x1f, 0x3e0, 0x7c00
id: 0x35315652 (RV15)
guid: 52563136-0000-0000-0000-000000000000
bits per pixel: 16
number of planes: 1
type: RGB (packed)
depth: 0
red, green, blue masks: 0x1f, 0x7e0, 0xf800
id: 0x31313259 (Y211)
guid: 59323131-0000-0010-8000-00aa00389b71
bits per pixel: 6
number of planes: 3
type: YUV (packed)
id: 0x0
guid: 00000000-0000-0000-0000-000000000000
bits per pixel: 0
number of planes: 0
type: RGB (packed)
depth: 1
red, green, blue masks: 0x0, 0x0, 0x0Sommige van de weergegeven formaten (YUV2, YUV12,
enzovoort) zijn niet in iedere implementaties van XVideo
beschikbaar en hun afwezigheid kan sommige spelers
hinderen.Als het resultaat er als hieronder uitziet, is er geen
ondersteuning voor XVideo aanwezig op de videokaart in een
systeem:X-Video Extension version 2.2
screen #0
no adaptors presentAls XVideo voor een kaart niet wordt ondersteund, dan
betekent dat alleen dat het lastiger wordt om op een
beeldscherm aan de vereisten voor het renderen van video te
voldoen. Afhankelijk van de videokaart en de processor kan
het toch nog mogelijk zijn om acceptabele prestaties neer te
zetten. In staan
verwijzingen naar leesvoer over mogelijkheden voor het
verbeteren van prestaties.Eenvoudige Directmedia LaagDe Eenvoudige Directmedia Laag (Simple Directmedia
Layer), SDL, was bedoeld als een porting-laag tussen
µsoft.windows;, BeOS en &unix;, waardoor cross-platform
toepassingen konden worden ontwikkeld die efficiënt
gebruik maken van geluid en beelden. De SDL laag biedt een
abstractie op laag niveau naar de hardware die soms
efficiënter kan zijn dan de X11 interface.De SDL staat in devel/sdl12.Directe Grafische ToegangDirecte Grafische Toegang (Direct Graphics Access) is een
X11 uitbreiding die een programma in staat stelt voorbij te
gaan aan de X server en de framebuffer direct kan wijzigen.
Omdat hij afhankelijk is van geheugenmapping op een laag
niveau om dit delen uit te voeren, moeten programma's die er
gebruik van maken als root
draaien.De DGA uitbreiding kan getest en gebenchmarkt worden met
&man.dga.1;. Als dga draait, verandert
het de kleuren op een scherm als er een toets wordt
ingedrukt. Om te stoppen kan de toets q
gebruikt worden.Ports en packages met videovideopoortenvideopackagesIn dit onderdeel wordt de software die vanuit de &os;
Portscollectie beschikbaar is voor het afspelen van video
beschreven. Het afspelen van video is een tak van
softwareontwikkeling die erg in beweging is en de mogelijkheden
van de verschillende applicaties verschillen zeer
waarschijnlijk van wat hier is beschreven.Als eerste is het belangrijk om te weten dat veel
applicaties die met video te maken hebben en op &os; draaien
ontwikkeld zijn als &linux; applicaties. Veel van die
applicaties zijn op het moment van schrijven van
beta-kwaliteit. Problemen die te verwachten zijn bij het
gebruik van de beschreven videopakketten op &os; zijn:Een applicatie kan geen bestanden afspelen die zijn
gemaakt met een andere applicatie;Een applicatie kan geen bestanden afspelen die met de
applicatie zelf zijn gemaakt;Dezelfde applicatie, op twee verschillende machines
gebouwd, speelt hetzelfde bestand op twee machines anders
af;Een ogenschijlijk triviale filter, zoals het herschalen
van beeldgrootte, kan resulteren in vreselijk vervelende
artefacten door fouten in de routine voor het
herschalen;Een applicatie dumpt zijn core regelmatig;Documentatie wordt niet geïnstalleerd bij de port
en staat op het web of in de map work van de port.Veel van deze applicaties kunnen ook
Linux-ismes vertonen. Zo kunnen er bijvoorbeeld
problemen ontstaan door de wijze waarop standaard bibliotheken
zijn geïmplementeerd in de &linux; distributies of een
aantal van de mogelijkheden van de &linux;-kernel, waarvan
door de makers van de applicatie wordt aangenomen dat ze
aanwezig zijn. Dit soort problemen zijn niet altijd zichtbaar
en er wordt ook omheen gewerkt door de beheerders van ports,
wat tot de volgende mogelijke problemen kan leiden:Het gebruik van /proc/cpuinfo om
processorkarakteristieken uit te lezen;Het verkeerd gebruiken van threads, waardoor een
programma hangt als het klaar is, in plaats van dat het
echt eindigt;Software die nog niet in de &os; Portscollectie zit en
vaak gebruikt wordt samen met een applicatie die daar wel
onderdeel van uitmaakt.Tot nu toe is gebleken dat de ontwikkelaars van applicaties
wel coöperatief waren met de beheerders van ports om zo
het aantal work-arounds dat nodig was voor het porten tot een
minimum te beperken.MPlayerMPlayer is een zich snel
ontwikkelende videospeler. De doelen van het
MPlayer-team zijn snelheid en
flexibiliteit onder &linux; en andere Unices. Het project is
gestart toen de oprichter van het team genoeg had van de
slechte afspeelprestaties van de destijds beschikbare
spelers. Er zijn mensen die zeggen dat het grafische ontwerp
is opgeofferd voor het stroomlijnen van het ontwerp, maar het
blijkt dat, als een gebruiker gewend is aan de
commandoregelopties en de toetsencommando's, de applicatie
erg goed werkt.MPlayer bouwenMPlayermakenMPlayer staat in multimedia/mplayer.
MPlayer voert een aantal
hardwarecontroles uit tijdens het bouwen, wat resulteert in
een binair bestand dat niet van het ene naar het andere
systeem verplaatst kan worden. Daarom is het van belang
dat het uit de ports wordt gebouwd en niet als binair
package wordt geïnstalleerd. Daarnaast staan er ook
nog opties die vanaf de make
commandoregel meegegeven kunnen worden beschreven in de
Makefile en aan het begin van de
build:&prompt.root; cd /usr/ports/multimedia/mplayer
&prompt.root; make
N - O - T - E
Take a careful look into the Makefile in order
to learn how to tune mplayer towards you personal preferences!
For example,
make WITH_GTK1
builds MPlayer with GTK1-GUI support.
If you want to use the GUI, you can either install
/usr/ports/multimedia/mplayer-skins
or download official skin collections from
http://www.mplayerhq.hu/homepage/dload.htmlDe standaard portopties zijn voor de meeste gebruikers
voldoende. Maar als bijvoorbeeld de XviD codec nodig is,
dan moet de optie WITH_XVID op de
commandoregel meegegeven worden. Het standaard
DVD-apparaat kan ook gedefinieerd worden met de optie
WITH_DVD_DEVICE, waarbij standaard
/dev/acd0 wordt gebruikt.Op het moment van schrijven wordt de
MPlayer port gebouwd met de HTML
documentatie en twee uitvoerbare bestanden,
mplayer en mencoder,
wat een hulpmiddel is voor het opnieuw encoderen van
video.De HTML documentatie voor
MPlayer is erg informatief. Als
de lezer vindt dat er informatie over videohardware en
interfaces in dit hoofdstuk mist, dan is de documentatie
van MPlayer een zeer grondige
aanvulling. Het is de moeite waard de tijd te nemen om de
documentatie van MPlayer te
lezen, als meer informatie over de ondersteuning van video
in &unix; welkom is.MPlayer gebruikenMPlayergebruikenIedere gebruiker van MPlayer
dient een submap .mplayer in zijn
thuismap te hebben. Die kan als volgt gemaakt
worden:&prompt.user; cd /usr/ports/multimedia/mplayer
&prompt.user; make install-userDe commando-opties voor mplayer
staan in de hulppagina. Nog meer details staan in de HTML
documentatie. In dit onderdeel worden slechts een aantal
gebruiksmogelijkheden beschreven.Om een bestand als
testfile.avi
af te spelen met een van de beschikbare video-interfaces,
kan de optie gebruikt worden:&prompt.user; mplayer -vo xv testfile.avi&prompt.user; mplayer -vo sdl testfile.avi&prompt.user; mplayer -vo x11 testfile.avi&prompt.root; mplayer -vo dga testfile.avi&prompt.root; mplayer -vo 'sdl:dga' testfile.aviHet is de moeite waard alle bovenstaande opties uit te
proberen omdat hun relatieve prestatie afhangt van vele
factoren die aanzienlijk verschillen tussen
hardware.Om een DVD af te spelen dient
testfile.avi vervangen te worden door
waar
N het titelnummer is dat
afgespeeld moeten worden en
APPARAAT de
apparaatnode is voor de DVD-ROM. Om bijvoorbeeld titel 3
van /dev/dvd af te spelen:&prompt.root; mplayer -vo xv dvd://3 -dvd-device /dev/dvdHet standaard DVD-apparaat kan ingesteld worden bij
het bouwen van de MPlayer port
met de optie WITH_DVD_DEVICE.
Standaard is dit apparaat /dev/acd0.
Meer details staan in de Makefile
van de port.Om te stoppen, pauzeren, verder te spoelen, enzovoort,
kunnen de toetsendefinities gebruikt worden, die in te zien
zijn door mplayer -h uit te voeren of
de hulppagina te lezen.Overige belangrijke opties voor het afspelen zijn:
, waarmee het volledige scherm
wordt gebruikt, en , die
prestatieverhogend werkt.Om ervoor te zorgen dat de commandoregels niet te lang
worden, kan het bestand
.mplayer/config met
voorkeursinstellingen gemaakt worden:vo=xv
fs=yes
zoom=yesTenslotte kan mplayer gebruikt
worden om een DVD naar een bestand van het type
.vob te rippen. Om de tweede titel
van een DVD de dumpen kan het volgende commando gebruikt
worden:&prompt.root; mplayer -dumpstream -dumpfile out.vob dvd://2 -dvd-device /dev/dvdHet uitvoerbestand out.vob, is
van het type MPEG en kan bewerkt worden met andere in dit
onderdeel besproken programma's.mencodermencoderVoordat mencoder wordt gebruikt, is
het verstandig de opties uit de HTML-documentatie te
bekijken. Er is een hulppagina, maar die is niet echt
bruikbaar zonder de HTML-documentatie. Er zijn ontelbare
mogelijkheden om de kwaliteit te verhogen, de bitrate te
verlagen en formaten te wijzigen en een aantal van die
truuks maken het verschil tussen goede en slechte
prestaties. Hieronder staan een aantal voorbeelden
beschreven.Eenvoudigweg kopiëren:&prompt.user; mencoder input.avi -oac copy -ovc copy -o output.aviVerkeerde combinaties van commandoregelopties kunnen
resulteren in uitvoerbestanden die zelfs niet af te spelen
zijn door mplayer. Daarom wordt
aangeraden om het bij de optie
in
mplayer te houden als het alleen maar
nodig is een bestand te rippen.Om input.avi te converteren naar
de MPEG4-codec met MPEG3-audio encoding (audio/lame is
verplicht):&prompt.user; mencoder input.avi -oac mp3lame -lameopts br=192 \
-ovc lavc -lavcopts vcodec=mpeg4:vhq -o output.aviHiermee wordt uitvoer gemaakt die af te spelen is met
mplayer en
xine.input.avi kan worden vervangen
door en als
root gedraaid worden om een DVD titel
direct te hercoderen. Omdat het waarschijnlijk is dat de
eerste experimenten niet direct tevredenstellend zijn,
wordt aangeraden een titel eerst naar een bestand te dumpen
en dat als werkbestand te gebruiken.xine videospelerDe xine videospeler is een
project met een brede scope, dat niet alleen tracht een
allesomvattende video-oplossing te bieden, maar ook probeert
een herbruikbare basisbibliotheek en een modulair uitvoerbaar
bestand te maken dat uitgebreid kan worden met plug-ins. Het
kan als package en port geïnstalleerd worden uit
multimedia/xine.De xine speler heeft nog wat
ruwe randjes, maar is zeker goed van start gegaan. In de
praktijk heeft xine een snelle CPU
met een snelle videokaart of ondersteuning voor de XVideo
extensie nodig. De GUI is bruikbaar, maar wat
onhandig.Op het moment van schrijven wordt er geen invoermodule
bij xine geleverd waarmee CSS
gecodeerde DVD's afgespeeld kunnen worden. Er zijn er die
door andere partijen zijn gebouwd die dat type modules wel
hebben, maar die zijn niet beschikbaar in de &os;
Portscollectie.Vergeleken met MPlayer, doet
xine meer voor de gebruiker, maar
tegelijkertijd neemt het wat van de
fijnafstellingsmogelijkheden weg. De
xine videospeler werkt het beste
op XVideo interfaces.Standaard start de xine speler
op in een grafische gebruikersinterface. Via het menu kan
een specifiek bestand geopend worden:&prompt.user; xineHet is ook mogelijk om zonder de GUI direct een bestand
af te laten spelen:&prompt.user; xine -g -p mymovie.avitranscode
hulpprogramma'sDe software transcode is geen
speler, maar een verzameling hulpprogramma's voor het
hercoderen van .avi en
.mpg bestanden. Met
transcode wordt het mogelijk om
videobestanden samen te voegen, kapotte bestanden te
repareren en commandoregelprogramma's te gebruiken met
stdin/stdout stream interfaces.Net als MPlayer is
transcode bijzonder experimentele
software die vanuit de port multimedia/transcode gebouwd moet
worden. Er zijn veel opties voor make
beschikbaar en daaruit worden de volgende aangeraden:&prompt.root; make WITH_LIBMPEG2=yesAls ook multimedia/avifile wordt
geïnstalleerd, dan dient WITH_AVIFILE
aan de make commandoregel te worden
toegevoegd:&prompt.root; make WITH_AVIFILE=yes WITH_LIBMPEG2=yesHieronder staan twee voorbeelden beschreven waarin
transcode wordt gebruikt voor het
converteren van video met als resultaat anders geschaalde
uitvoer. Het eerste encodeert de uitvoer naar een openDIVX
AVI-bestand, het tweede encodeert het naar het meer portabele
formaat MPEG.&prompt.user; transcode -i input.vob -x vob -V -Z 320x240 \
-y opendivx -N 0x55 -o output.avi&prompt.user; transcode -i input.vob -x vob -V -Z 320x240 \
-y mpeg -N 0x55 -o output.tmp
&prompt.user; tcmplex -o output.mpg -i output.tmp.m1v -p output.tmp.mpa -m 1Er is een hulppagina voor transcode,
maar er is weinig documentatie voor de verschillende
tc* programma's (zoals
tcmplex) die ook zijn geïnstalleerd.
Voor ieder commando is wel de commandoregeloptie
beschikbaar, waarmee een korte
beschrijving voor het gebruik van het programma wordt
getoond.Als de twee vergeleken worden, draait
transcode aanzienlijk langzamer dan
mencoder, maar is de kans wel groter dat
er een bestand uit komt dat op de meeste spelers afgespeeld
kan worden. MPEG-bestanden die met
transcode zijn gemaakt, zijn bijvoorbeeld
al afgespeeld op &windows.media;
Player en Apple's
&quicktime;.Verder lezenDe beschikbare videosoftware pakketten voor &os; zijn fors
in ontwikkeling. Het is goed mogelijk dat in de nabije
toekomst de meeste problemen die hier aan de kaak zijn gesteld,
zijn opgelost. Intussen kunnen zij die het hoogst haalbare uit
de A/V mogelijkheden voor &os; willen halen, dat het beste
doen door wat beschikbaar is bij elkaar te scharrelen uit de
beschikbare FAQ's and tutorials en meerdere programma's
gebruiken. Het doel van deze paragraaf is de lezer wat
richting te geven op dat vlak.De MPlayer
documentatie is technisch erg informatief. Deze
documenten kunnen het beste bekeken worden door iemand die veel
kennis wil opdoen over video in &unix;. Op de
MPlayer mailinglijst wordt het niet
op prijsgesteld als iemand de documentatie niet heeft gelezen,
dus het is verstandig RTFM in gedachten te houden alvorens
bug reports naar ze te mailen.De xine
HOWTO bevat een hoofdstuk over het verbeteren van
prestaties, dat op alle spelers van toepassing is.Tenslotte zijn er nog een aantal veelbelovende applicaties
die het proberen waard zijn:Avifile
bestaat ook als port: multimedia/avifile;Ogle
is er ook als port: multimedia/ogle;Xtheater;multimedia/dvdauthor, een open
source pakket voor authoring van DVD content.JosefEl-RayesOorspronkelijk geschreven door MarcFonvieilleVerbeterd en aangepast door TV-kaarten installerenTV-kaartenInleidingMet TV-kaarten is het mogelijk om naar (kabel)uitzendingen
te kijken op een computer. Op de meeste kaarten kan composiet
video aangeleverd worden via een RCA of S-video input en
sommige kaarten hebben ook een FM tuner.&os; biedt ondersteuning voor PCI-gebaseerde TV-kaarten met
een Brooktree Bt848/849/878/879 of een Conexant CN-878/Fusion
878a Video Capture Chip met het stuurprogramma &man.bktr.4;.
Het is van belang dat er op de kaart ook een ondersteunde
tuner zit. Hiervoor kan &man.bktr.4; geraadpleegd worden,
waarin een lijst met ondersteunde tuners staat.Stuurprogramma toevoegenVoordat de kaart gebruikt kan worden, dient het
stuurprogramma &man.bktr.4; geladen te worden. Dit kan door
de volgende regel aan /boot/loader.conf
toe te voegen:bktr_load="YES"Daarnaast is het ook mogelijk om statisch ondersteuning
voor de TV-kaart in de kernel te compileren. Dan dient de
volgende regel toegevoegd te worden aan de
kernelinstellingen:device bktr
device iicbus
device iicbb
device smbusDe extra stuurprogramma's zijn nodig omdat de
kaartcomponenten verbonden zijn via een I2C bus. Met deze
instellingen kan een nieuwe kernel gebouwd en
geïnstalleerd worden.Als een systeem eenmaal ondersteuning biedt, hoort de
TV-kaart ongeveer als volgt bij een herstart getoond te
worden:bktr0: <BrookTree 848A> mem 0xd7000000-0xd7000fff irq 10 at device 10.0 on pci0
iicbb0: <I2C bit-banging driver> on bti2c0
iicbus0: <Philips I2C bus> on iicbb0 master-only
iicbus1: <Philips I2C bus> on iicbb0 master-only
smbus0: <System Management Bus> on bti2c0
bktr0: Pinnacle/Miro TV, Philips SECAM tuner.Deze berichten kunnen afwijken, afhankelijk van de
gebruikte hardware. Het is van belang te controleren of de
tuner juist herkend wordt; er kunnen nog een aantal
instellingen gemaakt worden voor parameters met &man.sysctl.8;
MIB's en in het kernelinstellingenbestand. Om bijvoorbeeld het
gebruik van een Philips SECAM tuner te forceren, kan de
volgende regel aan het bestand met kernelinstellingen worden
toegevoegd:options OVERRIDE_TUNER=6Dit kan ook via een instelling van &man.sysctl.8;:&prompt.root; sysctl hw.bt848.tuner=6In &man.bktr.4; en
/usr/src/sys/conf/NOTES staan meer details
over de beschikbare opties (onder &os; 4.X dient voor
/usr/src/sys/conf/NOTES het bestand
/usr/src/sys/i386/conf/LINT gelezen te
worden).Handige programma'sOm een TV-kaart te gebruiken, dient een van de volgende
applicaties geïnstalleerd te worden:multimedia/fxtv
biedt TV-in-een-window en beeld/audio/videocapture
mogelijkheden;multimedia/xawtv
is ook een TV applicatie met dezelfde mogelijkheden als
fxtv;misc/alevt
decodeert Videotext/Teletext en kan deze weergeven;audio/xmradio, een
applicatie om de FM tuner die bij sommige TV-kaarten zit te
gebruiken;audio/wmtune, een
handige bureaubladapplicatie voor radiotuners.Er zijn nog meer applicaties beschikbaar in de
Portscollectie.Problemen oplossenBij problemen met een TV-kaart dient eerst gecontroleerd te
worden of de videocapture chip en de tuner echt ondersteund
worden door het stuurprogramma &man.bktr.4; en of de juiste
instellingen worden gebruikt. Voor meer ondersteuning en
vragen over een specifieke TV-kaart is het aan te raden de
archieven van de &a.multimedia.name; mailinglijst te
raadplegen of er contact mee op te nemen.MarcFonvieilleGeschreven door ScannersscannersInleidingIn &os; is het, net als in andere moderne
besturingssystemen, mogelijk om scanners te gebruiken.
Gestandaardiseerde toegang tot scanners is mogelijk met de
SANE (Scanner Access Now
Easy) API uit de &os; Portscollectie.
SANE gebruikt ook een aantal &os;
apparaatstuurprogramma's om toegang te krijgen tot de hardware
van de scanner.&os; ondesteunt SCSI en USB scanners. Het is van belang te
controleren of een scanner door SANE
wordt ondersteund voordat er instellingen worden gemaakt.
SANE heeft een lijst met ondersteunde
apparaten waarin gekeken kan worden of een scanner
wordt ondersteund en wat de status voor ondersteuning is. In
&man.uscanner.4; staat een lijst met ondersteunde
USB-scanners.Kernel instellenZoals hierboven al is aangegeven, worden zowel SCSI als
USB-scanners ondersteund. Afhankelijk van de gebruikte
scannerinterface zijn verschillende apparaatstuurprogramma's
nodig.USB interfaceIn de GENERIC kernel zitten
standaard de apparaatstuurprogramma's die nodig zijn voor
ondersteuning van USB-scanners. In het geval wordt besloten
tot het maken van een aangepaste kernel, dan dienen de
volgende regels in het kernelinstellingenbestand te worden
opgenomen:device usb
device uhci
device ohci
device uscannerAfhankelijk van de USB-chipset op een moederbord, is
alleen device uhci of
device ohci nodig, maar het opnemen van
beiden in het bestand met kernelinstellingen is niet
schadelijk.Als het niet wenselijk is een nieuwe kernel te bouwen en
er wordt geen GENERIC kernel gebruikt,
dan kan de apparaatstuurprogrammamodule &man.uscanner.4;
direct geladen worden met &man.kldload.8;:&prompt.root; kldload uscannerOm de module bij iedere systeemstart te laden kan de
volgende regel aan /boot/loader.conf
worden toegevoegd:uscanner_load="YES"Na een herstart met een juiste ingestelde kernel of na
het laden van de benodigde module, kan de USB-scanner
aangesloten worden. De scanner hoort ongeveer als volgt
gemeld te worden in de systeemberichtbuffer
(&man.dmesg.8;):uscanner0: EPSON EPSON Scanner, rev 1.10/3.02, addr 2Het bovenstaande geeft aan dat de scanner de apparaatnode
/dev/uscanner0 gebruikt.Om onder &os; 4.X bepaalde USB-apparaten te zien,
moet daar de USB daemon (&man.usbd.8;) draaien. Om die in
te schakelen, dient usbd_enable="YES"
toegevoegd te worden aan /etc/rc.conf
en dient een systeem herstart te worden.SCSI interfaceAls een scanner een SCSI interface heeft, is het
belangrijk te weten welk SCSI controllerbord gebruikt gaat
worden. Afhankelijk van de gebruikte SCSI chipset, dient het
bestand met kernelinstellingen aangepast te worden. De
GENERIC kernel ondersteunt de meest
voorkomende SCSI controllers. In het bestand
NOTES (LINT onder
&os; 4.X) is de juiste instelling te vinden die
toegevoegd moet worden aan het bestand met
kernelinstellingen. Naast het toevoegen van het juiste
SCSI-adapter stuurprogramma, dienen ook de volgende regels
opgenomen te worden in het kernelinstellingenbestand:device scbus
device passAls de kernel juist gecompileerd is, horen de apparaten
zichtbaar te zijn in de systeemberichtbuffer tijdens het
opstarten:pass2 at aic0 bus 0 target 2 lun 0
pass2: <AGFA SNAPSCAN 600 1.10> Fixed Scanner SCSI-2 device
pass2: 3.300MB/s transfersAls een scanner niet aan staat tijdens het opstarten, is
het nog mogelijk handmatig detectie te forceren door de
SCSI-bus te laten scannen met &man.camcontrol.8;:&prompt.root; camcontrol rescan all
Re-scan of bus 0 was successful
Re-scan of bus 1 was successful
Re-scan of bus 2 was successful
Re-scan of bus 3 was successfulIn het bovenstaande geval zal de scanner ongeveer als
volgt verschijnen in de lijst met SCSI-apparaten:&prompt.root; camcontrol devlist
<IBM DDRS-34560 S97B> at scbus0 target 5 lun 0 (pass0,da0)
<IBM DDRS-34560 S97B> at scbus0 target 6 lun 0 (pass1,da1)
<AGFA SNAPSCAN 600 1.10> at scbus1 target 2 lun 0 (pass3)
<PHILIPS CDD3610 CD-R/RW 1.00> at scbus2 target 0 lun 0 (pass2,cd0)Meer details over SCSI-apparaten staan in &man.scsi.4; en
&man.camcontrol.8;.SANE instellenHet SANE systeem is opgesplitst
in twee delen: de backends (graphics/sane-backends) en de
frontends (graphics/sane-frontends). Het deel
met de backends zorgt voor de toegang tot de scanner zelf. In
de lijst met door SANEondersteunde
apparaten staat welk backend welke scanner(s)
ondersteunt. Het is echt nodig het juiste backend vast te
stellen, omdat het anders bijzonder lastig wordt een scanner
aan de praat te krijgen. Het deel met frontends levert een
grafische scaninterface
(xscanimage).Als eerste dient de port of het package graphics/sane-backends
geïnstalleerd te worden. Daarna kan met het commando
sane-find-scanner gecontroleerd worden welke
scanner er door het SANE systeem is
gedetecteerd:&prompt.root; sane-find-scanner -q
found SCSI scanner "AGFA SNAPSCAN 600 1.10" at /dev/pass3In de uitvoer is te lezen welk type interface en welke
apparaatnode worden gebruikt om de scanner met een systeem te
verbinden. Het merk en het model worden wellicht niet getoond,
maar dat is ook niet echt van belang.Sommige USB-scanners verlangen dat er firmware wordt
geladen. Dit wordt uitgelegd in de hulppagina van het
backend. Het is ook van belang &man.sane-find-scanner.1; en
&man.sane.7; te lezen.Hierna kan gecontroleerd worden of de scanner ook te zien
is voor een scanner-frontend. Er zit bij de
SANE backends een standaard
hulpprogramma &man.scanimage.1;. Met dit commando kunnen de
apparaten zichtbaar gemaakt worden en kan vanaf de
commandoregel gescand worden. Met de optie
kunnen de scannerapparaten getoond worden:&prompt.root; scanimage -L
device `snapscan:/dev/pass3' is a AGFA SNAPSCAN 600 flatbed scannerDe afwezigheid van uitvoer of een bericht dat aangeeft dat
er geen scanners zijn aangetroffen, betekent dat
&man.scanimage.1; niet in staat is een scanner te
identificeren. Als dit gebeurt, dient het instellingenbestand
voor het backend aangepast te worden en dient daar de juiste
instelling gemaakt te worden. De map /usr/local/etc/sane.d/ bevat
alle bestanden met instellingen voor de backends. Het is
bekend dat dit identificatieprobleem optreedt bij bepaalde
USB-scanners.De USB-scanner die in
wordt gebruikt, toont bijvoorbeeld de volgende informatie met
sane-find-scanner:&prompt.root; sane-find-scanner -q
found USB scanner (UNKNOWN vendor and product) at device /dev/uscanner0De bovenstaande uitvoer geeft aan dat de scanner juist is
gedetecteerd, dat hij de USB interface gebruikt en is
aangesloten op de apparaatnode
/dev/uscanner0. Nu kan gecontroleerd
worden of de scanner juist wordt geïdentificeerd:&prompt.root; scanimage -L
No scanners were identified. If you were expecting something different,
check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages).Omdat in het bovenstaande voorbeeld de scanner niet wordt
geïdentificeerd, dient het bestand
/usr/local/etc/sane.d/epson.conf
gewijzigd te worden. De gebruikte scanner is een
&epson.perfection; 1650, dus in dit geval dient voor de scanner
het backend epson gebruikt te worden. Het
is van belang om het commentaar in de instellingenbestanden van
de backends te lezen. Het aanpassen van regels is eenvoudig:
plaats een commentaarkarakter voor alle regels voor andere
interfaces dan die nodig zijn weg (in dit geval worden alle
regels die beginnen met het woord scsi
uitgeschakeld, omdat er een USB interface wordt gebruiken), en
dan kan onderaan het bestand een regel met de gebruikte
interface en apparaatnode geplaatst worden:usb /dev/uscanner0Het is aan te raden de opmerkingen te lezen in het bestand
met instellingen voor het backend en ook de hulppagina, omdat
daarin meer details en de correcte syntaxis te vinden zijn. Nu
kan gecontroleerd worden of de scanner wèl juist wordt
geïdentificeerd:&prompt.root; scanimage -L
device `epson:/dev/uscanner0' is a Epson GT-8200 flatbed scannerIn het bovenstaande voorbeeld wordt duidelijk dat de
USB-scanner is geïdentificeerd. Het is niet belangrijk
dat het merk en model niet overeenkomen. Het belangrijkste is
het veld `epson:/dev/uscanner0', dat de
juiste benamingen voor het backend en de apparaatnode
aangeeft.Als scanimage -L in staat is een scanner
goed te zien, dan zijn de instellingen compleet. Er kan nu met
het apparaat gescand worden.Hoewel &man.scanimage.1; in staat is om vanaf de
commandoregel te scannen, is het aan te raden beelden te
scannen vanuit de grafische gebruikersinterface.
SANE heeft een eenvoudige, maar
efficiënte grafische interface:
xscanimage (graphics/sane-frontends).Xsane (graphics/xsane) is een ander
populair grafisch scanfrontend, dat geavanceerde
mogelijkheden biedt, zoals meerdere scanmodi (fotokopie, fax,
enzovoort), kleurcorrectie, batchscannen, enzovoort. Beide
applicaties zijn als plug-in voor
GIMP te gebruiken.Scannergebruik voor andere gebruikers toestaanAlle voorgaande taken zijn uitgevoerd met
root rechten, maar het is wellicht ook
nodig dat andere gebruikers de scanner kunnen gebruiken. Dan
heeft een gebruiker lees- en schrijfrechten nodig op de
apparaatnode voor een scanner. Een USB-scanner gebruikt
bijvoorbeeld apparaatnode /dev/uscanner0,
waarvan de groep operator eigenaar is.
Door gebruiker joe lid te maken van de
groep operator, kan die gebruiker de
scanner gebruiken:&prompt.root; pw groupmod operator -m joeIn &man.pw.8; staan meer details. Op de apparaatnode
/dev/uscanner0 moeten ook de juiste
rechten staan. Standaard kan de groep
operator alleen lezen op de
apparaatnode. Dit is te wijzigen door de volgende regel aan
/etc/devfs.rules toe te voegen:[system=5]
add path uscanner0 mode 660Daarna kan de volgende regel aan
/etc/rc.conf toegevoegd worden en dient
een machine herstart te worden:devfs_system_ruleset="system"Meer informatie over de bovenstaande instellingen staan in
&man.devfs.8; manual page. Onder &os; 4.X heeft de groep
operator standaard lees- en
schrijfrechten op /dev/uscanner0.Natuurlijk dient ook beveiliging een factor te zijn in de
afweging of een gebruiker lid gemaakt moet worden van een
bepaalde groep, zeker als dat om de groep
operator gaat.
diff --git a/nl_NL.ISO8859-1/books/handbook/pgpkeys/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/pgpkeys/chapter.sgml
index 42361625dd..1dcfcdf484 100644
--- a/nl_NL.ISO8859-1/books/handbook/pgpkeys/chapter.sgml
+++ b/nl_NL.ISO8859-1/books/handbook/pgpkeys/chapter.sgml
@@ -1,996 +1,1001 @@
PGP sleutelspgp sleutelsIn het geval een handtekening van een van de beambten of
ontwikkelaars gecontroleerd moet worden of er een versleutelde
e-mail aan ze gezonden moet worden, worden hier voor het gemak een
aantal sleutels weergegeven. Een complete sleutelring van FreeBSD.org gebruikers kan op de
volgende link gedownload worden: http://www.FreeBSD.org/doc/pgpkeyring.txt.Beambten&a.security-officer;
&pgpkey.security-officer;
&a.core-secretary;
&pgpkey.core-secretary;
Leden Kernteam&a.jhb;
&pgpkey.jhb;
&a.kuriyama;
&pgpkey.kuriyama;
&a.scottl;
&pgpkey.scottl;
&a.imp;
&pgpkey.imp;
&a.wes;
&pgpkey.wes;
&a.murray;
&pgpkey.murray;
&a.peter;
&pgpkey.peter;
Ontwikkelaars&a.will;
&pgpkey.will;
&a.anholt;
&pgpkey.anholt;
&a.mat;
&pgpkey.mat;
&a.asami;
&pgpkey.asami;
&a.barner;
&pgpkey.barner;
&a.dougb;
&pgpkey.dougb;
&a.tobez;
&pgpkey.tobez;
&a.damien;
&pgpkey.damien;
&a.mbr;
&pgpkey.mbr;
&a.novel;
&pgpkey.novel;
&a.harti;
&pgpkey.harti;
&a.obraun;
&pgpkey.obraun;
&a.jmb;
&pgpkey.jmb;
&a.brueffer;
&pgpkey.brueffer;
&a.markus;
&pgpkey.markus;
&a.wilko;
&pgpkey.wilko;
&a.jcamou;
&pgpkey.jcamou;
&a.perky;
&pgpkey.perky;
&a.jon;
&pgpkey.jon;
&a.luoqi;
&pgpkey.luoqi;
&a.ache;
&pgpkey.ache;
&a.seanc;
&pgpkey.seanc;
&a.cjh;
&pgpkey.cjh;
&a.cjc;
&pgpkey.cjc;
&a.marcus;
&pgpkey.marcus;
&a.nik;
&pgpkey.nik;
&a.ceri;
&pgpkey.ceri;
+
+ &a.brd;
+ &pgpkey.brd;
+
+
&a.brooks;
&pgpkey.brooks;
&a.gnn;
&pgpkey.gnn;
&a.pjd;
&pgpkey.pjd;
&a.bsd;
&pgpkey.bsd;
&a.danfe;
&pgpkey.danfe;
&a.dd;
&pgpkey.dd;
&a.bruno;
&pgpkey.bruno;
&a.ale;
&pgpkey.ale;
&a.peadar;
&pgpkey.peadar;
&a.josef;
&pgpkey.josef;
&a.ue;
&pgpkey.ue;
&a.ru;
&pgpkey.ru;
&a.le;
&pgpkey.le;
&a.stefanf;
&pgpkey.stefanf;
&a.jedgar;
&pgpkey.jedgar;
&a.green;
&pgpkey.green;
&a.lioux;
&pgpkey.lioux;
&a.fanf;
&pgpkey.fanf;
&a.blackend;
&pgpkey.blackend;
&a.petef;
&pgpkey.petef;
&a.billf;
&pgpkey.billf;
&a.patrick;
&pgpkey.patrick;
&a.gioria;
&pgpkey.gioria;
&a.jmg;
&pgpkey.jmg;
&a.dannyboy;
&pgpkey.dannyboy;
&a.dhartmei;
&pgpkey.dhartmei;
&a.jhay;
&pgpkey.jhay;
&a.sheldonh;
&pgpkey.sheldonh;
&a.mikeh;
&pgpkey.mikeh;
&a.mheinen;
&pgpkey.mheinen;
&a.niels;
&pgpkey.niels;
&a.ghelmer;
&pgpkey.ghelmer;
&a.mux;
&pgpkey.mux;
&a.mich;
&pgpkey.mich;
&a.foxfair;
&pgpkey.foxfair;
&a.jkh;
&pgpkey.jkh;
&a.ahze;
&pgpkey.ahze;
&a.trevor;
&pgpkey.trevor;
&a.phk;
&pgpkey.phk;
&a.joe;
&pgpkey.joe;
&a.vkashyap;
&pgpkey.vkashyap;
&a.kris;
&pgpkey.kris;
&a.keramida;
&pgpkey.keramida;
&a.fjoe;
&pgpkey.fjoe;
&a.jkim;
&pgpkey.jkim;
&a.andreas;
&pgpkey.andreas;
&a.jkois;
&pgpkey.jkois;
&a.sergei;
&pgpkey.sergei;
&a.maxim;
&pgpkey.maxim;
&a.jkoshy;
&pgpkey.jkoshy;
&a.rik;
&pgpkey.rik;
&a.rushani;
&pgpkey.rushani;
&a.clement;
&pgpkey.clement;
&a.mlaier;
&pgpkey.mlaier;
&a.alex;
&pgpkey.alex;
&a.erwin;
&pgpkey.erwin;
&a.lawrance;
&pgpkey.lawrance;
&a.leeym;
&pgpkey.leeym;
&a.sam;
&pgpkey.sam;
&a.jylefort;
&pgpkey.jylefort;
&a.netchild;
&pgpkey.netchild;
&a.lesi;
&pgpkey.lesi;
&a.glewis;
&pgpkey.glewis;
&a.delphij;
&pgpkey.delphij;
&a.avatar;
&pgpkey.avatar;
&a.ijliao;
&pgpkey.ijliao;
&a.clive;
&pgpkey.clive;
&a.clsung;
&pgpkey.clsung;
&a.arved;
&pgpkey.arved;
&a.remko;
&pgpkey.remko;
&a.pav;
&pgpkey.pav;
&a.bmah;
&pgpkey.bmah;
&a.mtm;
&pgpkey.mtm;
&a.dwmalone;
&pgpkey.dwmalone;
&a.kwm;
&pgpkey.kwm;
&a.matusita;
&pgpkey.matusita;
&a.ken;
&pgpkey.ken;
&a.dinoex;
&pgpkey.dinoex;
&a.sanpei;
&pgpkey.sanpei;
&a.jim;
&pgpkey.jim;
&a.marcel;
&pgpkey.marcel;
&a.marck;
&pgpkey.marck;
&a.tmm;
&pgpkey.tmm;
&a.rich;
&pgpkey.rich;
&a.knu;
&pgpkey.knu;
&a.max;
&pgpkey.max;
&a.yoichi;
&pgpkey.yoichi;
&a.bland;
&pgpkey.bland;
&a.simon;
&pgpkey.simon;
&a.anders;
&pgpkey.anders;
&a.obrien;
&pgpkey.obrien;
&a.philip;
&pgpkey.philip;
&a.hmp;
&pgpkey.hmp;
&a.mp;
&pgpkey.mp;
&a.roam;
&pgpkey.roam;
&a.den;
&pgpkey.den;
&a.pirzyk;
&pgpkey.pirzyk;
&a.jdp;
&pgpkey.jdp;
&a.krion;
&pgpkey.krion;
&a.markp;
&pgpkey.markp;
&a.thomas;
&pgpkey.thomas;
&a.hq;
&pgpkey.hq;
&a.dfr;
&pgpkey.dfr;
&a.trhodes;
&pgpkey.trhodes;
&a.benno;
&pgpkey.benno;
&a.paul;
&pgpkey.paul;
&a.roberto;
&pgpkey.roberto;
&a.rodrigc;
&pgpkey.rodrigc;
&a.guido;
&pgpkey.guido;
&a.niklas;
&pgpkey.niklas;
&a.marks;
&pgpkey.marks;
&a.hrs;
&pgpkey.hrs;
&a.wosch;
&pgpkey.wosch;
&a.das;
&pgpkey.das;
&a.schweikh;
&pgpkey.schweikh;
&a.gshapiro;
&pgpkey.gshapiro;
&a.arun;
&pgpkey.arun;
&a.nork;
&pgpkey.nork;
&a.vanilla;
&pgpkey.vanilla;
&a.cshumway;
&pgpkey.cshumway;
&a.demon;
&pgpkey.demon;
&a.jesper;
&pgpkey.jesper;
&a.scop;
&pgpkey.scop;
&a.glebius;
&pgpkey.glebius;
&a.kensmith;
&pgpkey.kensmith;
&a.ben;
&pgpkey.ben;
&a.des;
&pgpkey.des;
&a.sobomax;
&pgpkey.sobomax;
&a.dcs;
&pgpkey.dcs;
&a.brian;
&pgpkey.brian;
&a.nsouch;
&pgpkey.nsouch;
&a.ssouhlal;
&pgpkey.ssouhlal;
&a.vsevolod;
&pgpkey.vsevolod;
&a.vs;
&pgpkey.vs;
&a.gsutter;
&pgpkey.gsutter;
&a.metal;
&pgpkey.metal;
&a.nyan;
&pgpkey.nyan;
&a.mi;
&pgpkey.mi;
&a.gordon;
&pgpkey.gordon;
&a.lth;
&pgpkey.lth;
&a.thierry;
&pgpkey.thierry;
&a.thompsa;
&pgpkey.thompsa;
&a.flz;
&pgpkey.flz;
&a.viny;
&pgpkey.viny;
&a.ume;
&pgpkey.ume;
&a.ups;
&pgpkey.ups;
&a.nectar;
&pgpkey.nectar;
&a.adamw;
&pgpkey.adamw;
&a.nate;
&pgpkey.nate;
&a.wollman;
&pgpkey.wollman;
&a.joerg;
&pgpkey.joerg;
&a.bz;
&pgpkey.bz;
&a.phantom;
&pgpkey.phantom;
diff --git a/nl_NL.ISO8859-1/books/handbook/ports/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/ports/chapter.sgml
index a3c34b2bce..a89d4b57ad 100644
--- a/nl_NL.ISO8859-1/books/handbook/ports/chapter.sgml
+++ b/nl_NL.ISO8859-1/books/handbook/ports/chapter.sgml
@@ -1,1415 +1,1441 @@
ReneKetelaarsVertaald door SiebrandMazelandApplicaties installeren: packages en portsOverzichtportspackages&os; bevat een grote collectie aan systeemgereedschappen
als onderdeel van het basissysteem. De mogelijkheden reiken
echter niet heel ver en daarom is er snel een applicatie van een
andere partij nodig. &os; bevat twee complementaire
technologieën om andere applicaties te installeren: de &os;
Portscollectie en binaire softwarepackages. Beide systemen
kunnen gebruikt worden om de nieuwste versies van een gewenste
applicatie te installeren van lokale media of rechtstreeks van
het netwerk.Na het lezen van dit hoofdstuk weet de lezer:Hoe binaire softwarepackages van derden te
installeren;Hoe software van derden vanuit de Portscollectie te
installeren;Hoe eerder geïnstalleerde packages of ports te
verwijderen;Hoe standaardwaardes die door de ports worden gebruikt te
wijzigen;Hoe het juiste softwarepackage te vinden;Hoe ports bij te werken.Overzicht van softwareinstallatieAls de lezer eerder gebruik heeft gemaakt van een &unix;
systeem dan is het bekend dat de standaardprocedure voor het
installeren van software van derden ongeveer als volgt is:Download de software als broncode of als binair
bestand;Pak de software uit vanuit zijn originele distributietype
(meestal een tar-bestand gecomprimeerd met &man.compress.1;,
&man.gzip.1;, of &man.bzip2.1;);Zoek de documentatie (meestal een
INSTALL of README
bestand of enkele bestanden in een submap
doc/) en lees zorgvuldig hoe de software
geïnstalleerd moet worden;Als de software als broncode is gedistribueerd, moet de
broncode gecompileerd worden. Dit kan wijzigingen in een
Makefile vereisen of het draaien van een
configure script en andere
werkzaamheden;De software installeren en testen.En dat geldt alleen als alles goed gaat. Als er een
softwarepackage geïnstalleerd wordt dat niet specifiek
gemaakt is voor &os; moet mogelijkerwijs zelfs de code aangepast
worden om alles goed te laten werken.Als de gebruiker het wenst, kan hij in &os; doorgaan met het
installeren van software op de traditionele
manier. &os; levert echter twee technologieën die veel
moeite kunnen besparen: packages en ports. Op dit moment zijn zo
meer dan &os.numports; applicaties beschikbaar.Voor iedere gewenste applicatie is het &os; package voor die
applicatie één te downloaden bestand. Het package
bevat voorgecompileerde kopiën met alle commando's voor de
applicatie en alle instellingenbestanden of documentatie. Een
gedownload packagebestand kan gemanipuleerd worden met &os;
packagemanagement commando's zoals &man.pkg.add.1;,
&man.pkg.delete.1;, &man.pkg.info.1;, enzovoort. Het installeren
van een nieuwe applicatie kan met één
commando.Een &os; port van een applicatie is een groep bestanden
ontworpen om het proces van compileren van een applicatie vanuit
broncode te automatiseren.Het is te vergelijken met de stappen die normaal gevolgd
worden om een programma te compileren (downloaden, uitpakken,
aanpassen, compileren en installeren). De bestanden die samen
een port vormen bevatten alle noodzakelijke informatie om het
systeem dit te laten doen. Met een aantal eenvoudige commando's
wordt de broncode voor de applicatie automatisch gedownload,
uitgepakt, aangepast, gecompileerd en geïnstalleerd.Het portssysteem kan zelfs gebruikt worden om packages te
maken die later weer gemanipuleerd kunnen worden met
pkg_add en andere packagemanagement
commando's, waarover later meer uitleg wordt gegeven.Zowel packages als ports kennen afhankelijkheden
(dependencies). Stel dat er een applicatie
geïnstalleerd gaat worden die er vanuit gaat dat een
specifieke bibliotheek wordt geïnstalleerd. Zowel de
applicatie als de bibliotheek zijn beschikbaar als &os; ports
en packages. Als het commando pkg_add of
het portssysteem wordt gebruikt om de applicatie toe te voegen,
dan zien beiden dat de bibliotheek niet geïnstalleerd is
en wordt deze automatisch eerst geïnstalleerd.Gezien het feit dat beide technologieën vrijwel identiek
zijn, kan de vraag rijzen waarom &os; de moeite neemt om beide te
faciliteren. Packages en ports hebben ieder hun eigen kracht.
Welke gebruikt wordt hangt af van voorkeuren en
omstandigheden.Voordelen van packagesEen gecomprimeerd package tar-bestand is meestal kleiner
dan het gecomprimeerde tar-bestand met de broncode van de
applicatie;Packages vereisen geen additionele compilatie. Voor
grote applicaties als Mozilla,
KDE of
GNOME kan dit belangrijk zijn,
vooral als een systeem wat trager is;Packages vereisen geen begrip van het proces van het
compileren van software op &os;.Voordelen van portsPackages worden meestal gecompileerd met conservatieve
opties, omdat ze moeten draaien op een maximaal aantal
systemen. Bij het installeren vanuit de port kunnen de
compilatieinstellingen aangepast worden om zo bijvoorbeeld
code te maken die specifiek voor een Pentium IV of een
Athlon processor is;Sommige applicaties hebben compilatieinstellingen
gerelateerd aan wat ze wel of niet kunnen doen.
Apache kan bijvoorbeeld ingesteld
worden met een uitgebreide hoeveelheid verschillende
ingebouwde instellingen. Door vanuit de port te werken
hoeven niet alle standaardinstellingen geaccepteerd te worden
en kunnen ze ingesteld worden;In sommige gevallen zijn er meerdere packages voor
dezelfde applicatie om specifieke instellingen aan te geven.
Ghostscript is bijvoorbeeld
beschikbaar als een ghostscript package
en ghostscript-nox11 package,
afhankelijk van het al dan niet geïnstalleerd hebben van
een X11 server. Deze ruwe vorm van tweaking is mogelijk met
packages, maar dit wordt snel onmogelijk als een applicatie
meer dan één of twee verschillende
compilatieinstellingen heeft;De licentievoorwaarden van sommige softwaredistributies
verbieden binaire distributie. Ze moeten dus gedistribueerd
worden als broncode;Sommige mensen vertrouwen binaire distributies niet.
Broncode kan tenminste (in theorie) zelf doorgelezen en
gecontroleerd worden op potentiële problemen;Als er lokale modificaties zijn, is de broncode nodig om
ze toe te passen;Sommige mensen hebben graag de broncode zodat ze die
kunnen lezen als ze zich vervelen, erin kunnen hacken, code
kunnen overnemen (indien de licentie dit toestaat
natuurlijk), enzovoort.Om vernieuwingen van ports bij te houden kan een abonnement
genomen worden op de &a.ports; en/of de &a.ports-bugs;.Voordat een applicatie wordt geïnstalleerd is het aan
te raden op
na kijken of er geen beveiligingsproblemen voor de gewenste
applicatie bekend zijn.Het is ook mogelijk om security/portaudit te installeren,
dat automatisch alle geïnstalleerde applicaties
controleert op bekende fouten. Deze controle wordt ook
uitgevoerd voordat een port wordt geïnstalleerd.
Met het commando portaudit -F -a
kunnen de packages die al geïnstalleerd zijn worden
gecontroleerd.In de rest van dit hoofdstuk wordt uitgelegd hoe packages en
ports gebruikt kunnen worden om software in &os; te installeren
en te beheren.Applicaties zoekenVoordat een applicatie geïnstalleerd kan worden, moeten
de doelen bekend zijn en hoe de applicatie heet.De lijst met voor &os; beschikbare applicaties groeit
continu. Gelukkig zijn er een aantal manieren om te
zoeken:Op de &os; website staat een recente doorzoekbare lijst
met alle beschikbare applicaties: http://www.FreeBSD.org/ports/.
De ports zijn onderverdeeld in categorieën. Er kan naar
een applicatie gezocht worden op naam (als die bekend is) of
alle applicaties in een categorie kunnen bekeken
worden.FreshPortsDan Langille onderhoudt FreshPorts op . FreshPorts
volgt veranderingen in applicaties in de ports en biedt de
mogelijkheid om of meer ports te volgen. Er wordt dan een
e-mail gestuurd als de port is bijgewerkt.FreshMeatAls de naam van de gewenst applicatie niet bekend is, is
het wellicht mogelijk deze te achterhalen via een website als
FreshMeat ()
en kan daarna op de &os; site gecontroleerd worden of de
applicatie al geschikt gemaakt is voor gebruik met
&os;.Als de precieze naam van de port bekend is, maar niet
bekend is in welke categorie deze staat, kan dit achterhaald
worden met &man.whereis.1;. Door simpelweg whereis
bestand in te geven,
waar bestand het te instelleren
programma is. Als het op het systeem staat, wordt dat als
volgt aangegeven:&prompt.root; whereis lsof
lsof: /usr/ports/sysutils/lsofDit geeft aan dat lsof (een
systeemhulpprogramma) in de map
/usr/ports/sysutils/lsof staat.Een andere manier om een port op te sporen is door het
ingebouwde zoekmechanisme van de Portscollectie te
gebruiken. Hiervoor moet het huidige pad de map
/usr/ports zijn. Vanuit die map kan
make search
name=programmanaam
uitgevoerd worden, waar
programmanaam de naam is van het
programma dat wordt gezocht. Als bijvoorbeeld
lsof wordt gezocht:&prompt.root; cd /usr/ports
&prompt.root; make search name=lsof
Port: lsof-4.56.4
Path: /usr/ports/sysutils/lsof
Info: Lists information about open files (similar to fstat(1))
Maint: obrien@FreeBSD.org
Index: sysutils
B-deps:
R-deps:Het belangrijkste onderdeel van de uitvoer is in dit geval
de regel waarop Path: staat, omdat die aangeeft
waar de port staat. De andere informatie is niet nodig voor de
installatie van de port en wordt hier niet behandeld.Voor nog dieper zoeken kan ook make
search key=string
gebruikt worden waar string tekst is
waarnaar gezocht moet worden. Hiermee wordt naar namen van
ports, commentaar, beschrijvingen en afhankelijkheden gezocht
en dit kan gebruikt worden om ports te vinden die te maken
hebben met een bepaald onderwerp als onbekend is hoe het
gezochte programma heet.In beide gevallen is de zoekstring niet
hoofdlettergevoelig. Zoeken naar LSOF geeft
hetzelfde resultaat als zoeken naar lsof.ChernLeeBijgedragen door Het packagessysteem gebruikenPackages installerenpackagesinstallerenpkg_addMet &man.pkg.add.1; kan een &os; softwarepackage
geïnstalleerd worden vanaf een lokaal bestand of vanaf een
server op het netwerk.Handmatig packages downloaden en lokaal
installeren&prompt.root; ftp -a ftp2.FreeBSD.org
Connected to ftp2.FreeBSD.org.
220 ftp3.FreeBSD.org FTP server (Version 6.00LS) ready.
331 Guest login ok, send your email address as password.
230-
230- This machine is in Vienna, VA, USA, hosted by Verio.
230- Questions? E-mail freebsd@vienna.verio.net.
230-
230-
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>cd /pub/FreeBSD/ports/packages/sysutils/
250 CWD command successful.
ftp>get lsof-4.56.4.tgz
local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz
200 PORT command successful.
150 Opening BINARY mode data connection for 'lsof-4.56.4.tgz' (92375 bytes).
100% |**************************************************| 92375 00:00 ETA
226 Transfer complete.
92375 bytes received in 5.60 seconds (16.11 KB/s)
ftp>exit
&prompt.root; pkg_add lsof-4.56.4.tgzAls er lokaal geen bron is voor packages (zoals de &os;
cd-rom set) dan is het waarschijnlijk makkelijker om de
optie te gebruiken met &man.pkg.add.1;.
Deze optie zorgt er voor dat het hulpprogramma automatisch het
correcte formaat en de juiste versie bepaalt en die daarna
binnenhaalt en installeert vanaf een FTP site.pkg_add&prompt.root; pkg_add -r lsofHet voorbeeld hierboven haalt het correcte package binnen
en installeert het zonder dat de gebruiker iets hoeft te doen.
Het is mogelijk een alternatieve &os; packagessite aan te geven
in plaats van de hoofddistributiesite. Dan moet
PACKAGESITE ingesteld worden om de
standaardinstellingen aan te passen. &man.pkg.add.1; gebruikt
&man.fetch.3; om de bestanden binnen te halen, dat gebruik
maakt van diverse omgevingsvariabelen zoals
FTP_PASSIVE_MODE, FTP_PROXY, en
FTP_PASSWORD. Mogelijk moeten ook
één of meer van deze variabelen gebruikt worden
als een machine achter een firewall staat of als gebruik
gemaakt moet worden van een FTP/HTTP proxy. In &man.fetch.3;
staat de complete lijst. In het voorbeeld hierboven is gebruik
gemaakt van lsof in plaats van
lsof-4.56.4. Als het package wordt
binnengehaald met behulp van de bovenstaande instellingen, dan
moet het versienummer van het package niet gebruikt worden.
&man.pkg.add.1; haalt automatisch de laatste versie van de
applicatie binnen.&man.pkg.add.1; downloadt de meest recente versie van een
applicatie als &os.current; of &os.stable;. Als een
-RELEASE versie wordt gebruikt, wordt het package dat bij die
release hoort gebruikt. Het is mogelijk dit gedrag te
veranderen door de omgevingsvariabele
PACKAGESITE te wijzigen. Als bijvoorbeeld
&os; 5.4-RELEASE op een systeem draait, dan haalt
&man.pkg.add.1; standaard de packages uit
ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-5.4-release/Latest/.
Om &man.pkg.add.1; de &os; 5-STABLE packages te laten
downloaden kan PACKAGESITE ingesteld worden op
ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-5-stable/Latest/.Packagebestanden worden gedistribueerd in de formaten
.tgz en .tbz. Ze
zijn te vinden op
of op de &os; cd-rom distributie. Iedere cd-rom in de
&os; 4-cd-rom set (en de PowerPak, enzovoort) bevat
packages in de map /packages. De opbouw
van de packages is ongeveer gelijk aan die van
/usr/ports. Iedere categorie heeft zijn
eigen map en ieder package staat ook in de map
All.De mappenstructuur van het packagesysteem is gelijk aan die
van het portssysteem. Samen vormen ze het
package/portssysteem.Packages beherenpackagesbeheren&man.pkg.info.1; is een hulpprogramma dat de diverse
geïnstalleerde packages toont en beschrijft.pkg_info&prompt.root; pkg_info
cvsup-16.1 A general network file distribution system optimized for CV
docbook-1.2 Meta-port for the different versions of the DocBook DTD
...&man.pkg.version.1; is een hulpprogramma dat een
samenvatting van de versie van alle geïnstalleerde
packages geeft. Het vergelijkt de versie van het package met
de huidige versie in de Portscollectie.pkg_version&prompt.root; pkg_version
cvsup =
docbook =
...De symbolen in de tweede kolom geven aan hoe de
geïnstalleerde versie staat ten opzichte van de versie die
beschikbaar is in de lokale Portscollectie.SymboolBetekenis=De versie van het geïnstalleerde package komt
overeen met die in de lokale Portscollectie.<De geïnstalleerde versie is ouder dan die
beschikbaar is in de ports.>De geïnstalleerde versie is nieuwer dan die
in de lokale Portscollectie. De lokale Portscollectie
is waarschijnlijk verouderd.?Het geïnstalleerde package kan niet gevonden
worden in index van de Portscollectie. Dit kan
bijvoorbeeld gebeuren als een geïnstalleerde port
uit de Portscollectie wordt verwijderd of
hernoemd.*Er zijn meerdere versies van het package.Packages verwijderenpkg_deletepackagesdeletingVoor het verwijderen van een geïnstalleerd package
wordt het hulpprogramma &man.pkg.delete.1; gebruikt.&prompt.root; pkg_delete xchat-1.7.1DiversenAlle informatie over packages wordt opgeslagen in de map
/var/db/pkg. De lijst met
geïnstalleerde bestanden en beschrijvingen van ieder
package staat in de bestanden in deze map.De Portscollectie gebruikenIn de volgende paragrafen worden basisinstructies gegeven
over het gebruik van de Portscollectie om programma's op een
systeem te installeren of ervan te verwijderen.De PortscollectieVoordat ports geïnstalleerd kunnen worden moet eerst
de Portscollectie op een systeem staan, die in essentie een set
van Makefiles, patches en bestanden met
beschrijvingen is in /usr/ports.Tijdens het installeren van een &os; systeem, vraagt
sysinstall of de Portscollectie
geïnstalleerd moet worden. Als daar NO is
aangegeven, dan kan met behulp van de volgende instructies
alsnog de Portscollectie op een systeem gezet worden:Met sysinstallBij deze methode wordt
sysinstall weer gebruikt om de
Portscollectie te installeren.sysinstall
(/stand/sysinstall in &os; versies
ouder dan 5.2) dient als
root uitgevoerd te worden:>&prompt.root; sysinstallSelecteer onderaan
Configure en druk op
Enter;Selecteer onderaan
Distributions en druk op
Enter;Selecteer ports en druk op
Space;Selecteer bovenaan Exit en
druk op Enter;Selecteer het gewenste installatiemedium, zoals cd-rom,
FTP, enzovoort;Selecteer bovenaan Exit en
druk op Enter;Druk op X om
sysinstall te verlaten.De alternatieve methode om de Portscollectie te installeren
en bij te werken maakt gebruik van
CVSup. Zie hiervoor het bestand
/usr/share/examples/cvsup/ports-supfile
uit de port CVSup. In dat bestand
en CVSup gebruiken
() staat meer informatie over het gebruik
van CVSup.Met CVSupDit is een snelle methode om de Portscollectie te
installeren met behulp van CVSup.
Meer informatie over CVSup of over
het bijgewerkt houden van de Portscollectie staat in de eerder
genoemde paragraaf.
- De port net/cvsup
- dient geïnstalleerd te worden. Meer details zijn te
- vinden in CVSup
- Installatie ();
-
-
-
- /usr/share/examples/cvsup/ports-supfile
- dient als root naar een nieuwe lokatie
- zoals /root of een thuismap gekopieerd
- te worden;
-
+ Installeer het package net/cvsup-without-gui:
-
- ports-supfile dient aangepast te
- worden;
-
+ &prompt.root; pkg_add -r cvsup-without-gui
-
- CHANGE_THIS.FreeBSD.org
- dient gewijzigd te worden in een
- CVSup server in de buurt. In
- CVSup Mirrors () staat een complete lijst van
- mirrorsites;
+ Meer details staan in CVSup Installatie ();
- Start cvsup:
-
- &prompt.root; cvsup -g -L 2 /root/ports-supfile
+ Draai cvsup:
+
+ &prompt.root; cvsup -L 2 -h cvsup.FreeBSD.org /usr/share/examples/cvsup/ports-supfile
+
+ Wijzig cvsup.FreeBSD.org
+ in een CVSup server in de buurt.
+ In CVSup Mirrors
+ () staat een complete lijst
+ van mirrorsites;
+
+
+ Het kan wenselijk zijn een aangepaste
+ ports-supfile te gebruiken,
+ bijvoorbeeld om een CVSup
+ server niet mee te hoeven geven op de
+ commandoregel.
+
+
+
+ Kopieer in dit geval, als
+ root,
+ /usr/share/examples/cvsup/ports-supfile
+ naar een nieuwe locatie, zoals /root of een
+ thuismap.
+
+
+
+ Wijzig ports-supfile.
+
+
+
+ Wijzig
+ CHANGE_THIS.FreeBSD.org in
+ een CVSup server in de
+ buurt. In CVSup
+ Mirrors ()
+ staat een volledige lijst met mirrorsites.
+
+
+
+ Roep nu als volgt cvsup
+ aan:
+
+ &prompt.root; cvsup -L 2 /root/ports-supfile
+
+
+ Als dit commando later wordt herhaald, dan worden alle
recente veranderingen binnengehaald. De ports die al
geïnstalleerd zijn worden niet opnieuw gebouwd!Ports installerenportsinstallerenHet eerste wat uitleg behoeft als het over de
Portscollectie gaat is de term skelet
(skeleton). In een notendop is een portskelet
een minimaal aantal bestanden dat &os; aangeeft hoe een
programma gecompileerd en geïnstalleerd kan worden. Ieder
portskelet bevat:Een Makefile. De
Makefile bevat verschillende
definities die aangeven hoe de applicatie gecompileerd moet
worden en waar die op een systeem geïnstalleerd moet
worden;Een bestand distinfo. Dit bestand
bevat informatie over de bestanden die gedownload moeten
worden om de port te bouwen en hun checksums, om met
&man.md5.1; vast te stellen dat de bestanden niet corrupt
zijn geraakt tijdens de download.;Een map files. Deze map bevat
patches om het programma op een &os; systeem te laten
compileren en installeren. Patches zijn in essentie kleine
bestanden waarin kleine veranderingen aan andere,
specifieke, bestanden staan aangegeven. Ze zijn opgesteld
in platte tekst en er staan dingen in als Verwijder
regel 10 of Wijzig regel 26 in
.... Patches staan ook wel bekend als
diffs omdat ze gemaakt worden met het
programma &man.diff.1;.Deze map kan ook andere bestanden bevatten die gebruikt
worden om de port te bouwen;Een bestand pkg-descr. Dit is een
meer gedetailleerde beschijving van het programma, vaak in
één regel;Een bestand pkg-plist. Dit is een
lijst met alle bestanden die door de port
geïnstalleerd worden. Het geeft het portssysteem ook
aan welke bestanden bij het verwijderen van de port weer
verwijderd kunnen worden.Sommige ports bevatten nog andere bestanden, zoals
pkg-message. Het portssysteem gebruikt
die bestanden voor het afhandelen van bijzondere situaties.
Meer details over die bestanden en over ports in het algemeen
zijn na te lezen in het &os; Handboek
voor Porters.De port bevat instructies over hoe de broncode gebouwd moet
worden, maar de broncode zelf is er geen onderdeel van. De
broncode staat op een cd-rom of op internet. De broncode
wordt verspreid op de wijze waarop de auteur dat wenst. Vaak
is dat als een tar of gzip bestand, maar het kan ook ingepakt
zijn met een ander programma of helemaal niet ingepakt zijn.
De broncode van een programma, in welke vorm dan ook, heet een
distfile. De twee methoden om een &os; port te
installeren worden hieronder beschreven.Ports installeren dient als root te
gebeuren.Voordat een port wordt geïnstalleerd is het aan
te raden op
na kijken of er geen beveiligingsproblemen voor de
gewenste applicatie bekend zijn.Het is ook mogelijk om security/portaudit te
installeren. Hiermee wordt die controle automatisch
uitgevoerd voordat een port wordt geïnstalleerd. Met
het commando portaudit -F kan de
meest recente versie van de database met
beveiligingsproblemen opgehaald worden. Door deze port wordt
dagelijks een beveiligingsaudit gedaan en wordt ook dagelijks
de database bijgewerkt. Meer informatie is te vinden in
&man.portaudit.1; en &man.periodic.8;.Ports vanaf cd-rom installerenportsinstalleren vanaf cd-romDe officiële &os; Project cd-rom images bevatten
geen distfiles meer. Die kostten veel ruimte die beter
gevuld kon worden met voorgecompileerde packages. cd-rom
producten als het &os; PowerPak bevatten wel distfiles en
deze kunnen besteld worden bij een verkoper als de &os; Mall. In
deze paragraaf wordt aangenomen dat er een &os; cd-rom set
aanwezig is.De &os; cd-rom dient in de drive te zitten en gemount te
worden op /cdrom. Als er een ander
mountpunt wordt gebruikt, dient de make
variable CD_MOUNTPTS te worden ingesteld.
Om te beginnen dient de juiste map voor een port aangegeven
te worden:&prompt.root; cd /usr/ports/sysutils/lsofEenmaal in de map lsof is het skelet
van de port te zien. In de volgende stap wordt de broncode
voor de port gecompileerd of gebouwd. Dit
wordt gedaan door op het prompt make in te
voeren. Dat levert iets als het volgende op:&prompt.root; make
>> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
>> Attempting to fetch from file:/cdrom/ports/distfiles/.
===> Extracting for lsof-4.57
...
[uitvoer van uitpakken verwijderd]
...
>> Checksum OK for lsof_4.57D.freebsd.tar.gz.
===> Patching for lsof-4.57
===> Applying FreeBSD patches for lsof-4.57
===> Configuring for lsof-4.57
...
[uitvoer van configure verwijderd]
...
===> Building for lsof-4.57
...
[uitvoer van compileren verwijderd]
...
&prompt.root;Als het compileren is afgerond is het prompt weer
zichtbaar. In de volgende stap wordt de port
geïnstalleerd. Om dat te bewerkstelligen wordt het
woord install aan make
toegevoegd:&prompt.root; make install
===> Installing for lsof-4.57
...
[uitvoer installatie verwijderd]
...
===> Generating temporary packing list
===> Compressing manual pages for lsof-4.57
===> Registering installation for lsof-4.57
===> SECURITY NOTE:
This port has installed the following binaries which execute with
increased privileges.
&prompt.root;Als het prompt weer beschikbaar is, is de applicatie
klaar voor gebruik. Omdat lsof met
verhoogde rechten wordt uitgevoerd, wordt er een
waarschuwing getoond. Tijdens het bouwen en installeren van
ports zijn de getoonde waarschuwingen van belang.Het is mogelijk een stap minder te gebruiken door
make install uit te voeren in plaats van
make en make install
als twee afzonderlijke stappen.Sommige shells houden een cache bij van de commando's
die in de mappen uit de omgevingsvariabele
PATH staan om het opzoeken van een
uitvoerbaar bestand te versnellen. Als zo'n shell wordt
gebruikt, moet er na de installatie van een port het
commando rehash worden uitgevoerd
voordat zojuist geïnstalleerde commando's kunnen
worden gebruikt. Dit commando werkt voor shells zoals
tcsh. Voor shells als
sh of shells/bash dient
hash -r gebruikt te worden. In de
documentatie van een shell staat meer informatie.Licenties van sommige ports staan niet toe dat de
code wordt opgenomen in een cd-rom. Dit kan komen doordat
er een formulier ingevuld moet worden voor een download of
doordat herdistributie niet is toegestaan of om een andere
reden. Om een port te installeren die niet op de cd-rom
staat moet de computer waarop de port geïnstalleerd
wordt een internetverbinding hebben. Dit staat in de
volgende paragraaf
beschreven.Ports vanaf Internet installerenNet als in de vorige paragraaf wordt hier aangenomen dat
er voor een systeem een werkende internetverbinding is. Als
die er niet is, dient de cd-rom installatie gevolgd te
worden of moet met de hand de distfile in
/usr/ports/distfiles gezet
worden.Het installeren van een ports vanaf internet gaat op
precies dezelfde manier als de installatie vanaf cd-rom. Het
enige verschil is dat de distfile van internet komt in plaats
vanaf de cd-rom.Het stappenplan is ook hetzelfde:&prompt.root; make install
>> lsof_4.57D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.
>> Attempting to fetch from ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/.
Receiving lsof_4.57D.freebsd.tar.gz (439860 bytes): 100%
439860 bytes transferred in 18.0 seconds (23.90 kBps)
===> Extracting for lsof-4.57
...
[uitvoer van uitpakken verwijderd]
...
>> Checksum OK for lsof_4.57D.freebsd.tar.gz.
===> Patching for lsof-4.57
===> Applying FreeBSD patches for lsof-4.57
===> Configuring for lsof-4.57
...
[uitvoer van configure verwijderd]
...
===> Building for lsof-4.57
...
[uitvoer van compileren verwijderd]
...
===> Installing for lsof-4.57
...
[uitvoer van installatie verwijderd]
...
===> Generating temporary packing list
===> Compressing manual pages for lsof-4.57
===> Registering installation for lsof-4.57
===> SECURITY NOTE:
This port has installed the following binaries which execute with
increased privileges.
&prompt.root;Het enige verschil is de regel die aangeeft waar de
distfile wordt opgehaald.Het portssysteem gebruikt &man.fetch.1; om bestanden te
downloaden. Dat programma maakt gebruik van een aantal
omgevingsvariabelen, waaronder
FTP_PASSIVE_MODE, FTP_PROXY,
en FTP_PASSWORD. Als een systeem achter een
firewall staat, is het wellicht noodzakelijk om een of meer
van deze omgevingsvriabelen in te stellen of om gebruik te
maken van een FTP/HTTP proxy. In &man.fetch.3; staat een
complete lijst.Als er geen continue internetverbinding is, kan gebruik
gemaakt worden van make
fetch. Door dit
commando in de map /usr/ports uit te
voeren worden alle benodigde bestanden
gedownload. Dit commando werkt ook op een lager niveau als
/usr/ports/net of
/usr/ports/net/xmule. Als een port
afhankelijk is van bibliotheken of andere ports dan worden
de distfiles van die ports niet
opgehaald. Om dat de bereiken dient
fetch vervangen te worden door
fetch-recursive.Het is mogelijk alle ports in een categorie te bouwen
door make in een hogere map uit te
voeren, naar analogie van het voorbeeld voor make
fetch. Dit is wel
gevaarlijk, omdat sommige ports niet tegelijk met andere
geïnstalleerd kunnen zijn. In andere gevallen
installeren twee ports hetzelfde bestand met een andere
inhoud.In zeldzame gevallen willen of moeten gebruikers de tar
bestanden van een andere site dan de
MASTER_SITES halen (de locatie waar de
bestanden vandaan komen). Dat is mogelijk met de optie
MASTER_SITES met een volgend
commando:&prompt.root; cd /usr/ports/directory
&prompt.root; make MASTER_SITE_OVERRIDE= \
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetchIn het voorgaande voorbeeld is de optie
MASTER_SITES gewijzigd naar ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/.Sommige ports staan toe (of schrijven zelfs voor) dat
er een aantal instellingen worden meegegeven die bepaalde
onderdelen (niet gebruikt, beveiligingsinstellingen en
andere aanpassingen) van de applicatie in- of uitschakelen.
Voorbeelden van ports waarbij dat het geval is zijn
www/mozilla, security/gpgme en mail/sylpheed-claws. Er wordt
een bericht getoond als dit soort instellingen beschikbaar
zijn.Standaardmappen voor ports wijzigenSoms is het handig (of verplicht) om een andere map voor
distfiles of ports te gebruiken. Met de variabelen
PORTSDIR en PREFIX
kunnen de standaardmappen veranderd worden:&prompt.root; make PORTSDIR=/usr/home/example/ports installHet voorbeeld hierboven compileert de port in
/usr/home/example/ports en installeert
alles in /usr/local.&prompt.root; make PREFIX=/usr/home/example/local installHet voorbeeld hierboven compileert in
/usr/ports en installeert in
/usr/home/example/local.&prompt.root; make PORTSDIR=../ports PREFIX=../local installHet voorbeeld hierboven combineert de twee instellingen.
Het gaat te ver om dit volledig in het handboek te
beschrijven, maar hier krijgt de lezer een idee van de
mogelijkheden.Het is ook mogelijk de bovenstaande variabelen als deel
van de omgeving in te stellen. In de hulppagina's van de
gebruikte shell staat hoe dat mogelijk is.Omgaan met imakeEr zijn ports die imake gebruiken
(een onderdeel van het X Window systeem) die niet goed werken
met PREFIX en erop staan te installeren in
/usr/X11R6. Er zijn ook een aantal Perl
ports die PREFIX negeren en in de Perl
hiërarchie installeren. Deze ports op de
PREFIX locatie laten installeren is
meestal erg moeilijk of onmogelijk.Geïnstalleerde ports verwijderenportsverwijderenIn deze paragraaf wordt het verwijderen van ports
behandeld. Dat kan nodig zijn als een port niet langer wordt
gebruikt of als de verkeerde ports is geïnstalleerd. Dit
wordt geïllustreerd door de port uit het vorige voorbeeld
te verwijderen (lsof). Net als bij het
installeren van ports, moet eerst naar de juiste map gegaan
worden (/usr/ports/sysutils/lsof). Daarna
kan lsof verwijderd worden. Dit gaat met
het commando make deinstall:&prompt.root; cd /usr/ports/sysutils/lsof
&prompt.root; make deinstall
===> Deinstalling for lsof-4.57Erg makkelijk dus. Nu is lsof van een
systeem verwijderd. Om het opnieuw te installeren kan vanuit
de map /usr/ports/sysutils/lsofmake reinstall uitgevoerd worden.Het uitvoeren van make deinstall en
make reinstall werkt niet als ooit
make clean voor die port is uitgevoerd. Om
een port te verwijderen na het cleanen van die port kan
&man.pkg.delete.1; gebruikt worden, zoals wordt toegelicht in
de paragraaf Het Packagessysteem
Gebruiken.Ports en schijfruimteportsschijfruimteWerken met de Portscollectie kan in de loop der tijd veel
schijfruimte gebruiken. Omdat de portsstructuur de neiging
heeft in de loop der tijd in grootte te groeien, na het bouwen
en installeren van software uit de ports, is het van belang
altijd de tijdelijke werkmappen work op te ruimen met het
commando make clean.
Hiermee wordt de map work verwijderd nadat
een port is gebouwd en geïnstalleerd. Daarnaast kunnen
ook de distfiles met de broncode verwijderd worden uit de map
distfiles en
kunnen ports die niet meer gebruikt worden verwijderd
worden.Sommige gebruikers kiezen ervoor om de beschikbare port
categorieën te beperken met instellingen in het bestand
refuse. Zo kan bij het draaien van de
applicatie CVSup voorkomen worden
dat bestanden in een categorie worden gedownload. Meer
informatie over refuse staat in .Ports bijwerkenportupgradeportsbijwerkenAls de Portscollectie eenmaal is bijgewerkt
vóór het bijwerken van ports, is het verstandig
het bestand /usr/ports/UPDATING te
raadplegen. In dat bestand staan aanwijzingen en wijzigingen
voor gebruikers die van belang zijn bij het bijwerken van
ports.Het bijwerken van ports kan een vervelend klusje zijn. Om
bijvoorbeeld een port bij te werken is het nodig om naar de
juiste portsmap te gaan, de port te bouwen, de oude port te
verwijderen, de nieuwe port te installeren en daarna de werkmap
op te ruimen. Het is voorstelbaar dat dit voor bijvoorbeeld
vijf ports een vervelend klusje is. Dit was een groot probleem
voor systeembeheerders, dus zijn daar hulpprogramma's voor
gemaakt. Zo voert het hulpprogramma sysutils/portupgrade het complete
hiervoor beschreven proces uit! Die port is gewoon als iedere
andere port te installeren met make install
clean.Nu kan er een database gemaakt worden met het commando
pkgdb -F. Hiermee wordt de lijst van
geïnstalleerde ports gelezen en wordt een databasebestand
gemaakt in de map /var/db/pkg. Als daarna
portupgrade -a wordt uitgevoerd, wordt
die database gelezen en het bestand INDEX
van de ports. Tenslotte begint
portupgrade met het downloaden,
bouwen, back-uppen, installeren en opschonen van de ports die
zijn bijgewerkt. portupgrade kent
veel opties voor verschillend gebruik. De meest belangrijke
worden hieronder besproken.Om een specifieke applicatie bij te werken en niet de hele
database, kan portupgrade
pkgname gebruikt worden.
De vlag kan gebruikt worden om
portupgrade ook te draaien voor alle
packages waar het opgegeven package van afhankelijk is en
de optie zorgt ervoor dat het wordt
gedraaid voor alle packages die van het opgegeven package
afhankelijk zijn.Om bij installatie van packages in plaats van ports gebruik
te maken kan gebruikt worden. Met deze
optie zoekt portupgrade in de
lokale mappen uit PKG_PATH of haalt de packages
van via het netwerk op als het lokaal niet wordt aangetroffen.
Als een package niet lokaal en niet via het netwerk wordt
gevonden, dan gebruikt portupgrade
ports. Om het gebruik van ports te voorkomen kan gebruik
gemaakt worden van de optie .Om alleen de distfiles op te halen (of packages als
is opgegeven), zonder bouwen of
installeren, is beschikbaar. Meer
informatie staat in &man.portupgrade.1;.Het is van belang om regelmatig de packagedatabase bij
te werken met pkgdb -F om
inconsistenties de repareren, in het bijzonder als
portupgrade daar om vraagt. Als
portupgrade tijdens het bijwerken
van de packagedatabase wordt onderbroken levert dat een
inconsistente database op.Er bestaan ook andere hulpprogramma's die de besproken
taken uit kunnen voeren. Deze zijn te vinden in de map
ports/sysutils.Activiteiten na het installerenNa het installeren van een nieuwe applicatie is het meestal
verstandig om de documentatie te lezen die bij een applicatie
zit, bestanden met instellingen die vereist zijn aan te passen,
ervoor te zorgen dat de applicatie start na het booten (als het
een daemon is), enzovoort.De exacte stappen om een applicatie in te stellen zijn
natuurlijk voor iedere applicatie anders. Maar als er net een
nieuwe applicatie is geïnstalleerd en het is niet
vanzelfsprekend hoe verder te gaan, dan kunnen de volgende tips
helpen:Met &man.pkg.info.1; kan uitgevonden worden welke
bestanden geïnstalleerd zijn en waar. Om bijvoorbeeld
uit te vinden welke bestanden door FooPackage versie 1.0.0
zijn geïnstalleerd:&prompt.root; pkg_info -L foopackage-1.0.0 | lessBestanden in mapnamen met man/
zijn hulppagina's, etc/ bevat bestanden
met instellingen en doc/ bevat
uitgebreidere documentatie.Als niet helemaal duidelijk is welke versie van het
programma is geïnstalleerd, kan een commando als volgt
gebruikt worden:&prompt.root; pkg_info | grep -i foopackageHiermee worden alle packages getoond waar
foopackage in de packagenaam
voorkomt.Als de hulppagina's zijn gevonden, kunnen die bekeken
worden met &man.man.1;. Zo kan er ook in de bestanden met
voorbeeldinstellingen gekeken worden en naar aanvullende
documentatie, als die is bijgeleverd.Als er een website is voor de applicatie staat daar
vaak ook aanvullende documentatie, veelgestelde vragen,
enzovoort. Als het webadres niet bekend is, kan dat nog
staan in de uitvoer van het volgende commando:&prompt.root; pkg_info foopackage-1.0.0Als er een regel met WWW: in staat, is
dat de URL naar de website voor de applicatie.Ports die na het booten moeten starten (zoals internet
diensten) hebben meestal een voorbeeldscript in
/usr/local/etc/rc.d. Dit script kan
bekeken, aangepast en hernoemd worden waar nodig. Meer
informatie staat in Diensten
Starten.Omgaan met kapotte portsAls een port niet werkt, zijn er een aantal mogelijke
manieren om verder te komen:Repareren! In het Handboek
voor de Porter is gedetailleerde informatie te
vinden over de infrastructuur van de Ports,
zodat een kapotte port gemaakt kan worden of er zelfs een
nieuwe port ingestuurd kan worden.Klaag alleen per e-mail! Er kan
eerst een e-mail naar de beheerder van de port gestuurd
worden. Voor het mailadres van de beheerder kan
make maintainer ingegeven worden of het
kan in de Makefile staan. In de mail
dienen in ieder geval de naam en versie van de port te
staan (de regel met $&os;: in de
Makefile) en de uitvoer tot en met de
foutmelding. Als er geen antwoord komt van de beheerder,
kan er met &man.send-pr.1; een foutrapport ingestuurd
worden.Zoek een package van een FTP site in de buurt. De
master packagecollectie staat op ftp.FreeBSD.org in de map
packages, maar het is van belang dat er
eerst in de buurt wordt gekeken! Dat
het package werkt is waarschijnlijker dan wanneer uit de
de broncode wordt gecompileerd en het is nog sneller ook.
Een package kan met &man.pkg.add.1; geïnstalleerd
worden.
diff --git a/nl_NL.ISO8859-1/books/handbook/preface/preface.sgml b/nl_NL.ISO8859-1/books/handbook/preface/preface.sgml
index 787a86fda1..0bbc23e476 100644
--- a/nl_NL.ISO8859-1/books/handbook/preface/preface.sgml
+++ b/nl_NL.ISO8859-1/books/handbook/preface/preface.sgml
@@ -1,733 +1,733 @@
VoorwoordBedoeld
publiekDe nieuwkomers bij &os; zullen zien dat de eerste sectie van
dit boek ze begleidt door de &os; installatieprocedure en de
geleidelijke introductie in de concepten van &unix;.
Om deze sectie goed te kunnen doorlopen is meer nodig dan de wens
om te ontdekken en de mogelijkheid om nieuwe concepten op te nemen
wanneer ze geïntroduceerd worden.De tweede, veel grotere, sectie van het handboek is een
uitvoerige referentie naar alle mogelijke (relevante) onderwerpen
die interessant zijn voor &os; systeembeheerders. Sommige van deze
hoofdstukken adviseren mogelijk om eerdere documentatie te lezen.
Dit wordt aangegeven in de samenvatting aan het begin van elk
hoofdstuk.Voor een lijst van extra bronnen van informatie zie
.Wijzigingen ten
- opzichte van de Tweede Editie
+ opzichte van de tweede editie
Deze derde editie is het resultaat van meer dan twee jaar
werk van de toegewijde leden van het &os; Documentatieproject.
Hieronder staan de grootste veranderingen in deze nieuwe
editie:, Instellingen en
optimalisatie, is uitgebreid met nieuwe informatie over ACPI
power en resource management, het systeemhulpprogramma cron
en er staan meer opties voor het optimaliseren van de kernel
beschreven., Beveiliging, is uitgebreid met
meer informatie over virtuele private netwerken (VPN's),
toegangscontrolelijsten voor het bestandssysteem (ACL's) en
beveiligingswaarschuwingen., Verplichte toegangscontrole (MAC),
is een nieuw hoofdstuk in deze editie. Er wordt in
uitgelegd wat MAC is en hoe het gebruikt kan worden om &os;
te beveiligen., Opslag, is uitgebreid met
informatie over USB opslagapparaten, snapshots van
bestandssystemen, bestandssystemen op basis van bestanden
en het netwerk en versleutelde partities op disks., Vinum, is een nieuw
hoofdstuk in deze editie. Er wordt in beschreven hoe
Vinum gebruikt kan worden. Vinum is een logische volume
manager die apparaat onafhankelijke logische disks kan
aanbieden en software RAID-0, RAID-1 en RAID-5.Aan , PPP en SLIP, is een
paragraaf toegevoegd over problemen oplossen., E-mail, is uitgebreid met
informatie over alternatieve transport programma's,
SMTP authenticatie, UUCP, fetchmail, procmail en een
aantal andere gevorderde onderwerpen., Netwerkdiensten, is
nieuw in deze editie. Dit hoofdstuk bevat informatie over
het opzetten van een Apache HTTP Server, FTPd en het
opzetten van een server voor Microsoft &windows; clients
met Samba. Een aantal paragrafen
uit , Netwerken voor
Gevorderden, zijn om reden van presentatie naar dit hoofdstuk
verplaatst., Netwerken voor
gevorderden, is uitgebreid met informatie over het gebruik
van Bluetooth apparaten met &os;, het opzetten van draadloze
netwerken en Asynchronous Transfer Mode (ATM) netwerken.Er is een termenoverzicht toegevoegd als centrale locatie
voor definities van technische termen die in dit boek
gebruikt worden.Tenslotte zijn er nog veel estetische wijzigingen
doorgevoerd aan tabellen en figuren in het boek.Veranderingen ten
opzichte van de eerste editieDeze tweede editie is een optelsom van meer dan twee jaar
werk door vaste leden van het &os; Documentation Project.
Het volgende zijn de grote wijzigingen in deze editie:Er is een complete INDEX toegevoegd.Alle ASCII figuren zijn vervangen door grafische
diagrammen.Aan elk hoofdstuk is een standaardsamenvatting toegevoegd
om een snel overzicht te geven welke informatie zich in het
hoofdstuk bevindt en wat de lezer geacht wordt te weten.De inhoud is logisch ingedeeld in drie delen:
Starten, Systeembeheer en
Appendix. (&os;
installeren) is compleet herschreven met veel
screenshots erbij om het makkelijker te maken voor nieuwe
gebruikers om greep te krijgen op de tekst. (&unix;
beginselen) is uitgebreid met extra informatie over
processen, daemons en signalen. (Applicaties
installeren) is uitgebreid met extra informatie over
binair package-beheer. (Het X Window systeem)
is compleet herschreven met de nadruk op het gebruik van
moderne bureaubladtechnologiën zoals
KDE en
GNOME op &xfree86; 4.X. (Het &os;
Opstartproces) is uitgebreid. (Opslag) is
herschreven uit wat eens twee aparte hoofdstukken waren over
disks en backups. We vinden
dat de onderwerpen beter begrijpbaar zijn wanneer ze in
één hoofdstuk zijn ondergebracht. Er is ook een
sectie ver RAID (zowel hardware als softwarematig)
toegevoegd. (Seriële
communicatie) is compleet gereorganiseerd en
bijgewerkt voor &os; 4.X/5.X. (PPP en SLIP)
is aanzienlijk bijgewerkt.Veel nieuwe secties zijn toegevoegd aan
(Geavanceerd
netwerken). (E-mail)
is uitgebreid met meer informatie over het instellen van
sendmail.
( &linux; binaire compatibiliteit)
is uitgebreid met informatie over het installeren van
&oracle; en
&sap.r3;De volgende nieuwe onderwerpen worden behandeld in
de tweede editie:Instellingen en optimalisatie
().Multimedia ()De opbouw van dit
boekDit boek is opgedeeld in vijf logische secties.
De eerste sectie, Beginnen, behandelt
de installatie en het basisgebruik van &os;. Er wordt verwacht
dat lezers deze hoofdstukken volgt, en mogelijk
hoofdstukken overslaat met bekende onderwerpen. De tweede sectie,
Algemene Taken, behandelt veelgebruikte
functies van &os;. Deze sectie en alle volgende kunnen in een
willekeurige volgorde gelezen worden. Iedere sectie begint met een
beknopte samenvatting die beschrijft wat het hoofdstuk inhoudt en
wat de lezer al moet weten. Dit is bedoeld om de lezer de kans te
geven alleen dat te lezen wat voor hem van belang is. In de derde
sectie, Systeembeheer, wordt het beheer
behandeld. De vierde sectie,
Netwerkcommunicatie, gaat over netwerken en
servers. De vijfde sectie bevat appendices met
referentiemateriaal.,
IntroductieIntroduceert &os; aan een nieuwe gebruiker. Het
beschrijft de geschiedenis van het &os; project, de doelen en
het ontwikkelmodel.,
InstallatieBegeleidt een gebruiker door de installatieprocedure.
Sommige geavanceerde installatie-onderwerpen zoals
installatie door middel van een seriële console worden
ook behandeld., &unix;
beginselenBehandelt de basiscommando's en functionaliteit van het
&os; besturingssyteem. Als de lezer bekend is met &linux; of
een andere &unix; variant, kan dit hoofdstuk waarschijnlijk
overgeslagen worden., Applicaties
installerenBehandelt de installatie van software van derden, met
zowel &os;'s innovatieve Portscollectie als
de standaard binaire packages., Het X Window
systeemBeschrijft het X Window systeem in het algemeen en
het gebruik van X11 op &os; in het bijzonder. Het beschrijft
ook standaard bureaubladomgevingen zoals
KDE en
GNOME.,
BureaubladapplicatiesLevert standaard bureaubladapplicaties in een lijst,
zoals webbrowsers en productiviteitspakketten, en
beschrijft hoe ze te installeren op &os;.,
MultimediaLaat zien hoe geluid- en video-ondersteuning te
installeren voor een systeem. Het beschrijft ook een
aantal voorbeeld audio- en video- applicaties., Instellen van de
&os; kernelBeschrijft waarom misschien een nieuwe kernel ingesteld
moet worden en levert gedetailleerde instructies voor het
instellen, bouwen en installeren van een eigen kernel.,
AfdrukkenBeschrijft hoe printers beheerd worden onder &os;,
met informatie over bannerpagina's, afdruk-accouting en
initiële installatie., Instellingen en
optimalisatie Beschrijft de parameters beschikbaar voor
systeembeheerders om een &os; te optimaliseren voor
de beste prestaties. Het beschrijft ook diverse
instellingenbestanden die gebruikt worden in &os; en waar
die te vinden zijn., Het &os;
opstartprocesBeschrijft de &os; opstartprocedure en legt uit hoe
deze aan te passen met instellingen., Gebruikers en basis
accountbeheerBeschrijft hoe gebruikers-accounts aan te maken en te
wijzigen. Het beschrijft ook welke resource-beperkingen er
gezet kunnen worden op gebruikers en andere
account-beheerstaken.,
BeveiligingBeschrijft vele verschillende hulpapplicaties die
beschikbaar zijn die helpen om een &os; systeem veilig
te houden, met oa: Kerberos, IPsec en OpenSSH., Verplichte
Toegangscontrole (MAC)Legt uit was Verplichte Toegangscontrole (MAC) is en hoe
het gebruikt kan worden om een &os; te beveiligen., OpslagBeschrijft hoe opslagmedia en bestandssystemen beheerd
worden onder &os;. Dit omvat fysieke schijven, RAID arrays,
optische en tape media, geheugenschijven en
netwerkbestandssystemen.,
VinumBeschrijft hoe Vinum gebruikt wordt, een logische
volumebeheerder die apparaatonafhankelijke logische disken
levert, met software RAID-0, RAID-1 en RAID-5.,
Lokalisatie - I18N/L10N gebruiken en
instellenBeschrijft hoe &os; met andere talen dan Engels te
gebruiken is. Behandelt zowel het systeem- als
applicatieniveau van localisatie., Het scherp van de
snedeGeeft uitleg over de verschillen tussen &os;-STABLE,
&os;-CURRENT en &os; releases. Beschrijft welke gebruikers
voordeel hebben van het bijhouden van een ontwikkelsysteem
en legt dat proces uit., Seriële
communicatieLegt uit hoe een verbinding te maken met terminals en
modems op een &os; systeem voor zowel dial-in als dial-out
verbindingen., PPP en
SLIPBeschrijft hoe PPP, SLIP en PPP over Ethernet te
gebruiken om verbinding te maken met remote systemen met
&os;., E-mailLegt verschillende componenten uit van een mailserver en
gaat dieper in op simpele instellingen voor de populairste
mailserver software:
sendmail.,
NetwerkdienstenGeeft gedetailleerde instructies en voorbeeldinstellingen
om een &os; machine als een netwerk bestandssysteem server,
DNS server, netwerk informatiesysteem server of tijdserver
in te stellen.,
FirewallsLicht de filosofie achter op software gebaseerde
firewalls toe en beschrijf in detail hoe de verschillende
firewalls die in &os; beschikbaar zijn ingesteld kunnen
worden., Netwerken
voor gevorderdenBeschrijft meerdere netwerk onderwerpen, inclusief
het delen van een internetverbinding met andere computers in
een LAN, routeren voor gevorderden, draadloze netwerken,
bluetooth, ATM, IPv6 en nog veel meer., &os;
verkrijgenGeeft verschillende bronnen aan voor het verkrijgen van
&os; media op cd-rom of DVD evenals verschillende sites op
het internet die gebruikers in staat stellen &os; te
downloaden en te installeren.,
BibliografieDit boek behandelt veel verschillende onderwerpen die de
lezer misschien hongerig maken naar een gedetaileerdere
uitleg. De bibliografie bevat verwijzingen naar een aantal
uitstekende boeken., Bronnen op
InternetBeschrijft de vele forums die beschikbaar zijn voor &os;
gebruikers om vragen te stellen, en om deel te nemen aan
technische conversaties over &os;., PGP
sleutelsGeeft de PGP-vingerafdrukken van verschillende &os;
ontwikkelaars.Overeenkomsten in dit
boekOm consistentie en leesbaarheid te behouden en de leesbaarheid
te behouden worden er een aantal overeenkomsten nageleefd in dit
boek.Typografische
overeenkomstenItalicEen italic lettertype wordt gebruikt
voor bestandsnamen, URL's, benadrukte tekst, en het eerste
gebruik van technische termen.MonospaceEen monospaced lettertype wordt
gebruikt voor foutmeldingen, commando's,
omgevingsvariabelen, namen van ports, hostnamen,
gebruikersnamen, groepsnamen, apparaatnamen, variabelen en
stukjes code.VetEen vet lettertype wordt
gebruikt voor applicaties, commando's en toetsen.GebruikersinvoerToetsen worden weergegeven in bold om op
te vallen tussen andere tekst. Toetscombinaties die bedoeld zijn
om tegelijkertijd getypt te worden worden weergeven met
+' tussen de toetsen zoalsCtrlAltDelBetekent dat de gebruiker de volgende toetsen op hetzelfde
moment moet indrukken: Ctrl, Alt
en Del.Toetsen die bedoeld zijn om achter elkaar te typen worden
gescheiden door komma's, bijvoorbeeldCtrlX,
CtrlSzou betekenen dat de gebruiker de Ctrl
en X toetsen tegelijk moet indrukken en erna
Ctrl en S tegelijkertijd moet
indrukken.VoorbeeldenVoorbeelden die beginnen met E:\>
geven aan dat het een &ms-dos; commando betreft. Tenzij anders
vermeld, kunnen deze commando's in een Command
promptscherm in een moderne µsoft.windows; omgeving
worden gebruikt.E:\>tools\fdimage floppies\kern.flp A:Voorbeelden die starten met een &prompt.root; geven aan dat een
commando ingegeven moet worden als de superuser in &os;. Er kan
aangemeld worden met root om het commando in
te typen, of er kan na als gewone gebruiker aangemeld te hebben
gebruikt gemaakt worden van &man.su.1; om superuser-rechten te
verkrijgen.&prompt.root; dd if=kern.flp of=/dev/fd0Voorbeelden die starten met &prompt.user; geven aan dat een
commando opgegeven moet worden vanuit een normale
gebruikersaccount. Tenzij anders vermeld, wordt de C-shell
syntaxis gebruikt voor het instellen van omgevingsvariabelen en
andere shellcommando's.&prompt.user; topDankwoordenHet boek dat nu voorligt representeert de inspanningen van
honderden mensen over de hele wereld. Of ze nu foutjes
verbeteren of complete hoofdstukken inleveren, ze hebben allemaal
nuttig bijgedragen.Verschillende bedrijven hebben bijgedragen aan het maken
van dit document door de schrijvers te betalen om hier full-time
aan te werken, door te betalen voor de publicatie, etc. In het
bijzonder heeft BSDi (Overgenomen door Wind River Systems) leden
van het &os; Documentatie Project betaald om full-time te werken
aan het verbeteren van dit boek, wat leidde tot de publicatie van
de eerste editie in maart 2000 (ISBN 1-57176-241-8). Wind River
Systems heeft daarna verschillende schrijvers betaald om een aantal
verbeteringen uit te voeren voor de printuitvoer-infrastructuur en
om extra hoofdstukken toe te voegen aan de tekst. Dit werk leverde
de publicatie van de tweede gedrukte editie in november 2001
(ISBN 1-57176-303-1). In 2003-2004 heeft &os; Mall, Inc een
aantal mensen die bijdragen hebben geleverd betaald om het handboek
te verbeteren voor een derde gedrukte editie.
diff --git a/nl_NL.ISO8859-1/books/handbook/x11/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/x11/chapter.sgml
index 078acce13c..8dad1e715d 100644
--- a/nl_NL.ISO8859-1/books/handbook/x11/chapter.sgml
+++ b/nl_NL.ISO8859-1/books/handbook/x11/chapter.sgml
@@ -1,1931 +1,1949 @@
KenTomGeupdate voor X.Org's X11 server door MarcFonvieilleErikRadderVertaald door Het X Window systeemOverzicht&os; gebruikt X11 om gebruikers een krachtige grafische
gebruikersschil te bieden. X11 is een open-source
implementatie van het X Window System dat zowel
&xorg; als
&xfree86; bevat. &os; versies tot en
met &os; 4.11-RELEASE en &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.In dit hoofdstuk wordt de installatie en instelling van X11
behandeld met de nadruk op
&xorg;.Meer informatie over de videohardware die X11 ondersteunt
kan gevonden worden op &xorg; of &xfree86;
websites.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 begrijpenX 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 modelX 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
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
&netscape;) is een
client. Een client 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.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 managerDe 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
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.FocusbeleidDe 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.WidgetsDe 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
maakt voor de beginnende gebruiker.X11 installerenZowel &xorg; als
&xfree86; kan op &os;
geïnstalleerd worden. Vanaf &os; 5.3-RELEASE is
&xorg; 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.Om &xorg; vanuit de
Portscollectie te bouwen en te installeren:&prompt.root; cd /usr/ports/x11/xorg
&prompt.root; make install cleanOm &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 cleanX11 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 xorgHet &xfree86; 4.X package kan
geïnstalleerd worden met:&prompt.root; pkg_add -r XFree86Het voorbeeld hierboven installeert de complete X11
distributie inclusief de servers, clients, lettertypen enz. Er
zijn ook afzondelijke 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 &xfree86; naar
&xorg;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.ChristopherShumwayGeschreven door X11 instellen&xfree86; 4.X&xfree86;&xorg;X11VoorbereidingVoordat er wordt begonnen met het instellen van X11 is de
volgende informatie van de te installeren machine nodig:Monitor specificatiesChipset van de videokaartGeheugen van de videokaarthorizontale scansnelheidverticale scansnelheidDe 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
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 instellenHet instellen van X11 bestaat uit meerdere stappen. De
eerste stap is het bouwen van een instellingenbestand. Dit kan
met:&prompt.root; Xorg -configureIn het geval van &xfree86; is
dat:&prompt.root; XFree86 -configureDit genereert een kaal X11 instellingbestand 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.newVoor &xfree86;
gebruikers:&prompt.root; XFree86 -xf86config XF86Config.newAls er een zwart/grijs rooster en een X muis cursor
verschijnen was de instelling successvol. Om de test te
stoppen dient gelijktijdig op CtrlAltBackspace gedrukt te
worden.Als de muis niet werkt, dan moet deze eerst ingesteld
worden. Zie in het &os; installatie
hoofdstuk.X11 optimaliserenNu 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":Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
HorizSync 30-107
VertRefresh 48-120
EndSectionIn 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
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.
Om DPMS eigenschappen voor een monitor te activeren, moet de
volgende regel toegevoegd worden aan de monitor sectie:
Option "DPMS"xorg.confXF86ConfigAls het instellingenbestand
xorg.conf.new (of
XF86Config.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
EndSectionHet 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
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
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
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):&prompt.root; cp xorg.conf.new /etc/X11/xorg.confVoor &xfree86;:&prompt.root; cp XF86Config.new /etc/X11/XF86ConfigHet 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;.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:
xorgcfg -textmode. Meer details zijn
te vinden in &man.xorgcfg.1; en &man.xf86cfg.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
gebruikersvriendelijk, maar het zou wel kunnen werken in
gevallen waarin andere hulpprogramma's dat niet doen.Bijzondere instellingenInstellen met de &intel; i810 graphische
chipsetIntel i810 grafische
chipsetInstellen met &intel; i810 integrated chipsets vereist de
agpgart AGP programmeringsinterface
voor X11 om de kaart aan te sturen. Het &man.agp.4;
stuurprogramma zit in de GENERIC kernel
sinds 4.8-RELEASE en 5.0-RELEASE. Bij eerdere versies dient
het volgende toegevoegd te worden aan het bestand met
kernelinstellingen:device agpHierna dient een nieuwe kernel gebouwd te worden. In
plaats hiervan, kan de kernelmodule
agp.ko automatisch geladen worden met
&man.loader.8; tijdens het opstarten. Hiervoor moet het
volgende in /boot/loader.conf
staan:agp_load="YES"Als gebruik wordt gemaakt van &os; 4.X of recenter,
dan moet een apparaatnode gemaakt worden voor de
programmainterface. Om deze AGP apparaatnode te maken, dient
&man.MAKEDEV.8; gestart te worden in de map
/dev:&prompt.root; cd /dev
&prompt.root; sh MAKEDEV agpgart&os; 5.X of later gebruikt &man.devfs.5; om
apparaatnodes transparant te verwerken, dan is de
stap met &man.MAKEDEV.8; niet meer nodig.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.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:Option "NoDDC"MurrayStokelyBijgedragen door Lettertypen gebruiken in X11Type1 lettertypenDe 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 cleanDat 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):FontPath "/usr/X11R6/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 rehashDit 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
hiervoor de paragraaf over over Anti-aliasing.&truetype; lettertypenTrueType lettertypenlettertypenTrueType&xfree86; 4.X en
&xorg; hebben 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.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
&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.dirNu moet de &truetype; map toe aan het lettertypepad
toegevoegd worden. Dit gebeurt op dezelde wijze als boven is
beschreven voor Type1
lettertypen:&prompt.user; xset fp+ /usr/X11R6/lib/X11/fonts/TrueType
&prompt.user; xset fp rehashof door een FontPath regel toe te voegen
aan xorg.conf (of
XF86Config).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 MarcusClarkeBijgewerkt door Anti-alias lettertypenanti-alias lettertypenlettertypenanti-aliasAnti-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
~/.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
of gewijzigd worden. In dit bestand kunnen speciale
eigenschappen van het Xft lettertypesysteem aangepast worden.
Deze paragraaf beschijft wat eenvoudige mogelijkheden.
Meer details staan in &man.fonts-conf.5;.XMLDit 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
~/.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
te worden:<dir>/path/to/my/fonts</dir>Na het toevoegen van nieuwe lettertypen en zeker nieuwe
lettertypemappen dienen de lettertypecaches opnieuw opgebouwd
worden met:&prompt.root; fc-cache -fAnti-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>lettertypenspacingSpatië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
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
het nog niet bestaat. Als het al wel bestaat maakt de port
/usr/X11R6/etc/fonts/local.conf-vera aan.
De inhoud van dit bestand dient in
/usr/X11R6/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 screenlettertypenLCD screenNog 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.Mozillaanti-aliasing lettertypen uitschakelenAnti-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 (zie
over KDE). 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.SethKingsleyBijgedragen door De X beeldschermmanagerOverzichtX beeldschermmanagerDe 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)
af.XDM levert de gebruiker dezelfde
funtionaliteit 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 gebruikenDe XDM daemon staat in
/usr/X11R6/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
XDM op een virtuele terminal te
draaien:ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secureStandaard 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 instellenDe map met instellingen voor XDM
is /usr/X11R6/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:BestandOmschrijvingXaccessRegels voor client authorisatie.XresourcesStandaard waarden voor X bronnen.XserversLijst met op afstand en lokaal te beheren schermen.XsessionStandaard sessie script voor logins.Xsetup_*Script die applicaties start voordat de login
interface start.xdm-configAlgehele instellingen voor alle schermen op
deze machine.xdm-errorsErrors die gegenereerd zijn door het server programma.xdm-pidHet 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.XaccessOm een verbinding te maken met
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. Standaard mag
iedere client een verbinding maken. Zolang
xdm-config niet is aangepast om
verbindingen te accepteren is dat geen probleem.XresourcesDit 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.XserversDit is een lijst met netwerkschermen waaruit gekozen kan
worden.XsessionDit 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-configDit bevat de instellingen die toegepast worden op ieder
scherm die deze installatie aanstuurt. De indeling is
hetzelfde als van app-defaults.xdm-errorsHierin 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 gebruikenOm 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: 0Hierna 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;.Alternatieven voor XDMEr bestaan diverse alternatieven voor
XDM programma.
kdm (wordt geleverd bij
KDE) wordt later in dit hoofstuk
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.ValentinoVaschettoBijgedragen door BureaubladomgevingenDeze 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.GNOMEOver GNOMEGNOMEGNOME 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.
+ Project website. De website bevat ook redelijk
+ complete FAQ's over het installeren, instellen en beheren van
+ GNOME.
GNOME installerenDe 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:Om het GNOME package te
installeren:&prompt.root; pkg_add -r gnome2Om GNOME vanuit de
Portscollectie te installeren:&prompt.root; cd /usr/ports/x11/gnome2
&prompt.root; make install cleanZodra GNOME geïnstalleerd
is, moet de X server verteld worden dat in plaats van de
standaard window manager GNOME
- gebruikt moet worden. Als er al een
- .xinitrc is, dan hoeft alleen de regel
- die de huidige windows manager start veranderd te worden in
- een regel die
+ 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
start. Als er niets speciaals met dit instellingenbestand is
gedaan:&prompt.user; echo "/usr/X11R6/bin/gnome-session" > ~/.xinitrcNu 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:&prompt.user; echo "#!/bin/sh" > ~/.xsession
&prompt.user; echo "/usr/X11R6/bin/gnome-session" >> ~/.xsession
&prompt.user; chmod +x ~/.xsessionHet is ook mogelijk de beeldschermanager 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 GNOMEGNOMEanti-alias lettertypenX11 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 ApplicationsDesktop
PreferencesFont kan gekozen wordne 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.KDEKDEOver KDEKDE 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
bureaubladinstelling;Een grote hoeveelheid bruikbare
KDE applicaties;KDE heeft een office
applicatie suite die gebaseerd is op
KDE's
KParts technologie en bestaat uit een
spread-sheet, een presentatieprogramma, een organizer, een
nieuwsclient en meer. KDE heeft
ook de webbrowser 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
website.KDE installerenNet 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:&prompt.root; pkg_add -r kde&man.pkg.add.1; haalt automatisch de laatste versie van
de applicatie op.Om KDE vanuit de
Portscollectie te bouwen en te installeren:&prompt.root; cd /usr/ports/x11/kde3
&prompt.root; make install cleanNadat 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:&prompt.user; echo "exec startkde" > ~/.xinitrcAls 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 detailsNadat 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
paragrafen beschrijven de technische zaken die moeilijk
proefondervindelijk te achterhalen zijn.De KDE beeldschermmanagerKDEbeeldschermmanagerEen 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 te beginnen dient het KDE
beheerpaneel kcontrol door
root uitgevoerd te worden. Er wordt in
het algemeen vanuit gegaan dat het niet veilig is om als
root de X omgeving te gebruiken. In
plaats daarvan wordt de window manager als normale gebruiker
gestart en in een terminalvenster (zoals
xterm of
KDE's
konsole) wordt root
met su aangemeld. De gebruiker moet
hiervoor wel in de groep wheel
in /etc/group staan). In het
terminalvenster kan dan kcontrol
ingegeven worden.Eerst dient geklikt te worden op het linker icoon
System, daarna op Login
manager. Rechts staan nu verschillende opties
om in te stellen die de KDE
handleiding uitgebreid behandelt. Klik op
sessions aan de rechterzijde. Klik
New type om de verschillende window
managers en bureaubladomgevingen toe te voegen. Dit zijn
alleen de labels, hierop staat dan
KDE en
GNOME in plaats van
startkde of
gnome-session. Er dient ook nog
een label failsafe gemaakt te
worden.Er wordt aangeraden ook met de andere menu's te spelen.
Die zijn hoofdzakeklijk voor cosmetische zaken en spreken
voor zich. Als de instellingen gemaakt zijn kan onderaan op
Apply geklikt worden en kan het
beheerprogramma verlaten worden.Om te zorgen kdm begrijpt
wat de labels (KDE en
GNOME etc) betekenen, dienen de
bestanden die XDM gebruikt
gewijzigd te worden.In KDE 2.2 is dit veranderd:
kdm gebruikt nu zijn eigen
instellingenbestanden. In de
KDE 2.2 documentatie staan
meer details.Als root, in een terminal venster,
dient /usr/X11R6/lib/X11/xdm/Xsession
gewijzigd te worden. In het midden van het bestand is een
onderdeel dat er als volgt uitziet:case $# in
1)
case $1 in
failsafe)
exec xterm -geometry 80x24-0-0
;;
esac
esacEr moeten een aantal regels toegevoegd worden aan dit
onderdeel. Aangenomen dat de gebruikte labels
KDE en GNOME waren, dient
dat het volgende de worden:case $# in
1)
case $1 in
kde)
exec /usr/local/bin/startkde
;;
GNOME)
exec /usr/X11R6/bin/gnome-session
;;
failsafe)
exec xterm -geometry 80x24-0-0
;;
esac
esacOm bij het aanmelden de KDE
bureaubladachtergrond hetzelfde te laten zijn als na het
aanmelden, dient de volgende regel toegevoegd worden aan
/usr/X11R6/lib/X11/xdm/Xsetup_0:/usr/local/bin/krootimageNu moet kdm voorkomen in
/etc/ttys en starten bij de volgende
herstart. Om dit te doen kunnen de instructies uit XDM gebruikt worden en kan
/usr/X11R6/bin/xdm vervangen worden
in /usr/local/bin/kdm.Anti-alias lettertypenKDEanti-alias lettertypenX11 ondersteunt anti-aliasing door de toevoeging de
RENDER toevoeging en vanaf
Qt versie 2.3 ondersteunt Qt (de toolkit die bij
KDE zit) deze toevoeging. Het
instellen hiervan is beschreven in
over anti-aliasing X11 lettertypen. Dus met up-to-date
software is anti-aliasing mogelijk op een
KDE bureaublad. In het
KDE menu moet in PreferencesLook and
FeelFonts het vinkvakje Gebruik
Anti-aliasing voor Lettertypen en Iconen
aangevinkt worden. Voor Qt applicaties die geen onderdeel
zijn van KDE moet de
omgevingsvariabele QT_XFT op
true gezet worden voordat het programma
wordt gestart.XFceOver XFceXFce 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
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
applicatiesGeïntegreerde window manager, bestandsmanager,
geluidsmanager, GNOME
compliance module en andere zaken;Thema's (sinds het gebruik van GTK+);Snel, licht en efficient: ideaal voor de oudere
of langzamere machines of machines met beperkte
hoeveelheid geheugen;Meer informatie over XFce
staat op de XFce
website.Installeren van XFceXFce is met een package
te installeren:&prompt.root; pkg_add -r xfce4Of vanuit de Portscollectie:&prompt.root; cd /usr/ports/x11-wm/xfce4
&prompt.root; make install cleanNu moet de X server weten dat
XFce gestart moet worden als X de
volgende keer start:&prompt.user; echo "/usr/X11R6/bin/startxfce4" > ~/.xinitrcDe 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
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/freebsd.dsl b/nl_NL.ISO8859-1/share/sgml/freebsd.dsl
index c8676c3d2a..f1161f813b 100644
--- a/nl_NL.ISO8859-1/share/sgml/freebsd.dsl
+++ b/nl_NL.ISO8859-1/share/sgml/freebsd.dsl
@@ -1,251 +1,252 @@
]>
(define %refentry-xref-link% #t)
(define ($email-footer$)
(make sequence
(make element gi: "p"
attributes: (list (list "align" "center"))
(make element gi: "small"
(literal "Deze en andere documenten kunnen worden gedownload van ")
(create-link
(list (list "HREF" "ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/"))
(literal "ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/"))
(literal ".")))
(make element gi: "p"
attributes: (list (list "align" "center"))
(make element gi: "small"
(literal "Lees voor vragen over FreeBSD de ")
(create-link
(list (list "HREF" "http://www.FreeBSD.org/docs.html"))
(literal "documentatie"))
(literal " alvorens contact te zoeken <")
(create-link
(list (list "HREF" "mailto:questions@FreeBSD.org"))
(literal "questions@FreeBSD.org"))
(literal ">.")
(make empty-element gi: "br")
- (literal "Vragen over deze documentatie kunnen per e-mail naar<")
+ (literal "Vragen over deze documentatie kunnen per e-mail naar <")
(create-link (list (list "HREF" "mailto:doc@FreeBSD.org"))
(literal "doc@FreeBSD.org"))
(literal ">.")))))
]]>
number ;; then get the apparent level
(substring renderas 4 5)) ;; from "renderas",
(SECTLEVEL))) ;; else use the real level
(hs (HSIZE (- 4 hlevel))))
(make sequence
(make paragraph
font-family-name: %title-font-family%
font-weight: (if (< hlevel 5) 'bold 'medium)
font-posture: (if (< hlevel 5) 'upright 'italic)
font-size: hs
line-spacing: (* hs %line-spacing-factor%)
space-before: (* hs %head-before-factor%)
space-after: (if (node-list-empty? subtitles)
(* hs %head-after-factor%)
0pt)
start-indent: (if (or (>= hlevel 3)
(member (gi) (list (normalize "refsynopsisdiv")
(normalize "refsect1")
(normalize "refsect2")
(normalize "refsect3"))))
%body-start-indent%
0pt)
first-line-start-indent: 0pt
quadding: %section-title-quadding%
keep-with-next?: #t
heading-level: (if %generate-heading-level% (+ hlevel 1) 0)
;; SimpleSects are never AUTO numbered...they aren't hierarchical
(if (> hlevel (- max-section-level-labels 1))
(empty-sosofo)
(if (string=? (element-label (current-node)) "")
(empty-sosofo)
(literal (element-label (current-node))
(gentext-label-title-sep (gi sect)))))
(element-title-sosofo (current-node)))
(with-mode section-title-mode
(process-node-list subtitles))
($section-info$ info))))
]]>
(define (local-en-label-title-sep)
(list
(list (normalize "warning") ": ")
(list (normalize "caution") ": ")
(list (normalize "chapter") " ")
(list (normalize "sect1") " ")
(list (normalize "sect2") " ")
(list (normalize "sect3") " ")
(list (normalize "sect4") " ")
(list (normalize "sect5") " ")
))
diff --git a/nl_NL.ISO8859-1/share/sgml/mailing-lists.ent b/nl_NL.ISO8859-1/share/sgml/mailing-lists.ent
index 0234fe3b7e..308df954e7 100644
--- a/nl_NL.ISO8859-1/share/sgml/mailing-lists.ent
+++ b/nl_NL.ISO8859-1/share/sgml/mailing-lists.ent
@@ -1,412 +1,421 @@
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-emulatie mailinglijst">
freebsd-emulatie">
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 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-rc">
FreeBSD realtime extensions mailinglijst">
freebsd-realtime">
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 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">
Discussis over de VuXML infrastructuur">
freebsd-vuxml">
FreeBSD Webmaster mailinglijst">
freebsd-www">
FreeBSD X11 mailinglijst">
freebsd-x11">
+
+
+bug-followup@FreeBSD.org">
+
+
majordomo@FreeBSD.org">