<!DOCTYPE Article PUBLIC "-//OASIS//DTD DocBook V3.1//EN">
<!-- 
  Configuration HOWTO, by Guido Gonzato, <ggonza@tin.it>
  written with jed and docbook mode 
  (http://ibogeo.df.unibo.it/guido/jed.html)
-->

<article>

<artheader>

<title>Configuratie HOWTO</title>

  <author>
    <firstname>Guido</firstname>
    <othername>``goccia''</othername>
    <surname>Gonzato</surname>
    <affiliation>
      <address>
      <email>ggonza@tin.it</email>
      </address>
    </affiliation>
  </author>

  <author>
    <firstname>Vertaald door:Ellen</firstname>
    <surname>Bokhorst</surname>
    <affiliation>
      <address>
      <email>bokkie@nl.linux.org</email>
      </address>
    </affiliation>
  </author>
  
  <pubdate>
    Versie 1.99.7. 6 november 2001.
  </pubdate>

  <revhistory>
    <revision>
      <revnumber>v1.99.7</revnumber>
      <date>06-11-2001</date>
      <authorinitials>gg</authorinitials>
      <revremark>
            DocBook tags bijgewerkt en gecorrigeerd.
      </revremark>
    </revision>
    <revision>
      <revnumber>v1.99.6</revnumber>
      <date>31-08-2000</date>
      <authorinitials>gg</authorinitials>
      <revremark>
      </revremark>
    </revision>
  </revhistory>

  <abstract>
  <para>
    Deze HOWTO richt zich op het sneller en makkelijker fijnafstemmen van 
    je nieuw ge&iuml;nstalleerde Linux box. Je treft hierin een set
    configuratietips aan voor de meest gebruikelijke applicaties en services.
  </para>
  </abstract>

</artheader>

<!-- Introduction -->

<sect1 id="Introduction">
<title>Introductie</title>

<!-- Why -->

<sect2>
<title>Waarom deze HOWTO</title>

<para>
  Huidige distributies benaderen thans de perfectie, maar wat fijnafstemming
  is nog steeds nodig. Veel nieuwe gebruikers zijn ge&iuml;ntimideerd
  door de schijnbare complexiteit van een Linux systeem, en als gevolg
  daarvan bemerkte ik dat steeds weer dezelfde vragen opdoken in c.o.l.setup.
  Om te proberen iets aan deze situatie te doen en voor mijn eigen gemak,
  schreef ik een te-doen lijst die uiteindelijk tot deze HOWTO uitgroeide.
  Je vindt hierin configuratietips en voorbeelden voor de meest gebruikelijke
  applicaties, programma's en services die je een tamelijke hoeveelheid
  tijd en werk zouden kunnen besparen.
</para>

<para>
  Ik realiseer me dat deze HOWTO nogal rondom RedHat is gecentreerd.
  Thans heb ik alleen toegang tot Red Hat en Mandrake machines, kernels
  vari&euml;rend van 2.0.36 tot 2.2.15; dus bestempel mijn tips niet als
  heilig als je andere distributies hebt. Eerdere versies van deze HOWTO
  voorzagen in wat informatie voor SuSE, Debian en Caldera; maar aangezien
  ik niet langer toegang hebt tot die machines, kan ik de details niet
  bijgewerkt houden. Geen informatie is nog altijd beter dan niet accurate
  informatie, dus het is aan jou om mijn tips aan jouw distributie aan
  te passen.
</para>

<para>
  Deze HOWTO kan anderen niet vervangen en daarvoor is het ook niet bedoeld.
  Het lezen van docs en HOWTO's betaalt zich altijd terug, dus het is
  van harte aan te bevelen dat je dit doet als je meer wilt leren.
  <!-- Also, no spoon, feeding here:--> Als je je realiseert dat je
  iets niet begrijpt, raadpleeg dan alsjeblieft de relevante HOWTO.
  Laat me je eraan herinneren dat de juiste plaats voor het zoeken naar
  hulp over de Linux configuratie Usenet is, d.w.z.
  <ulink URL="news:comp.os.linux.setup">
  <citetitle>news:comp.os.linux.setup</citetitle></ulink>.
  Zoek <emphasis>alsjeblieft</emphasis> geen hulp bij mij, want ik ben
  al tamelijk overbelast.
</para>

<para>
  De offici&euml;le plaats voor dit document, waar tevens alle andere
  HOWTO's worden gehost waarnaar ik refereer en een aantal vertalingen,
  is <ulink URL="http://www.linuxdoc.org"><citetitle>http://www.linuxdoc.org
  </citetitle></ulink>.
</para>

</sect2>

<!-- What -->

<sect2>
<title>Wat we zullen gaan configureren</title>

<para>
  Er zijn eindeloos veel hardwareconfiguraties voor een PC, maar mijn
  ervaring is dat er &eacute;&eacute;n zeer algemeen is: een PC voorzien
  van een grote HD die in drie partities is opgesplitst (&eacute;&eacute;n
  partitie voor DOS/Windows, &eacute;&eacute;n voor Linux en 
  &eacute;&eacute;n voor swap), een geluidskaart, een modem, een CD-ROM station,
  een printer en een muis. Ook een parallelle poort Zip Drive komt veel voor.
  Deze machine maakt mogelijk onderdeel uit van een gemengd Windows-Linux
  netwerk, waar het fungeert als server.
</para>

<para>
  Ik veronderstel dat dit de hardware is die je wilt configureren, maar
  het is eenvoudig om de hierna volgende tips aan te passen voor andere
  configuraties. Er wordt impliciet verondersteld dat je root zult zijn
  tijdens het bewerken/corrigeren/hacken.
</para>

<para>
  En stroop nu je mouwen maar op jongens.
</para>

</sect2>

</sect1>

<!-- General System Setup -->

<sect1>
<title>Algemene systeemsetup</title>

<!-- Security -->

<sect2>
<title>Een paar woorden over beveiliging</title>

<para>
  Nog voordat je je systeem boot, zou je moeten besluiten welk
  beveiligingsniveau je wilt implementeren. Verbind je machine niet met
  het netwerk totdat je hebt besloten wat je zult gaan doen.
</para>

<para>
  Beveiliging is een veelomvattend onderwerp dat buiten het kader van
  deze HOWTO valt; twee goede uitgangspunten zijn de 
  Linux Security Administrator's Guide <ulink
  URL="http://www.securityportal.com/lasg"><citetitle>
  http://www.securityportal.com/lasg</citetitle></ulink> en de Linux
  Security Guide <ulink
  URL="http://nic.com/~dave/SecurityAdminGuide/index.html">
  <citetitle>http://nic.com/~dave/SecurityAdminGuide/index.html
  </citetitle></ulink>. Neem op z'n minst de volgende stappen in overweging:
  gebruik shadow passwords (Shadow Password HOWTO), beperk de netwerktoegang
  tot de machine (Sectie <XRef LinkEnd="Restricting">), gebruik van de
Secure Shell (<ulink
  URL="http://www.openssh.org"><citetitle>http://www.openssh.org
  </citetitle></ulink>) of het Secure Remote Password (<ulink
  URL="http://srp.stanford.edu/srp/"><citetitle>
  http://srp.stanford.edu/srp/</citetitle></ulink>). Veel succes.
</para>

</sect2>

<!-- Logbook -->

<sect2>
<title>Begin een logboek!</title>

<para>
  Om je installatie in vorm te houden, is het van 
  <emphasis>essentieel</emphasis> belang dat je exact weet wat er met
  je machine gebeurde, welke packages je die dag installeerde, wat je
  verwijderde of aanpaste, enzovoort. Dus het eerste dat je gaat doen
  voordat je met je vingers aan je machine zit is een ``logboek''
  beginnen. Daarin vermeld je <emphasis>alle</emphasis> stappen die
  je als root uitvoert; in mijn eigen logboek houd ik ook een sectie
  bij waarin ik alle gewijzigde systeembestanden opsom en extra .rpms
  en .tar.gz die ik installeerde. In de meest optimale situatie zouden
  de stappen die je nam je terug moeten kunnen voeren naar een
  nieuwe installatie.
</para>

<para>
  Maak een backup van de systeembestanden die je wijzigt. Nog beter:
  gebruik RCS; je zult alle wijzigingen terug kunnen halen. Werk nooit
  als root zonder je stappen te loggen!
</para>

</sect2>

<!-- Keyboard -->

<sect2>
<title>Toetsenbord</title>

<para>
  Als je deze stap tijdens de installatie hebt misgelopen of je
  toetsenbord is gewijzigd, dan moet je:
</para>

<para>

<itemizedlist>

<listitem>
<para>
  zoeken naar een passende toetsenbordtabel beginnend in
  <filename>/usr/lib/kbd/keymaps/i386</filename>; 
  <filename>querty/it-latin1.kmap.gz</filename> bijvoorbeeld biedt
  ondersteuning voor het Italiaanse toetsenbord;
</para>
</listitem>

<listitem>
<para>
  bewerk het bestand <filename>/etc/sysconfig/keyboard</filename> zodat
  er in komt te staan:
  <filename>KEYTABLE="it-latin1"</filename>;
</para>
</listitem>

<listitem>
<para>
  voor het instellen van de repeteersnelheid en vertragingstijd van je
  toetsenbord voeg je deze regel toe aan
  <filename>/etc/rc.d/rc.sysinit</filename>:

<screen>
/sbin/kbdrate -s -r 16 -d 500  # of wat je maar wilt
</screen>

</para>
</listitem>

</itemizedlist>

</para>

<para>
Voor het laden van de toetsentabel voer je uit
</para>

<screen>
/etc/rc.d/init.d/keytable start
</screen>

<para>
  Andere speciale toetsen zullen in de volgende secties worden behandeld.
  Voeg de volgende regels toe aan
  <filename>/etc/rc.d/rc.sysinit</filename> om standaard NumLock te activeren:
</para>

<screen>
for tty in /dev/tty[1-9]*; do
  setleds -D +num &#60; $tty
done
</screen>

<para>
  Normaal gesproken kan de Linux console geen onderscheid maken tussen,
  stel, de pijltjestoets en de shift-toets in combinatie met de pijltjestoets,
  maar een aantal applicaties (namelijk de editor <XRef LinkEnd="jed">) 
  doet dit wel. Normaal gesproken zijn deze toetsendefinities alleen in
  xterm beschikbaar. De volgende toetsindeling, die je tijdens het
  booten kunt kiezen is erg handig:
</para>

<screen>
# Laad deze toetsindeling met: loadkey shift.map
# Shift + Up
shift keycode 103 = F100
string F100 = "\033[a"
# Shift + Left
shift keycode 106 = F101
string F101 = "\033[c"
# Shift + Right
shift keycode 105 = F102
string F102 = "\033[d"
# Shift + Down
shift keycode 108 = F103
string F103 = "\033[b"
# Ctrl + Ins
control keycode 110 = F104
string F104="\033[2^"
# Shift + Ins
shift keycode 110 = F105
string F105="\033[2$"
# Shift + PgUp
shift keycode 104 = F106
string F106 = "\033[5$"
# Shift + PgDn
shift keycode 109 = F107
string F107 = "\033[6$"
# Shift + Home
shift keycode 102 = F108
string F108 = "\033[1$"
# Shift + End
shift keycode 107 = F109
string F109 = "\033[4$"
# Shift + Del
shift keycode 111 = F110
string F110 = "\033[3$"
# Ctrl + Del
control keycode 111 = F111
string F111 = "\033[3^"
</screen>

</sect2>

<!-- Rescue Floppy -->

<sect2>
<title>Boot en Rescue diskette</title>

<para>
  Maak een paar bootdiskettes van je nieuw ge&iuml;nstalleerde systeem.
  Het kan zijn dat er in je distributie een opdracht is opgenomen voor
  het aanmaken van een dergelijke diskette (stel 
  <filename>mkbootdisk</filename> of iets dergelijks); zo niet, dan
  kun je de volgende opdrachten gebruiken:
</para>

<para>

<screen>
#~ dd if=/boot/vmlinuz-2.0.36-0.7 of=/dev/fd0  # gebruik je kernelimage
#~ rdev /dev/fd0 /dev/hda2                     # je Linux root partitie
</screen>

</para>

<para>
  Zorg ook dat je op z'n minst een paar rescue diskettes klaar hebt liggen.
  Er is een grote keuze uit rescue diskettes op <ulink
  URL="ftp://metalab.unc.edu/pub/Linux/system/recovery"><citetitle>
  ftp://metalab.unc.edu/pub/Linux/system/recovery </citetitle></ulink>; als
  je niet weet elke je moet kiezen, raad ik je aan Tomsbtrt te proberen.
  De homepage ervan is te vinden op <ulink
  URL="http://www.toms.net/rb"><citetitle>http://www.toms.net/rb
  </citetitle></ulink>. Het is behoorlijk compleet, maar het lijkt in eerste
  instantie of er een aantal utility's ontbreken;
  bijvoorbeeld: <filename> ftp</filename> staat er niet op, maar daarvoor
  in de plaats krijg je <filename>nc</filename> (netcat). 
  Lees alsjeblieft de bijbehorende documentatie.
</para>

</sect2>

<!-- Console -->

<sect2 id="console">
<title>Console kleuren</title>

<para>
  Waarom zou je de Linux console wit op zwart blijven houden? Met de opdracht
  <command>setterm</command> kun je uit mooiere combinaties kiezen:
</para>

<screen width="80">
setterm -background blue -foreground red -bold on -store
</screen>

<para>
  Typ <command>setterm</command> op zichzelf voor een lijst met argumenten.
</para>

</sect2>

<!-- Kernel -->

<sect2>
<title>Kernel kwesties</title>

<para>
  IMHO, het eerste wat je zou moeten doen is het bouwen van een kernel
  die het beste past bij je systeem. Het is zeer simpel uit te voeren.
  Raadpleeg in elk geval het
  <filename>README</filename> bestand in <filename>/usr/src/linux/</filename>
  of de Kernel HOWTO. Hints:
</para>

<para>

<itemizedlist>
<listitem>

<para>
  Neem zorgvuldig in overweging wat je nodig hebt. Het uitkiezen van een 
  kernelconfiguratie, het toepassen van de patches en het voor eens en
  voor altijd compileren is productiever dan de kernel elke maand
  opnieuw configureren en compileren; dit geldt vooral als je
  Linux box een server is. Vergeet geen ondersteuning voor alle hardware
  op te nemen die je in de toekomst naar alle waarschijnlijkheid toe 
  zult voegen (zoals b.v. SCSI, Zip, netwerkkaarten, enz.); het gebruik
  van modules is gewoonlijk de beste keuze;
</para>
</listitem>
<listitem>

<para>
  notebook gebruikers: als je van plan bent een PCMCIA modem/fax te gaan
  gebruiken, denk er dan aan seri&euml;le ondersteuning 
  <emphasis>in de kernel</emphasis> te compileren. Compileer het niet als
  een module, aangezien dit een complexere configuratie vereist;
</para>
</listitem>
<listitem>

<para>
  denk er aan alles wat je nodig hebt te compileren; d.w.z. vergeet de
  pcmcia modules niet, of de ALSA geluidsdrivers;
</para>
</listitem>
<listitem>

<para>
  om voor de volgende keer dat je de kernel herconfigureert en
  hercompileert tijd te besparen is het een goed plan om je configuratie
  in een bestand te bewaren en het op een veilige plaats te bewaren.
  Als je bij het upgraden van de kernel ``make oldconfig'' gebruikt,
  zal je oude configuratiebestand worden genomen en van niet opgenomen features
  zal worden gevraagd op ze moeten worden opgenomen, wat resulteert in een
  nieuw bijgewerkt configuratiebestand.
</para>
</listitem>

</itemizedlist>

</para>

</sect2>

<!-- HD -->

<sect2>
<title>Hard Disk Performance</title>

<para>
  Je (E)IDE hard disk's performance kan enorm worden verbeterd door
  <emphasis>zorgvuldig</emphasis> gebruik te maken van 
  <filename>hdparm</filename>(8). Als het niet in je distributie is
  opgenomen, dan kun je het vinden op <ulink
  URL="ftp://metalab.unc.edu/pub/Linux/system/hardware"><citetitle>
  ftp://metalab.unc.edu/pub/Linux/system/hardware </citetitle></ulink>; zoek
  naar een bestand genaamd <filename>hdparm-X.Y.tar.gz</filename>.
</para>

<para>
  Aangezien veel details afhankelijk zijn van je harddisk en HD-controller
  kan ik je geen algemeen recept geven. Je riskeert het roosteren van
  je bestandssysteem, dus
  <emphasis>lees de manpage zorgvuldig door</emphasis> voor je
  een aantal opties gaat gebruiken. Op z'n eenvoudigst zou je de volgende
  regel toe kunnen voegen aan <filename>/etc/rc.d/rc.sysinit</filename>:
</para>

<para>

<screen>
/sbin/hdparm -c1 /dev/hda  # eerste IDE drive verondersteld
</screen>

</para>

<para>
  waarmee (E)IDE 32-bit I/O ondersteuning wordt geactiveerd.
  Wat betreft de optie `<filename>-m</filename>' mailde de auteur van
  <filename>hdparm</filename> me:
</para>

<para>
<QUOTE> (...) als je systeem gebruik maakt van componenten van de afgelopen
paar jaar &lsqb;&#60; 1997], dan is er niets aan de hand. Er *kan* een
probleem optreden (onwaarschijnlijk) wanneer ouder dan dat. De echte
fouten bevattende chips waren de CMD0646 en RZ1000 chips, die *veelvuldig*
op 486 en (de oudere) 586 moederborden werden gebruikt.
  </QUOTE>
</para>

<para>
  Op recente machines zullen deze instellingen prima werken:
</para>

<para>

<screen>
/sbin/hdparm -c1 -A1 -m16 -d1 /dev/hda
</screen>

</para>

</sect2>

<!-- Zip drive -->

<sect2>
<title>Parallelle poort Zip Drive</title>

<para>
  In geleverde kernels is de driver voor zowel de oude (ppa) als de nieuwe
  (imm) Zip drives opgenomen. Zorg dat SCSI ondersteuning en SCSI 
  diskondersteuning zijn geactiveerd wanneer je de kernel hercompileert.
  Denk er aan dat er conflicten op kunnen treden tussen de printer en
  de Zip-drive als ze op dezelfde parallelle poort zijn aangesloten. Daarom
  kun je beter gebruik maken van kernelmodules.
</para>

<para>
  Zipdisks worden voorgeformatteerd verkocht op partitie
  <filename>/dev/sda4</filename>. Om de Zip te activeren, voeg je dit
  toe aan <filename>/etc/rc.d/rc.sysinit</filename>:
</para>

<para>

<screen>
# Activeer de Zipdrive
/sbin/modprobe ppa  # imm voor recente modellen
</screen>

</para>

<para>
  Zipdisks kunnen via <filename>/etc/fstab</filename> worden gemount
  zoals hieronder wordt getoond, of via Mtools door deze regel
  toe te voegen aan <filename>/etc/mtools.conf</filename>:
</para>

<para>

<screen>
drive z: file="/dev/sda4" exclusive
</screen>

</para>

<para>
  bovendien, kun je met de opdracht <filename>mzip</filename> Zipdisks
  uitwerpen, de status ervan ondervragen, en ze met een wachtwoord
  beveiligen; zie <filename>man mzip</filename> voor details. 
  De homepage van mtools is te vinden op <ulink
  URL="http://linux.wauug.org/pub/knaff/mtools"><citetitle>
  http://linux.wauug.org/pub/knaff/mtools</citetitle></ulink>.
</para>

</sect2>

<!-- Device drivers -->

<sect2>
<title>Device Drivers</title>

<para>
  Devices in <filename>/dev</filename> (of beter, links naar de werkelijke
  devicedrivers) kunnen ontbreken. Kijk na met welke device je muis,
  modem en CD-ROM drive correspondeert en voer dan het volgende uit:
</para>

<para>

<screen>
~# cd /dev
/dev# ln -s ttyS0 mouse; ln -s ttyS1 modem; ln -s hdb cdrom; ln -s sda4 zip
</screen>

</para>

<para>
  Bij de meeste notebooks is <filename>/dev/psaux</filename> het device
  voor de muis: houd hier bij het configureren van X11 rekening mee.
  Als je dit wilt, kun je een <filename>chmod 666</filename> uitvoeren 
  op deze devices zodat ze volledig toegankelijk zijn voor elke gebruiker.
</para>

</sect2>

<!-- Sound card -->

<sect2>
<title>Geluidskaart</title>

<para>
  Mijn desktop PC is uitgerust met een oude Sound Blaster 16; ook al
  heb je iets anders, dan kun je het volgende als richtlijn nemen.
</para>

<para>
  Ik compileerde de ondersteuning voor de geluidskaart als een module
  (<filename>sb.o</filename>). Vervolgens plaatste ik dit in
  <filename>/etc/conf.modules</filename>:
</para>

<para>

<screen>
options sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330
alias sound sb
</screen>

</para>

<para>
  Zorg dat <filename>modprobe sound</filename> vanuit
  <filename>/etc/rc.d/rc.sysinit</filename> wordt aangeroepen als je
  het geluid wilt activeren. Als alternatief kun je de tool
  <filename>sndconfig</filename> van de RedHat site ophalen.
</para>

<para>
  Buiten de standaard kernel geluidsdrivers, zijn de Alsa drivers
 (<ulink URL="http://www.alsa-project.org"><citetitle>
  http://www.alsa-project.org</citetitle></ulink>) een uitstekende keuze.
  Vreemd genoeg echter, zijn de geluidskanalen standaard onderdrukt.
  Je kunt <filename>aumix</filename> en deze <filename>/etc/aumixrc</filename>
  gebruiken om het volume op 100&percnt; in te stellen:
</para>

<para>

<screen>
vol:100:100:P
synth:100:100:P
pcm:100:100:P
line:100:100:P
mic:100:100:R
cd:100:100:P
</screen>

</para>

</sect2>

<!-- Login messages -->

<sect2>
<title>Loginmeldingen</title>

<para>
  Controleer of <filename>/etc/rc.d/rc.local</filename> 
  <filename>/etc/issue</filename> en <filename>/etc/motd</filename>
  overschrijft als je de loginmeldingen aan wilt passen.
  (RedHat doet dit.) Haal je editor voor de dag als dit zo is.
</para>

<para>
  Als je een gekleurde loginmelding wilt, dan kun je
  het bestand <filename>rc.local</filename> aanpassen door er
  regels in te voegen als:
</para>

<para>

<screen>
# plaats een echt escape teken in plaats van ^[. Dit doe je zo:
# emacs: ^Q ESC   vi: ^V ESC   joe:  ` 0 2 7   jed: ` ESC
ESC="^["  # een echt escape teken
BLUE="$ESC[44;37m"
NORMAL="$ESC[40;37m"
CLEAR="$ESC[H$ESC[J"

> /etc/issue
echo "$CLEAR" >> /etc/issue
echo "$BLUE   Welkom op MijnServer (192.168.1.1)   " >> /etc/issue
echo "$NORMAL " >> /etc/issue
echo "" >> /etc/issue
</screen>

</para>

</sect2>

<!-- Hostname -->

<sect2 id="Hostname">
<title>Hostnaam </title>

<para>
  Uitvoeren van de opdracht <filename>hostname new_host_name</filename> is
  wellicht niet genoeg. 
  Om het geduchte vastlopen van 
  <filename>sendmail</filename> te voorkomen, volg je de volgende stappen
  (geldt alleen voor een standalone machine):
</para>

<para>

<itemizedlist>
<listitem>

<para>
  bewerk <filename>/etc/sysconfig/network</filename> en wijzig de
  hostnaam in dit bestand
  (b.v. <filename>nieuwe_host_naam.je_domein</filename>);

</para>
</listitem>
<listitem>

<para>
  bewerk <filename>/etc/HOSTNAME</filename> dienovereenkomstig:

</para>
</listitem>
<listitem>

<para>
  voeg als volgt de nieuwe hostnaam toe aan het bestand 
  <filename>/etc/hosts</filename>:

<screen>
127.0.0.1       localhost  nieuwe_host_naam.je_domein
</screen>

</para>
</listitem>

</itemizedlist>

</para>

</sect2>

<!-- Mouse -->

<sect2>
<title>Mouse</title>

<para>
  <filename>gpm</filename> mouse services zijn handig om knip en plak
  bewerkingen in tty modi uit te voeren, en voor gebruik van de muis
  in een aantal toepassingen. Zorg dat je een bestand
  <filename>/etc/sysconfig/mouse</filename> hebt met de inhoud:
</para>

<para>

<screen>
MOUSETYPE="Microsoft"
XEMU3=yes
</screen>

</para>

<para>
Bovendien heb je het bestand <filename>/etc/rc.d/init.d/gpm</filename> nodig, 
waarin je extra opdrachtregelparameters plaatst. In de mijne staat:
</para>

<para>

<screen>
...
       daemon gpm -t $MOUSETYPE -d 2 -a 5 -B 132 # twee-knops muis
...
</screen>

</para>

<para>
  Zorg uiteraard wel dat deze configuratie juist is voor je type muis.
  Bij de meeste notebooks is het type muis
  <filename>MOUSETYPE</filename> een ``<filename>PS/2</filename>''.
</para>

<para>
  Als je met behulp van de Ctrl-knop graag gebruik maakt van menu's onder 
  de console dan configureer je
  <filename>gpm-root</filename>. Bewerk het standaardmenu in
  <filename>/etc/gpm-root.conf</filename>, en start dan
  <filename>gpm-root</filename> vanuit
  <filename>/etc/rc.d/rc.local</filename> op.
</para>

</sect2>

<!-- Mount points -->

<sect2>
<title>Mount Points</title>

<para>
  Mountpoints voor diskettes, NFS ge&euml;xporteerde directory's en
  andere devices zijn altijd handig. Je kunt bijvoorbeeld het volgende doen:
</para>

<para>

<screen>
~# cd /mnt; mkdir floppy cdrom win zip server
</screen>

</para>

<para>
  Hiermee worden mountpoints voor een DOS/Win diskette, een CD-ROM, een
  Windows partitie, een parallelle poort Zipdrive en een NFS directory
  aangemaakt.
</para>

<para>
Wijzig nu het bestand <filename>/etc/fstab</filename> en voeg de volgende
regels toe:
</para>

<para>

<screen>
/dev/fd0        /mnt/floppy     auto            user,noauto 0 1
/dev/cdrom      /mnt/cdrom      iso9660         ro,user,noauto 0 1
/dev/zip        /mnt/zip        vfat            user,noauto,exec 0 1
/dev/hda1       /mnt/win        vfat            user,noauto 0 1
server:/export  /mnt/server     nfs             defaults
</screen>

</para>

<para>
Uiteraard moet je in het eerste veld gebruik maken van het juiste device.
</para>

<para>
  Met het bestandstype `auto' op de eerste regel kun je zowel ext2 als
  vfat (DOS/Windows) diskettes mounten, maar je hebt hiervoor een recente
  versie van <filename>mount</filename> nodig. 
  Wellicht vind je <filename>mtools</filename> comfortabeler.
</para>

</sect2>

<!-- Automount -->

<sect2>
<title>Automount</title>

<para>
  Als je het mounten/unmounten niet prettig vindt, overweeg dan het
  gebruik van <filename>autofs</filename>(5). Je geeft de autofs daemon
  op wat het automatisch moet mounten en waar het met een bestand
  moet beginnen in <filename>/etc/auto.master</filename>. 
  De structuur ervan is simpel:
</para>

<para>

<screen>
/misc	/etc/auto.misc
/mnt	/etc/auto.mnt
</screen>

</para>

<para>
In dit voorbeeld gaf je autofs op de media automatisch op 
<filename>/misc</filename> en <filename>/mnt</filename>  te mounten, waarbij
de mountpoints in <filename>/etc/auto.misc</filename> en 
<filename>/etc/auto.mnt</filename> zijn opgegeven. Een voorbeeld 
<filename>/etc/auto.misc</filename>:
</para>

<para>

<screen>
# een NFS export
server	 	-ro			my.buddy.net:/pub/export
# verwijderbare media
cdrom       	-fstype=iso9660,ro	:/dev/hdb
floppy		-fstype=auto		:/dev/fd0
</screen>

</para>

<para>
  Start de automounter. Van nu af aan zal een niet bestaand mountpoint
  <filename>/misc/cdrom</filename> worden aangemaakt wanneer je
  de CD-ROM probeert te benaderen en zal de CD-ROM worden gemount.
</para>

</sect2>

<!-- LILO -->

<sect2>
<title>lilo(8) en LOADLIN.EXE</title>

<para>
  Veel gebruikers draaien zowel Linux als DOS/Windows op hun PC, en
  willen tijdens het booten kunnen kiezen welk os ze zullen gaan gebruiken;
  dit zou tijdens de installatie moeten zijn geconfigureerd, maar mocht
  dit niet gebeurd zijn, voer dan de hieronder volgende stappen op.
  Stel dat op <filename>/dev/hda1</filename> DOS/Windows is ge&iuml;nstalleerd
  en op <filename>/dev/hda2</filename> Linux.
</para>

<para>

<screen>
~# fdisk
Gebruik /dev/hda als standaarddevice!

Command (m for help):a
Partition number (1-4): 2

Command (m for help):w
~#
</screen>

</para>

<para>
Dit maakt de Linux partitie bootable. Schrijf dan dit basis
<filename>/etc/lilo.conf</filename> bestand:
</para>

<para>

<screen>
boot = /dev/hda2
compact                # kan een conflict geven met "linear"
delay = 100            # 10 seconden
linear                 # elimineer het "1024 cylinder" probleem
#lba32                 # alternatief
message = /boot/bootmesg.txt  # schrijf er zelf een, als je wilt
root = current
image = /boot/vmlinuz  # boot standaard linux als dit het eerste record is
  label = linux
  read-only
#  append="mem=128M"   # voor meer dan 64M geheugen
other = /dev/hda1
  table = /dev/hda
  label = win
</screen>

</para>

<para>
  Geef nu de opdracht <filename>/sbin/lilo</filename>. Het wordt je hoe
  dan ook aangeraden de documentatie van <filename>lilo</filename>
  te lezen, aangezien het een cruciaal deel van de installatie is.
</para>

<para>
  Om Linux vanuit DOS/Windows te booten zonder de computer te resetten,
  plaats je <filename>LOADLIN.EXE</filename> in een directory (in de DOS 
  partitie!) welke in het DOS-path is opgenomen; kopieer dan je kernel
  naar bv <filename>C:&bsol;TEMP&bsol;VMLINUZ</filename>. Met het volgende
  simpele <filename>.BAT</filename> bestand kun je dan Linux booten:
</para>

<para>

<screen>
rem   linux.bat
smartdrv /C
loadlin c:\temp\vmlinuz root=/dev/hda2 ro
</screen>

</para>

<para>
  Bij het opstarten vanuit Windows 9x, stel je de eigenschappen van dit 
  <filename>.BAT</filename> bestand zo in, dat het in MS-DOS modus wordt
  opgestart.
</para>

<!-- Security tip -->

<sect3>
<title>Beveiligingstip</title>

<para>
  Je doet er verstandig aan een backup van je MBR te maken voordat je
  Linux installeert.
  Bereid een Windows rescue diskette voor, en zorg dat je hier
  <filename>FDISK.EXE</filename> op plaatst. 
  Voor het terugzetten van de MBR, geef je de opdracht
</para>

<para>

<screen>
A:\> fdisk /mbr
</screen>

</para>

</sect3>

</sect2>

<!-- Printer -->

<sect2>
<title>Printer Configuratie (lpd)</title>

<para>
  Alle distributies die ik ken hebben een configuratietool voor het
  instellen van de printer (<filename>printtool</filename>, 
  <filename>yast</filename>, of <filename>magicfilter</filename>); 
  mocht je het niet hebben, dan volgt hier een handmatige basisinstallatie.
</para>

<para>
  Stel dat je een niet-PostScript printer hebt (ook niet ``Windows-only''!)
  welke je wilt gebruiken om gewone tekst zonder opmaak af te drukken
  (b.v., C bronbestanden) en PostScript bestanden via Ghostscript, waarvan
  wordt verondersteld dat dit reeds is ge&iuml;nstalleerd.
</para>

<para>
Het instellen van de printer bestaat uit een paar stappen:
</para>

<para>

<itemizedlist>
<listitem>

<para>
  zoek uit wat het parallelle printdevice is: probeer

<screen>
~# echo "hello, world" > /dev/lp0
~# echo "hello, world" > /dev/lp1
</screen>

en houd in de gaten welke werkt.

</para>
</listitem>
<listitem>

<para>
  maak twee spooldirectory's aan:

<screen>
~# cd /var/spool/lpd
/var/spool/lpd/# mkdir raw; mkdir postscript
</screen>

</para>
</listitem>
<listitem>

<para>
  als je printer het ``trapsgewijze effect'' vertoont (dat doen de meeste
  inkjet-printers) dan heb je een filter nodig.
  Probeer twee regels af te drukken met


<screen>
~# echo "eerste regel" > /dev/lp1 ; echo "tweede regel" > /dev/lp1
</screen>

en ziet de uitvoer er uit als:

<screen>
eerste regel
          tweede regel
</screen>

sla dan dit script op als <filename>/var/spool/lpd/raw/filter</filename>:

<screen>
#!/bin/sh
# Dit filter elimineert het "trapsgewijze effect"
awk '{print $0, "\r"}'
</screen>


  en maak het uitvoerbaar met <filename>chmod 755
  /var/spool/lpd/raw/filter</filename>.

</para>
</listitem>
<listitem>

<para>
  maak een filter voor PostScript emulatie. Schrijf het volgende filter weg als
  <filename>/var/spool/lpd/postscript/filter</filename>:


<screen>
#!/bin/sh

DEVICE=djet500
RESOLUTION=300x300
PAPERSIZE=a4
SENDEOF=

nenscript -TUS -ZB -p- |
if [ "$DEVICE" = "PostScript" ]; then
  cat -
else
  gs -q -sDEVICE=$DEVICE \
    -r$RESOLUTION \
    -sPAPERSIZE=$PAPERSIZE \
    -dNOPAUSE \
    -dSAFER \
    -sOutputFile=- -
fi

if [ "$SENDEOF" != "" ]; then
  printf "\004"
fi
</screen>

(in dit voorbeeld wordt uitgegaan van een HP DeskJet printer. Pas het aan voor
je eigen printer).

</para>
</listitem>
<listitem>

<para>
voeg tenslotte de volgende records toe aan <filename>/etc/printcap</filename>:

<screen>
# /etc/printcap
lp|ps|PS|PostScript|djps:\
        :sd=/var/spool/lpd/postscript:\
        :mx#0:\
        :lp=/dev/lp1:\
        :if=/var/spool/lpd/postscript/filter:\
        :sh:
raw:\
        :sd=/var/spool/lpd/raw:\
        :mx#0:\
        :lp=/dev/lp1:\
        :if=/var/spool/lpd/raw/filter:\
        :sh:
</screen>


</para>
</listitem>

</itemizedlist>

</para>

<para>
  Voor complexere of exotische afdrukconfiguraties, ligt de Printing-HOWTO
  je op te wachten.
</para>

<para>
  Let er bij het gebruik van <filename>printtool</filename> op, dat het 
  GSDEVICE dat door Printtools wordt gekozen wel zal werken, maar dat dit
  niet noodzakelijkerwijs het beste is voor je printer. Wellicht dat je
  wat wilt uitproberen met het bestand <filename>postscript.cfg</filename>; 
  ik veranderde bijvoorbeeld het GSDEVICE van
  <filename>cdj500</filename> in <filename>djet500</filename> en nu
  komen mijn afdrukken er veel sneller uit.
</para>

</sect2>

<!-- SVGATextMode -->

<sect2 id="SVGA">
<title>SVGATextMode </title>

<para>
  Dit utility beschikbaar vanaf <ulink
  URL="ftp://tsx-11.mit.edu/pub/linux/sources/sbin"><citetitle>
  ftp://tsx-11.mit.edu/pub/linux/sources/sbin</citetitle></ulink>, is handig
  voor het wijzigen van de schermresolutie, het lettertype en vorm van de
  cursor voor onder de console. Gebruikers wiens taal geaccentueerde tekens
  bevat zullen deze in console-applicaties kunnen gebruiken, terwijl 
  gebruikers van een notebook de vorm van de cursor aan kunnen passen om
  het zichtbaarder te maken.
</para>

<para>
  Bewerk <filename>/etc/TextConfig</filename> of
  <filename>/etc/TextMode</filename>, te beginnen met de standaard
  VGA-definitie. Europeanen zullen blij zijn met deze
  ``LoadFont'' sectie:
</para>

<para>

<screen>
Option "LoadFont"
FontProg "/usr/bin/setfont"
FontPath "/usr/lib/kbd/consolefonts"
FontSelect "lat1u-16.psf"   8x16 9x16 8x15 9x15
FontSelect "lat1u-14.psf"   8x14 9x14 8x13 9x13
FontSelect "lat1u-12.psf"   8x12 9x12 8x11 9x11
FontSelect "lat1u-08.psf"   8x8  9x8  8x7  9x7
</screen>

</para>

<para>
  Probeer zodra je hiermee klaar bent, je configuratie met een opdracht als
  <filename>SVGATextMode "80x34x9"</filename>, en als alles in orde lijkt
  te zijn, verwijder je de waarschuwingsmeldingen uit
  <filename>/etc/TextMode</filename> en voeg je de volgende regel toe aan
  <filename>etc/rc.d/rc.sysinit</filename>:
</para>

<para>

<screen>
# SVGATextMode
/usr/sbin/SVGATextMode "80x34x9"
</screen>
 
</para>

<para>
De blokcursor werkt slechts in een paar modi; op mijn notebook is dat "80x30x9".
</para>

</sect2>

</sect1>

<!-- Common tasks -->

<sect1>
<title>Algemene beheertaken</title>

<para>
  Hier begint de pret. Deze sectie is nogal rondom netwerken gecentreerd,
  er staan je echter nog veel andere taken te wachten.
</para>

<para>
  Netwerken is een veelomvattend onderwerp wat hier niet volledig kan worden
  behandeld. De referentie hiervoor is de NET-3 HOWTO en de meeste distributies
  voorzien in documentatie over het instellen van netwerkservices. Slechts een
  paar punten zullen hier worden aangehaald.
</para>

<para>
  Een beknopte lijst met services die je wellicht wilt installeren: cron en
  getimede taken zoals calendar of reminder, Http, Samba, telnet/ssh toegang,
  anonymous ftp, POP/IMAP server, NFS...
</para>

<!-- Network cfg -->

<sect2>
<title>Netwerkconfiguratie</title>

<para>
Maak je geen zorgen als je netwerkkaart tijdens het installeren niet werd
herkend: in de meeste gevallen is het of een NE2000 of een 3c59x compatibele
kaart. Geef de opdracht <filename>modprobe ne</filename> of 
<filename>modprobe 3c59x</filename> en kijk of de relevante module is
geladen. Voeg dan deze regel toe aan <filename>/etc/conf.modules</filename>:
</para>

<para>

<screen>
alias eth0 ne  # of 3c59x
</screen>

</para>

<para>
  Nu ben je zover dat je <filename>netcfg</filename> of een vergelijkbaar
  hulpmiddel kunt gaan gebruiken om de netwerkconfiguratie op te zetten.
  De van toepassing zijnde bestanden zijn
  <filename>/etc/HOSTNAME</filename>, <filename>etc/hosts</filename>,
  <filename>/etc/resolv.conf</filename>,
  <filename>/etc/sysconfig/network</filename>, en
  <filename>/etc/sysconfig/network-scripts/ifcfg-eth0</filename>; services
  zouden met scripts in <filename>/etc/rc.d/init.d</filename> moeten worden
  gestart.
</para>

<para>
Dit is een voorbeeld <filename>etc/hosts</filename>:
</para>

<para>

<screen>
127.0.0.1               localhost
192.168.1.1             paleo.eocene.net        paleo
192.168.1.2             nautilus.eocene.net     nautilus
</screen>

</para>

<para>
Dit is <filename>/etc/resolv.conf</filename>:
</para>

<para>

<screen>
search df.unibo.it,eocene.net
nameserver 195.210.91.100
</screen>

</para>

<para>
Dit is <filename>/etc/sysconfig/network</filename> (Red Hat-afhankelijk):
</para>

<para>

<screen>
NETWORKING=false
FORWARD_IPV4=true
HOSTNAME=nautilus.eocene.net
DOMAINNAME=eocene.net
</screen>

</para>

<para>
En tenslotte <filename>/etc/sysconfig/network-scripts/ifcfg-eth0</filename>.
Ook deze is Red Hat afhankelijk; het moet uitvoerbaar zijn.
</para>

<para>

<screen>
DEVICE=eth0
IPADDR=192.168.1.2
NETMASK=255.255.255.0
NETWORK=192.168.1.0
BROADCAST=192.168.1.255
ONBOOT=no
</screen>

</para>

<para>
Alhoewel de feitelijke methode van je distributie om netwerkservices te
starten veel complexer kan zijn, zou het volgende script voldoende moeten
zijn om mee te beginnen:
</para>

<para>

<screen>
#!/bin/sh

# net-up.sh: set up network access

DEVICE=eth0
IPADDR=192.168.1.100
NETMASK=255.255.255.0
NETWORK=192.168.1.0
GATEWAY=192.168.1.1

ifconfig $DEVICE $IPADDR netmask $NETMASK up
route add -net $NETWORK netmask $NETMASK $DEVICE
route add default gw $GATEWAY
</screen>

Als je netwerkexperimenten uit wilt voeren met het loopback interface,
hoef je slechts de volgende opdrachten te geven:

<screen Width="80">
ifconfig lo 127.0.0.1
route add -host 127.0.0.1 lo
</screen>


</para>

<para>
Dit script is handig voor het activeren van netwerktoegang wanneer je een
rescue disk gebruikt. Uiteraard laat dit je slechts naar de buitenwereld
pingen, ftp-en en telnetten; het zal geen daemon opstarten.
</para>

</sect2>

<!-- Notebooks -->

<sect2>
<title>Netwerk voor Notebooks</title>

<para>
Wanneer je de netwerk PC-kaart inplugt, zal het script
<filename>/etc/pcmcia/network</filename> worden uitgevoerd. 
Hier is alleen een juist ingesteld 
<filename>/etc/sysconfig/network-scripts/ifcfg-eth0</filename> bestand
voor nodig.
</para>

<para>
Het instellen van het netwerk kan echter wat lastiger worden. Feitelijk
moet je de juiste instellingen leveren voor elk netwerk waar je een 
verbinding mee opzet, als ook de instellingen voor het notebook wanneer
er geen verbinding tot stand wordt gebracht.
</para>

<para>
IK stelde een grove maar functionele oplossing samen. Ik gebruik mijn
notebook als een stand-alone machine, maakte een verbinding met het net
via PPP; thuis met IP-adres 192.168.1.2; en op de universiteit IP 137.204.x.y. 
Dus cre&euml;rde ik een set configuratiebestanden voor elk netwerk; deze
bewaarde ik allemaal in <filename>/etc/mobnet</filename>. Vervolgens gebruik
ik een script om de werkomgeving te selecteren. Als voorbeeld hier een
<filename>/etc/mobnet/home.cfg</filename>:
</para>

<para>

<screen>
# /etc/mobnet/home.conf

HOSTNAME=nautilus.eocene.net	# volledige hostnaam
DOMAINNAME=eocene.net		# je domein
IPADDR=192.168.1.2
NETMASK=255.255.255.0
NETWORK=192.168.1.0
BROADCAST=192.168.1.255
GATEWAY=192.168.1.1
FORWARD_IPV4=true
NAMESERVER=195.210.91.100	# vereist
SEARCH=df.unibo.it,eocene.net	# optioneel
SERVICES="inet httpd smb sshd"
</screen>

</para>

<para>
Dit is <filename>mnet</filename>, het script dat ik gebruik om het 
netwerkprofiel te kiezen:
</para>

<para>

<screen>
#!/bin/sh
# mnet: script om de "mobiele netwerk" configuratie in te stellen
# Laatst gewijzigd: 15 juli 2000

# start of stop services
activate_services()
{
  for service in $(echo $SERVICES) ; do
    [ -x /etc/rc.d/init.d/$service ] &#38;&#38; /etc/rc.d/init.d/$service $1
  done
}

# usage
if [ $# = 0 ] ; then
  echo "Gebruik: mnet &#60;config name>"
  echo "Voorbeeld: mnet office"
  exit 1
fi

# controleer of de configuratie bestaat
if [ ! -e /etc/mobnet/$1.conf ]; then
  echo "Deze configuratie bestaat niet."
  exit 1
fi

# lees de configuratie in
. /etc/mobnet/$1.conf

# stel de hostnaam in
echo $HOSTNAME > /etc/HOSTNAME
/bin/hostname $HOSTNAME

# stel de nameserver(s) in
cat &#60;&#60;EOF > /etc/resolv.conf
# /etc/resolv.conf
search $SEARCH
nameserver $NAMESERVER
EOF

# stop voorgaande services, als die er zijn
if [ -f /etc/mobnet/services.prev ]; then
  NEWSERVICES=$SERVICES
  . /etc/mobnet/services.prev
  activate_services stop
  SERVICES=$NEWSERVICES
fi

if [ $1 != "none" ]; then
# stel de netwerkparameters in
  cat &#60;&#60;EOF > /etc/sysconfig/network
  NETWORKING=yes
  FORWARD_IPV4=true
  HOSTNAME=$HOSTNAME
  DOMAINNAME=$DOMAINNAME
  GATEWAY=$GATEWAY
  GATEWAYDEV=eth0
EOF

  cat &#60;&#60;EOF > /etc/sysconfig/network-scripts/ifcfg-eth0
  DEVICE=eth0
  IPADDR=$IPADDR
  NETMASK=$NETMASK
  NETWORK=$NETWORK
  BROADCAST=$BROADCAST
  ONBOOT=no
EOF
  /bin/chmod +x /etc/sysconfig/network-scripts/ifcfg-eth0
  
  # kopieer de andere configuratiebestanden
  /bin/cp -f /etc/mobnet/hosts.$1	/etc/hosts
  /bin/cp -f /etc/mobnet/smb.conf.$1	/etc/smb.conf
  
echo -n "Voeg de netwerkkaart in en druk op &#60;enter> wanneer je zover bent: "
  read
    
  # OK, start nu de services
  activate_services start
  echo "SERVICES=\"$SERVICES\"" > /etc/mobnet/services.prev

else # het is niet gelijk aan "none"

  cat &#60;&#60;EOF > /etc/sysconfig/network
  NETWORKING=false
  FORWARD_IPV4=false
  HOSTNAME=$HOSTNAME
  DOMAINNAME=$DOMAINNAME
EOF
  /bin/rm -f /etc/sysconfig/network-scripts/ifcfg-eth0*
  /sbin/ifconfig eth0 down
  echo "SERVICES=$SERVICES" > /etc/mobnet/services.prev
  echo "Nu kun je de kaart verwijderen."
  exit 0

fi

# einde mnet.
</screen>

</para>

<para>
  Zoals ik al zei, het is grofweg en zelfs niet compleet: 
  het kan zijn dat andere bestanden zoals <filename>/etc/fstab</filename>,
  <filename>/etc/exports</filename>, en <filename>/etc/printcap</filename>
  afhankelijk kunnen zijn van het netwerk.
  Denk aan netwerkprinters en NFS-shares. Pas deze kale oplossing
  gerust aan, aan wat je nodig hebt.
</para>

</sect2>

<!-- Sharing -->

<sect2>
<title>Delen van het Internet</title>

<para>
  Een van de meest nuttige taken voor een Linux server. Thans worden de meeste
  kant en klare kernels standaard met IP-firewalling, masquerading en 
  forwarding geactiveerd geleverd; raadpleeg de IP-Masquerade mini-HOWTO
  als je twijfelt om te leren hoe je ze activeert. Installeer vervolgens
  (kernels 2.0.x; <ulink URL="http://www.xos.nl/linux/ipfwadm/"><citetitle>
  http://www.xos.nl/linux/ipfwadm/</citetitle></ulink>) of ipchains (kernels
  2.2.x; <ulink URL=
  "http://www.adelaide.net.au/~rustcorp/ipfwchains/ipfwchains.html">
  <citetitle>
  http://www.adelaide.net.au/~rustcorp/ipfwchains/ipfwchains.html
  </citetitle></ulink>). Denk eraan kernelmodules voor de services
  te activeren die je nodig hebt, b.v. voor ftp voeg je de volgende regel
  toe aan <filename>/etc/rc.d/rc.sysconfig</filename>:
</para>

<para>

<screen>
/sbin/modprobe ip_masq_ftp
</screen>

</para>

<para>
Andere modules zijn gewoonlijk te vinden in
<filename>/lib/modules/KERNEL-VERSION/ipv4</filename>.
</para>

<para>
  Het activeren van IP-masquerading voor andere machines op je lokale
  netwerk is erg eenvoudig. Controleer als eerste de netwerk 
  initialisatiescripts (de lokatie is 
  <filename>/etc/sysconfig/network</filename> als het goed is) om te zien
  of hier een regel in staat met de tekst
  <filename>FORWARD_IPV4=true</filename>. Het wordt gebruikt om 
  <filename>/proc/sys/net/ipv4/ip_forward</filename> op 1 in te stellen
  wanneer het netwerksubsysteem de lucht in gaat.
</para>

<para>
Voeg de volgende regels toe aan <filename>/etc/rc.d/rc.sysinit</filename>:
</para>

<para>

<screen>
# default: pakketjes kunnen de buitenwereld niet bereiken
/sbin/ipfwadm -F -p deny
# sta alle machines op het lokale netwerk toe het Internet te bereiken
/sbin/ipfwadm -F -a m -S 192.168.1.0/24 -D 0.0.0.0/0
# als alternatief kan dit alleen op deze twee machines
# /sbin/ipfwadm -F -a m -S 192.168.1.100/24 -D 0.0.0.0/0
# /sbin/ipfwadm -F -a m -S 192.168.1.101/24 -D 0.0.0.0/0
</screen>

</para>

<para>
  Gebruik voor een kernel in de 2.2.x serie
  <filename>ipfwadm-wrapper</filename> in plaats van
  <filename>ipfwadm</filename> om snel van start te gaan. Meer informatie op
  <ulink URL="http://ipmasq.cjb.net"><citetitle><citetitle>
  http://ipmasq.cjb.net</citetitle></citetitle></ulink>.
</para>

<para>
  Nu zul je vast iets willen om de clientmachines de ISP te kunnen laten
  bellen; ik gebruik
  Mserver (<ulink URL="http://cpwright.villagenet.com/mserver/"><citetitle>
  http://cpwright.villagenet.com/mserver/</citetitle></ulink>). Bewerk
  <filename>etc/mserver.conf</filename>; de enige regels die je aan zou
  hoeven passen zijn ``checkhost'', ``shadow'', en ``cname''. Definieer
  vervolgens je verbinding(en). Installeer uiteraard een geschikte client
  op de client machines.
</para>

</sect2>

<!-- Restricting -->

<sect2 id="Restricting">
<title>Beperken van toegang tot het netwerk</title>

<para>
Stel dat je via PPP een verbinding maakt met het Internet. Zodra je
een verbinding hebt gelegd, zal je machine kwetsbaar zijn voor aanvallen.
Voeg dit toe aan <filename>/etc/hosts.allow</filename>:
</para>

<para>

<screen>
# alleen toegang toestaan tot localhost
ALL: 127.
</screen>

</para>

<para>
en dit in <filename>/etc/hosts.deny</filename>:
</para>

<para>

<screen>
# ontzeg iedereen de toegang
ALL: ALL
</screen>

</para>

<para>
Als je machine is aangesloten op een netwerk met directe toegang tot Internet,
kun je finger, telnet, en mogelijk nog andere services om beveiligingsredenen
beter deactiveren;
gebruik <filename>ssh</filename> inplaats van telnet. Het bestand dat je
hiervoor moet wijzigen is <filename>/etc/inet.conf</filename>. 
Als alternatief kun je de toegang tot het netwerk beperken door het volgende
in <filename>/etc/hosts.allow</filename> te plaatsen:
</para>

<para>

<screen>
in.telnetd: 192.168.1., .ander.vertrouwd.netwerk
in.ftpd: 192.168.1., .ander.vertrouwd.netwerk
</screen>

</para>

<para>
en dit in <filename>/etc/hosts.deny</filename>:
</para>

<para>

<screen>
in.telnetd: ALL
in.ftpd: ALL
</screen>

</para>

</sect2>

<!-- NFS -->

<sect2>
<title>NFS Exports</title>

<para>
 
</para>

<para>
Het is gebruikelijk om homedirectory's op de server te exporteren;
er ontstaat een probleem als de UID en GID van een gebruiker niet
consistent zijn op verschillende machines. Als gebruiker
`guido'  UID/GID = 500 heeft op <filename>server</filename> en UID/GID = 512
op <filename>client</filename>, dan is dit een comfortabele configuratie:
</para>

<para>

<screen>
# /etc/exports
/tmp            mijn.client.machine(rw)
/home/guido     mijn.client.machine(rw,all_squash,anonuid=512,anongid=512)
</screen>

</para>

</sect2>

<!-- Samba -->

<sect2>
<title>Samba</title>

<para>
Bijna alledaags, maar er is altijd wel iets te doen. Als je een verbinding
met Windows 98/NT clients op wilt zetten, denk je er dan aan de docs te
lezen en wanneer van toepassing clear text passwords te activeren? In de
distributie zijn .reg bestanden voor Win9x/NT/2000 opgenomen; als je clients
geen verbinding met de Linux server kunnen maken, laad ze dan op elke client.
</para>

<para>
Samba wordt geleverd met een tamelijk compleet voorbeeld van
<filename>/etc/smb.conf</filename>, maar vreemd genoeg ontbreekt hierin
een sectie waarin wordt getoond hoe verwijderbare media te mounten/unmounten.
De clausules <filename>preexec</filename> en <filename>postexec</filename> 
doen de truuk:
</para>

<para>

<screen>
[cdrom]
  comment = CD-ROM
  path = /mnt/cdrom
  public = yes
  read only = yes
; wellicht dat je "root preexec/postexec" moet gebruiken
  preexec = mount /mnt/cdrom
  postexec = umount /mnt/cdrom
</screen>

</para>

<para>
Je weet wat Swat is, niet? Activeer het met deze regel in
<filename>/etc/inetd.conf</filename>:
</para>

<para>

<screen>
swat      stream  tcp     nowait.400      root /usr/sbin/swat swat
</screen>

</para>

<para>
en dit in <filename>/etc/services</filename>:
</para>

<para>

<screen>
swat            901/tcp
</screen>

</para>

<para>
Herstart <filename>inetd</filename> met SIGHUP, en verwijs je browser naar
<filename>http://localhost:901</filename>.
</para>

</sect2>

</sect1>

<!-- Software cfg -->

<sect1 id="config">
<title>Software Configuratie </title>

<para>
We gaan de volgende configuratiebestanden aanpassen:
<filename>/etc/profile</filename> <filename>/etc/bashrc</filename>
<filename>.bashrc</filename> <filename>.bashrc .bash_profile .bash_logout
.inputrc .less .lessrc .xinitrc </filename> <filename>.fvwmrc .fvwm2rc95
.Xmodmap .Xmodmap.num .Xdefaults .jedrc </filename> <filename>.abbrevs.sl
.joerc .emacs </filename>. Voeg geen gebruikers toe totdat je de
systeemconfiguratie hebt voltooid; je plaatst de dot bestanden in
<filename>/etc/skel</filename>.
</para>

<!-- bash -->

<sect2>
<title>bash (1)</title>

<para>
Het belangrijkste stukje software na de kernel. Om het functioneren van
<filename>bash</filename> aan te passen, zijn dit de belangrijkste te
bewerken bestanden:
</para>

<para>

<itemizedlist>
<listitem>

<para>
 <filename>/etc/bashrc</filename> bevat systeemomvattende aliassen en
 functies;

</para>
</listitem>
<listitem>

<para>
 <filename>/etc/profile</filename> bevat de systeemomvattende omgeving
 en opstartprogramma's;

</para>
</listitem>
<listitem>

<para>
 <filename>&dollar;HOME/.bashrc</filename> bevat gebruikersaliassen en
 functies;

</para>
</listitem>
<listitem>

<para>
 <filename>&dollar;HOME/.bash_profile</filename> bevat zaken omtrent de
 gebruikersomgeving en opstartprogramma's;

</para>
</listitem>
<listitem>

<para>
 <filename>&dollar;HOME/.inputrc</filename> bevat toetsdefinities en andere
 bits.

</para>
</listitem>

</itemizedlist>

</para>

<para>
Voorbeelden van deze bestanden worden hieronder getoond. 
Ten eerste het belangrijkste:
<filename>/etc/profile</filename>. Het wordt gebruikt om een heleboel
features in je Linux box te configureren, zoals je zult zien in de
volgende secties.  Kijk alsjeblieft uit bij omgekeerde aanhalingstekens!
</para>

<para>

<programlisting>
# /etc/profile

# Systeemomvattende omgeving en opstartprogramma's
# Functies en aliassen staan in /etc/bashrc

# In dit bestand worden de volgende features en programma's ingesteld:
# path, prompts, een paar omgevingsvariabelen, colour ls, less,
# rxvt, functioneren van de backspace toets, xterm titel.
#
# Gebruikers kunnen deze instellingen overschrijven en/of anderen toevoegen
# in $HOME/.bash_profile

# ten eerste: root of gewone gebruiker? Stel PATH en umask 
# dienovereenkomstig in. PATH wordt normaal ingesteld door login (1), 
# maar wat als je de machine benadert via ssh?

if [ $(id -gn) = $(id -un) -a $(id -u) -gt 14 ]; then
  umask 002  # gewone gebruiker
  PATH="/usr/local/bin:/bin:/usr/bin:."
else
  umask 022  # root
  PATH="/sbin:/bin:/usr/sbin:/usr/bin"
fi

# Breidt nu het PATH uit.
PATH="$PATH:/usr/X11R6/bin:$HOME/bin:." # !!! Let op ./ !!!

# stel de gebruiker op de hoogte: login of geen login shell. Als het een
# loginshell is, dan is de prompt blauw, anders is de kleur magenta.
# De prompt van root is rood.
# Zie de Colour-ls mini HOWTO voor een uitleg van de escape codes.
USER=$(whoami)
if [ $LOGNAME = $USER ] ; then
  COLOUR=44  # blue
else
  COLOUR=45  # magenta
fi

if [ $USER = 'root' ] ; then
  COLOUR=41  # red
  PATH="$PATH:/usr/local/bin" # mijn keuze
fi

ESC="\033"
PROMPT='\h'    # hostnaam
STYLE='m'      # gewoon
# PROMPT='\u'  # gebruikersnaam
# STYLE=';1m'  # benadrukt
PS1="\[$ESC[$COLOUR;37$STYLE\]$PROMPT:\[$ESC[37;40$STYLE\]\w\\$ "
PS2="> "

# Ulimits: geen core dumps, max bestandsomvang 200 Mb.
ulimit -c 0 -f 200000

# een paar variabelen
USER=$(id -un)
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"  # sendmail, postfix, smail
# MAIL="$HOME/Mailbox"        # qmail
NNTPSERVER=news.myisp.it      # plaats hier die van jezelf
VISUAL=jed
EDITOR=jed
HOSTNAME=$(/bin/hostname)
HISTSIZE=1000
HISTFileSIZE=1000
export PATH PS1 PS2 USER LOGNAME MAIL NNTPSERVER
export VISUAL EDITOR HOSTNAME HISTSIZE HISTFileSIZE

# activeer colour ls
eval $(dircolors /etc/DIR_COLORS -b)
export LS_OPTIONS='-s -F -T 0 --color=yes'

# pas less aan
LESS='-M-Q'
LESSEDIT="%E ?lt+%lt. %f"
LESSOPEN="| lesspipe.sh %s"
LESSCHARDEF=8bcccbcc13b.4b95.33b. # toon kleuren in ls -l | less
# LESSCHARSET=latin1
PAGER=less
export LESS LESSEDIT LESSOPEN VISUAL LESSCHARDEF PAGER

# Je hebt dit wellicht nodig om de backspace toets in rxvt/xterm te corrigeren
stty erase ^H  # alternatief: ^?

# stel de xterm titel in: volledig pad
case $TERM in
  xterm*|rxvt)
    PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"'
    ;;
esac      

for i in /etc/profile.d/*.sh ; do
  if [ -x $i ]; then
    . $i # let op - variabelen en aliassen kunnen worden overschreven!
  fi
done

# roep fortune aan als het beschikbaar is
if [ -x /usr/games/fortune ] ; then
echo ; /usr/games/fortune ; echo 
fi
</programlisting>

</para>

<para>
Dit is een voorbeeld van <filename>/etc/bashrc</filename>:
</para>

<para>

<programlisting>
# /etc/bashrc

# Systeemomvattende functies en aliassen
# Omgevingsvariabelen gaan in /etc/profile
# Voeg hier PS1 definities in als je problemen ervaart

export CDPATH="$CDPATH:~"

# algemene aliassen
alias cp='cp -i'
alias l=less
alias ls="ls $LS_OPTIONS"
alias mv='mv -i'
alias rm='rm -i'
alias rmbk='/bin/rm -f .*~ *~ *aux *bak *log *tmp 2> /dev/null'
alias u='cd ..'
alias which="type -path"
alias x=startx

# Een paar handige functies
c ()    # cd naar de nieuwe directory en geef een listing van de inhoud
{
  cd $1 ; ls
}

inst()  # Installeer een .tar.gz archief in de huidige directory
{
  if [ $# != 0 ]; then tar zxvf $1; fi
}

cz()    # Geef een listing van de inhoud van een .zip archief
{
  if [ $# != 0 ]; then unzip -l $*; fi
}

ctgz()  # Geef een listing van de inhoud van een .tar.gz archief
{
  for file in $* ; do
    tar ztf ${file}
  done
}

tgz()   # Maak een .tgz archief a la zip aan.
{
  if [ $# != 0 ]; then
    name=$1.tar; shift; tar -rvf ${name} $* ; gzip -9 ${name}
  fi
}

crpm()  # toon informatie over een .rpm bestand
{
  if [ $# != 0 ]; then rpm -qil $1 | less; fi
}
</programlisting>

</para>

<para>
Dit is een voorbeeld van een <filename>.bashrc</filename> bestand:
</para>

<para>

<programlisting>
# $HOME/.bashrc
# Lees globale definities in

if [ -f /etc/bashrc ]; then
  . /etc/bashrc
fi

# Dit is nodig om de gebruiker op de hoogte te stellen dat hij zich in
# een niet-login shell bevindt
if [ "$GET_PS1" = "" ] ; then
  COLOUR=45; ESC="\033"; STYLE=';1m';  # STYLE='m'
  USER=$(whoami)
  export PS1="\[$ESC[$COLOUR;37$STYLE\]$USER:\[$ESC[37;40$STYLE\]\w\\$ "
fi

# persoonlijke aliassen
alias backup='tar -Mcvf /dev/fd0'
alias dial='eznet up myisp'
alias f='cd ~/fortran'
alias hangup='eznet down'
alias lyx='lyx -width 580 -height 450'
alias restore='tar -M -xpvf /dev/fd0'

# persoonlijke functies
xj()    # Start xjed en een bestand in de achtergrond op
{
  xjed $1 &#38;
}
</programlisting>

</para>

<para>
Dit is een voorbeeld van een <filename>.bash_profile</filename> bestand:
</para>

<para>

<programlisting>
# $HOME/.bash_profile

# Gebruikersspecifieke omgeving en opstartprogramma's
# Dit bestand bevat gebruikergedefinieerde instellingen die de instellingen
# in /etc/profile overschrijven

# Haal gebruikersaliassen en functies op
if [ -f ~/.bashrc ]; then
  GET_PS1="NO"  # de kleur van de prompt niet wijzigen
  . ~/.bashrc
fi
    
# Stel een paar standaarddirectory's in
export CDPATH="$CDPATH:$HOME:$HOME/text:$HOME/text/geology"
</programlisting>

</para>

<para>
Dit is een voorbeeld van een <filename>.inputrc</filename> bestand:
</para>

<para>

<programlisting>
# $HOME/.inputrc

# toetsdefinities
"\e[1~": beginning-of-line
"\e[3~": delete-char
"\e[4~": end-of-line
# (F1 .. F5) are "\e[[A" ... "\e[[E"
"\e[[A": "info \C-m"

set bell-style visible          # geen beep alsjeblieft
set meta-flag On                # 8-bit invoer toestaan (d.w.z. geaccentueerde
                                # letters)
set convert-meta Off            # strip geen 8-bits tekens
set output-meta On              # toon 8-bit tekens correct
set horizontal-scroll-mode On   # scroll lange opdrachtregels
set show-all-if-ambiguous On    # nadat TAB is ingedrukt
</programlisting>

</para>

<para>
Om de backspace en delete toetsen correct werkend te krijgen in
<filename>xterm</filename> en andere X11 applicaties, is het volgende ook
nodig:
</para>

<para>

<itemizedlist>
<listitem>

<para>
plaats dit in <filename>.xinitrc</filename>:
 


<screen>
usermodmap=$HOME/.Xmodmap
xmodmap $usermodmap
</screen>


</para>
</listitem>
<listitem>

<para>
dan zal in <filename>.Xmodmap</filename> staan:


<screen>
keycode 22 = BackSpace
keycode 107 = Delete
</screen>


dit corrigeert de console. Ter correctie van <filename>xterm</filename>:

</para>
</listitem>
<listitem>

<para>
plaats je dit in <filename>.Xdefaults</filename>:


<screen>
xterm*VT100.Translations: #override &#60;Key>BackSpace: string(0x7F)\n\
        &#60;Key>Delete:        string(0x1b) string("[3~")\n\
        &#60;Key>Home:          string(0x1b) string("[1~")\n\
        &#60;Key>End:           string(0x1b) string("[4~")\n\
        Ctrl&#60;Key>Prior:     string(0x1b) string("[40~")\n\
        Ctrl&#60;Key>Next:      string(0x1b) string("[41~")

nxterm*VT100.Translations: #override &#60;Key>BackSpace: string(0x7F)\n\
        &#60;Key>Delete:        string(0x1b) string("[3~")\n\
        &#60;Key>Home:          string(0x1b) string("[1~")\n\
        &#60;Key>End:           string(0x1b) string("[4~")\n\
        Ctrl&#60;Key>Prior:     string(0x1b) string("[40~")\n\
        Ctrl&#60;Key>Next:      string(0x1b) string("[41~")
</screen>


</para>
</listitem>

</itemizedlist>

</para>

<para>
<filename>rxvt</filename> is iets gecompliceerder, aangezien een aantal
opties die tijdens het compileren kunnen worden ingesteld, het functioneren
ervan be&iuml;nvloeden. Zie het bovenstaande bestand
<filename>/etc/profile</filename>.
</para>

<para>
Meer info in <filename>bash</filename> (1) en
<filename>readline</filename> (3) man pages.
</para>

<para>
Neem niet zomaar aan dat iedere toepassing correct werkt! Als je bijvoorbeeld
<filename>joe</filename> in <filename>xterm</filename> draait, dan werken
een aantal toetsen niet; hetzelfde geldt voor een aantal versies van
<filename>rxvt</filename>.
</para>

</sect2>

<!-- internationalisation -->

<sect2>
<title>I18n</title>

<para>
(Deze sectie is niet van toepassing voor lezers met Engels als moedertaal.)
</para>

<para>
A.l.a. ``internationalisatie''. Gasp. Dit lange woord betekent ``Linux
aanpassen aan je lokale conventies: taal, datumformaat, valuta, enz.''.
</para>

<para>
Alhoewel Red Hat zijn eigen methode heeft voor het instellen van i18n
(<filename>/etc/sysconfig/i18n</filename>), wil je wellicht slechts
in een aantal gevallen je taal activeren. Ikzelf activeerde i18n in
<filename>kdm</filename> (via <filename>kdmconfig</filename>) en
<filename>xfce</filename>, maar wil Engelse meldingen lezen wanneer ik
onder de console of xterm werk.
</para>

<para>
Bekijk deze regels eens:
</para>

<para>

<screen>
LANG=it # kies je taal: fr, de, es, ...
LANGUAGE=it
LC_ALL=it
export LANG LANGUAGE LC_ALL
</screen>

</para>

<para>
Als je ze invoegt in <filename>.xinitrc</filename> of
<filename>.xsession</filename> net voor de regel die de window manager start,
dan krijg je ge&iuml;nternationationiseerde meldingen - waaronder die
in xterms gestart vanuit de window manager. Maar als je liever Engelse
meldingen krijgt, stel de taal dan in op ``en'' en plaats dezelfde regels
in <filename>.bash_profile</filename>.
</para>

</sect2>

<!-- ls -->

<sect2>
<title>ls (1)</title>

<para>
<filename>ls</filename> kan directorylistings in kleur weergeven om
verschillende bestandstypes van elkaar te onderscheiden.
Om deze feature te activeren, heb je slechts een paar regels nodig in
<filename>/etc/profile</filename> zoals hierboven werd getoond. Dit werkt
echter niet bij oude versies van <filename>rxvt</filename>; gebruik in plaats
daarvan een variant van <filename>xterm</filename>. Het ziet ernaar uit dat
een aantal oude <filename>rxvt</filename>'s een bug bevatten die voorkomen
dat de omgeving onder bepaalde omstandigheden niet juist worden ge&euml;rfd.
</para>

</sect2>

<!-- less -->

<sect2>
<title>less (1)</title>

<para>
Met deze uitstekende pager kun je niet alleen door gewone tekstbestanden
bladeren, maar ook door met gzip gecomprimeerde, tar en zip archieven,
manpages, en wat je ook maar hebt. De configuratie ervan beslaat een paar
stappen
</para>

<para>

<itemizedlist>
<listitem>

<para>
om het te gebruiken met de verplaatsingstoetsen, plaats je dit gewone ASCII
bestand <filename>.lesskey</filename> in je homedirectory:

 


<screen>
^[[A   back-line
^[[B   forw-line
^[[C   right-scroll
^[[D   left-scroll
^[OA   back-line
^[OB   forw-line
^[OC   right-scroll
^[OD   left-scroll
^[[6~  forw-scroll
^[[5~  back-scroll
^[[1~  goto-line
^[[4~  goto-end
^[[7~  goto-line
^[[8~  goto-end
</screen>


start vervolgens de opdracht <filename>lesskey</filename>. (Dit zijn 
escape reeksen voor op vt100 gelijkende terminals.) Hiermee wordt een
binair bestand
<filename>.less</filename> aangemaakt met de toetsdefinities.


</para>
</listitem>
<listitem>

<para>
schrijf het volgende bestand weg als <filename>/usr/bin/lesspipe.sh</filename>:


<programlisting>
#!/bin/sh
# Dit is een preprocessor voor 'less'. Het wordt gebruikt wanneer deze 
# omgevingsvariabele is ingesteld: LESSOPEN="|lesspipe.sh %s"

lesspipe () {
  case "$1" in
  *.tar) tar tf $1 2>/dev/null ;; # Bekijk inhoud van .tar en .tgz bestanden
  *.tgz|*.tar.gz|*.tar.Z|*.tar.z) tar ztf $1 2>/dev/null ;;
  # Bekijk op correcte wijze gecomprimeerde bestanden
  *.Z|*.z|*.gz) gzip -dc $1  2>/dev/null ;; 
  *.tar.bz2) bzip2 -dc $1 | tar tf - ;;
  *.bz2) bzip2 -dc $1  2>/dev/null ;;
  *.zip) unzip -l $1 2>/dev/null ;; # Bekijk archieven
  *.arj) unarj -l $1 2>/dev/null ;;
  *.rpm) rpm -qpil $1 2>/dev/null ;;
  *.cpio) cpio --list -F $1 2>/dev/null ;;
  *.1|*.2|*.3|*.4|*.5|*.6|*.7|*.8|*.9|*.n|*.l|*.man) 
    file $1 | grep roff > /dev/null
    if [ $? = 0 ]; then
      groff -Tascii -mandoc $1
    fi ;;
  *) file $1 | grep "te[sx]t" > /dev/null ;
    if [ $? = 1 ] ; then # het is niet een of andere soort tekst
      strings $1
    fi ;;
  esac
}

# toepassing op doelen van links, niet de links zelf
file $1 | grep symbolic > /dev/null
if [ $? = 0 ]; then
  TARGET=$(file $1 | awk '{print $NF}')
  lesspipe $TARGET
else
  lesspipe $1
fi
</programlisting>

maak het dan uitvoerbaar met <filename>chmod 755 lesspipe.sh</filename>.

</para>
</listitem>
<listitem>

<para>
plaats de variabelen die van invloed zijn op <filename>less</filename> in
<filename>/etc/profile</filename>.

</para>
</listitem>

</itemizedlist>

</para>

</sect2>

<!-- Editor -->

<sect2>
<title>Editor</title>

<para>
Alleen de populairste zullen hier worden behandeld.
</para>

<!-- Emacs -->

<sect3>
<title>emacs (1)</title>

<para>
Ik maak zelden gebruik van <filename>emacs</filename>, dus heb ik slechts
een paar tips voor je. Een aantal
<filename>emacs</filename> distributies worden niet voorgeconfigureerd
geleverd met kleuren en syntax highlighting. Plaats dit in
<filename>.emacs</filename>:
</para>

<para>

<screen>
(global-font-lock-mode t)
(setq font-lock-maximum-decoration t)
</screen>

</para>

<para>
Dit werkt alleen onder X11. Bovendien moet je om geaccentueerde tekens
te activeren, deze regel toevoegen:
</para>

<para>

<screen>
(standard-display-european 1)
</screen>

</para>

<para>
Ik laat het aan jou over om alle <filename>emacs</filename> documentatie
zorgvuldig door te lezen om erachter te komen hoe je het naar wens aanpast.
Het kan wellicht maanden hacking in beslag nemen. De Dotfile generator
(sectie <XRef LinkEnd="Config-sw">) kan daarbij een goede hulp zijn.
</para>

</sect3>

<!-- joe -->

<sect3>
<title>joe (1)</title>

<para>
  (Waarom <filename>joe</filename> gebruiken als <filename>jed</filename> zo
  klein en krachtig is? Duh.)
</para>

<para>
Een aantal versies van <filename>joe</filename> werken niet met kleuren
onder de console, en ook werken een aantal speciale toetsen niet. 
Een snelle en slordige (en onelegante) oplossing voor het eerste probleem is:
</para>

<para>

<screen>
~$ export TERM=vt100
~$ joe myfile
   (edit your file)
~$ export TERM=linux
</screen>

</para>

<para>
Om de speciale toetsen werkend te krijgen, hoef je slechts het bestand
<filename>.joerc</filename>, <filename>.jstarrc</filename> of je favoriete
emulatie te bewerken; Je kunt beginnen bij de systeemomvattende configuratiebestanden in <filename>/usr/lib/joe</filename>. Zoek naar de vierde sectie
(key bindings). Dit activeert Home en End:
</para>

<para>

<screen>
bol ^[ [ 1 ~    Ga naar het begin van de regel
eol ^[ [ 4 ~    Ga naar het einde van de regel
</screen>

</para>

<para>
Je kunt achter de gewenste ESC reeksen komen door <filename>cat</filename> 
te typen gevolgd door de speciale toetsen.
</para>

</sect3>

<!-- jed -->

<sect3 id="jed">
<title>jed (1) </title>

<para>
Dit is mijn favoriete editor: het doet wat ik nodig heb, het is lichter en
makkelijker te configureren dan
<filename>emacs</filename>, en het emulueert andere editors tamelijk goed.
Veel gebruikers bij mij op de universiteit gebruiken <filename>jed</filename> 
om <filename>EDT</filename> te emuleren, VMS' systeemeditor.
</para>

<para>
De configuratiebestanden van <filename>jed</filename> zijn
<filename>.jedrc</filename> en <filename>/usr/lib/jed/lib/*</filename>; de
eerste kan worden aangepast vanuit <filename>jed.rc</filename> in de 
laatstgenoemde directory.
</para>

<para>

<itemizedlist>
<listitem>

<para>
als blijkt dat <filename>xjed</filename> de DEL toets niet herkent,
voeg dan de volgende regels toe aan <filename>.jedrc</filename> of verwijder
het commentaarteken voor de betreffende regels:

<screen>
#ifdef XWINDOWS
  x_set_keysym (0xFFFF, 0, "\e[3~");
  setkey (``delete_char_cmd'', "\e[3~");
#endif
</screen>

</para>
</listitem>
<listitem>

<para>
Je hoeft slechts een paar regels in <filename>.jedrc</filename> te
bewerken als je <filename>jed</filename> <filename>EDT</filename>
wilt laten emuleren. Als je het `<filename>+</filename>' op het numerieke
toetsenblok wilt gebruiken om woorden te verwijderen in plaats van een
enkel teken, dan voeg je het volgende toe aan <filename>.jedrc</filename>:

<screen>
unsetkey("\eOl");
unsetkey("\eOP\eOl");
setkey("edt_wdel", "\eOl");
setkey("edt_uwdel", "\eOP\eOl");
</screen>

na de regel met <filename>() = evalfile("edt")</filename> (of
iets dat daarop lijkt);

</para>
</listitem>
<listitem>

<para>
Voeg het volgende toe aan <filename>.Xmodmap</filename> om <filename>xjed</filename> het numerieke toetsenblok te laten gebruiken voor <filename>EDT</filename>
emulatie:


<screen>
keycode 77  = KP_F1
keycode 112 = KP_F2
keycode 63  = KP_F3
keycode 82  = KP_F4
keycode 86  = KP_Separator
</screen>


</para>
</listitem>
<listitem>

<para>
Het aanpassen van kleuren voor <filename>xjed</filename> wordt bewerkstelligd
door regels in <filename>.Xdefaults</filename> toe te voegen als:


<screen>
xjed*Geometry: 80x32+150+50
xjed*font: 10x20
xjed*background: midnight blue
# enzovoort...
</screen>


</para>
</listitem>
<listitem>

<para>
de ``feature'' afkortingen is een onschatbare tijdsbespaarder. Schrijf een
bestand als het volgende weg als
<filename>&dollar;HOME/.abbrevs.sl</filename> (je kunt deze naam wijzigen
door <filename>variable Abbrev_File = "/usr/lib/jed/abbrev.sl";</filename> 
te plaatsen in <filename>.jedrc</filename>):


<screen>
create_abbrev_table ("Global", "0-9A-Za-z");
define_abbrev ("Global", "GG", "Guido Gonzato");
create_abbrev_table ("TeX", "\\A-Za-z0-9");
define_abbrev ("TeX", "\\beq", "\\begin{equation}");
define_abbrev ("TeX", "\\eeq", "\\end{equation}");
% enzovoort...
</screen>


en typ <filename>ESC x abbrev_mode</filename> om het te activeren. 
Om de afkortingen standaard te activeren, voeg je de volgende regels toe aan
<filename>.jedrc</filename>:


<screen>
define text_mode_hook ()
{
  set_abbrev_mode (1);
}
%
define fortran_hook ()
{
  set_abbrev_mode (1);
  use_abbrev_table ("Fortran");
}
% enzovoort...
</screen>

</para>
</listitem>

</itemizedlist>

</para>

</sect3>

</sect2>

<!-- pine -->

<sect2>
<title>pine (1)</title>

<para>
Bewerk de globale configuratie in <filename>/usr/lib/pine.conf</filename>,
waarbij je minimaal aandacht besteed aan de volgende velden:
<filename>user-domain</filename>, <filename>smtp-server</filename>, en
<filename>nntp-server</filename>. Het <filename>inbox-path</filename>
hangt af van je MTA: als je gebruik maakt van <filename>sendmail</filename> of
<filename>postfix</filename>, dan zal het
<filename>var/spool/mail/$USER</filename> zijn; bij gebruik van Qmail is het
<filename>/home/$USER/Mailbox</filename> (behalve root die gebruik maakt van
<filename>/var/qmail/alias/Mailbox</filename>.
</para>

</sect2>

<!-- minicom -->

<sect2>
<title>minicom (1)</title>

<para>
Gebruikers kunnen geen gebruik maken van <filename>minicom</filename>, tenzij
door root een globale configuratie is opgesteld. Denk er aan deze aan te maken.
</para>

</sect2>

<!-- efax -->

<sect2>
<title>efax (1)</title>

<para>
Dit package is waarschijnlijk het makkelijkst voor het eenvoudig verzenden/
ontvangen van faxen. Je moet het script
<filename>/usr/bin/fax</filename> of
(mandrake) <filename>/etc/fax.config</filename> aanpassen; 
makkelijk te doen, maar een paar eigenaardigheden bezorgden me flink wat
hoofdpijn:
</para>

<para>

<itemizedlist>
<listitem>

<para>
om erachter te komen om je modem behoort tot klasse 1, 2 of 2.0 gebruik je
minicom of een vergelijkbaar programma om te opdracht
<filename>at+fclass=?</filename> uit te voeren. Het antwoord kan iets zijn als
<filename>0,1,2</filename>; 1 en 2 zijn de klassen die door je modem worden
ondersteund;

</para>
</listitem>
<listitem>

<para>
 DIALPREFIX: de kans bestaat dat het eenvoudig plaatsen van een 
 `<filename>T</filename>' of
`<filename>P</filename>' in een aantal landen, waaronder in ieder geval
Itali&euml;, niet werkt. Gebruik daarvoor in de plaats
`<filename>ATDT</filename>' of `<filename>ATDP</filename>';

</para>
</listitem>
<listitem>

<para>
INIT en RESET: deze strings bevatten de initializers
 `<filename>-i</filename>' en `<filename>-k</filename>', nodig voor
 <filename>efax</filename>. Als je een AT opdracht toe wilt voegen, voeg het
 dan toe aan de van toepassing zijnde string waarbij je
 `<filename>AT</filename>' weglaat en de rest laat voorafgaan door
 `<filename>-i</filename>' of `<filename>-k</filename>'.
 Voorbeeld: om de opdracht `<filename>ATX3</filename>' toe te voegen aan
 INIT, voeg je toe `<filename>-iX3</filename>'.

</para>
</listitem>

</itemizedlist>

</para>

<para>
Er zijn een paar permissies die moeten worden gecorrigeerd om niet root
gebruikers faxen te laten verzenden en ontvangen. De directory's
<filename>/var/lock</filename> en
<filename>/var/spool/fax</filename> moeten beschrijfbaar zijn.
Hiervoor maak je een groep <filename>faxusers</filename> aan en voegt hier
gebruikers aan toe. Vervolgens typ je:
</para>

<para>

<screen>
~# chown root.faxusers /var/lock
~# mkdir /var/spool/fax # als deze nog niet voorkomt
~# chown root.faxusers /var/spool/fax; chmod g+w /var/spool/fax
</screen>

</para>

<para>
Als gewone gebruiker voer je uit <filename>newgrp faxusers</filename> voordat
je een fax verzendt.
</para>

</sect2>

<!-- Ghostscript -->

<sect2>
<title>Ghostscript</title>

<para>
Dit belangrijke hulpmiddel brengt een moeilijkheid met zich mee. 
Vanwege de welbekende exportbeperkingen in de USA, werkt het utility
<filename>pdf2ps</filename> niet met versleutelde .pdf bestanden.
Doet er niet toe: verwijs je browser naar
<ulink URL="http://www.ozemail.com.au/~geoffk/pdfencrypt"><citetitle>
http://www.ozemail.com.au/~geoffk/pdfencrypt</citetitle></ulink>, download
het bestand <filename>pdf_sec.ps</filename> en vervang het bestand door
het bestand met dezelfde naam dat met de Ghostscript distributie wordt
meegeleverd.
</para>

</sect2>

<!-- TeX -->

<sect2>
<title>TeX en gelijken</title>

<para>
De ``root'' van een TeX systeem is de directory &dollar;TEXMF, wat
<filename>/usr/share/texmf</filename> is in teTeX; onder andere distributies
kan dit anders zijn (zoek op je systeem naar ``texmf''). 
Normaal gesproken voeg je hier bestanden aan toe of bewerkt ze daar.
</para>

<!-- TEXINPUTS -->

<sect3>
<title>&dollar;TEXINPUTS uitbreiden</title>

<para>
Om PostScript afbeeldingen of TeX bestanden op te nemen die in 
subdirectory's voorkomen, is het handig om het zoekpad van TeX uit te breiden
zodat daar subdirectory's in worden opgenomen. Plaats deze opdracht in
<filename>.bash_profile</filename>:
</para>

<para>

<screen>
export TEXINPUTS="$HOME/mylib::./figures"
</screen>

</para>

<para>
wat maakt dat TeX zoekt in <filename>$HOME/mylib</filename>
<emphasis>voordat</emphasis> het de standaarddirectory's doorzoekt en
<emphasis>nadat</emphasis> het de directory
<filename>./figures</filename> doorzoekt.
</para>

</sect3>

<!-- Hyphen -->

<sect3>
<title>Afbreekpatronen</title>

<para>
Om het afbreekpatroon voor je taal te configureren, bewerk je het bestand
<filename>&dollar;TEXMF/tex/generic/config/language.dat</filename>, voer 
vervolgens uit:
</para>

<para>

<screen>
~# texconfig init ; texconfig hyphen
</screen>

</para>

<para>
Verwijder de regel ``english'' niet, zelfs niet als je niets in de Engelse 
taal schrijft;  TeX kan niet zonder.
</para>

</sect3>

<!-- dvips -->

<sect3>
<title>dvips (1)</title>

<para>
Bewerk het bestand <filename>&dollar;TEXMF/dvips/config/config.ps</filename> om 
<filename>dvips</filename> aan te passen. Velden betreffende de
standaardresolutie be&iuml;nvloeden ook het functioneren van
<filename>xdvi</filename>; mocht je hinderlijke pogingen ervaren dat
er elke keer je het draait fonts worden aangemaakt, plaats dan de regel
</para>

<para>

<screen>
XDvi*mfmode:
</screen>

</para>

<para>
in <filename>.Xdefault</filename>. Dit zou moeten helpen.
</para>

</sect3>

<!-- adding packages -->

<sect3>
<title>LaTeX Packages toevoegen</title>

<para>
Extra LaTeX packages zijn beschikbaar vanaf je dichtsbijzijnde CTAN
(Comprehensive TeX Archive Network) mirrorsite, b.v. <ulink
URL="ftp://ftp.dante.de/pub/tex"><citetitle>
ftp://ftp.dante.de/pub/tex</citetitle></ulink>. Pak het package uit onder
<filename>&dollar;TEXMF/tex/latex</filename>.
</para>

<para>
Start de opdracht <filename>latex
newstyle.ins</filename> of <filename>latex newstyle.dtx</filename> om een
.sty bestand aan te maken als deze niet voorkomt.
Voer vervolgens de opdracht <filename>texhash</filename> uit, zodat teTeX
het nieuwe package herkent.
</para>

</sect3>

</sect2>

<!-- docbook -->

<sect2 id="docbook">
<title>Docbook</title>

<para>
  LaTeX is de beste keuze voor drukwerk, Docbook voor documenten in
  meerdere formaten (Deze HOWTO is geschreven in Docbook.) Zodra je alle
  tools op hun plek hebt, zul je wellicht eenvoudige scripts willen
  gebruiken om de complexe opdrachtregel te vermijden. Als deze niet bij
  de distributie worden geleverd, gebruik dan het volgende
  <filename>db2pdf</filename> als sjabloon:
</para>

<programlisting>
#!/bin/sh

if [ $# = 0 ]; then
  echo "Gebruik: db2pdf &lt;file.sgml&gt; [file2.sgml ...]"
  exit 1
fi

# Standaard Mandrake locatie:
DSSSL=/usr/share/sgml/docbook/dsssl-stylesheets-1.57/print/docbook.dsl
# Standaard RedHat locatie:
# /usr/lib/sgml/stylesheets/nwalsh-modular/print/docbook.dsl

if [ ! -f $DSSSL ]; then
  DSSSL=$(find /usr/ -name "docbook.dsl" | grep print)
fi

for FILE in $*
do
  NAME=$(echo $FILE | awk -F'.' '{print $1}')
  echo "Processing $FILE..."
  jade -t tex -d $DSSSL $NAME.sgml
  pdfjadetex $NAME.tex
done

# Einde van db2pdf
</programlisting>

<para>
  Als je bemerkt dat de PostScript of .PDF bestanden er erg slecht uitzien,
  hack dan <filename>dbparams.dsl</filename>. Op mijn Mandrake systeem,
  is het te vinden in <filename id="directory">
  /usr/share/sgml/docbook/dsssl-stylesheets-1.57/print/</filename>.
</para>

</sect2>

<!-- PPProblems -->

<sect2>
<title>Voorkom PPProblemen!</title>

<para>
Ik neem hierbij aan dat in je kernel ondersteuning voor PPP + TCP/IP is
gecompileerd, dat loopback is geactiveerd en dat je het package
<filename>pppd</filename> correct hebt ge&iuml;nstalleerd, en naar wens
setuid root ingesteld. Uiteraard moet je ISP PPP ondersteunen. 
</para>

<para>
Er zijn nu twee manieren om PPP werkend te krijgen: a) handmatige configuratie,
en b) een configuratieprogramma dat het automatisch herkent. Welke optie
je ook kiest, zorg dat je de volgende informatie bij de hand hebt:
</para>

<para>

<itemizedlist>
<listitem>

<para>
het telefoonnummer van je ISP;

</para>
</listitem>
<listitem>

<para>
de naam van je ISP, het adres van de mail- en newsserver;

</para>
</listitem>
<listitem>

<para>
het domein van je ISP;

</para>
</listitem>
<listitem>

<para>
je gebruikersnaam en wachtwoord.

</para>
</listitem>

</itemizedlist>

</para>

<para>
Een handmatige configuratie is een saai werkje. Het heeft te maken met
het bewerken van bestanden en schrijven van scripts; niet al te veel werk,
maar je maakt makkelijk fouten en nieuwkomers voelen zich vaak 
ge&iuml;ntimideerd. De PPP-HOWTO is er voor je. Als alternatief bestaan
er tools die je om bovenstaande informatie vragen en al het werk voor je
doen.
</para>

<para>
In Gnome en KDE zijn respectievelijk <filename>gnome-ppp</filename> en
<filename>kppp</filename> opgenomen welke eenvoudig genoeg zijn in te stellen.
Als alternatief raad ik je aan eens te kijken naar een paar op tty
gebaseerde tools, zoals <filename>wvdial</filename> en 
<filename>eznet</filename>. Je geeft ze het telefoonnummer van je ISP,
je gebruikersnaam, je wachtwoord en het werkt.
De homepages van deze tools zijn te vinden op <ulink
URL="http://www.worldvisions.ca/wvdial"><citetitle>
http://www.worldvisions.ca/wvdial</citetitle></ulink> en <ulink
URL="http://www.hwaci.com/sw/eznet"><citetitle>
http://www.hwaci.com/sw/eznet</citetitle></ulink>. 
Beiden zijn uitstekend, maar ik geef de voorkeur aan de laatste.
</para>

<!-- eznet -->

<sect3>
<title>Snelstart met eznet</title>

<para>
Maak als eerste als volgt <filename>/etc/resolv.conf</filename> aan:
</para>

<para>

<screen>
nameserver w.x.y.z
</screen>

</para>

<para>
waar je het adres van de nameserver van je ISP invoegt. Om een account aan
te maken met <filename>eznet</filename>, voer je de volgende opdracht uit:
</para>

<para>

<screen>
#~ eznet add service=YOUR_ISP user=NAME password=PASSWORD phone=PHONE
</screen>

</para>

<para>
waarmee het bestand <filename>/var/eznet/eznet.conf</filename>, wordt 
aangemaakt met als eigenaar
root.root met de permissies 600; chmod het naar 666 als je wilt dat het
voor iedereen leesbaar is. Bel nu je ISP met
<filename>eznet up JE_ISP</filename>. Als de modem blijft wachten op de
beltoon en het geen verbinding maakt, probeer dan eens deze opdracht:
</para>

<para>

<screen>
#~ eznet change JE_ISP init0=atx3
</screen>

</para>

<para>
De opdracht om op te hangen is <filename>eznet down</filename>. 
Dat is alles!
</para>

</sect3>

<!-- wvdial -->

<sect3>
<title>Snelstart met wvdial</title>

<para>
De setup van <filename>wvdial</filename> is zelfs nog korter. Typ
<filename>wvdialconf /etc/wvdial.conf</filename>. Bewerk dan het
resulterende bestand zodanig dat je gebruikersnaam, wachtwoord en 
telefoonnummer er in worden opgenomen. Probeer het uit met
<filename>wvdial</filename>, en duimen maar. Om op te hangen gebruik je
Ctrl-C.
</para>

</sect3>

</sect2>

<!-- POP client -->

<sect2>
<title>POP Client</title>

<para>
Om je mail op te halen vanaf een POP3 server, heb je een POP-client nodig.
Meestal vereisen dergelijke clients dat je een MTA zoals
<filename>sendmail</filename>, <filename>qmail</filename> of 
<filename>postfix</filename> draait; wat overbodig voor een eenvoudige
machine. Er zijn echter clients die zonder MTA werken.
De eerste soort wordt goed vertegenwoordigd door
<filename>fetchmail</filename>; de tweede door <filename>fetchpop</filename>
of <filename>frenchie</filename>. Sites: <ulink
URL="ftp://metalab.unc.edu/pub/Linux/system/mail/pop"><citetitle>
ftp://metalab.unc.edu/pub/Linux/system/mail/pop</citetitle></ulink>, <ulink
URL="http://www.lowcountry.com/~jscottb/tcltk.shtml"><citetitle>
http://www.lowcountry.com/~jscottb/tcltk.shtml</citetitle></ulink>.
</para>

<para>
Om deze clients te configureren:
</para>

<para>

<itemizedlist>
<listitem>

<para>
 <filename>fetchpop</filename>: de eerste keer dat je het draait, zul je
 om wat informatie worden gevraagd. Beantwoord de vragen en klaar is kees.
 <filename>fetchpop</filename> moet worden gebruikt met de switch 
 <filename>-r</filename> als je POP3-server de opdracht LAST niet juist
 implementeert.

</para>
</listitem>
<listitem>

<para>
 <filename>frenchie</filename>: als hierboven, bewerk
<filename>&nbsp;/.frenchie/frenchierc</filename>;

</para>
</listitem>
<listitem>

<para>
 <filename>fetchmail</filename>: pas het volgende voorbeeld van
 <filename>.fetchmailrc</filename> aan:


<screen>
# $HOME/.fetchmailrc
poll mbox.myisp.com with protocol pop3;
  user john there with password _Loo%ny is john here 
</screen>


Een gebruiker meldde dat het toevoegen van ``smtphost localhost'' aan de
tweede regel de performance drastisch verbeterde.

Je moet de permissies van dit bestand instellen met de opdracht
<filename>chmod 600 .fetchmailrc</filename>, anders zal
<filename>fetchmail</filename> terecht weigeren op te starten. Dit voorbeeld
is zeer fundamenteel; er zijn eindeloze configuratiemogelijkheden.
Kijk maar eens op <ulink
URL="http://www.ccil.org/~esr/fetchmail"><citetitle>
http://www.ccil.org/~esr/fetchmail</citetitle></ulink>.

</para>
</listitem>

</itemizedlist>

</para>

</sect2>

<!-- mail filtering -->

<sect2>
<title>Basis Mail Filtering</title>

<para>
Wellicht dat je jezelf wilt beschermen tegen spam of zeer omvangrijke
mailberichten. Er zijn twee situaties:
1) permanente verbinding met het net, 2) een POP link. In het eerste geval
kun je een <filename>.procmailrc</filename> bestand schrijven, terwijl je
in het tweede geval tools kunt gebruiken die de mail controleren voordat je
ze ophaalt.
</para>

<para>
Een zeer simpel <filename>.procmailrc</filename> waarin een paar regels
worden gedefinieerd:
</para>

<para>

<screen>
# $HOME/.procmailrc

MAILDIR=$HOME/mail # make sure it exists

# Sla berichten gericht aan de "foo" mailing list op in $HOME/mail/foo
:0
* ^To:.*foo
foo

# Verwerp berichten die niet expliciet naar mij of iemand van de mailing list
# waarop ik me heb ingeschreven, zijn gezonden.
:0
* !^TO(guido|jed|lugvr|ldp|nobody)
/dev/null

# ditto, voor meldingen groter dan 50k.
:0
* > 50000
/dev/null
</screen>

</para>

<para>
<filename>man procmailex</filename> voor meer voorbeelden.
</para>

<para>
POP gebruikers willen wellicht gebruik maken van <filename>poppy</filename>, 
een handig Perl-script voor het controleren van de mail voordat het wordt
opgehaald. Haal het op vanaf 
<ulink URL="ftp://metalab.unc.edu/system/mail/pop"><citetitle>
ftp://metalab.unc.edu/system/mail/pop</citetitle></ulink>.
</para>

</sect2>

<!-- XFree86 -->

<sect2>
<title>X Window Systeem (XFree86)</title>

<!-- setup -->

<sect3>
<title>Instellen van de X-Server</title>

<para>
Kom op, het is niet meer zo moeilijk als het ooit was... In alle distributies
is een tool opgenomen om X11 in te stellen (b.v.
<filename>XConfigurator</filename>, <filename>sax</filename>,
<filename>XF86Setup</filename>, of toch op z'n minst
<filename>xf86config</filename>). Tegenwoordig gaat de configuratie van X
vrijwel automatisch, maar een paar videokaarten kunnen je hoofdpijn
bezorgen.
</para>

<para>
Kijk als eerste op de XFree86 site (<ulink
  URL="http://www.xfree86.org"><citetitle>
  ftp://metalab.unc.edu/system/mail/pop</citetitle></ulink>) of je
  videokaart wordt ondersteund. Probeer deze procedure als je kaart wordt
  ondersteund:
</para>

<para>

<itemizedlist>
<listitem>

<para>
  installeer de gewone VGA-server:
</para>
</listitem>
<listitem>

<para>
  ga naar <ulink
  URL="ftp://ftp.XFree86.org/pub/XFree86/current/binaries"><citetitle>
  ftp://ftp.XFree86.org/pub/XFree86/current/binaries</citetitle></ulink>, cd
  naar de juiste Linux subdirectory, en download de archieven
  <filename>X_version_bin.tgz</filename>,
  <filename>X_version_set.tgz</filename>, en alle servers. Tussen al
  deze programma's bevindt zich in het eerste archief het meeste
  bijgewerkte programma <filename>SuperProbe</filename>;

</para>
</listitem>
<listitem>

<para>
  pak <filename>X_version_bin.tgz</filename> uit in een tijdelijke
  directory, cd naar deze directory, en start
  <filename>./SuperProbe</filename>. Als je videokaart wordt herkend,
  dan bestaat de kans dat je het in kunt stellen. Anders, pech gehad;
</para>
</listitem>
<listitem>

<para>
  installeer de servers en <filename>X_version_set.tgz</filename> vanuit
  <filename>/usr/X11R6/</filename>, start vervolgens 
  <filename>XF86Setup</filename> op.
</para>
</listitem>

</itemizedlist>

</para>

<para>
  Bij mij heeft dit altijd gewerkt, maar het kan zijn dat het voor jou
  niet geldt. De meeste keren zal X11 niet op willen starten omdat je de
  onjuiste specs voor je monitor koos! Begin met conservatieve instellingen,
  d.w.z.  800x600 met 256 kleuren, en verhoog het dan langzamerhand.
  <emphasis>Waarschuwing</emphasis>: deze bewerkingen zijn niet zonder
  gevaar en je monitor kan er door worden beschadigd!
</para>

<para>
Als je kaart niet wordt ondersteund, dan kun je: 1) wachten op een volgende
versie van XFree86; 2) een commerci&euml;le X-server kopen; 3) een 
ondersteunde videokaart kopen.
 <!--  <emphasis>Quartum non datur.</emphasis> -->
</para>

</sect3>

<!-- startup -->

<sect3>
<title>De X opstartreeks</title>

<para>
Er zijn twee manieren om X11 op te starten: vanaf de console via
<Command>startx</Command>, of direct via <filename>/etc/inittab</filename>.
</para>

</sect3>

<!-- keypad -->

<sect3>
<title>Toetsenblok</title>

<para>
We hebben gezien hoe we een paar speciale toetsen werkend kregen. Het
voorbeeldbestand <filename>.Xmodmap</filename> werkt goed als je Xjed wilt
gebruiken, maar het maakt het toetsenblok onbruikbaar. Je hebt in dat geval
een ander configuratiebestand nodig, wat we <filename>.Xmodmap.num</filename>
zullen noemen:
</para>

<para>

<screen>
! Definities zijn te vinden in &#60;X11/keysymdef.h

keycode 77  = Num_Lock
keycode 112 = KP_Divide
keycode 63  = KP_Multiply
keycode 82  = KP_Subtract
keycode 86  = KP_Add
keycode 79  = KP_7
keycode 80  = KP_8
keycode 81  = KP_9
keycode 83  = KP_4
keycode 84  = KP_5
keycode 85  = KP_6
keycode 87  = KP_1
keycode 88  = KP_2
keycode 89  = KP_3
keycode 90  = KP_0
keycode 91  = KP_Decimal
</screen>

