Inleiding

Booten
Bootmanagers
Console
Hardware
Internet
Kernel
Netwerken
Programma's (software)
Updaten
Installatie
Voorbereiding
X-server

Skins
Thema's

 
 
 

 


Last updated
23/01/2004
 
 
 

 

 
 
Het booten van een Linuxsysteem:
Het booten van een Linux systeem kan prachtig geconfigureerd worden.
Kijk ook naar onze sectie BOOTMANAGERS!
De zin die bij het opstarten verschijnt: "Uncompressing Linux..." duidt erop dat de Kernel de controle overneemt over uw hardware. Hij controleert de BIOS registers van de grafische kaart en moederbord. Daarna worden de juiste drivers geladen, de partities gecontroleerd en het filesysteem 'gemount'. Vervolgens start de Kernel /sbin/init welke op zijn beurt het basissysteem met al zijn programma's en configuratiefiles start. De Kernel controleert het hele systeem, hardware en CPU-tijd inclusief. Eén van de grote voordelen van een LINUX systeem is het zeer flexible en goed te configureren startproces. Volgende zaken worden besproken.

 


  • Het programma Init

    Het programma /sbin/init is verantwoordelijk voor het correct initialiseren en instellen van alle systeemprocessen.
    init wordt rechtstreeks door de kernel gestart en negeert signaal 9, welke verantwoordelijk is voor het afsluiten van processen. Alle verdere processen worden ofwel direct door init gestart ofwel door een ondergeschikt process van init.
    init wordt geconfigureerd door de /etc/inittab file. Hier worden de 'runlevels' gedefinieerd. Wat er in deze verschillende levels plaatsvind wordt ook hier gedefinieerd. Afhankelijk van de waarden in de /etc/inittab worden verschillende scripten gestart. Deze scripten bevinden zich allen in de /sbin/init.d folder. Het hele startproces en ook afsluitproces wordt door init onderhouden.

    ga terug naar begin van deze pagina


  • Run Levels

    Onder Linux zijn er verschillende 'run levels' welke definieren hoe het systeem wordt opgestart. Na het bootten zal het systeem starten zoals gedefinieerd in /etc/innitab op de lijn initdefault. Een alternatieve manier om dit te doen is een speciale runlevel toewijzen tijdens het bootten. (bv. aan de LILO prompt.) De Kernel geeft alle parameters die hij niet gebruikt door aan init.
    Om van run level te veranderen geef je de opdracht init gevolgd door zijn nummer.
    root@machine:/> init S
    Deze opdracht brengt je in de Single user mode, welke gebruikt wordt voor onderhoud en administratie van uw systeem.
    De systeem administrator (root) kan nadien terug naar een andere runlevel door volgende commando in te geven:
    root@machine:/> init 2
    Nu worden al de essentiële programma's gestart en kunnen al de gebruikers(users) inloggen en met het systeem werken.
    Hieronder volgt een overzicht van de beschikbare runlevels.

      run level Verklaring
      0 Halt
      S Enkele gebruiker omgeving
      1 Meerdere gebruikers omgeving zonder netwerk
      2 Meerdere gebruikers omgeving met netwerk (standaard)
      3 Meerdere gebruikers omgeving met netwerk Xdm (grafische omgeving)
      4 Wordt niet gebruikt
      5 Wordt niet gebruikt
      6 Herstart (Reboot)

    Je kan dus je systeem herstarten door root@machine:/> init 6 in te geven.
    Met een beschadigd /etc/inittab bestand kan je systeem niet goed worden gestart. Wees daarom uiterst voorzichtig bij het wijzigen van /etc/inittab!!
    Als noodoplossing kan je proberen om rechtstreeks in de shell te bootten door aan de LILO promptvolgende commando te geven.
    boot: linux init=/bin/sh

    ga terug naar begin van deze pagina


  • Wisselen van run levels.

    Er gebeuren verschillende zaken tijdens het wisselen van runlevels. Er worden eerst een aantal stop-scripten gestart van het huidige level. Dit heeft het afsluiten van een aantal typisch runlevel gebonden programma's tot gevolg. Daarna worden de startscripten van het nieuwe runlevel gestart. Dit zal in de meeste gevallen gepaard gaan met het starten van een aantal programma's.

    ga terug naar begin van deze pagina


  • De verschillende init scripten.

    De scripten in de folder /sbin/init.d worden in 2 secties onderverdeeld.

    1. Scripten die onmiddellijk door init worden uitgevoerd. Dit gebeurt enkel tijdens opstart en afsluiten van het systeem.

    2. Scripten die onrechtstreeks door init worden gestart. Dit gebeurt telkens wanneer je de run level veranderd. Hieronder valt /sbin/init.d/rc welke garant staat voor de correcte volgorde van de relevante scripten.

    We vinden alle scripten terug in /sbin/init.d De scripten die geladen worden tijdens het veranderen van de run level vind je hier ook terug maar deze zijn symbolische linken naar de subfolders /sbin/init.d/rcS.d tot /sbin/init.d/rc6.d. Dit is enkel voor de duidelijkheid zo gedaan. Zo worden scripts die in verschillende runlevels worden uitgevoerd niet overschreven.

    ga terug naar begin van deze pagina


  • Starten en afsluiten.

    Hieronder geven we een korte inleiding van de boot en stop scripten die gelanceerd worden.

    1. boot
      Deze wordt gestart vanaf het systeem init gebruikt. Het is onafhankelijk an het gekozen run level en wordt slechts eenmalig gestart. Hier worden de filesystemen gecontroleerd en wordt de kernel daemon gelanceerd. Sommige onbelangrijke files onder /var/lock worden gewist, en het netwerk wordt geconfigureerd.(als het werd geselecteerd in /etc/rc.config). Verder wordt de systeem tijd opgestart en de plug and play hardware geïnitialiseerd door de isapnp hulpstukken.
      Als er een fout voorvalt tijdens het controleren en repareren van het filesysteem kan de systeemadministrator tussenkomen nadat hij zijn root wachtwoord heeft ingegeven.
      De folder /sbin/init.d/boot.d wordt aangeduid voor dit script. Alle scripten in deze directory worden uitgevoerd tijdens systeemstart. Hier kun je best je persoonlijke zaken ingeven die slechts eenmalig worden uitgevoerd tijdens het bootten.

    2. boot.local
      Het laatste script dat wordt uitgevoerd is het boot.localscript. Hier kan je speciale commando's ingeven die dienen uitgevoerd tijdens bootten. Het is te vergelijken met AUTOEXEC.BAT van een DOS-systeem.

    3. boot.setup
      Algemene zaken worden hier gezet terwijl men van een 'single user mode' naar een volgende run level overschakelt.
      Toetsenbord mappen worden geladen samen met de kernel daemon die op zijn beurt de modules laadt.

    4. halt
      Dit script wordt uitgevoerd tijdens de overgang naar run level '0' of '6'. (Halt of reboot.)

    5. rc
      Dit script is het belangrijkste tijdens het overschakelen van run levels. Het roept het juiste stopscript aan van het huidige level en de startscripten van het nieuwe.
      Je kunt makkelijk je eigen scripten toevoegen. Een voorbeeld kunt u vinden onder /sbin/init.d/skeleton. Om deze scripten beschikbaar te maken is het aan te raden dat u een variabele in het /etc/rc.config bestand inbrengt. Extra parameters kunt u best enkel toevoegen als u dit noodzakelijk acht.
      Nu hoef je enkel nog een link te creëren tussen het rc?.d en je script zodat het zeker wordt uitgevoerd.
      Behandel deze scripten uiterst voorzichtig. Een foutief script kan je machine blokkeren.

    ga terug naar begin van deze pagina


  • /etc/rc.config (bij SuSE: /sbin/SuSEconfig)

    Alle configuratie kan men doen via het /etc/rc.config bestand. Hier worden de omgevingsvariabelen ingesteld die gecontroleerd worden in de scripten.
    Elk script onder /sbin/init.d opent /etc/rc.config als een eerste stap om deze variabelen te lezen.

    Deze files kunnen manueel aangepast worden. Je moet bij SuSE er echter op toezien dat je /sbin/SuSEconfig start elke maal je /etc.rc.config hebt gewijzigd. Zo worden alle wijzigingen goed doorgevoerd.
    Je kunt al deze wijzigingen ook doorvoeren met YAST. Deze zal automatisch /sbin/SuSEconfig starten en je configuratie files aanpassen.
    Dit concept maakt het mogelijk om basis veranderingen aan je systeem te wijzigen zonder dat je het hoeft te herstarten.
    Sommige programma's moeten echter opnieuw gestart worden om enig effect te hebben. Je kan dit als volgt doen:
    Stel je hebt een wijziging aangebracht aan een netwerkscript.
    root@machine:/ /sbin/init.D/network stop
    root@machine:/ /sbin/init.D/network start
    herstart je netwerk script. De beste mannier om scripten te wijzigen is echter de volgende.

    1. Breng je systeem naar runlevel 1
      root@machine:/ init 1

    2. Verander de file /etc/rc.config. Dit kan je doen met een editor of met YAST.

    3. Voer /sbin/SuSEconfig uit om de veranderingen definitief te maken. als je YAST hebt gebruikt is dit niet nodig.

    4. Breng je systeem terug in naar de vorige level
      root@machine:/ init 3
      Indien u niet met SuSE werkt moet u wel herstarten!

    ga terug naar begin van deze pagina

  • De variabelen van /etc/rc.config

    Hieronder vindt u een verklaring van de belangrijkste variabelen!

 

