Configuratie HOWTO Door Guido Gonzato, ggonza at tin.it, Vertaald door: Ellen Bokhorst, bokkie at nl.linux.org Versie 1.99.6. 31 augustus 2000. Deze HOWTO richt zich op het sneller en eenvoudiger fijnafstemmen van je nieuw geïnstalleerde Linux-box. Je vindt hierin een set configuratietips voor de meest algemene applicaties en services. ______________________________________________________________________ Inhoudsopgave 1. Introductie 1.1 Waarom deze HOWTO 1.2 Wat we zullen gaan configureren 2. Algemene Systeemsetup 2.1 Een paar woorden over beveiliging 2.2 Begin een logboek! 2.3 Toetsenbord 2.4 Boot- en Rescue-diskette 2.5 Kernelzaken 2.6 Hard Disk Performance 2.7 Parallelle Poort Zip Drive 2.8 Device Drivers 2.9 Geluidskaart 2.10 Login meldingen 2.11 Hostnaam 2.12 Muis 2.13 Mount Points 2.14 Automount Points 2.15 lilo(8) en LOADLIN.EXE 2.15.1 Beveiligingstip 2.16 Printer Configuratie 2.17 SVGATextMode 3. Algemene beheertaken 3.1 Netwerkconfiguratie 3.2 Netwerk voor Notebooks 3.3 Delen van het Internet 3.4 Netwerktoegang beperken 3.5 NFS Exports 3.6 Samba 4. Software Configuratie 4.1 bash(1) 4.2 I18n 4.3 ls(1) 4.4 less(1) 4.5 Editor 4.5.1 emacs(1) 4.5.2 joe(1) 4.5.3 jed(1) 4.6 pine(1) 4.7 minicom(1) 4.8 efax(1) 4.9 Ghostscript 4.10 TeX en Friends 4.10.1 Uitbreiden van $TEXINPUTS 4.10.2 Afbreekpatronen 4.10.3 Dvips 4.10.4 LaTeX Packages toevoegen 4.11 Voorkom PPProblemen! 4.11.1 Een snelle start met eznet 4.11.2 Een snelle start met wvdial 4.12 POP Client 4.13 Basis Mail Filtering 4.14 X Window Systeem (XFree86) 4.14.1 Instellen van de X-server 4.14.2 Numerieke toetsenblok 4.14.3 Grafische login met xdm 4.14.4 Window Manager 4.14.5 Standaards voor X11 Apps 4.14.6 Fonts toevoegen 4.15 Gebruikers configuraties 4.16 Maken van .rpms 4.17 Upgraden 5. Configuratie Software + Docs 6. Het einde 6.1 Copyright 6.2 Feedback 6.3 Disclaimer ______________________________________________________________________ 1. Introductie 1.1. Waarom deze HOWTO Huidige distributies naderen de perfectie, maar fijnafstemming is nog steeds nodig. Veel gebruikers voelen zich geïntimideerd door de schijnbare complexiteit van een Linux-systeem, en als resultaat bemerkte ik dat in c.o.l.setup steeds weer dezelfde vragen werden gesteld. Om wat aan deze situatie te doen en voor mijn eigen gemak, schreef ik deze te-doen lijst welke leidde tot deze HOWTO. Je vindt hierin configuratietips en voorbeelden voor de meest gebruikelijke applicaties, programma's en services, die je een tamelijke hoeveelheid tijd en werk kunnen besparen. Ik realiseer me dat deze HOWTO nogal op RedHat is gebaseerd. Ik heb thans slechts toegang tot RedHat en Mandrake computers, met kernels variërend van 2.0.36 tot 2.2.15; dus behandel mijn tips niet als heilig als je andere distributies hebt. In voorgaande versies van deze HOWTO stond wat informatie voor SuSE, Debian en Caldera; maar aangezien ik niet langer toegang heb tot die computers, kan ik de details niet bijgewerkt houden. Geen informatie is beter dan niet accurate informatie, dus is het aan jou mijn tips aan je distributie aan te passen. Deze HOWTO kan niet, en is niet bedoeld om anderen te vervangen. Het lezen van docs en HOWTO's betaalt zich altijd terug, dus het wordt je ten zeerste aanbevolen, dit te doen. Bovendien wordt het je hier niet voorgekauwd: als je je realiseert dat je iets niet begrijpt, raadpleeg dan de relevante HOWTO. Laat me je er aan herinneren dat Usenet de juiste plaats is om naar hulp betreffende de configuratie van Linux te zoeken, d.w.z. <news:comp.os.linux.setup>. Zoek alsjeblieft geen hulp bij mij, want ik ben al tamelijk overbeladen. De officiële plaats voor dit document waar tevens alle andere HOWTO's en een aantal vertalingen, waar ik naar refereer worden gehost, is <http://www.linuxdoc.org>. 1.2. Wat we zullen gaan configureren Er bestaan eindeloze hardware configuraties voor een PC, maar in mijn ervaring is er één zeer gebruikelijk: een PC met daarin een grote HD gesplitst in drie partities (één voor DOS/Windows, één voor Linux, één voor swap), geluidskaart, modem, CD-ROM station, printer, muis. Ook een parallelle poort Zip-drive is zeer algemeen. Deze computer maakt mogelijk deel uit van een gemengd Windows-Linux netwerk, waarbij het als een server fungeert. Ik ga ervan uit dat je deze hardware zal willen configureren, maar de volgende tips zijn eenvoudigweg aan verschillende configuraties aan te passen. Er zal impliciet vanuit worden gegaan dat je root zult zijn tijdens het editen/herstellen/hacken. En nu jongens, stroop je mouwen op. 2. Algemene Systeemsetup 2.1. Een paar woorden over beveiliging Zelfs voordat je het systeem boot, zou je een beslissing moeten hebben genomen over welk beveiligingsniveau je wilt implementeren. Verbind om mee te beginnen je computer niet met het netwerk voordat je besloten hebt wat je zal gaan doen. Beveiliging is een veelomvattend onderwerp dat buiten het kader van deze HOWTO valt; twee goede plaatsen om mee te beginnen zijn de Linux Security Administrator's Guide op <http://www.securityportal.com/lasg> en de Linux Security Guide op <http://nic.com/~dave/SecurityAdminGuide/index.html>. Je zou op z'n minst de volgende stappen in overweging moeten nemen: het gebruik van shadow passwords (Shadow Password HOWTO), het beperken van netwerktoegang tot de computer (Sectie ``Beperken van netwerktoegang''), het gebruik van de Secure Shell ( <http://www.openssh.org>) of het Secure Remote Password ( <http://srp.stanford.edu/srp/>). Veel succes. 2.2. Begin een logboek! Om je installatie in vorm te houden, is het essentieel dat je exact weet wat er op je computer heeft plaatsgevonden, welke packages je die dag installeerde, wat je verwijderde of wijzigde, enzovoort. Dus het eerste dat je zal doen voordat je aan je computer komt, is het beginnen van een ``logboek''. Daarin zal je alles vermelden van de stappen die je als root maakt; in mijn eigen logboek hou ik ook een sectie bij van alle gewijzigde systeembestanden en extra .rpms, en .tar.gz die ik installeerde. In de optimale situatie zou je bij het teruggaan van al je stappen je installatie terug moeten kunnen verkrijgen. Maak een backup van de systeembestanden die je wijzigt. Of nog beter, maak gebruik van RCS; je zal alle wijzigingen terug kunnen vinden. Werk nooit als root zonder je stappen vast te leggen! 2.3. Toetsenbord Als je deze stap tijdens de installatie hebt gemist of inmiddels een ander toetsenbord hebt, zal je: · naar een passende toetsentabel moeten zoeken, te beginnen bij /usr/lib/kbd/keymaps/i386; bijvoorbeeld, querty/it-latin1.kmap.gz biedt ondersteuning voor het Italiaanse toetsenbord; · wijzig het bestand /etc/sysconfig/keyboard zodat er staat: KEYTABLE="it-latin1"; · voor het instellen van de keyboard repeat rate (herhalingssnelheid) en delay time (vertragingstijd) voeg je de volgende regel toe aan /etc/rc.d/rc.sysinit: /sbin/kbdrate -s -r 16 -d 500 # of wat je ook wilt Roep /etc/rc.d/init.d/keytable start aan voor het laden van de toetsentabel. In de volgende secties zullen andere speciale toetsen aan bod komen. Voeg voor het standaard activeren van de NumLock toets de volgende regels toe aan /etc/rc.d/rc.sysinit: for tty in /dev/tty[1-9]*; do setleds -D +num < $tty done Normaal gesproken wordt er onder de Linux console geen onderscheid gemaakt in bijvoorbeeld de pijltjestoets en combinatie van de Shift- en pijltjestoets, maar een aantal applicaties (zoals bijvoorbeeld de editor ``Jed'') doen dit wel. Normaal gesproken zijn dergelijke key bindings alleen beschikbaar in een xterm. De volgende key map, die je naar keuze tijdens de systeemstart kunt laden, is daarbij erg handig: # Laad deze keymap 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^" 2.4. Boot- en Rescue-diskette Maak voor een nieuw geïnstalleerd systeem een paar bootdiskettes. In je distributie kan een opdracht voor het aanmaken van een dergelijke diskette zijn opgenomen (zoals bijvoorbeeld mkbootdisk of iets dat daarop lijkt); zo niet, dan kun je de volgende opdrachten gebruiken: #~ dd if=/boot/vmlinuz-2.0.36-0.7 of=/dev/fd0 # gebruik je kernel-image #~ rdev /dev/fd0 /dev/hda2 # je Linux root partitie Zorg er bovendien voor dat je een paar rescue-disks bij de hand hebt. Er is veel keuze in rescuedisks op <ftp://metalab.unc.edu/pub/Linux/system/recovery>; als je niet weet welke te kiezen, raad ik je aan Tomsbtrt uit te proberen, de homepage daarvan is te vinden op <http://www.toms.net/rb>. Het is zeer compleet, maar een aantal utility's lijken in eerste instantie te ontbreken; ftp staat er niet op, maar daarvoor in de plaats krijg je nc. Lees alsjeblieft de bijbehorende documentatie. 2.5. Kernelzaken IMHO is het eerste dat je vervolgens zou moeten doen een kernel te bouwen die het beste bij je systeem past. Het is zeer eenvoudig te doen, maar raadpleeg in elk geval, het bestand README in /usr/src/linux/ of de Kernel HOWTO. Hints: · overweeg zorgvuldig wat je nodig hebt. Het uitkiezen van een kernelconfiguratie, toepassen van de patches en het voor eens en voor altijd compileren is productiever dan het iedere maand herconfigureren en compileren; dit is vooral waar als je Linux-box een server is. Vergeet niet de ondersteuning voor alle hardware die je waarschijnlijk in de toekomst toe zult voegen, op te nemen (b.v. SCSI, Zip, netwerkkaarten, enz); gebruik van modules is gewoonlijk de beste keuze; · notebook gebruikers: als je van plan bent een PCMCIA modem/fax te gaan gebruiken, denk er dan aan seriële ondersteuning in de kernel te compileren. Compileer het niet als een module want dan zal je PCMCIA modem niet werken; · denk er aan alles wat je nodig hebt te compileren; d.w.z. vergeet de pcmcia modules of de ALSA geluidsdrivers niet; · om de volgende keer dat je de kernel herconfigureert en hercompileert tijd te besparen is het een goed idee je configuratie naar een bestand weg te schrijven en het op een veilige plaats te bewaren. Als je de kernel upgrade en gebruik maakt van ``make oldconfig'', zal je oude config bestand worden genomen en voor alle niet opgenomen features zal worden gevraagd of ze moeten worden opgenomen, wat resulteert in een nieuw, bijgewerkt config bestand. 2.6. Hard Disk Performance De performance van je (E)IDE harddisk kan enorm worden verbeterd door zorgvuldig gebruik te maken van hdparm(8). Als het niet in je Linux distributie is opgenomen, kun je het vinden op <ftp://metalab.unc.edu/pub/Linux/system/hardware>; zoek naar een bestand met de naam hdparm-X.Y.tar.gz. Aangezien veel details afhankelijk zijn van je harddisk en HD- controller, kan ik je geen algemene richtlijnen geven. Je riskeert je bestandssysteem te roosteren, dus lees de manpage zorgvuldig door voordat je een aantal van de opties gaat gebruiken. Op z'n eenvoudigst zou je de volgende regel aan /etc/rc.d/rc.sysinit toe kunnen voegen: /sbin/hdparm -c1 /dev/hda # uitgaande van de eerste IDE-drive waarmee (E)IDE 32-bit I/O ondersteuning wordt geactiveerd. Betreft de `-m' optie, emailde de auteur Mark Lord van hdparm me het volgende: (...) als je systeemcomponenten van de afgelopen paar jaar [< 1997], gebruikt, zal het goed gaan. Er *zou* een probleem op kunnen treden (onwaarschijnlijk) met oudere componenten. De werkelijke fouten bevattende chips waren de CMD0646 en RZ1000 chips, die *op grote schaal* op 486 en (eerdere) 586 moederborden van ongeveer 2-3 jaar geleden werden gebruikt. Voor recente computers, zouden deze instellingen prima moeten werken: /sbin/hdparm -c1 -A1 -m16 -d1 /dev/hda 2.7. Parallelle Poort Zip Drive In stock kernels is zowel de driver voor de oude (ppa) als de nieuwe (imm) Zip-drives ingesloten. Als je de kernel opnieuw compileert, zorg er dan voor dat SCSI-ondersteuning en SCSI-diskondersteuning zijn geactiveerd. Denk er aan dat er conflicten op kunnen treden tussen de printer en de Zip drive als ze beiden op dezelfde parallelle poort zijn aangesloten, dus je kunt beter kernelmodules gebruiken. Zip disks worden op partitie /dev/sda4 voorgeformatteerd verkocht. Voeg het volgende toe aan /etc/rc.d/rc.sysinit om de Zip te activeren: # Activeer de Zip-drive /sbin/modprobe ppa # imm voor recente modellen Zip disks kunnen zoals hieronder wordt getoond worden gemount via /etc/fstab, of via Mtools door het toevoegen van de volgende regel aan het bestand /etc/mtools.conf: drive z: file="/dev/sda4" exclusive bovendien maakt de opdracht mzip het mogelijk de status te ondervragen, de ZIP-disks eruit te werpen, en met een wachtwoord te beveiligen; zie man mzip voor details. De Mtools home page is te vinden op <http://linux.wauug.org/pub/knaff/mtools>. 2.8. Device Drivers Devices in /dev (of nog beter, koppelingen naar de feitelijke device drivers) kunnen ontbreken. Controleer met welke devices je muis, modem, en CD-ROM drive corresponderen, en geef vervolgens de opdracht: ~# cd /dev /dev# ln -s ttyS0 mouse; ln -s ttyS1 modem; ln -s hdb cdrom; ln -s sda4 zip In de meeste notebooks is /dev/psaux het mouse device: houd hier bij het configureren van X11 rekening mee. Als je dit wenst, pas dan een chmod 666 toe op deze devices waardoor ze voor iedere gebruiker volledig toegankelijk zullen zijn. 2.9. Geluidskaart Mijn desktop PC is voorzien van een oude Sound Blaster 16; zelfs als je iets anders hebt, kun je het volgende als leidraad nemen. Ik compileerde de ondersteuning voor de geluidskaart als een module (sb.o). Vervolgens plaatste ik dit in /etc/conf.modules: options sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330 alias sound sb Zorg voor het activeren van het geluid dat modprobe sound in /etc/rc.d/rc.sysinit wordt aangeroepen. Haal als alternatief de tool sndconfig van de site van RedHat. Naast de standaardkernel geluidsdrivers zijn de Alsa drivers ( <http://www.alsa-project.org>) een uitstekende keuze. Vreemd genoeg echter zijn de geluidskanalen standaard gedempt. Gebruik aumix en het bestand /etc/aumixrc om het volume op 100% in te stellen: vol:100:100:P synth:100:100:P pcm:100:100:P line:100:100:P mic:100:100:R cd:100:100:P 2.10. Login meldingen Als je de loginmeldingen aan wilt passen, kijk dan of je /etc/rc.d/rc.local het bestand /etc/issue en /etc/motd overschrijft. (RedHat doet dit) Als dit zo is, haal je editor dan voor de dag. Als je een login melding in kleur wilt, kun je rc.local zodanig aanpassen door er regels in te voegen als: # plaats een echt escape teken in plaats van ^[. Dit doe je in: # emacs met: ^Q ESC in vi met: ^V ESC in joe met: ` 0 2 7 in jed met: ` ESC ESC="^[" # een echt escape character 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 2.11. Hostnaam Mogelijk is het uitvoeren van de opdracht hostname nieuwe_host_naam niet genoeg. Volg de volgende stappen op om het geduchte vastlopen van sendmail te voorkomen, (alleen van toepassing op een stand-alone computer): · wijzig /etc/sysconfig/network en verander daarin de hostnaam (b.v. je.nieuwe.domeinnaam); · wijzig /etc/HOSTNAME dienovereenkomstig; · voeg de nieuwe hostnaam toe aan de regel in /etc/hosts: 127.0.0.1 localhost je.nieuwe.domeinnaam 2.12. Muis gpm mouse services zijn handig voor het knippen en plakken in tty mode, en om de muis in een aantal applicaties te gebruiken. Zorg dat je een bestand genaamd /etc/sysconfig/mouse hebt en dat hierin staat: MOUSETYPE="Microsoft" XEMU3=yes Bovendien heb je een bestand /etc/rc.d/init.d/gpm nodig waarin je aanvullende opdrachtregel parameters plaatst. In de mijne staat: ... daemon gpm -t $MOUSETYPE -d 2 -a 5 -B 132 # twee-knops muis ... Uiteraard dien je ervoor te zorgen dat deze configuratie juist is voor je muis. In de meeste notebooks, is MOUSETYPE ``PS/2''. Als je onder de console graag menu's gebruikt met Ctrl-knop, configureer dan gpm-root. Wijzig het standaardmenu in /etc/gpm- root.conf, en start vanuit /etc/rc.d/rc.local gmp-root op. 2.13. Mount Points Het is handig om mountpoints voor de diskette, andere devices en via NFS geëxporteerde directory's te hebben. Je kunt bijvoorbeeld het volgende doen: ~# cd /mnt; mkdir floppy cdrom win zip server Hiermee worden mountpoints voor een DOS/Win diskette, de CD-ROM, de Windows partitie, de parallelle poort Zip-drive en een NFS directory aangemaakt. Wijzig nu het bestand /etc/fstab en voeg daaraan de volgende regels toe: /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 Uiteraard moet je in het eerste veld het juiste device gebruiken. Let op het type bestandssysteem `auto' in de eerste regel; dit maakt het mogelijk zowel ext2 als vfat (DOS/Windows) diskettes te mounten, maar je hebt een recente versie van mount nodig. Wellicht dat je de mtools prettiger vindt. 2.14. Automount Points Als je het mounten/unmounten niet prettig vindt, overweeg dan het gebruik van autofs(5). Je geeft de autofs daemon op wat automatisch te mouten en waar te beginnen met het bestand, /etc/auto.master. De structuur ervan is eenvoudig: /misc /etc/auto.misc /mnt /etc/auto.mnt In dit voorbeeld geef je autofs op de media in /misc en /mnt automatisch te mounten, waarvan de mountpoints zijn opgegeven in /etc/auto.misc en /etc/auto.mnt. Een voorbeeld van /etc/auto.misc: # een NFS export server -ro my.buddy.net:/pub/export # verwijderbare media cdrom -fstype=iso9660,ro :/dev/hdb floppy -fstype=auto :/dev/fd0 Start de automounter. Van nu af aan, zal wanneer je een niet bestaand mount point /misc/cdrom probeert te benaderen, het worden aangemaakt en zal de CD-ROM worden gemount. 2.15. lilo(8) en LOADLIN.EXE Veel gebruikers draaien zowel Linux als DOS/Windows op hun PC en willen tijdens de systeemstart kiezen welk os ze zullen gaan gebruiken; dit zou tijdens de installatie moeten zijn geregeld, maar slechts voor het geval dat, doe je wat hierna volgt. Laten we er hierbij vanuit gaan dat /dev/hda1 de DOS/Windows drive is en /dev/hda2 Linux. ~# fdisk Using /dev/hda as default device! Command (m for help):a Partition number (1-4): 2 Command (m for help):w ~# Hiermee wordt de Linux-partitie opstartbaar gemaakt. Schrijf vervolgens dit basis /etc/lilo.conf bestand: boot = /dev/hda2 compact # kan een conflict opleveren met "linear" delay = 100 # 10 seconden linear # voor het afgeraken van het "1024 cylinder" probleem message = /boot/bootmesg.txt # schrijf er zelf een als je dat wilt root = current image = /boot/vmlinuz # boot standaard linux als dit het eerste record is label = linux read-only # append="mem=128M" # om meer geheugen dan 64M te zien other = /dev/hda1 table = /dev/hda label = win Roep nu /sbin/lilo aan en je bent klaar. Omdat lilo een kritiek onderdeel van je installatie uitmaakt, wordt je sowieso geadviseerd de documentatie ervan te lezen. Om Linux vanuit DOS/Windows zonder een reset te booten, plaats je LOADLIN.EXE in een directory (in de DOS-partitie!) opgenomen in het DOS-path; kopieer dan de kernel naar, laten we uitgaan van, C:\TEMP\VMLINUZ. Het volgende eenvoudige .BATch bestand zal Linux booten: rem linux.bat smartdrv /C loadlin c:\temp\vmlinuz root=/dev/hda2 ro Als je Windows 9x gebruikt, stel de eigenschappen van deze .BATch dan zo in dat Windows in MS-DOS mode start. 2.15.1. Beveiligingstip Het maken van een backup van je MBR vóór het installeren van Linux is een veilige stap. Prepareer een Windows rescue-diskette, en zorg ervoor dat hierop FDISK.EXE is geplaatst. Voor het herstellen van de MBR, geef je de opdracht A:\> fdisk /mbr 2.16. Printer Configuratie Alle distributies die ik ken hebben een configuratietool voor het instellen van de printer (printtool, yast, of magicfilter); als je het niet hebt, is hier de basis van een handmatige configuratie. Laten we ervan uitgaan dat je geen PostScript printer hebt (en ook geen printer die alleen voor Windows is bestemd!) welke je wilt gebruiken om onopgemaakte tekst op af te drukken (zoals b.v.. C bronbestanden) en PostScript bestanden via Ghostscript, waarbij wordt verondersteld dat dit reeds is geïnstalleerd. Het instellen van de printer beslaat een paar stappen: · zoek uit wat het parallelle afdrukdevice is: probeer ~# echo "hello, world" > /dev/lp0 ~# echo "hello, world" > /dev/lp1 en neem in acht welke werkt. · maak twee spooldirectory's aan: ~# cd /var/spool/lpd /var/spool/lpd/# mkdir raw; mkdir postscript · als je printer neigt naar het ``staircase effect'' (dit geldt voor de meeste inktjets) heb je een filter nodig. Probeer twee regels af te drukken met ~# echo "eerste regel" > /dev/lp1 ; echo "tweede regel" > /dev/lp1 en als de uitvoer er ongeveer zo uitziet: eerste regel tweede regel bewaar dit script dan als /var/spool/lpd/raw/filter: #!/bin/sh # Dit filter elimineert het "staircase effect" awk '{print $0, "\r"}' en maak het uitvoerbaar met chmod 755 /var/spool/lpd/raw/filter. · maak een filter voor PostScript emulatie. Schrijf het volgende filter weg als /var/spool/lpd/postscript/filter: #!/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 (in dit voorbeeld werd uitgegaan van een HP DeskJet printer. Pas het aan je printer aan). · voeg tenslotte de volgende regels toe aan /etc/printcap: # /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: Voor complexere of exotischer afdrukconfiguraties is er een Printing- HOWTO. Als je printtool gebruikt, wees je er dan van bewust dat het GSDEVICE door Printtool uitgekozen wel zal werken, maar dat het niet noodzakelijkerwijs het beste is voor je printer. Je zou kunnen overwegen wat met het bestand postscript.cfg te knoeien; ik wijzigde GSDEVICE bijvoorbeeld van cdj500 in djet500 en nu komen de afdrukken er veel sneller uit. 2.17. SVGATextMode Dit utility, beschikbaar vanaf <ftp://tsx-11.mit.edu/pub/linux/sources/sbin>, is handig voor het wijzigen van de schermresolutie, het font, en de cursorvorm van de console. Gebruikers wiens taal geaccentueerde tekens bevat zullen deze in console applicaties kunnen gebruiken, terwijl notebook gebruikers de cursorvorm zodanig kunnen veranderen dat deze beter zichtbaar is. Wijzig /etc/TextConfig of /etc/TextMode, te beginnen met de standaard VGA definitie. Europeanen zullen verheugd zijn met deze ``LoadFont'' sectie: 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 Probeer zodra je klaar bent, je configuratie met een opdracht als SVGATextMode "80x34x9", en als alles prima lijkt te werken, verwijder dan de waarschuwingsmeldingen uit /etc/TextMode en neem deze regel op in etc/rc.d/rc.sysinit: # SVGATextMode /usr/sbin/SVGATextMode "80x34x9" Merk alsjeblieft op dat de blokcursor alleen onder een aantal modussen werkt; op mijn notebook "80x30x9". 3. Algemene beheertaken Hier begint de pret. Deze sectie gaat over netwerken, alhoewel nog veel andere taken je staan te wachten. Netwerken beslaan een veelomvattend onderwerp welke 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 belicht. Een rappe te-doen lijst voor de services die je wellicht wilt installeren: cron en geplande taken zoals calendar of reminder, Http, Samba telnet/ssh access, anonymous ftp, POP/IMAP server, NFS... 3.1. Netwerkconfiguratie Als je netwerkkaart tijdens de installatie niet werd herkend, maak je dan geen zorgen: in de meeste gevallen is het óf compatibel met NE2000 óf 3c59x. Geef de opdracht modprobe ne of modprobe 3c59x en kijk of de relevante module is geladen en voeg vervolgens de volgende regel toe aan /etc/conf.modules: alias eth0 ne # of 3c59x Nu ben je zover netcfg of een vergelijkbare tool te gaan gebruiken om de netwerkconfiguratie in te stellen. De relevante bestanden zijn /etc/HOSTNAME, etc/hosts, /etc/resolv.conf, /etc/sysconfig/network, en /etc/sysconfig/network-scripts/ifcfg-eth0; services, te vinden in /etc/rc.d/init.d zouden met scripts moeten worden gestart. Dit is een voorbeeld van etc/hosts: 127.0.0.1 localhost 192.168.1.1 paleo.eocene.net paleo 192.168.1.2 nautilus.eocene.net nautilus Dit is een voorbeeld van /etc/resolv.conf: search df.unibo.it,eocene.net nameserver 195.210.91.100 Dit is /etc/sysconfig/network (Red Hat-afhankelijk): NETWORKING=false FORWARD_IPV4=true HOSTNAME=nautilus.eocene.net DOMAINNAME=eocene.net En tenslotte /etc/sysconfig/network-scripts/ifcfg-eth0. Ook dit is Red Hat afhankelijk; het moet uitvoerbaar zijn. DEVICE=eth0 IPADDR=192.168.1.2 NETMASK=255.255.255.0 NETWORK=192.168.1.0 BROADCAST=192.168.1.255 ONBOOT=no Alhoewel de werkelijke methode van je distributie om netwerkservices in te stellen veel complexer kan zijn, zou het volgende script voldoende moeten zijn om van start te gaan: #!/bin/sh # net-up.sh: instellen van netwerktoegang 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 Dit script is handig voor het activeren van netwerktoegang wanneer je een rescue-disk gebruikt. Uiteraard laat het je alleen naar de buitenwereld pingen, ftp-en en telnetten; het zal geen daemon opstarten. 3.2. Netwerk voor Notebooks Wanneer je de PC netwerkkaart erin plugt, zal het script /etc/pcmcia/network worden uitgevoerd. Hiervoor is alleen een juiste instelling nodig in /etc/sysconfig/network-scripts/ifcfg-eth0. Het instellen van een netwerk kan echter wat lastiger zijn. Je moet in feite voorzien in de juiste instellingen voor ieder netwerk waar je een verbinding mee opzet, als ook voor het notebook wanneer het niet met een netwerk is verbonden. Ik draaide een globale maar functionele oplossing in elkaar. Ik gebruik mijn notebook als een stand-alone machine, verbonden met het net via PPP; thuis met IP-adres 192.168.1.2; en op de universiteit met IP 137.204.x.y. Dus maakte ik voor ieder netwerk een set configuratiebestanden aan; deze worden bewaard in /etc/mobnet. Voor het selecteren van een netwerkomgeving wordt een script gebruikt. Dit is bijvoorbeeld /etc/mobnet/home.cfg: # /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" Dit is mnet, het script waar ik gebruik van maak om een netwerkprofile uit te kiezen: #!/bin/sh # mnet: script om de configuratie van het "mobiele netwerk" 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 ] && /etc/rc.d/init.d/$service $1 done } # usage if [ $# = 0 ] ; then echo "Gebruik: mnet <config name>" echo "Voorbeeld: mnet office" exit 1 fi # controleer of de configuratie voorkomt 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 naamserver(s) in cat <<EOF > /etc/resolv.conf # /etc/resolv.conf search $SEARCH nameserver $NAMESERVER EOF # stop eerdere 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 <<EOF > /etc/sysconfig/network NETWORKING=yes FORWARD_IPV4=true HOSTNAME=$HOSTNAME DOMAINNAME=$DOMAINNAME GATEWAY=$GATEWAY GATEWAYDEV=eth0 EOF cat <<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 config bestanden /bin/cp -f /etc/mobnet/hosts.$1 /etc/hosts /bin/cp -f /etc/mobnet/smb.conf.$1 /etc/smb.conf echo -n "Voeg de PC netwerkkaart in en druk op <enter> wanneer je klaar bent: " read # OK, start nu de services activate_services start echo "SERVICES=\"$SERVICES\"" > /etc/mobnet/services.prev else # het is niet "none" cat <<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 PC kaart verwijderen." exit 0 fi # einde mnet. Zoals ik al zei, het is globaal opgezet en het is zelfs niet compleet: het kan zijn dat andere bestanden afhankelijk zijn van het netwerk, zoals bv /etc/fstab, /etc/exports, en /etc/printcap. Denk ook aan netwerkprinters en NFS shares. Pas deze oplossing met de allerbelangrijkste elementen gerust aan aan je behoeften. 3.3. Delen van het Internet Een van de meest nuttige taken voor een Linux server. Thans worden de meeste stock kernels standaard met IP-firewalling, masquerading en forwarding geactiveerd; raadpleeg de IP-Masquerade mini-HOWTO als je twijfelt om te leren hoe je ze kunt activeren. Installeer vervolgens ipfwadm (kernels 2.0.x; <http://www.xos.nl/linux/ipfwadm/>) of ipchains (kernels 2.2.x; <http://www.adelaide.net.au/~rustcorp/ipfwchains/ipfwchains.html>). Denk er aan de kernelmodules voor de services die je nodig hebt, te activeren, b.v. voor ftp zal je de volgende regel toe moeten voegen aan /etc/rc.d/rc.sysconfig: /sbin/modprobe ip_masq_ftp Andere modules zijn gewoonlijk te vinden in /lib/modules/KERNEL- VERSION/ipv4. Het activeren van IP-masquerading voor andere computers in je lokale netwerk is erg simpel. Controleer als eerste de netwerk initialisatiescripts (/etc/sysconfig/network zou de juiste plek hiervoor moeten zijn) om te zien of hierin een regel met FORWARD_IPV4=true staat. Het wordt gebruikt om /proc/sys/net/ipv4/ip_forward op 1 in te stellen wanneer het netwerksubsysteem de lucht in gaat. Voeg deze regels toe aan /etc/rc.d/rc.sysinit: # default: packets kunnen de buitenwereld niet bereiken /sbin/ipfwadm -F -p deny # maak het voor alle computers mogelijk het Internet te bereiken /sbin/ipfwadm -F -a m -S 192.168.1.0/24 -D 0.0.0.0/0 # sta dit als alternatief alleen toe voor deze twee computers # /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 Als je gebruik maakt van een kernel in de serie 2.2.x gebruik dan ipfwadm-wrapper in plaats van ipfwadm om snel van start te gaan. Meer informatie op <http://ipmasq.cjb.net>. Nu iets om de clientcomputers de ISP te laten bellen; Ik gebruik hiervoor Mserver ( <http://cpwright.villagenet.com/mserver/>). Wijzig etc/mserver.conf; de enige regels die je zou moeten wijzigen zijn ``checkhost'', ``shadow'', en ``cname''. Definieer dan je verbinding(en). Uiteraard installeer je een geschikte client op de clientcomputers. 3.4. Netwerktoegang beperken Laten we er eens vanuit gaan dat je een verbinding hebt met het Internet via PPP. Zodra je een verbinding tot stand hebt gebracht kan je computer kwetsbaar zijn voor aanvallen van buitenaf. Plaats dit in /etc/hosts.allow: # sta alleen de toegang toe tot localhost ALL: 127. en dit in /etc/hosts.deny: # ontzeg iedereen de toegang ALL: ALL Als je computer onderdeel uitmaakt van een netwerk met directe toegang tot het Internet, kun je om beveiligingsredenen beter finger, telnet en mogelijk nog andere services deactiveren; gebruik ssh in plaats van telnet. Het te wijzigen bestand is /etc/inet.conf. Als alternatief kun je netwerktoegang beperken door het volgende in /etc/hosts.allow te plaatsen: in.telnetd: 192.168.1., .ander.betrouwbaar.netwerk in.ftpd: 192.168.1., .ander.betrouwbaar.netwerk en dit in /etc/hosts.deny: in.telnetd: ALL in.ftpd: ALL 3.5. NFS Exports Het is gebruikelijk om home-directory's naar de server te exporteren; er doet zich een probleem voor als een gebruikers-ID en GID op verschillende computers niet consistent zijn. Als gebruiker guido UID/GID gelijk aan 500 heeft op de server en UID/GID gelijk aan 512 op de client, is het volgende een comfortabele configuratie: # /etc/exports /tmp mijn.client.machine(rw) /home/guido mijn.client.machine(rw,all_squash,anonuid=512,anongid=512) 3.6. Samba Bijna dagelijkse routine, maar er is altijd nog wel wat te doen. Als je een verbinding op wilt zetten met Windows 98/NT clients, dacht je er dan wel aan de docs te lezen, en voor het geval dat, wachtwoorden in gewone tekst te activeren? In de distributie zijn .reg bestanden opgenomen voor Win9x/NT/2000; als je clients geen verbinding met de Linux-server kunnen maken, laad ze dan op iedere client. Samba wordt met een tamelijk compleet voorbeeld van /etc/smb.conf geleverd, maar vreemd genoeg ontbreekt er een sectie in waarin wordt getoond hoe verwijderbare media te (un)mounten. Hiervoor zijn de preexec en postexec clausules: [cdrom] comment = CD-ROM path = /mnt/cdrom public = yes read only = yes ; mogelijk moet je "root preexec/postexec" gebruiken preexec = mount /mnt/cdrom postexec = umount /mnt/cdrom Bovendien: je weet wat Swat is, nietwaar? Activeer het door deze regel in /etc/inetd.conf toe te voegen: swat stream tcp nowait.400 root /usr/sbin/swat swat en dit in /etc/services: swat 901/tcp Herstart inetd met SIGHUP, en laat je browser verwijzen naar http://localhost:901. 4. Software Configuratie We gaan de volgende configuratiebestanden aanpassen: /etc/profile /etc/bashrc .bashrc .bashrc .bash_profile .bash_logout .inputrc .less .lessrc .xinitrc .fvwmrc .fvwm2rc95 .Xmodmap .Xmodmap.num .Xdefaults .jedrc .abbrevs.sl .joerc .emacs. Voeg geen gebruikers toe totdat je de systeemconfiguratie klaar hebt; je plaatst bestanden beginnend met een punt in /etc/skel. 4.1. bash(1) Na de kernel het belangrijkste stukje software. Voor het aanpassen van het functioneren van bash zijn de belangrijkste te wijzigen bestanden: · /etc/bashrc bevat systeemomvattende aliassen en functies; · /etc/profile bevat systeemomvattende omgevingszaken en opstartprogramma's; · $HOME/.bashrc bevat gebruikersaliassen en functies; · $HOME/.bash_profile bevat gebruikersomgevingszaken en opstartprogramma's; · $HOME/.inputrc bevat key bindings en andere kleine zaken. Voorbeelden van deze bestanden worden hieronder gegeven. Als eerste de allerbelangrijkste: /etc/profile. Het wordt gebruikt om veel van de features in je Linux box te configureren, zoals je in de volgende secties zult zien. Let alsjeblieft op de (achterwaartse) aanhalingstekens! ______________________________________________________________________ # /etc/profile # Systeemomvattende omgeving en opstartprogramma's # Functies en aliassen gaan 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 # als eerste: root of normale gebruiker? Stel dienoverenkomstig PATH en # umask in. Het PATH wordt normaal gesproken door login(1) ingesteld, maar # wat als je de computer benaderd via ssh? if [ $(id -gn) = $(id -un) -a $(id -u) -gt 14 ]; then umask 002 # normale gebruiker PATH="/usr/local/bin:/bin:/usr/bin:." else umask 022 # root PATH="/sbin:/bin:/usr/sbin:/usr/bin" fi # Breid nu het PATH uit. PATH="$PATH:/usr/X11R6/bin:$HOME/bin:." # !!! Let op ./ !!! # stel de gebruiker in kennis: login of geen login shell. # Bij een loginshell is de prompt blauw, anders is het magenta. # Root's prompt is root. # Zie de Colour-ls mini HOWTO voor een uitleg van deze 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 geheugendumps, max bestandsgrootte 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 # wijzig dit 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 ls in kleur eval $(dircolors /etc/DIR_COLORS -b) export LS_OPTIONS='-s -F -T 0 --color=yes' # less aanpassen 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 # wellicht dat je dit moet corrigeren voor de backspace in rxvt/xterm stty erase ^H # alternatief: ^? # stel de titel in van xterm: 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 zouden kunnen worden overschreven! fi done # roep fortune aan, als dit beschikbaar is if [ -x /usr/games/fortune ] ; then echo ; /usr/games/fortune ; echo fi ______________________________________________________________________ Dit is een voorbeeld van /etc/bashrc: ______________________________________________________________________ # /etc/bashrc # Systeemomvattende functies en aliassen # Omgevingszaken gaan in /etc/profile # Voeg hier PS1 definities in als je problemen ervaart. export CDPATH="$CDPATH:~" # common aliases 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 toon de inhoud ervan { cd $1 ; ls } inst() # Installeer een .tar.gz archief in de huidige directory { if [ $# != 0 ]; then tar zxvf $1; fi } cz() # Toon de inhoud van een .zip archief { if [ $# != 0 ]; then unzip -l $*; fi } ctgz() # Toon de inhoud van een .tar.gz archief { for file in $* ; do tar ztf ${file} done } tgz() # Maak een .tgz archief a la zip. { 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 } ______________________________________________________________________ Dit is een voorbeeld .bashrc: ______________________________________________________________________ # $HOME/.bashrc # Source globale definities if [ -f /etc/bashrc ]; then . /etc/bashrc fi # dit is nodig om de gebruiker opmerkzaam te maken dat ze zich bevinden in # een niet login shell 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 { xjed $1 & } ______________________________________________________________________ Dit is een voorbeeld .bash_profile: ______________________________________________________________________ # $HOME/.bash_profile # Gebruikers specifieke omgeving en opstartprogramma's # Dit bestand bevat gebruikersgedefinieerde instellingen die de instellingen # in /etc/profile overschrijven. # Haal de gebruikersaliassen en functies op if [ -f ~/.bashrc ]; then GET_PS1="NO" # de kleur van de prompt niet wijzigen . ~/.bashrc fi # stel een paar `default' directory's in export CDPATH="$CDPATH:$HOME:$HOME/text:$HOME/text/geology" ______________________________________________________________________ Dit is een voorbeeld .inputrc: ______________________________________________________________________ # $HOME/.inputrc # key bindings "\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 # beep alsjeblieft niet set meta-flag On # sta 8-bit invoer toe (d.w.z. accenttekens) set convert-meta Off # strip 8-bit tekens niet 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 ______________________________________________________________________ Om ervoor te zorgen dat de backspace en delete toetsen in xterm en andere X11 applicaties juist werken, is tevens het volgende nodig: · plaats dit in .xinitrc: usermodmap=$HOME/.Xmodmap xmodmap $usermodmap · dan zal er in .Xmodmap staan: keycode 22 = BackSpace keycode 107 = Delete dit corrigeert de console. Voor het corrigeren van xterm: · plaats je dit in .Xdefaults: xterm*VT100.Translations: #override <Key>BackSpace: string(0x7F)\n\ <Key>Delete: string(0x1b) string("[3~")\n\ <Key>Home: string(0x1b) string("[1~")\n\ <Key>End: string(0x1b) string("[4~")\n\ Ctrl<Key>Prior: string(0x1b) string("[40~")\n\ Ctrl<Key>Next: string(0x1b) string("[41~") nxterm*VT100.Translations: #override <Key>BackSpace: string(0x7F)\n\ <Key>Delete: string(0x1b) string("[3~")\n\ <Key>Home: string(0x1b) string("[1~")\n\ <Key>End: string(0x1b) string("[4~")\n\ Ctrl<Key>Prior: string(0x1b) string("[40~")\n\ Ctrl<Key>Next: string(0x1b) string("[41~") rxvt is wat gecompliceerder, aangezien een aantal opties op te geven tijdens de compilatie het functioneren beïnvloeden. Zie /etc/profile hiervoor. Meer info in bash(1) en readline(3) man pages. Verwacht niet dat iedere applicatie juist werkt! Als je joe bijvoorbeeld in xterm draait, werken een aantal toetsen niet; hetzelfde geldt voor een aantal versies van rxvt. 4.2. I18n (Deze sectie is niet van toepassing voor gebruikers met Engels als moedertaal). A.l.a. ``internationalisatie''. Gasp. Dit lange woord betekent ``Linux aanpassen aan lokale conventies: taal, datumformaat, valuta enz.''. Alhoewel Red Hat een eigen methode heeft om i18n middels (/etc/sysconfig/i18n) in te stellen, wil je de taal misschien wel slechts in een paar situaties aanpassen. Mijzelf als voorbeeld nemend, activeer i18n in kdm (via kdmconfig) en xfce, maar wil Engelse berichten lezen als ik onder de console of in een xterm werk. Kijk eens naar de volgende regels: LANG=it # kies je taal: fr, de, es, ... LANGUAGE=it LC_ALL=it export LANG LANGUAGE LC_ALL Als je ze in .xinitrc of .xsession plaats, net voor de regel waarin de window manager wordt opgestart, krijg je internationale berichten - inclusief die in xterms die vanuit de window manager worden opgestart. Maar als je liever Engelse berichten krijg, stel de taal dan in op ``en'' en plaats dezelfde regels in .bash_profile. 4.3. ls(1) ls kan directorylistings in kleur weergeven om verschillende type bestanden te belichten. Hiervoor heb je slechts een paar regels nodig in /etc/profile. Dit werkt echter niet met oude versies van rxvt; gebruik in plaats daarvan een of andere variant van xterm. Het ziet er naar uit dat een aantal oude rxvts een bug bevatten waarbij in een aantal omstandigheden de omgeving niet juist wordt geërfd. 4.4. less(1) Met deze uitstekende pager kun je niet alleen door gewone tekstbestanden bladeren, maar ook door die met gzip gecomprimeerd, tar en zip archieven, man pages, en wat je ook maar hebt. De configuratie ervan beslaat een aantal stappen: · om het met de verplaatsingstoetsen te kunnen gebruiken, maak je dit gewone ASCII-bestand .lesskey aan voor in je homedirectory: ^[[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 start dan de opdracht lesskey. (Dit zijn escape sequences voor op vt100 lijkende terminals.) Hiermee wordt een binair bestand .less aangemaakt met de key bindings. · schrijf het volgende bestand weg als /usr/bin/lesspipe.sh: ___________________________________________________________________ #!/bin/sh # Dit is een preprocessor voor 'less'. Het wordt gebruikt wanneer de # omgevingsvariabele van `less' is gezet: # LESSOPEN="|lesspipe.sh %s" lesspipe() { case "$1" in *.tar) tar tf $1 2>/dev/null ;; # Bekijk de inhoud van .tar en .tgz bestanden *.tgz|*.tar.gz|*.tar.Z|*.tar.z) tar ztf $1 2>/dev/null ;; *.Z|*.z|*.gz) gzip -dc $1 2>/dev/null ;; # Bekijk gecomprimeerde files correct *.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=`file -L $1` FILE=`echo $FILE | cut -d ' ' -f 2` if [ "$FILE" = "troff" ]; then groff -s -p -t -e -Tascii -mandoc $1 fi ;; *) file $1 | grep text > /dev/null ; if [ $? = 1 ] ; then # het is niet een of andere tekst strings $1 fi ;; esac } lesspipe $1 ___________________________________________________________________ maak het vervolgens uitvoerbaar met chmod 755 lesspipe.sh. · plaats variabelen die effect hebben op less in /etc/profile. 4.5. Editor Slechts de populairste zullen hier worden behandeld. 4.5.1. emacs(1) Ik gebruik zelden emacs, dus heb ik slechts een paar tips voor je. Een aantal emacs distributies worden niet voorgeconfigureerd geleverd met kleuren en het benadrukken van de syntax. Plaats dit in .emacs: (global-font-lock-mode t) (setq font-lock-maximum-decoration t) Dit werkt alleen onder X11. Bovendien voeg je de volgende regel toe voor geaccentueerde tekens: (standard-display-european 1) Ik zal het aan jou overlaten om alle documentatie van emacs zorgvuldig door te lezen om uit te zoeken hoe je het naar behoefte aan kunt passen --- mogelijkerwijs, kan het hacken een aantal maanden in beslag nemen. De Dotfile generator (Sectie ``Configuration Software'') is hierbij een goede hulp. 4.5.2. joe(1) Een aantal versies van joe werken in console niet met kleuren en ook werken een aantal speciale toetsen niet. Een snelle en niet zo'n mooie (en onelegante) oplossing voor het eerder genoemde probleem is dit: ~$ export TERM=vt100 ~$ joe myfile (edit your file) ~$ export TERM=linux Om de speciale toetsen werkend te krijgen, hoef je slechts .jstarrc of je favoriete emulatie te wijzigen; je kunt beginnen bij de systeemomvattende configuratiebestanden in /usr/lib/joe. Zoek naar de vierde sectie (key bindings). Hiermee worden Home en End geactiveerd: bol ^[ [ 1 ~ Ga naar het begin van de regel eol ^[ [ 4 ~ Ga naar het einde van de regel Je kunt achter de gewenste ESC sequences komen door het typen van cat gevolgd door de speciale toetsen. 4.5.3. jed(1) Dit is mijn favoriete editor: het doet wat het moet doen, het is lichter en eenvoudiger te configureren dan emacs, en emuleert tamelijk goed andere editors. Veel gebruikers op de universiteit waar ik zit maken gebruik van jed om EDT, VMS' systeemeditor te emuleren. De configuratiebestanden van jed zijn .jedrc en /usr/lib/jed/lib/*; de eerstgenoemde kan worden aangepast vanuit jed.rc in de laatstgenoemde directory. · als blijkt dat xjed de DEL toets niet herkent, voeg dan de volgende regels toe aan .jedrc: #ifdef XWINDOWS x_set_keysym (0xFFFF, 0, "\e[3~"); setkey (``delete_char_cmd'', "\e[3~"); #endif · je hoeft slechts een paar regels in .jedrc aan te passen om ervoor te zorgen dat jed EDT (of andere editors) emuleert. ALs je wilt dat de `+' op het numerieke toetsenblok woorden verwijdert in plaats van een enkel teken, voeg het volgende dan toe aan .jedrc: unsetkey("\eOl"); unsetkey("\eOP\eOl"); setkey("edt_wdel", "\eOl"); setkey("edt_uwdel", "\eOP\eOl"); na de regel met () = evalfile("edt") (of vergelijkbaar); · voeg het volgende in .Xmodmap om ervoor te zorgen dat xjed het numerieke toetsenblok voor EDT emulatie gebruikt: keycode 77 = KP_F1 keycode 112 = KP_F2 keycode 63 = KP_F3 keycode 82 = KP_F4 keycode 86 = KP_Separator · aanpassen van kleuren voor xjed gebeurt door het toevoegen van regels zoals de volgende in .Xdefaults: xjed*Geometry: 80x32+150+50 xjed*font: 10x20 xjed*background: midnight blue # enzovoort... · de ``afkorting'' feature is een onschatbare tijdsbespaarder. Schrijf een bestand zoals het volgende als $HOME/.abbrevs.sl (je kunt deze naam wijzigen door het invoegen van variable Abbrev_File = "/usr/lib/jed/abbrev.sl"; in .jedrc): 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}"); % and so on... en typ ESC x abbrev_mode om het te activeren. Voeg aan .jedrc de volgende regels toe om afkortingen standaard te activeren: define text_mode_hook () { set_abbrev_mode (1); } % define fortran_hook () { set_abbrev_mode (1); use_abbrev_table ("Fortran"); } % enzovoort... 4.6. pine(1) Wijzig de globale configuratie in /usr/lib/pine.conf, let daarbij op z'n minst op de volgende velden: user-domain, smtp-server, en nntp- server. Merk op dat inbox-path afhankelijk is van je MTA: als je sendmail of postfix gebruikt, is dat var/spool/mail/$USER; met Qmail, /home/$USER/Mailbox (maar root maakt gebruik van /var/qmail/alias/Mailbox. 4.7. minicom(1) Gebruikers kunnen geen gebruik maken van minicom tenzij door root een globale configuratie is ingesteld. Denk eraan het aan te maken. 4.8. efax(1) Dit package is waarschijnlijk het meest comfortabel voor het eenvoudig zenden/ontvangen van faxen. Je moet het script /usr/bin/fax of (mandrake) /etc/fax.config aanpassen; eenvoudige taak, maar een paar grillen bezorgde me hoofdpijn: · Om erachter te komen of je modem een class 1, 2, of 2.0 is, gebruik je minicom of een vergelijkbaar programma om het commando at+fclass=? uit te voeren. Het antwoord kan iets zijn als 0,1,2; 1 en 2 zijn de classes die door je modem worden ondersteund; · DIALPREFIX: de kans bestaat dat het simpelweg plaatsen van `T' of `P' in een aantal landen niet werkt (tenminste, in Italië) Schrijf in plaats daarvan `ATDT' of `ATDP'; · INIT en RESET: deze strings bestaan uit de initialisaties `-i' en `-k', benodigd voor efax. Als je een AT commando toe wilt voegen, voeg het dan toe aan de daarvoor geschikte string en laat `AT' weg, en laat de rest voorafgaan met `-i' of `-k'. Voorbeeld: toevoegen van het `ATX3' commando aan INIT, voeg `-iX3' toe. Als je dat hebt gedaan, zijn er een paar permissies te herstellen die niet-root gebruikers toestaan faxen te sturen en te ontvangen. De directory's /var/lock en /var/spool/fax moeten schrijfbaar zijn. Om dit te doen, maak je een groep faxusers aan, voegt er gebruikers aan toe en tikt dan in: ~# chown root.faxusers /var/lock ~# mkdir /var/spool/fax # als het nog niet bestaat ~# chown root.faxusers /var/spool/fax; chmod g+w /var/spool/fax Als een normale gebruiker roep je voor het zenden van een fax de opdracht newgrp faxusers aan. 4.9. Ghostscript Dit essentiële hulpmiddel leidt aan een kleine onhebbelijkheid. In het bezit van de wel-bekende export reglementen in de USA, werkt het utility pdf2psniet op versleutelde .pdf-bestanden. Doet er niet toe: richt je browser op <http://www.ozemail.com.au/~geoffk/pdfencrypt>, download het bestand pdf_sec.ps en zet het in plaats van het bestand met dezelfde naam dat met de distributie van Ghostscript wordt meegeleverd. 4.10. TeX en Friends De ``root'' van een TeX systeem is de directory $TEXMF, in teTeX is dit /usr/share/texmf; voor andere distributies is dit mogelijk anders (zoek op je systeem naar ``texmf''). Normaal gesproken voeg je dingen toe of knoei je wat met de bestanden. 4.10.1. Uitbreiden van $TEXINPUTS Om PostScript afbeeldingen of TeX bestanden die in subdirectory's staan op te nemen, is het comfortabel om het zoekpad van TeX uit te breiden door hier subdirectory's in op te nemen. Plaats deze opdracht in .bash_profile: export TEXINPUTS="$HOME/mylib::./figures" wat maakt dat TeX in $HOME/mylib zoekt voordat het in de standaarddirectory's gaat zoeken, en daarna in de directory ./figures. 4.10.2. Afbreekpatronen Voor het configureren van afbreekpatronen in je taal, wijzig je het bestand $TEXMF/tex/generic/config/language.dat, en geeft dan op: ~# texconfig init ; texconfig hyphen Zelfs al schrijf je niets in de Engelse taal, verwijder dan niet het veld ``english''; TeX verslikt zich zonder. 4.10.3. Dvips Het te wijzigen bestand om dvips aan te passen is $TEXMF/dvips/config/config.ps. Wees je ervan bewust dat de velden betreffende de standaardresolutie ook effect hebben op het functioneren van xdvi; als je hinderlijke pogingen ervaart iedere keer dat je het draait fonts aan te maken, plaats dan de regel XDvi*mfmode: in .Xdefault. Dit zou moeten helpen. 4.10.4. LaTeX Packages toevoegen Extra LaTeX packages zijn beschikbaar vanaf je dichtsbijzijnde CTAN (Comprehensive TeX Archive Network) mirror site, b.v. <ftp://ftp.dante.de/pub/tex>. Pak het package uit onder $TEXMF/tex/latex. Als geen .sty bestand bestaat, start dan de opdracht latex newstyle.ins of latex newstyle.dtx om het aan te maken, voer vervolgens de opdracht texhash uit, zodat teTeX het nieuwe package herkent. 4.11. Voorkom PPProblemen! Ik neem aan dat er in je kernel PPP + TCP/IP ondersteuning is gecompileerd, dat loopback is geactiveerd, en dat je reeds het pppd package correct hebt geïnstalleerd en, naar wens als, suid root. Uiteraard moet je ISP PPP ondersteunen. Er zijn nu twee manieren om PPP aan de gang te krijgen: a) handmatige configuratie, en b) een configuratie programma dat het automatisch herkent. Welke optie je ook kiest, zorg dat je de volgende informatie bij de hand hebt: · het telefoonnummer van je ISP; · de naam, mail en newsserveradres van je ISP; · het domain van je ISP; · je gebruikersnaam en wachtwoord. Handmatige configuratie is geestdodend werk. Het betreft het wijzigen van bestanden en het schrijven van scripts; niet te veel werk, maar je maakt gemakkelijk fouten en nieuwkomers schrikken ervan terug. Hiervoor is de PPP HOWTO. Als alternatief bestaan er hulpmiddelen die om de hierboven genoemde informatie vragen en je al het werk uit handen nemen. Gnome en KDE bevatten respectievelijk gnome-ppp en kppp welke eenvoudig genoeg zijn om in te stellen. Ik raad je aan dat je ook eens kijkt naar een aantal tools die zijn gebaseerd op tty, wvdial en eznet. Je voert het telefoonnummer van je ISP, je gebruikersnaam en je wachtwoord in, en je hebt je taak volbracht. Hun homepages zijn te vinden op <http://www.worldvisions.ca/wvdial> en <http://www.hwaci.com/sw/eznet>. Beide zijn zeer goed, maar mijn voorkeur gaat uit naar de laatstgenoemde. 4.11.1. Een snelle start met eznet Maak als eerste als volgt een /etc/resolv.conf bestand aan: naamserver w.x.y.z waar je het adres van de naamserver van je ISP invult. Voor het aanmaken van een account met eznet, geef je de volgende opdracht: #~ eznet add service=YOUR_ISP user=NAME password=PASSWORD phone=PHONE waarmee het bestand /var/eznet/eznet.conf wordt aangemaakt, met als eigenaar root.root en permissies 600; chmod in 666 als je wilt dat het voor iedereen leesbaar is. Probeer nu bij je ISP in te bellen met eznet up JE_ISP. Probeer het volgende commando, als je modem blijft wachten op de kiestoon en geen verbinding maakt: #~ eznet change YOUR_ISP init0=atx3 Gebruik om op te hangen de opdracht eznet down. Dat is alles! 4.11.2. Een snelle start met wvdial De setup voor wvdial is zelfs beknopter. Typ wvdialconf /etc/wvdial.conf, wijzig vervolgens het resulterende bestand door er je gebruikersnaam, wachtwoord en telefoonnummer in op te nemen. Probeer het uit met wvdial, en duimen maar. Hang op met Ctrl-C als je wilt stoppen. 4.12. POP Client Om mail van een POP3 server op te halen, heb je een POP-client nodig. De meeste clients vereisen dat je een MTA zoals sendmail, qmail of postfix draaiende hebt; dit is wat overmatig op goedkope computers. Er zijn echter clients die zonder een MTA werken. De eerste soort is fetchmail; de tweede fetchpop of frenchie. Sites: <ftp://metalab.unc.edu/pub/Linux/system/mail/pop>, <http://www.lowcountry.com/~jscottb/tcltk.shtml>. Om deze clients te configureren: · fetchpop: de eerste keer dat je het opstart, zul je wat informatie op moeten geven. Beantwoord de vragen en het is ingesteld. fetchpop moet met de switch -r worden gebruikt, als de POP3-server van je ISP het commando LAST niet juist implementeert. · frenchie: als hierboven, wijzig /.frenchie/frenchierc; · fetchmail: pas dit voorbeeld van .fetchmailrc aan: # $HOME/.fetchmailrc poll mbox.myisp.com with protocol pop3; user john there with password _Loo%ny is john here Een gebruiker meldde dat het toevoegen van ``smtphost localhost'' aan de tweede regel een enorme performance verbetering opleverde. Je moet de permissies van dit bestand met het commando chmod 600 .fetchmailrc instellen, anders zal fetchmail terecht weigeren op te starten. Dit voorbeeld is echt een basis; er zijn eindeloze configuratie-mogelijkheden. Kijk het na op . 4.13. Basis Mail Filtering Je zal jezelf willen beschermen tegen spam of zeer grote mailberichten. Er zijn twee situtaties: 1) permanente verbinding met het net, 2) een POP link. In de eerste situatie kun je een .procmailrc bestand schrijven, terwijl er voor de tweede situatie tools zijn voor het controleren van de mail voordat het wordt opgehaald. Een zeer eenvoudig .procmailrc waarin een aantal regels worden definieerd: # $HOME/.procmailrc MAILDIR=$HOME/mail # zorg dat het bestaat # Sla berichten gestuurd naar de mailinglist "foo" op in $HOME/mail/foo :0 * ^To:.*foo foo # Verwerp berichten die niet expliciet naar mij of één van # de mailinglijsten waarop ik mij heb aangemeld zijn gezonden. :0 * !^TO(guido|jed|lugvr|ldp|nobody) /dev/null # idem voor berichten groter dan 50k. :0 * > 50000 /dev/null man procmailex voor meer voorbeelden. POP gebruikers willen wellicht gebruik maken van poppy, een nuttig Perl-script voor het controleren van mail voordat het wordt opgehaald. Haal het vanaf <ftp://metalab.unc.edu/system/mail/pop>. 4.14. X Window Systeem (XFree86) 4.14.1. Instellen van de X-server Kom op, het is bij lange na niet meer zo moeilijk als het ooit was... Alle grotere distributies hebben een tool voor het instellen van X11 (b.v. XConfigurator, sax, XF86Setup, of in ieder geval xf86config). Het configureren van X gaat tegenwoordig vrijwel automatisch, maar het zou kunnen dat een paar videokaarten voor hoofdbrekers zorgen. Kijk als eerste op de XFree86 site ( <http://www.xfree86.org>) of je videokaart wordt ondersteund. Als dit zo is, probeer dan deze procedure: · installeer de gewone VGA-server; · ga naar <ftp://ftp.XFree86.org/pub/XFree86/current/binaries>, cd naar de juiste Linux subdirectory, en download de archieven X_version_bin.tgz, X_version_set.tgz, en alle servers. Te midden van andere programma's bevat het eerste archief het meest bijgewerkte SuperProbe; · pak X_version_bin.tgz in een tijdelijke directory uit, cd naar die directory en start ./SuperProbe. Als je videokaart wordt herkend bestaat de kans dat je het in zal kunnen stellen. Zo niet, dan pech; · installeer de servers en X_version_set.tgz vanaf /usr/X11R6/, start vervolgens XF86Setup. Bij mij heeft dit altijd gewerkt, maar het kan zijn dat het voor jou anders uitpakt. Merk alsjeblieft op dat X11 meestal niet opstart omdat je de verkeerde specs voor je monitor koos! Start met conservatieve instellingen, d.w.z. 800x600 en 256 kleuren. Waarschuwing: deze bewerkingen zin gevaarlijk en kunnen je monitor beschadigen! Als je kaart niet wordt ondersteund, kun je of: 1) wachten op de volgende versie van XFree86; 2) een commerciële X-server kopen; 3) een ondersteunde videokaart kopen. 4.14.2. Numerieke toetsenblok We hebben hiervoor gezien hoe we een paar speciale toetsen werkend krijgen. Het voorbeeldbestand .Xmodmap werkt goed als je Xjed wilt gebruiken, maar het maakt het numerieke toetsenbord onbruikbaar. Je heb dan een ander config bestand nodig, wat we .Xmodmap.num zullen noemen: ! Definities zijn te vinden in <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 Zorg dat de volgende drie regels niet in /etc/X11/XF86Config voorkomen: ServerNumLock Xleds XkbDisable en als dit wel zo is, plaats er dan een commentaarteken voor. Voor het heractiveren van het numerieke toetsenblok roep je de opdracht xmodmap .Xmodmap.num aan. 4.14.3. Grafische login met xdm Om te worden begroet door een grafische login, wijzig je het bestand /etc/inittab, waarin een regel als de volgende zou moeten zijn opgenomen: x:5:respawn:/usr/bin/X11/xdm -nodaemon # ook kdm of gdm waar 5 het runlevel is dat met X11 correspondeert. Wijzig de regel waarin het standaardrunlevel wordt gedefinieerd (gewoonlijk 2 of 3), het wijzig het zoals in: id:5:initdefault: Het aantal kleuren wordt opgegeven in /etc/X11/xdm/Xserver: :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, true color Als je reeds een .xinitrc hebt, kopieer dit dan naar .xsession en maak de laatste uitvoerbaar met chmod +x .xsession. Roep nu de opdracht telinit 5 aan. 4.14.4. Window Manager Zodra X werkt, zijn er eindeloze configuratiemogelijkheden; dit is afhankelijk van de in gebruik zijnde window manager, er zijn er tientallen om uit te kiezen. Meestal komt het neer op het wijzigen van één of meer ASCII-bestanden in je home-directory; in andere gevallen hoef je helemaal niets te wijzigen en maak je gebruik van een applet of een menu. Wat voorbeelden: · de fvwm familie: kopieer /etc/X11/fvwm/system.fvwmrc (of vergelijkbaar) naar je homedirectory met de van toepassing zijnde naam, blader er doorheen, en begin met experimenteren. Mogelijk verlies je heel wat tijd eer je de precieze look en feel hebt die je graag wilt; · WindowMaker: het heeft verscheidene config bestanden te vinden onder $HOME/GNUstep, en een gaaf configuratie applet; · KDE, Gnome, xfce en anderen: niets om hier handmatig te wijzigen, alles kan via het menu worden gedaan. Samengevat: als je het niet erg vindt een config bestand te wijzigen, kies dan iets uit als icewm, fvwm*, blackbox enz; als het je wel iets uitmaakt, dan is de keuze thans beperkt tot KDE, Gnome, WindowMaker, en Xfce. Email me als ik er naast zit. Het is belanglijk een goed .xinitrc te hebben. Een voorbeeld: #!/bin/sh # $HOME/.xinitrc usermodmap=$HOME/.Xmodmap xmodmap $usermodmap xset s noblank # zet de screensaver uit xset s 300 2 # screen saver start na 5 min xset m 10 5 # stel de muisacceleratie in rxvt -cr green -ls -bg black -fg white -fn 7x14 \ -geometry 80x30+57+0 & if [ "$1" = "" ] ; then # default WINMGR=wmaker else WINMGR=$1 fi $WINMGR Alhoewel het niet strict vereist schijnt te zijn, maak je het uitvoerbaar met chmod +x .xinitrc. De .xinitrc hiervoor laat je de window manager uitkiezen: probeer $ startx startkde # of andere w.m. 4.14.5. Standaards voor X11 Apps Zoek uit waar de app-defaults directory is (het zou /usr/X11R6/lib/X11/app-defaults moeten zijn). Verscheidene apps bewaren hier een configuratiebestand. 4.14.6. Fonts toevoegen Recente versies van XFree86 (zoals > 3.3.4) maken gebruik van een X Font Server welke PostScript Type 1 en True Type fonts ondersteunen, dus kun je gebruik maken van de overvloed aan beschikbare fonts op het net. Je volgt hiervoor een eenvoudige procedure. Veronderstel dat je een verzameling Type 1 fonts download, b.v. Freefont ( <ftp://ftp.gimp.org/pub/gimp/fonts/freefonts-0.10.tar.gz>). Om het zichtbaar te maken aan de fontserver, pak je het archief uit in /usr/X11R6/lib/X11/fonts/. Wijzig dan het bestand /etc/X11/fs/config, voeg een veld toe met de nieuwe directory, en herstart de fontserver. Als je je eigen font verzameling samenstelt, moet je de bestanden fonts.dir en fonts.scale aanvullen; het hulpmiddel waarmee je ze maakt is type1inst, beschikbaar vanaf <http://http://goblet.anu.edu.au/~m9305357/type1inst.html>. Betreft de True Type fonts, groepeer ze in een directory van je keuze en maak fonts.dir aan met ttmkfdir > fonts.dir, opgenomen in het Freetype archief; <http://www.freetype.org>. Ga dan verder zoals hierboven beschreven. Als je bijvoorbeeld de Windowsfonts in /mnt/win/windows/fonts wilt gebruiken, ga dan naar die directory, start ttmkfdir, wijzig /etc/X11/fs/config en herstart de fontserver. Het begon allemaal bij de oorspronkelijke True Type X fontserver: <http://http://www.dcs.ed.ac.uk/home/jec/programs/xfsft/>. 4.15. Gebruikers configuraties Als je klaar bent met het wijzigen van de dot files (bestanden die beginnen met een punt), kopieer deze dan naar /etc/skel zoals in Sectie ``Software Configuratie''. 4.16. Maken van .rpms rpm is zo'n prachtige methode om packages onder beheer te houden, dat ik met weerzin .tar.gz archieven installeer, maar in slechts een paar gevallen (b.v., beveiliging). Als je ooit een tar-archief installeert, overweeg het dan om te zetten in een .rpm-archief, installeer het vervolgens opnieuw; raadpleeg de RPM-HOWTO. Ik adviseer je het volgende in je /etc/rpmrc te plaatsen, als je gebruik maakt van moderne gcc-versies, zoals egcs of pgcc: optflags: i386 -O2 -mpentiumpro 4.17. Upgraden Als je je machine upgrade, maak dan zoals gewoonlijk een backup en denk er aan een aantal extra bestanden te bewaren. Een aantal daarvan zouden kunnen zijn /etc/X11/XF86Config, /usr/bin/fax, alles in /usr/local, de kernel configuratie, de volledige inhoud van /etc, en alle mail in /var/spool/mail. Dan is het tijd applicaties te upgraden (in zeldzame gevallen, downgraden!) die met je distributie worden geleverd, en extra packages toe te voegen. Houd hier een lijst van bij. 5. Configuratie Software + Docs Er zijn verscheidene programma's die ervoor zorgen dat Linux eenvoudig is in te stellen en configureren. Een aantal daarvan worden zo langzamerhand een standaard: Red Hat, Caldera en andere distributies worden geleverd met applicaties zoals setup, printtool, netcfg, usertool, enz, terwijl S.u.S.E. wordt geleverd met een uitgebreid configuratieprogramma genaamd Yast. Andere handige programma's zijn: · De Dotfile Generator: prima X app met modules om packages zoals emacs, bash, procmail en meer te configureren. De pagina ervan is te vinden op <http://www.imada.ou.dk/~blackie/dotfile>; · Linuxconf: het ultieme configuratie hulpmiddel. Het kan alles, zowel in console als onder X. Ga onmiddelijk naar <http://www.solucorp.qc.ca/linuxconf>. Documenten over Linux configuratie duiken overal op. Een van de meest volledige is TrinityOS, <http://www.ecst.csuchico.edu/~dranch/LINUX/index-linux.html>. Val de auteur ermee lastig dat hij het document in prettiger formaten omzet. Een leuke goede pagina is <http://dotfiles.com>. Net wat het zegt - een verzameling met configuratiebestanden. 6. Het einde 6.1. Copyright Copyright (c) door Guido Gonzato, ggonza at tin.it. Dit document mag alleen onderworpen aan de voorwaarden en termen uiteengezet in de LDP Licentie op <http://www.linuxdoc.org/COPYRIGHT.html> worden gedistribueerd, behalve dat dit document niet zonder toestemming van de auteur in gewijzigde vorm mag worden gedistribueerd. Raadpleeg alsjeblieft de homepage van het Linux Documentatie Project <http://www.linuxdoc.org> als je vragen hebt. 6.2. Feedback Misschien wel meer dan met andere HOWTO's, verwelkomt deze je suggesties, kritiek, en contributies. Feedback is niet alleen welkom: het is nodig: Als je denkt dat er iets ontbreekt of niet klopt, mail me dan alsjeblieft. Als je een andere distributie dan Red Hat/Mandrake hebt en je config bestanden zijn anders of komen in andere directory's voor, laat me dit dan alsjeblieft weten en ik zal je tips invoegen. Ik streef er naar om het werken met Linux zo gemakkelijk mogelijk te maken. Er zijn voor Linux een enorm aantal packages, dus het is onmogelijk voor al deze packages aanwijzigingen op te nemen. Beperk je vragen/suggesties alsjeblieft tot de ``meest redelijke'' programma's --- Ik zal het aan je gezonde verstand overlaten. 6.3. Disclaimer Dit document wordt geleverd zoals het is. Ik heb veel moeite gedaan dit zo accuraat mogelijk te schrijven, maar je gebruikt de informatie hierin op eigen risico. In geen geval zal ik verantwoordelijk kunnen worden gesteld voor enige schade voortvloeiend uit het gebruik van dit werk. Veel dank aan alle andere HOWTO auteurs en manpage schrijvers/beheerders, wiens werk ik schaamteloos heb ontfutseld; en aan alle mensen die me van feedback voorzagen. Ik hoop echter dat dit werk bruikbaar voor je is. Wanneer ik een nieuwe Linux box installeer, vind ik dat in elk geval wel... Veel plezier, Guido =8-)