</para>

<para>
Zorg dat in <filename>/etc/X11/XF86Config</filename> de volgende drie
regels niet zijn opgenomen:
</para>

<para>

<screen>
  ServerNumLock
  Xleds
  XkbDisable
</screen>

</para>

<para>
en wanneer ze er wel in staan, plaats er dan een commentaarteken voor. 
Om het toetsenblok te reactiveren, geef je de opdracht
<filename>xmodmap .Xmodmap.num</filename>.
</para>

</sect3>

<!-- xdm -->

<sect3>
<title>Grafische login met xdm</title>

<para>
Om te worden begroet door een grafische login, bewerk je het bestand
  <filename>/etc/inittab</filename>, waarin en regel als de volgende moet
  worden opgenomen:
</para>

<para>

<screen>
x:5:respawn:/usr/bin/X11/xdm -nodaemon # ookwel kdm of gdm
</screen>

</para>

<para>
waar de 5 staat voor het runlevel corresponderend met X11. Pas de regel aan
waarin het standaard runlevel wordt gedefinieerd, 
(gewoonlijk 2 of 3) waarbij je het wijzigt zoals in:
</para>

<para>

<screen>
id:5:initdefault:
</screen>

</para>

<para>
Het aantal kleuren wordt opgegeven in
  <filename>/etc/X11/xdm/Xserver</filename>:
</para>

<para>

<screen>
:0 local /usr/X11R6/bin/X :0 -bpp 16 vt07  # eerste X server, 65k kleuren
:1 local /usr/X11R6/bin/X :1 -bpp 32 vt08  # tweede X server, ware kleuren
</screen>

</para>

<para>
Wanneer <filename>.xinitrc</filename> reeds op je systeem voorkomt, kopieer je
het naar <filename>.xsession</filename> en maak je dit laatste bestand
uitvoerbaar met <filename>chmod +x .xsession</filename>. Geef nu de opdracht
<filename>telinit 5</filename> en klaar is kees.
</para>

</sect3>

<!-- window manager -->

<sect3>
<title>Window Manager</title>

<para>
Als X eenmaal werkt, zijn er eindeloze configuratiemogelijkheden; het
hangt af van de window manager die je gebruikt, er zijn er tientallen om
uit te kiezen. Meestal komt het allemaal neer op het wijzigen van 
&eacute;&eacute;n of meer ASCII-bestanden in je homedirectory; in andere
gevallen hoef je helemaal niets te bewerken, en gebruik je een applet of
slechts een menu.
</para>

<para>
Een aantal voorbeelden:
</para>

<para>

<itemizedlist>
<listitem>

<para>
<emphasis remap="bf">de fvwm familie</emphasis>: kopieer
<filename>/etc/X11/fvwm/system.fvwmrc</filename> (of vergelijkbaar) naar je
home, blader erdoor heen en begin te experimenteren. Wellicht dat je heel
wat tijd zult verspillen voordat je de precieze look en feel krijgt die je
wilt;
</para>
</listitem>
<listitem>

<para>
<emphasis remap="bf">WindowMaker</emphasis>: er zijn verscheidene 
configuratiebestanden voor die te vinden zijn onder
<filename>$HOME/GNUstep</filename>, en er is een te gek configuratie-applet;

</para>
</listitem>
<listitem>

<para>
<emphasis remap="bf">KDE</emphasis>, <emphasis remap="bf">Gnome</emphasis>,
<emphasis remap="bf">xfce</emphasis> en anderen: hier valt niets handmatig
te bewerken, alles kan worden uitgevoerd via het menu.
</para>
</listitem>

</itemizedlist>

</para>

<para>
Samengeval: als je het niet erg vindt, een configuratiebestand te bewerken,
kies dan iets als <filename>icewm</filename>, <filename>fvwm*</filename>,
<filename>blackbox</filename> enz; als je dat wel erg vindt, is de keuze
thans beperkt tot KDE, Gnome, WindowMaker en Xfce. Email me als ik ernaast
zit.
</para>

<para>
Het is van belang dat je een goed <filename>.xinitrc</filename> bestand
hebt. Een voorbeeld:
</para>

<para>

<screen>
#!/bin/sh
# $HOME/.xinitrc

usermodmap=$HOME/.Xmodmap
xmodmap $usermodmap

xset s noblank  # zet de schermbeveiliging uit
xset s 300 2    # start de schermbeveiliging na 5 min
xset m 10 5     # stel de mouse acceleratie in