ENABLE_SUSECONFIG=yes Een SuSE variable die de automatische configuratie door SuSEconfig uitschakelt. Indien u een SuSE systeem heeft is het aan te raden deze op yes te laten staan. :-)
MOUSE=/dev/ttyS2 Op welke interface je muis wordt aangesloten. (hier com2)
MODEM=:dev:ttyS1 Poort waarop je modem is aangesloten.
KEYTABLE=be-latin1-deadkey Toetsen bord (belgisch azerty.)
KBD_NUMLOCK=yes Je numlock staat aan bij opstarten
KBD_CAPSLOCK=no Je capslock staat af bij opstarten
KBD_Rate=3 Toets frequentie van je toetsenbord
KDB_DELAY=250 De wachtijd alvorens de automatische toets herhaling te starten
FONT=mr.fnt De font van de console. YAST voorziet een scherm waar je de font kunt bekijken.
GMT=-u Als je hardware staat op de Greanwich Mean Time zet je dit op -u. Anders laat je dit leeg.
TIMEZONE=Europe/Berlin Je tijdzone. Dit is vooral belangrijk voor automatische omschakeling van zomer-/wintertijd.
PCMCIA=i382365 Hardware van PCMCIA kaarten. i82365 of tcic. Als je hier "" zet wordt PCMCIA niet gestart.
START_GPM=yes Deze optie maakt het gebruik van de muis mogelijk in de tekstconsole. Als je moeilijkheden ondervind om X te starten zet je deze optie beter uit.
GPM_PARAM=" -t logi -m /dev/mouse" Parameters voor gpm. Wordt normaal door YAST gezet!
START_LOOPBACK=yes Start een soort mini-netwerk. Omdat vele programma's hier gebruik van maken kun je dit best altijd op 'yes' zetten.
CHECK_ETC_HOSTS=yes SuSEconfig kan /etc/hosts controleren en wijzigen
SETUPDUMMYDEV=yzs Zet een nep netwerk op. Dit kan handig zijn voor niet permanente netwerkverbindingen zoals SLIP of PPP.
CREATE_HOSTCONF=yes SuSEconfig kan /etc/host.conf creeren en controleren.
CREATE_RESOLVCONF=yes SuSEconfig kan /etc/resolv.conf onderhouden. Als hier 'yes' staat en de variabelen SEARCHLIST of NAMESERVER is leeg, wordt ervan uitgegaan dat men geen DNS nodig heeft. /etc/reolv.conf wordt dan gewist.
NETCONFIG=_0 Het aantal netwerkkaarten in je systeem. "_0_1" voor bv 2 kaarten. "" voor geen.
IPADDR_0=193.141.17.202 IP adres van de eerste netwerkkaart
NETDEV_0=eth0 Naam van de eerste netwerk. (Normaal een ethernet-kaart vandaar eth0.) Andere mogelijkheden zijn str1 of plip1. Als er meer dan 1 kaart geïnstalleerd is wordende variabelen NETDEV_1 tot NETDEV_3 gebruikt.
IFCONFIG\0="193.141.17.205 broadcast 193.141.17.255 netmask 255.255.255.192" Configuratie van de eerste netwerkkaart. Dit kan gemakkelijk ingesteld worden met YAST. Dit kan ook weer voor meerdere kaarten.
NETWORK_0="-net 193.141.17.0" Netwerk adres van je eerste kaart. Voor PTP(point to point) conecties (vb: SLIP), zal YAST deze variable instellen als (-host 193.141.17.202) het adres van de PPP partner.
CLOSE_CONNECTIONS=false Als deze op true staat wordt naar alle consoles met een een open "remote tcp" of "udp" verbinding een SIGTERM-signaal gezonden als het systeem werkt in runlevel "0" of "6".
FQHOSTNAME=earth.cosmos.com Een geldige volledige host-naam
SEARCHLIST=cosmos.com Dit wordt gebruikt indien u niet volledige host-namen gebruikt.
vb: u geeft "venus" in, er wordt gekeken of venus.cosmos.com een geldig adres is. U MOET deze variable instellen als u gebruik wenst te maken van een DNS.
NAMESERVER=193.141.17.193 193.141.17.194 Je kan 3 IP-adressen van gebruikte naam-servers ingeven. (gescheiden door een spatie).
ORGANISATION="W*3d" Deze teks zal in elk nieuwsbericht verschijnen dat u zendt.
NNTPSERVER=helios Het adres van je nieuwsserver
IRCSERVER=helios DE IRC (internet Relay Chat)-server. Meerdere kunnen gescheiden worden door blanco's

 

START_INETD=yes Moet de inetd-deamon geactiveerd worden. Je hebt dit nodig als je wil inloggen via telnet of rlogin Als je xinetd wil gaan gebruiken moet je hier 'no' zetten!
START_XINTD=no Dit is een meer uitgebreide versie van inetd Deze laatste moet op 'no' staan als je deze wenst te gebruiken.
SENDMAIL_xxxx= Sendmail waarden. Je vindt hier meef informatie.
SMTP=no Zet deze variabele op 'yes' indien u de sendmail deamon wilt activeren.
START_KERNELD=ye Zo wordt de kernel daemon gestart tijdens het bootten. Deze daemon zorgt voor het automatisch laden van kernel modules.
START_PORTMAP=no De portmapper heb je nodig als je een machine voor NFS-server (Network File System) wilt. Zonder deze daemon is het onmogelijk om rpc.mountd en rpc.nfsd te gebruiken. Het is ook noodzakelijk voor NIS! (Network Information System)
NFS_SERVER=n Als je machine zal dienen voor NFS-server. Moet dit op 'yes' staan
START_AMD=no Start de automounter. Als je dit niet nodig hebt kun je de autofs kernel module gebruiken.
START_AUTOFS=no Start het automatisch mounten van folders
START_RWHOD=no Start de rwhod daemon. (read/write host) Let op dit zorgt ervoor dat er regelmatig naar uw provider gezonden wordt. Indien u een dial-up modem of ISDN gebruikt brengt dit extra kosten met zich mee!
START_ROUTED=no) Start de routed daemon. Voor dynamische router functies. Dit zorgt ervoor dat uw provider om de 30 seconden wordt gecontacteerd. (Dial-up!!)
START_NAMED=no Start de named daemon.
CREATE_YP_CONF=yes Zet deze variabele op 'yes' indien SuSEconfig de nodige files moet creëren voor YP. Dit hangt af van de volgende 2 variabelen. Men maakt ook de nodige /etc/passwd en /etc/group folders.
YP_DOMAINNAME=cosmos.com

