3-inittab (1)

Telechargé par mahmoudbardi
Leprocessusinitetlesniveauxd
exécution
1.Lesniveauxd
exécution
Lefonctionnementd
unsystèmeLinuxestrégipardesniveauxd
exécution.Mêmesiceconceptapparaîtdavantage
aujourd
hui comme un héritage du passé que comme un réel outil d
administration d
un poste de travail ou d
un
serveurLinux,saconnaissanceestindispensableàunebonnegestiondusystème.
Toutd
abord,ilfautadmettrequ
unsystèmeLinuxesttoujoursdansunniveaud
exécutionquelquesoitsonactivité,
qu
ils
agissed
unserveurapacheentrainderépondreàunerequête,oud
unserveurneufencoredanssoncarton.
Lagestiondesniveauxd
exécutionconsisteraàdéterminerqueldoitêtrelecomportementdusystèmequandilentre
dansunniveaudonné.
a.Qu
estcequ
unniveaud
exécution?
Pourfairesimple,unniveaud
exécutionestunniveaufonctionneldanslequelonauradéterminélalistedesservices
à arrêter ou à démarrer. Quand un système entre dans un niveau d
exécution, il regarde s
il doit arrêter et/ou
démarrerdesservices.
b.Lesniveauxd
exécutionpossibles
Leplussimple:lesystèmeestarrêté.Attention,celanesignifiepasqueceniveaunedoitpasêtreconfiguré,ilfaut
toutdemêmegérercequisepassequandlesystèmeentreenniveau0,c
estàdirequelssontlesservicesà
arrêterquandonéteintphysiquementunemachine.
Unniveauunpeuparticulier:ilestréservéauxopérationsdemaintenanceetnepermetqu
uneseuleconnexion,
celleducompteroot.Deplus,laplupartdesservicessontarrêtésdansceniveau,cequisignifiequelesystèmea
uneactivitéminimum.C
estparfaitpourl
administrateurquisouhaiteeffectuerdesopérationsdemaintenancesans
interféreraveclaproduction.
Surlaplupartdessystèmes,ceniveaun
estpasutilisé.Ilestlaisséàladispositiondel
administrateurquipourra
établiràpartirdeceniveauunmodedefonctionnementparticulieravecseulementcertainsservicesdémarrés.
Sur les systèmes Debian et dérivés (Ubuntu par exemple), ce niveau est en revanche le niveau fonctionnel par
défaut.
Sur la plupart des systèmes, le niveau 3 est fonctionnel, c
est
à
dire que tous les services sont démarrés, mais
l
interfacegraphiquen
estpasdisponible.
Surlaplupartdessystèmes,ceniveaun
estpasutilisé.Ilestlaisséàladispositiondel
administrateurquipourra
établiràpartirdeceniveauunmodedefonctionnementparticulieravecseulementcertainsservicesdémarrés.
Sur la plupart des systèmes, le niveau 5 est fonctionnel, c
est
à
dire que tous les services sont démarrés, et
l
interfacegraphiqueestdisponible.
SurlessystèmesDebianetdérivés(Ubuntuparexemple),ceniveaun
estpasutiliséengénéral.
Temporairepardéfinition,leniveau6estceluid
unsystèmeentrainderedémarrer.Laconfigurationduniveau6
consisteradoncàdéterminerquelsservicesdoiventêtrearrêtésauredémarragedusystème.Aprèsleredémarrage,
unnouveauniveaud
exécutions
appliquera(engénéralleniveaupardéfaut)etlesservicesassociésàceniveau
serontdémarrés.
Leniveau0
Leniveau1ousingle
Leniveau2
Leniveau3
Leniveau4
Leniveau5
Leniveau6
- 1 -© ENI Editions - All rights reserved - Frédéric Hendrickx
enidentnumber-AAEAAAD/////AQAAAAAAAAAMAgAAAE1FTkkuRWRpdGlvbnMuTUVESUFwbHVzLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAJ0VOSS5FZGl0aW9ucy5NRURJQXBsdXMuQ29tbW9uLldhdGVybWFyawIAAAAHcGlzVGV4dAlwaWR0ZURhdGUBAA0CAAAABgMAAABENTM5MjYwIC0gRnLDqWTDqXJpYyBIZW5kcmlja3ggLSBiN2RmODljNC00NzEyLTQ1NDQtYTZiYS0zZGY5NjMzN2I3ZWIOkmaNw7DOiAsA-enidentnumber
c.Quidécidedecequ
onmetdanslesdifférentsniveaux?
Dansl
immensemajoritédescas,c
estladéfinitioninitialedesniveauxd
exécutionquiestexploitée.C
est
à
direque
legestionnairedeladistribution(Ubuntu,Mandriva,RedHat,etc.)choisitcequidoitsepasserdanschacundes
niveauxd
exécutiondonné,etl
administrateurdusystèmefaitavec.
Toutefois,il peutarriver quel
administrateurdu systèmepréfère gérerlui mêmela configurationde sesniveaux
d
exécution.Ilpeutalorschoisiràquelniveaufonctionnelcorrespondchacundesniveauxd
exécutionetquelssont
lesservicesassociés.Àchaqueniveaud
exécutioncorrespondalorsunensembledeservices.
2.Configurationduprocessusinit
Nousavonsparléjusqu
àprésentdesniveauxd
exécutioncommed
unelistedeservicesàarrêteroudémarrer.La
questionestmaintenantdesavoircommentlesystèmevaprendreconnaissancedesonniveaud
exécutionetdes
servicesquiysontréférencés.
a.Lepremierprocessusdémarrésurlesystème
Sionregardequelssontlesprocessuss
exécutantsurlesystème,ontrouveenpremièrepositionleprocessusinit.
IlporteunPPIDinhabituel(0),etilestlepèredenombreuxautresprocessus.
Lesprocessus
Denombreuxprocessusontlenuméro1commePPID.
[root@beta ~]# ps -ef | head
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 09:07 ? 00:00:12 init [5]
root 2 1 0 09:07 ? 00:00:00 [migration/0]
root 3 1 0 09:07 ? 00:00:00 [ksoftirqd/0]
root 4 1 0 09:07 ? 00:00:00 [watchdog/0]
root 5 1 0 09:07 ? 00:00:09 [events/0]
root 6 1 0 09:07 ? 00:00:00 [khelper]
root 7 1 0 09:07 ? 00:00:00 [kthread]
root 10 7 0 09:07 ? 00:00:04 [kblockd/0]
root 11 7 0 09:07 ? 00:00:00 [kacpid]
[root@beta ~]#
Ceprocessusestlepremierlancéauchargementdunoyau.Ilaévidemmentunrôleprivilégié,etsoncomportement
estrégiparunfichierdeconfiguration:
/etc/inittab
.
b.Lefichierinittab
Selonlesdistributions,lefichier
/etc/inittab
revêtdescontenustrèsdifférents,maissastructureesttoujoursla
même.
Structuredufichier/etc/inittab
identifiant:niveau:mode_action:commande
Fichier/etc/inittab:structured
unelignededéfinition
identifiant
Chaînealphanumériqued
unoudeuxcaractères.Identifielaligne.Pasd
autres
contraintesqued
éviterd
avoirdeuxlignesaveclemêmeidentifiant.
niveau
Leoulesniveauxd
exécution(enchiffres)pourlesquelslaligneestpertinente.
mode_action
Àchoisirparmiquelquesmots
clés,définitlafaçondontlacommandeduquatrième
champseraexécutée.
commande
Lacommandeàexécuterau(x)niveau(x)défini(s)dansledeuxièmechampselonle
- 2 - © ENI Editions - All rights reserved - Frédéric Hendrickx
enidentnumber-AAEAAAD/////AQAAAAAAAAAMAgAAAE1FTkkuRWRpdGlvbnMuTUVESUFwbHVzLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAJ0VOSS5FZGl0aW9ucy5NRURJQXBsdXMuQ29tbW9uLldhdGVybWFyawIAAAAHcGlzVGV4dAlwaWR0ZURhdGUBAA0CAAAABgMAAABENTM5MjYwIC0gRnLDqWTDqXJpYyBIZW5kcmlja3ggLSBiN2RmODljNC00NzEyLTQ1NDQtYTZiYS0zZGY5NjMzN2I3ZWIOkmaNw7DOiAsA-enidentnumber
Modesd
actionscourants
initdefault
:unpeuparticulier,initdefaultnerégitpaslafaçondontlacommandeduquatrièmechampsera
exécutée.D
ailleurs,quandlemoded
actionestinitdefault,lequatrièmechampestvide.initdefaultnesert
enfaitqu
àdéfinirleniveaud
exécutiondusystèmepardéfaut.
sysinit
:sertà exécuterdesscriptsàl
initialisationdusystème,indépendammentduniveaud
exécution.
Pourcetteraison,sysinitn
admetpasdevaleurpourledeuxièmechamp.
wait:exécutelacommandeduquatrièmechamp(souventunscript),etattendlafindecetteexécutionpour
passerauxlignessuivantesdufichierinittab.
respawn:exécutelacommandeduquatrièmechamp,etlaissetournerleprocessusàl
arrière
plan.Passe
ensuite aux lignes suivantes du fichier inittab. Si le processus appelé par la commande s
arrête, init le
relancerasystématiquement.
Fichierinittabd
unedistributionRedHat
Lescommentairesontétésuppriméspourdesraisonsdelisibilité.
id:5:initdefault:
si::sysinit:/etc/rc.d/rc.sysinit
l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"
pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
x:5:respawn:/etc/X11/prefdm -nodaemon
c.Rappelssurlelancementdesservices
SurunsystèmeLinux,lesservicessontlancéspardesscriptsnormalisésquirépondentàaumoinsdeuxconditions:
Ilssetrouventtousdanslerépertoire
/etc/init.d
(ousontdisponiblesàcetemplacementsousformedelien
symbolique).
Ilsadmettenttouslesparamètres
start
et
stop
pourlelancementetl
arrêtduservice.
Syntaxeuniverselledegestiondeservice
/etc/init.d/ nom action
Gestiondeservicesaveclacommandeservice
service nom action
moded
actiondutroisièmechamp.
Gestiondeservice :paramètres
nom
Lenomduserviceàgérer.
- 3 -© ENI Editions - All rights reserved - Frédéric Hendrickx
enidentnumber-AAEAAAD/////AQAAAAAAAAAMAgAAAE1FTkkuRWRpdGlvbnMuTUVESUFwbHVzLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAJ0VOSS5FZGl0aW9ucy5NRURJQXBsdXMuQ29tbW9uLldhdGVybWFyawIAAAAHcGlzVGV4dAlwaWR0ZURhdGUBAA0CAAAABgMAAABENTM5MjYwIC0gRnLDqWTDqXJpYyBIZW5kcmlja3ggLSBiN2RmODljNC00NzEyLTQ1NDQtYTZiYS0zZGY5NjMzN2I3ZWIOkmaNw7DOiAsA-enidentnumber
Lacommandeservice,quandelleestdisponible,peutêtreconsidéréecommepréférablecarellelanceleserviceen
s
affranchissantautantquepossibledel
environnementambiant(pwdetvariables).Leserviceestainsidémarré
dansunenvironnementplusneutre.
Formatstandardd
unscriptdegestiondeservice
#!/bin/bash
case $1 in
start)
# commande de lancement du service
;;
stop)
# commande d ’arrêt du service
;;
esac
d.Liensentrelesniveauxd
exécutionetlesservices
Sionregardelefichier
/etc/inittab
,ontrouveunesectioncontenant7lignescommandantpourchacundesniveaux
d
exécutionunscript
/etc/init.d/rc
enmodewait.Nousnedétailleronspaslefonctionnementdecescriptici,mais
retenonssimplementqu
ilcommandel
exécutiondechaquefichierdurépertoire
/etc/rc
n
.d
(nétantlenumérodu
niveaud
exécution)avecleparamètre
start
silapremièrelettredunomdufichierestunS,etavecleparamètre
stop
silapremièrelettredunomdufichierestun
K
.Chacundesfichiersde
/etc/rc
n
.d
estunliensymboliquevers
unscriptdelancementdeservicede
/etc/init.d
etcetteconstructionpermetdedirequelsservicesdoiventêtre
démarrésouarrêtéspourchacundesniveauxd
exécution.
Selonlesdistributions,ilsepeutquelesscriptsrcetlesrépertoiresrcn.dsoientplacésàdesemplacements
différents. La cohérence est assurée par la bonne gestion des chemins dans les scripts systèmes et la
créationdelienssymboliquesquandc
estnécessaire.
Ceslienspeuventêtrecréésmanuellementaveclacommande
ln
.
Créationdeliensdegestiondeservicesaveclacommandeln
Cesliensdoiventêtrecrééspourchacundesniveauxd
exécutionspossibles.
cd /etc/rcx.d
ln -s ../init.d/ service Cnnservice
e.Gestiondesniveauxd
exécution
Lacommanderunlevelindiqueleniveaud
exécutionencours.
Affichageduniveaud
exécution
runlevel
action
start
ou
stop
pourdémarrerouarrêterleservice.
status
estaussiuneoptioncouramment
supportéequiindiquel
étatduservice.
Liendelancementdeservices :paramètres
x
Leniveaud
exécutionpourlequelonveutgérerledémarrageoul
arrêtduservice.
C
Commutateurdedémarrage(S)oud
arrêt(K).
nn
Numérod
ordreàdeuxchiffres.Lescriptseragéréplusoumoinstôtparrapportauxautresdu
mêmeservice.
service
Nomduserviceàgérer.
- 4 - © ENI Editions - All rights reserved - Frédéric Hendrickx
enidentnumber-AAEAAAD/////AQAAAAAAAAAMAgAAAE1FTkkuRWRpdGlvbnMuTUVESUFwbHVzLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAJ0VOSS5FZGl0aW9ucy5NRURJQXBsdXMuQ29tbW9uLldhdGVybWFyawIAAAAHcGlzVGV4dAlwaWR0ZURhdGUBAA0CAAAABgMAAABENTM5MjYwIC0gRnLDqWTDqXJpYyBIZW5kcmlja3ggLSBiN2RmODljNC00NzEyLTQ1NDQtYTZiYS0zZGY5NjMzN2I3ZWIOkmaNw7DOiAsA-enidentnumber
Lacommande
telinit
permetdechangeràchaudleniveaud
exécutiond
unsystème.
Changementdeniveaud
exécution
telinit niveau
Oùniveaureprésenteleniveaud
exécutiondanslequelonsouhaiteplacerlesystème.
Gestionduniveaud
exécution
Lechangementàchauddeniveaud
exécutionnedevraitêtreréaliséquesurunsystèmedontonconnaîtlaconfiguration.
alpha:~# runlevel
N 2
alpha:~# telinit 3
alpha:~#
alpha:~# runlevel
N 3
alpha:~#
Ponctuellement,leniveaud
exécutionàchargerpeutaussiêtrefourniaunoyauentantqueparamètrelors
de son chargement. Le choix du niveau d
exécution peut donc aussi se faire depuis le gestionnaire de
démarrageenplaçantsimplementleniveausouhaitésurlalignedechargementdunoyau.
f.Commandesdegestionsdesliensdeservices
Lescommandes
update
rc.d
et
chkconfig
permettentdes
affranchirdelagestioncontraignantedesliensd
appels
deservicesselonlesniveauxd
exécution.Lesdeuxcommandesnesontpasdisponiblessurtouslessystèmes,etil
se peut même que la création manuelle de liens soit la seule solution fonctionnelle. Dans tous les cas, il est
pédagogiquement intéressant de vérifier l
action de ces commandes sur les liens en place dans les
répertoires
/etc/rc
n
.d
.
Créationdesliensdegestiondeservices
update-rc.d service defaults
chkconfig --add service
Oùservicereprésentelenomduserviceprésentdanslerépertoire
/etc/init.d
.Leparamètredefaultsimpliqueque
leserviceseradémarrédanslesniveauxfonctionnelspardéfaut,etarrêtédanslesniveauxnonfonctionnels(0pour
systèmearrêté,1pourlemodemaintenance,et6pourunemachineencoursderedémarrage).
Suppressiondesliensdegestiondeservices
update-rc.d service remove
chkconfig --del service
Vérificationdesétatsd
unserviceselonlesniveaux
chkconfig --list service
Exempled
utilisationdelacommandechkconfig
La commande chkconfig permet aussi bien la création de liens que la visualisation des services selon les niveaux
d
exécution.
[root@beta ~]# ls /etc/rc5.d/*nfs
ls: /etc/rc5.d/*nfs: No such file or directory
[root@beta ~]# chkconfig --add nfs
[root@beta ~]# ls /etc/rc5.d/*nfs
/etc/rc5.d/K20nfs
- 5 -© ENI Editions - All rights reserved - Frédéric Hendrickx
enidentnumber-AAEAAAD/////AQAAAAAAAAAMAgAAAE1FTkkuRWRpdGlvbnMuTUVESUFwbHVzLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAUBAAAAJ0VOSS5FZGl0aW9ucy5NRURJQXBsdXMuQ29tbW9uLldhdGVybWFyawIAAAAHcGlzVGV4dAlwaWR0ZURhdGUBAA0CAAAABgMAAABENTM5MjYwIC0gRnLDqWTDqXJpYyBIZW5kcmlja3ggLSBiN2RmODljNC00NzEyLTQ1NDQtYTZiYS0zZGY5NjMzN2I3ZWIOkmaNw7DOiAsA-enidentnumber
1 / 7 100%

3-inittab (1)

Telechargé par mahmoudbardi
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !