Verder Terug Inhoud

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:

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:

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):

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.

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:

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".


Verder Terug Inhoud