YP domein naam van de host.

YP_SERVER>=helios.cosmos.com

Naam van de NIS server.

USE_NIS_FOR_RESOLVING=no

NIS gebruiken voor het zoeken van host namen?

START_DHCP=no

Start het DHCP protocol? (Dynamisch Host Configuration Protocol)

START_RADIUSD=yes

Dit wordt door verschillende ISP gebruikt om te controleren of de gebruiker authentiek is. Lees meer in /usr/doc/packages/radiusd.

START_LPD=yes

Start de lpd (Line Printer). Normaal nodig om de printer te kunnen gebruiken.

START_NNTPD=yes

Start nntpd als je nieuws wilt lezen via een NNTP site.

START-INN=no

Start de INN news server.

START_ATD=yes

Controleert of de AT daemon werd geactiveerd. Deze daemon laat periodieke taken toe. In tegenstelling tot de CRON daemon waarbij een taak slechts eenmaal wordt uitgevoerd.

START_HTTPD=yes

Controleert of de Apache http daemon geactiveerd moet worden.

START_SQUID=no

Controleert of de proxy server squid geactiveerd moet worden.

DOC_HOST=""

Als je het centrale documentatie systeem wilt gebruiken waarop SuSE help staat moet je de naam van de host hier ingeven. vb "helios.cosmos.com".

DOC_SERVER=no

Je moet deze variabele op 'yes' zetten op de documentatie server.

DOC_ALLOW="LOCAL"

Lijst van machines (als patroon voor /etc/host.allow) die toegang krijgen tot de documentatie server. Je mag hier ook een subdomein ingeven. (bv. .cosmos.com)

HTTP_PROXY=""

Er zijn programma's die proxy sites gebruiken. (LYNX, WGET, ARENA...) je kunt hier de http-proxy instellen. "http://proxy.provider.be:80/".

FTP_PROXY=""

"http://proxy.provider.be:80/".

GOPHER_PROXY=""

"http://proxy.provider.be:80/".

NO_PROXY=""

Hier kun je subdomein namen ingeven waarvoor de proxy server niet mag worden gebruikt. vbn:"www.ik.be, do.main, localhost"

START_HYLAFAX=no

Start Hylafax. Je zult eerst het configuratie programma. faxsetup moeten starten alvorens deze variabele op 'yes' te zetten!

START_SMB=no

Start de samba-server. De windows-file en printer-server.

START_MARSNWE=no

Start de NOVELL server emulator.

START_XNTPD=yes

Start NTP daemon (Netwerk Time Protocol). (pakket xntp) Het wordt geconfigureerd via /etc/ntp.conf.

DISPLAYMANAGER=""

Zet de Login displaymanager. Dit kan een tekst console of een X-server zijn. "" is de tekst console. "XDM" of "KDM" voor grafische login.

KDM_SHUTDOWN=root

Wie krijgt toelating om het X-systeem af te sluiten. ("root") enkel de supperuser root. ("all") elke gebruiker. ("local") enkel de lokaal ingelogde gebruikers. ("none") niemand.