rxvt -cr green -ls -bg black -fg white -fn 7x14 \
  -geometry 80x30+57+0 &#38;

if [ "$1" = "" ] ; then  # default
  WINMGR=wmaker
else
  WINMGR=$1
fi

$WINMGR
</screen>

</para>

<para>
Alhoewel het strict genomen niet noodzakelijk schijnt te zijn, maak je het
uitvoerbaar met <filename>chmod +x .xinitrc</filename>.
</para>

<para>
Het bestand <filename>.xinitrc</filename> van hierboven laat je de
window manager kiezen: probeer eens

<screen>
$ startx startkde # of een andere w.m.
</screen>

</para>

</sect3>

<!-- defaults for X11 apps -->

<sect3>
<title>Standaardwaarden voor X11 Apps</title>

<para>
Zoek uit waar de <filename>app-defaults</filename> directory is (het
zou <filename>/usr/X11R6/lib/X11/app-defaults</filename> moeten zijn). 
Hier bewaren verscheidene applicaties een configuratiebestand.
</para>

</sect3>

<!-- adding fonts -->

<sect3>
<title>Lettertypen toevoegen</title>

<para>
Recente versies van XFree86 (laten we zeggen &gt; 3.3.4) maken gebruik van een
X Font Server welke PostScript Type 1 en True Type fonts van nature 
ondersteunen, dus kun je de rijkdom aan beschikbare lettertypen op het net
gebruiken. Hier is een simpel te volgen procedure:
</para>

<para>
Veronderstel dat je een Type 1 lettertypeverzameling downloadde, zoals b.v.
Freefont (<ulink URL="ftp://ftp.gimp.org/pub/gimp/fonts/freefonts-0.10.tar.gz">
  <citetitle>ftp://ftp.gimp.org/pub/gimp/fonts/freefonts-0.10.tar.gz
  </citetitle></ulink>). Om het zichtbaar te maken voor de fontserver, pak
  je het archief uit in <filename>/usr/X11R6/lib/X11/fonts/</filename>. 
  Bewerk dan <filename>/etc/X11/fs/config</filename>, voeg een regel toe voor
  de nieuwe directory en herstart de fontserver.
</para>

<para>
  Wanneer je een eigen lettertypeverzameling samenstelt, dan moet je de 
  bestanden <filename>fonts.dir</filename> en <filename>fonts.scale</filename>
  toevoegen; het hulpmiddel waarmee je deze bestanden aan kunt maken is
  <filename>type1inst</filename>, beschikbaar vanaf <ulink
  URL="http://http://goblet.anu.edu.au/~m9305357/type1inst.html"><citetitle>
  http://http://goblet.anu.edu.au/~m9305357/type1inst.html
  </citetitle></ulink>.
</para>

<para>
  Net als bij de True Type lettertypen, groepeer je ze in een directory
  naar keuze en maak je <filename>fonts.dir</filename> aan met
  <filename>ttmkfdirfonts.dir</filename>, opgenomen in het Freetype archief;
  <ulink URL="http://www.freetype.org"><citetitle>http://www.freetype.org
  </citetitle></ulink>. Ga dan verder zoals hierboven beschreven. Als je 
  bijvoorbeeld de Windows fonts wilt, die je reeds hebt in stel
  <filename>/mnt/win/windows/fonts</filename>, ga dan naar die directory,
  start <filename>ttmkfdir</filename>, bewerk
  <filename>/etc/X11/fs/config</filename> en herstart de fontserver.
</para>

<para>
  Het begon allemaal met de oorspronkelijke True Type X font server: <ulink
  URL="http://http://www.dcs.ed.ac.uk/home/jec/programs/xfsft/">
  <citetitle>http://http://www.dcs.ed.ac.uk/home/jec/programs/xfsft/
  </citetitle></ulink>.

</para>

</sect3>

</sect2>

<!-- users' configurations -->

<sect2>
<title>Gebruikersconfiguratie</title>

<para>
Wanneer je klaar bent met het bewerken van de dot bestanden, kopieer ze dan naar
  <filename>/etc/skel</filename> zoals te zien in sectie 
  <XRef LinkEnd="config">.
</para>

</sect2>

<!-- rpms -->

<sect2>
<title>Aanmaken van .rpms</title>

<para>
  <filename>rpm</filename> is zo'n prachtige methode om packages onder
  beheer te houden dat ik met weerzin .tar.gz archieven installeer, behalve
  in slechts een paar speciale gevallen (b.v., beveiliging).
  Als je ooit een tarball installeert, overweeg het dan om te zetten in een
  .rpm archief, en herinstalleer het dan; raadpleeg de RPM HOWTO. Het is
  bovendien aan te raden om het volgende in <filename>/etc/rpmrc</filename>
  te plaatsen als je gebruik maakt van recente <filename>gcc</filename>
  versies:
</para>

<para>

<screen>
optflags: i386 -O2 -mpentiumpro
</screen>

</para>

</sect2>

<!-- Upgrading -->

<sect2>
<title>Upgraden</title>

<para>
  Als je je machine upgrade, maak dan zoals gewoonlijk een backup en denk
  eraan wat extra bestanden te bewaren. Een aantal daarvan zouden kunnen zijn
  <filename>/etc/X11/XF86Config</filename>,
  <filename>/usr/bin/fax</filename>, alles in
  <filename>/usr/local</filename>, de kernelconfiguratie, de gehele
  <filename>/etc</filename> directory, en alle mail in
  <filename>/var/spool/mail</filename>.
</para>

<para>
  Dan is het tijd de applicaties te upgraden (in zeldzame gevalllen te 
  downgraden!) waarmee je distributie wordt geleverd en om extra
  packages toe te voegen. Houd hiervan een lijst bij.
</para>

</sect2>

</sect1>

<!-- cfg software -->

<sect1 id="Config-sw">
<title>Configuratie Software + Docs </title>

<para>
  Er zijn verscheidene programma's die ervoor zorgen dat Linux eenvoudig
  is op te zetten en configureren. Een aantal daarvan zijn zo onderhand
  standaards geworden: Red Hat, Caldera en andere distributies worden
  geleverd met applicaties zoals <filename>setup</filename>,
  <filename>printtool</filename>, <filename>netcfg</filename>,
  <filename>usertool</filename>, enz, terwijl S.u.S.E. wordt geleverd
  met een uitgebreid configuratieprogramma genaam Yast. Anders nuttige
  programma's zijn:
</para>

<para>

<itemizedlist>
<listitem>

<para>
  <emphasis remap="bf">De Dotfile Generator</emphasis>: een prima
  X applicatie met modules om packages te configureren zoals
  <filename>emacs</filename>, <filename>bash</filename>, 
  <filename>procmail</filename> en meer. De homepage ervan is te vinden op
  <ulink URL="http://www.imada.ou.dk/~blackie/dotfile"><citetitle>
  http://www.imada.ou.dk/~blackie/dotfile</citetitle></ulink>;
</para>
</listitem>
<listitem>

<para>
  <emphasis remap="bf">Linuxconf</emphasis>: het ultieme configuratie
  hulpmiddel. Het kan alles, zowel onder console als onder X.
  Ga ogenblikkelijk naar 
  <ulink URL="http://www.solucorp.qc.ca/linuxconf"><citetitle>
  http://www.solucorp.qc.ca/linuxconf</citetitle></ulink>.

</para>
</listitem>

</itemizedlist>

</para>

<para>
  Documenten over Linux configuratie duiken overal op. Een van de meest
  complete is TrinityOS, <ulink
  URL="http://www.ecst.csuchico.edu/~dranch/LINUX/index-linux.html">
  <citetitle> http://www.ecst.csuchico.edu/~dranch/LINUX/index-linux.html
  </citetitle></ulink>. Val de auteur ermee lastig dat hij het document in
  fraaiere formaten omzet.
</para>

<para>
  Een leuke en goede pagina is <ulink URL="http://dotfiles.com"><citetitle>
  http://dotfiles.com</citetitle></ulink>. Precies wat het zegt - een
  verzameling configuratiebestanden.
</para>

</sect1>

<!-- the end -->

<sect1 id="The-End">
<title>Het einde</title>

<sect2>
<title>Copyright</title>

<para>
  Copyright (c) door Guido Gonzato, <filename>ggonza at tin.it</filename>.
  Dit document mag alleen worden gedistribueerd onder de termen en
  voorwaarden uiteengezet in de LDP-licentie op <ulink
  URL="http://www.linuxdoc.org/COPYRIGHT.html"><citetitle>
  http://www.linuxdoc.org/COPYRIGHT.html</citetitle></ulink>, behalve
  dat dit document niet in aangepaste vorm mag worden gedistribueerd
  zonder medeweten van de auteur.
</para>

<para>
  Raadpleeg alsjeblieft voor vragen de homepage van het 
  Linux Documentatie Project <ulink URL="http://www.linuxdoc.org"><citetitle>
  http://www.linuxdoc.org</citetitle></ulink>.
</para>

</sect2>

<sect2>
<title>Feedback</title>

<para>
  Misschien zelfs meer dan voor andere HOWTO's, verwelkomt deze je
  suggesties, kritiek en bijdragen. Feedback is niet alleen welkom:
  het is noodzakelijk. Als je denkt dat er iets in ontbreekt of er
  fouten in staan, email me dan alsjeblieft. Als je een andere distributie
  hebt dan Red Hat/Mandrake en je configuratiebestanden zijn anders
  of in andere directory's geplaatst, vertel me dit dan alsjeblieft
  zodat ik je tips in kan voegen. Mijn doel is het leven met Linux
  er zo makkelijk mogelijk op te maken.
</para>

<para>
  Er zijn voor Linux een enorm aantal packages, dus is het onmogelijk voor
  al deze packages aanwijzingen op te nemen. Houd je verzoeken/suggesties
  alsjeblieft beperkt tot de ``meest redelijke'' programma's. Ik laat het
  aan je gezond verstand over.
</para>

</sect2>

<sect2>
<title>Disclaimer</title>

<para>
  Dit document wordt geleverd zoals het is. Ik heb er veel moeite voor gedaan
  om dit zo accuraat mogelijk te beschrijven, maar je gebruikt de informatie
  hierin op eigen risico. In geen gevaal zal ik aansprakelijk zijn voor
  enige schade resulterend uit het gebruik van dit werk.
</para>

<para>
  Veel dank aan alle andere HOWTO auteurs en manpage schrijvers/beheerders,
  wiens werk ik schaamteloos heb ontfutseld; en aan alle mensen die me
  voorzagen van feedback.
</para>

<para>
  Ik hoop echter dat je dit werk van nut vindt. Wanneer ik een nieuwe
  Linux box installeer, vind ik dat in elk geval wel...
</para>

<para>
  Veel plezier,
</para>

<para>
  Guido <filename>=8-)</filename>
</para>

</sect2>

</sect1>

</article>
