Hoofdstuk 5. De eerste start

Inhoudsopgave

5.1. Als er iets fout is gegaan
5.2. Login
5.3. De toetsenbordlayout aanpassen
5.4. Het man commando
5.5. Het root wachtwoord veranderen
5.6. De shell veranderen
5.7. Systeemtijd
5.8. Basisconfiguratie /etc/rc.conf
5.9. Virtuele consoles aanzetten
5.10. FFS soft-dependencies aanzetten
5.11. Het systeem herstarten

Na de installatie start de computer van de harde schijf: als alles goed is gegaan ziet u de login prompt binnen een paar seconden (of minuten, afhankelijk van uw hardware). Het systeem is nog niet geconfigureerd, maar maakt u zich geen zorgen: configuratie is erg gemakkelijk. Deze benadering is niet oncomfortabel want het geeft u veel meer flexibiliteit. U zult zien hoe u alles kunt configureren en tegelijkertijd zult u leren hoe het systeem werkt. Als u later eens problemen heeft weet u waar u moet zoeken.

5.1. Als er iets fout is gegaan

Als het systeem niet start kan het zijn dat de boot manager niet goed geïnstalleerd is of dat er een probleem is met de MBR (Master Boot Record). Herstart de machine vanaf de bootfloppy en als de prompt:

booting fd0a:netbsd - starting in ...
    

ziet, druk dan op spatie gedurende het aftellen; het starten stopt en er wordt een prompt afgebeeld. U kunt hulp krijgen bij de commando's met de "?" toets of met het "help" commando.

type "?" or "help" for help.
> ?
commands are:
boot [xdNx:][filename] [-adrs]
     (ex. "sd0a:netbsd.old -s")
ls [path]
dev xd[N[x]]:
help|?
quit
> boot wd0a:netbsd
    

Het systeem zou nu van de hardeschijf moeten starten in plaats van vanaf floppy. Als NetBSD correct start vanaf de hardeschijf is er waarschijnlijk een probleem met de Master Boot Record: u kunt de bootmanager installeren of aanpassen met het fdisk -B commando.

5.2. Login

Om voor de eerste keer om in te loggen moet u als de root superuser inloggen, wat de enige gebruiker is na de installatie. Voer als wachtwoord het wachtwoord in dat u tijdens de installatie gegeven heeft. Als u geen wachtwoord opgegeven heeft kunt u hier gewoon op Enter drukken.

NetBSD/i386 (Amnesiac) (ttyE0)
login: root
password
...
We recommend creating a non-root account and using su(1) for root access.
#
    

5.3. De toetsenbordlayout aanpassen

Het toetsenbord gebruikt nog steeds de US layout; als u een ander toetsenbord heeft is het aan te bevelen nu de layout te veranderen, voordat u begint met het configureren van het systeem. Voer om bijvoorbeeld een Italiaans toetsenbord te gebruiken het volgende uit:

# wsconsctl -k -w encoding=it
encoding -> it
    

Een volledige lijst van ondersteunde layouts kan gevonden worden in /sys/dev/wscons/wsksymdef.h, maar de meest voorkomende configuraties zijn:

  • de

  • dk

  • fr

  • it

  • jp

  • sv

  • uk

  • us

Deze instelling blijft actief totdat u het systeem herstart. Voeg het vorige commando toe aan het einde van het /etc/rc.local bestand deze instelling permanent te maken. Dit bestand wordt namelijk automatisch bij elke start van het systeem uitgevoerd.

# echo "wsconsctl -k -w encoding=it" >> /etc/rc.local
    

Opmerking

let op dat u twee ">" karakters tikt. Als u slechts één ">", tikt wordt het bestand overschreven en niet alleen een regel toegevoegd.

Er is ook een betere manier voor het instellen van het toetsenbord: u kunt ook een nieuwe kernel compileren die de door u geprefereerde layout standaard gebruikt.

5.4. Het man commando

Als u al eerder een Unix(-achtig) besturingssysteem gebruikt heeft weet u dat het man commando nu uw beste vriend is. Het commando toont handleidingen: de NetBSD handleidingen zijn zeer goed, maar ook vrij technisch.

man naam toont de handleiding (manual page) van het "naam" commando en man -k naam toont een lijst van handleidingen die over "naam" gaan (u kunt ook het apropos commando gebruiken).

Om te leren hoe het man commando werkt, tik:

# man man
    

De handleidingen zijn ingedeeld in negen secties, ze bevatten niet alleen informatie over commando's, maar ook beschrijvingen van een aantal mogelijkheden en structuren van NetBSD. Kijk bijvoorbeeld eens naar de hier(7) man page die in detail de layout van het NetBSD bestandssysteem beschrijft.

# man hier
    

Andere vergelijkbare pagina's zijn release(7) en packages(7). Elke sectie heeft een intro man page die de inhoud van die sectie beschrijft. Probeer bijvoorbeeld:

# man 8 intro
    

Voorbeeld 5.1. Secties:

  1. algemene commando's (tools en utilities)

  2. systeemaanroepen en foutnummers

  3. C bibliotheken

  4. speciale bestanden en hardware-ondersteuning

  5. bestandsformaten

  6. spellen

  7. verscheidene informatiepagina's

  8. commando's voor systeembeheer en andere operaties

  9. kernel informatie

Een onderwerp kan in meer dan één sectie voorkomen; geef het nummer van de sectie mee om een specifieke pagina te bekijken. Bijvoorbeeld, time komt voor in sectie 1 (het time commando), in sectie 3 (de time functie van de C bibliotheek) en in sectie 9 (de time systeemvariabele). Om de man page van de time C functie te bekijken voert u uit:

# man 3 time
    

Om alle beschikbare pagina's te zien:

# man -a time
    

5.5. Het root wachtwoord veranderen

Als u geen wachtwoord voor root ingesteld heeft tijdens de installatie (wat niet mogelijk was op pre 1.5 systemen) is het nu tijd dat te doen met het passwd commando.

# passwd
Changing local password for root.
New password:
Retype new password:
    

Wachtwoorden worden niet op het scherm getoond als u ze typt. Later zullen we zien hoe er andere accounts aan het systeem toegevoegd kunnen worden.

5.6. De shell veranderen

De standaard shell voor root is csh; als dit u niks zegt kunt u het beste eerst csh gaan bestuderen met man csh: het is een goede interactieve shell, maar er ontbreken mogelijkheden de historie te bewerken (kijk eens naar tcsh, bash of zelfs de NetBSD /bin/sh voor deze mogelijkheid). Als u uw shell wilt veranderen kan die met het chsh commando. De volgende shells zijn beschikbaar na de NetBSD installatie:

  • csh

  • sh

  • ksh

De nieuwe shell wordt de volgende keer dat u inlogt actief. In de tussentijd kunt u het volgende commando uitvoeren:

# set filec
    

dit schakelt een speciale optie aan die bestandsnamen kan voltooien (met de ESC toets; gebruik Ctrl+D voor een lijst van mogelijkheden).

U kunt ook andere shells op het systeem installeren als u dat graag wilt; tcsh, bash, zsh en andere shells zijn beschikbaar via de package collectie (die we later zullen bespreken).

Dit is een goed moment de initialisatiebestanden voor de shell aan te maken (.chsrc, .login, ...).

5.7. Systeemtijd

NetBSD gebruikt net als andere UNIX systemen een systeemklok die gebaseerd is op Greenwich time (UTC) en daar moet u uw systeemklok op zetten. Als u uw systeemklok op de lokale tijd wilt zetten (bijvoorbeeld omdat u een dual boot systeem heeft met Windows), moet u de NetBSD kernel daarover informeren met behulp van de rtc_offset systeemvariabele. U kunt de kernel configuratie bewerken en de kernel hercompileren of de huidige kernel rechtstreeks patchen (de nieuwe tijd wordt pas aktief na het herstarten van uw systeem). Dit is eenvoudiger dan u denkt. Bijvoorbeeld:

# gdb --write /netbsd
GNU gdb 4.17
Copyright 1998 Free Software Foundation, Inc.
...
This GDB was configured as "i386--netbsd"...(no debugging symbols found)...
(gdb) set rtc_offset=-60
(gdb) quit
    

De waarde die gespecificeerd is (-60) is het aantal minuten ten westen van UTC.

Voer het volgende uit om de huidige instelling van de rtc_offset variabele te tonen:

# sysctl kern.rtc_offset
kern.rtc_offset = -60
    

Nu de kernel weet hoe uw systeemtijd in UTC tijd omgezet kan worden moet u nog steeds het systeem configureren voor uw lokale tijdzone (die u kunt vinden in /usr/share/zoneinfo). Als u dit al tijdens de installatie gedaan heeft kunt u deze stap overslaan (het is echter verstandig te controleren of de tijdzone goed ingesteld is). Voor Italië voert u bijvoorbeeld het volgende uit:

# rm -f /etc/localtime
# ln -s /usr/share/zoneinfo/Europe/Rome /etc/localtime
    

Als alles goed ingesteld is kunt u de tijd veranderen met het volgende commando:

# date [[[[[cc]yy]mm]dd]hh]mm
    

5.8. Basisconfiguratie /etc/rc.conf

NetBSD gebruikt het /etc/rc.conf bestand voor het configureren van het systeem tijdens het opstarten: dit bestand bepaald wat er gestart zal worden als het systeem start. Dit bestand begrijpen is erg belangrijk.

