Uitleg en aanpassen startup scripts
Als Linux opstart wordt eerst de kernel geladen, daarna worden er script uigevoerd om het systeem werkbaar te maken.
De startup en daemon scripts staan bij Slackware in de directory '/etc/rc.d/', in tegenstelling tot Ubuntu waar ze in '/etc/init.d/' staan.
Alle scripts beginnen met 'rc.X', dus bijvoorbeeld de SSH Server is 'rc.sshd'.
De startup scripts zien en zijn simpeler opgebouwd van die van Ubuntu.
Hierdoor is het tevens gemakkelijker om de scripts naar eigen wensen eventueel aan te passen.
In de '/etc/rc.d/' staan enkele belangrijke startup scripts:
| rc.0 | Shutdown script |
| rc.4 | Runlevel 4; multiuser met grafisch login |
| rc.6 | Restart script |
| rc.K | Runlevel 1; single user |
| rc.M | Runlevel 3; multiuser met console login (Standaard) |
| rc.S | Belangrijkste systeem startup script |
Standaard start Slackware in Runlevel 3. Dus met console login en geen grafisch login.
Dit kan worden aangepast door de '/etc/inittab' te bewerken. Verander op regel 24 'id:3:initdefault:' naar 'id:4:initdefault:'.
Runlevel 1 is een single user omgeving met bijna tot geen draaiende daemons en netwerk.
Deze zal dus enkel voor onderhoud nodig zijn, en dan zelfs pas in enkele uitzonderings gevallen.
Naast de scripts hierboven beschreven staan er nog andere scripts, zoals voor het starten van daemons.
Zoals de SSH Server, Samba Server, Apache (webserver), etc.
Deze kunnen gemakkelijk doormiddel van het commando 'chmod' executable gemaakt worden of niet. Als de scripts executable zijn dan worden ze gestart tijdens het opstarten, en tevens kunnen de scripts met de hand worden aangeroepen via './rc.X'.
Voorbeeld:
Executable maken rc.samba, zodat de SAMBA Server wordt gestart tijdens het opstarten:
| ~$chmod +x rc.samba |
Executable bit verwijderen, zodat hij niet wordt gestart tijdens het opstarten:
| ~$chmod -x rc.samba |
Handmatig uitvoeren:
| ~$./rc.samba |
Of
| ~$/etc/rc.d/rc.samba |
Alle 'rc' daemons scripts hebben de mogelijkheid om te starten, stoppen en restarten.
Dus voor het restarten van de SAMBA Server dient 'restart' als parameter worden opgegeven:
| ~$/etc/rc.d/rc.samba restart |
Als een script niet executable is, dus niet tijdens het opstarten wordt gestart, kan deze handmatig worden gestart door er 'sh' voor te zetten:
| ~$sh /etc/rc.d/rc.httpd start |
Tunen startop process
Het aanpassen van scripts (en de kernel) kan een hoop startup en performance voordeel op leveren.
Zoals het uitschakkelen of deactiveren van Daemons die niet nodig zijn, of het aanpassen van de rc.M startup script.
Hierin valt een hoop aan te passen waardoor taken niet tijdens het opstarten worden uitgevoerd.
In de rc.M wordt bijvoorbeeld het commando 'ldconfig' uitgevoerd.
Deze cached de libaries die aanwezig zijn in het systeem. Dit is eigenlijk alleen maar nodig indien er nieuwe software is geinstalleerd.
Het uitvoeren kan enkele seconden in beslag nemen, dus als deze er uit wordt gehaald en als een crontab script wordt uitgevoerd scheelt dit weer enkele seconden tijdens het opstarten.
Hieronder staat een aangepaste 'rc.M' script, en tevens een 'after-boot.sh'.
In de 'after-boot.sh' staan de taken die in de aangepaste 'rc.M' zijn gecommented, ofterwijl, deze worden niet uigevoerd ter bevordering van de opstart tijd.
Run de 'after-boot.sh' na het opstarten, of plaats hem in '/etc/cron.daily/', zodat deze dagelijk automatisch wordt uitgevoerd door crontab.
Maak voor de zekerheid een backup van de huidige 'rc.M' en zorg dat deze niet uitvoerbaar is.
Na het plaatsen van de bestanden op de juiste locatie, zorg er voordat deze dan wel uitvoerbaar zijn via het 'chmod +x' commando.