CONSOLE_SHUTDOWN=reboot

Controleert hoe init moet reageren op <ctrl><alt>:<del>. Mogelijke waarden zijn hier: ("reboot") de machine herstart, ("halt") de" machine stopt en ("ignore") de functie wordt genegeerd.

START_AXNET=no

De Applixware server (Applixware is oa een leverancier van een office pakket.)

START_ADABAS=no

Start de Adabas server. Lees de commentaren in de rc/config file.

START_ARKEIA=no

Start de Arkeia backup server.

START_ARGUS=no

Start deArgus netwerk monitor server.

ARGUS_INTERFACE=eth0

De interface waar Argus controle op moet uitoefenen.

ARGUS_LOGFILE="var/log/argus.log

De Argus log-file. Dit kan zeer omvangrijk worden!

CRON=yes

Start de cron daemon. Dit saart bepaalde programma's op een gegeven tijdstip. Deze daemon wordt enkel in runlevel 2 en 3 gestart. Het wordt ten sterkste aangeraden om dit te starten. Zeker wanneer je computer constant aanstaat! Een Alternatief of vervanging is de AT daemon.
Er zijn vele opties die deze optie gebruiken. We raden daarom aan dit altijd op 'yes' te zetten!

RUN_UPDATEDB=yes

Dit wijzigd de dattabase voor locate een hulpprogramma om snel bestanden en folders terug te vinden. (zie meer bij de variabelen in rc.config!)

CHECK_PERMISIONS=set

Controleert de bestand permissies volgens /etc/permissons. ("set") verbetert de fouten, ("warn") waarschuwt u en ("no") zet deze controle af.

PERMISSION_SECURITY="easy local"

Er zijn drie levels van beveiligen. /etc/permissions.paranoid, /etc/permissions.secure en /etc/permissions.easy. Je kunt ook je eigen Level creeren in /etc/permissions.local.

RPMDB_BACKUP_DIR=/var/adm/backup/rpmdb

Cron.daily zal zijn RPM database backup installeren. Als je dit niet wenst geeft u hier "" in.

MAX_RPMDB_BACKUPS=5

Maximaal aantal backup files.

DELETE_OLD_CORE=yes

Core-bestanden zijn geheugen-'images' van programma's die gesloten worden met een fout. Dit is zeer hulpzaam bij foutcontrole. ALs dit op 'yes' staat worden de oude core-bestanden opgezocht en verwijderd.

MAX_DAYS_FOR_CORE=7

Hoe oud mogen de core bestanden zijn?

MAX_DAYS_FOR_LOG_FILES=365

Als een log file (onder /var/log) een bepaalde grootte overschrijdt wordt dit automatisch gecomprimeerd. Hier kunt u instellen hoe lang deze dan bewaart moeten blijven alvorens ze automatisch worden verwijderd.

MAX_DAYS_IN_TMP=30

De geselecteerde folders (zie TMP-DIRS_TO_CLEAR hieronder) worden dagelijks gecontroleerd of ze gewijzigd werden gedurende een bepaalde periode.

TMP_DIRS_TO_CLEAR="/tmp /var/tmp"

Mappen die gecontroleerd moeten worden.

OWNER_TO_KEEP_IN_TMP="root bs"

Wie'n bestanden niet mogen verwijderd worden!

ROOT_LOGIN_REMOTE=yes

Nu mag "root" inloggen via telnet.

SUSEWM_UPDATE=yes

SuSEconfig krijgt hiermee de toelating om al je geïnstalleerde windowmanagers simultaan te updaten.

ga terug naar begin van deze pagina

terug : - inhoud

 

BLSS

linuxbelgium.be
LB-Forum
LinuxGames
LB-Shop

 
   

Copyright ©2000-2004 ITAF bvba. All rights reserved.
All logos and trademarks in this site are property of their respective owner.
Linux is a registered trademark of Linus Torvalds.