Vanaf NetBSD versie 1.5 is de configuratie van rc.conf veranderd. In voorgaande versies waren alle instellingen opgeslagen in /etc/rc.conf en de gebruiker moest dit bestand rechtstreeks veranderen; versie 1.5 heeft het /etc/rc.conf bestand geïntroduceerd, dat de standaardinstellingen bevat. Om een standaardinstelling te veranderen wordt de nieuwe instelling opgegeven in /etc/rc.conf, deze instelling overschrijft de instelling in /etc/defaults/rc.conf (die onveranderd blijft).

Dit bestand begrijpen is erg belangrijk. De man page bevat een gedetailleerde beschrijving van alle opties.

# man rc.conf
    

De eerste veranderingen die u moet maken zijn:

  • Stel 'rc_configured=YES' in (deze instelling kan al door het installatieprogramma toegevoegd zijn).

  • Stel 'wscons=YES' in om virtuele consoles aan te schakelen.

  • Stel 'lpd=YES' in om de printer spooler daemon te activeren.

  • Definieer een hostnaam voor uw machine met hostname="hostnaam" (gebruik een volledig gekwalificeerde hostnaam). Als u een machine heeft zonder netwerkconnectie voldoet elke naam (bijvoorbeeld "woody.toys.net"). Als uw machine gekoppeld is met een netwerk moet u de juiste netwerknaam gebruiken.

    In plaats van deze benadering kunt u de hostnaam ook wegschrijven naar /etc/myname; het resultaat is hetzelfde.

5.9. Virtuele consoles aanzetten

De instellingen die beschreven worden in deze sectie hoeven niet toegepast te worden op versie 1.5 of hoger, omdat virtuele consoles nu standaard aangeschakeld zijn.

Bewerk het /etc/ttys bestand en controleer of ttyE0-ttyE3 op 'on' staan. ttyE4 kan op 'off staan' (voor het gebruik met X). Bijvoorbeeld:

console "/usr/libexec/getty Pc"         pc3     off secure
ttyE0   "/usr/libexec/getty Pc"         vt220   on secure
ttyE1   "/usr/libexec/getty Pc"         vt220   on secure
ttyE2   "/usr/libexec/getty Pc"         vt220   on secure
ttyE3   "/usr/libexec/getty Pc"         vt220   on secure
ttyE4   "/usr/libexec/getty Pc"         vt220   off secure
    

Voor de ongeduldigen

zodra u het /etc/ttys bestand aangepast heeft kunt u de virtuele consoles onmiddellijk activeren zonder te herstarten. Hiervoor dient u uit te voeren:

  1. sh /etc/rc.wscons

  2. kill -1 1

Wanneer de virtuele consoles geactiveerd zijn kunt u tussen consoles schakelen met de Ctrl-Alt-Fn toetsencombinatie (Fn is een functietoets: F1 is console 1, F2 is console 2, enzovoorts).

Opmerking

gebruikt de linker Ctrl en linker Alt toetsen in combinatie met een functietoets.

5.10. FFS soft-dependencies aanzetten

Dit is een goed moment om soft-dependencies aan te schakelen voor FFS bestandssystemen. Gewoonlijk mount NetBSD meta-data synchroon, dat wil zeggen dat meta-data onmiddellijk naar de schijf wordt weggeschreven. Soft-dependencies is een mechanisme dat er voor zorgt dat de meta-data niet direct wordt weggeschreven, in plaats daarvan wordt het op een geordende manier weggeschreven, zodat het bestandssysteem consistent blijft. Dit biedt prestaties die vergelijkbaar zijn met asynchrone mounts, zonder dezelfde risico's. Soft-dependencies kunnen aangezet worden door de softdep optie toe te voegen aan de bestandssysteem opties in /etc/fstab. Laten we kijken naar een voorbeeld van /etc/fstab:

/dev/wd0a / ffs rw 1 1
/dev/wd0b none swap sw 0 0
/dev/wd0e /var ffs rw 1 2
/dev/wd0f /tmp ffs rw 1 2
/dev/wd0g /usr ffs rw 1 2

Stel dat we soft-dependencies voor alle bestandssystemen willen aanzetten, behalve de / partities, dan zouden we het veranderen in (veranderingen zijn cursief weergegeven):

/dev/wd0a / ffs rw 1 1
/dev/wd0b none swap sw 0 0
/dev/wd0e /var ffs rw,softdep 1 2
/dev/wd0f /tmp ffs rw,softdep 1 2
/dev/wd0g /usr ffs rw,softdep 1 2

Dit zijn een aantal verwijzingen naar meer informatie over bestandssystemen en soft-dependencies:

5.11. Het systeem herstarten

In deze eerste sessie heeft u

  • Het toetsenbord geconfigureerd

  • Het root wachtwoord veranderd

  • Root's shell gewijzigd (optioneel)

  • De systeemtijd en de RTC offset veranderd

  • De lokale tijd gedefinieerd

  • /etc/rc.conf geconfigureerd

  • Virtuele consoles aangeschakeld

Het is nu tijd het systeem te herstarten met het volgende commando:

# reboot