SlideShare une entreprise Scribd logo
Principes de fonctionnement
d'UNIXd'UNIX
A. EL FERGOUGUI
Page 1
www.TelechargerCours.com
plan
• Tâches différées
• Boot et lancement du noyau
• Processus init
• Services et démons• Services et démons
• Les runlevels
• Scripts de lancement des services
Page 2
www.TelechargerCours.com
Exécution d’une tâche en différé
• Rapporter l’exécution d’une tâche à une date
précise
• Commande at et batch
• Syntaxe
at <heure> cmdsat <heure> cmds
<heure> heure de lancement
cmds fichier qui contient les commandes à
exécuter
• Exemple
at 4 am < fichier-comds
• batch <nom-fichier>
Page 3
www.TelechargerCours.com
Page 4
www.TelechargerCours.com
Supprimer des tâches en différées
• at -r <tache>
supprime les tâches par leur n°
attention: c’est une tâche administrative
• at –l <taches>• at –l <taches>
donne la liste des n° de tache
Page 5
www.TelechargerCours.com
Commande crontab
• /etc/cron
• Fonction
exécuter des commandes à date et heure fixe
• Syntaxe
crontab option fichier_crontabcrontab option fichier_crontab
• Options
-r détruit un fichier crontab utilisateur du
répertoire courant
-l liste les fichiers crontab de l'utilisateur en
question
Page 6
www.TelechargerCours.com
suite
• Remarques
* le fichier /user/lib/cron/cron.allow
contient les utilisateurs autorisés à utilisés
crontabcrontab
* le fichier /user/lib/cron/cron.deny
contient les utilisateurs non autorisés à utilisés
crontab
Page 7
www.TelechargerCours.com
suite
• Fichier crontab
chaque ligne de ce fichier à le format suivant:
mm hh dd mm jj commande
mm minute d'activation de la commande : 00 àmm minute d'activation de la commande : 00 à
59 * veut dire n'importe quelle minute
hh heure d'activation de la commande :0-23
dd jour d'activation de la commande :1-31
mm mois d'activation de la commande :1-12
jj jour de la semaine : 0 dim, 1 lun,…, 6 sam
Page 8
www.TelechargerCours.com
exemples
• Exemple de fichier crontab
0 0 * * 1 commande
exécuter la commande chaque lundi à minuit
0,15,30,45 * * * * commande0,15,30,45 * * * * commande
exécuter la commande tout les ¼ d'heure
0 18 * * 1-6 commande
tout les jours de la semaine à 18 h sauf
dimanche
Page 9
www.TelechargerCours.com
Exemple 2
• 0 23 * * 1-5 /bin/tar –cvf archive
/usr/users/brahim/data
0 12 * * * /bin/wall < /usr/users/brahim/f00 12 * * * /bin/wall < /usr/users/brahim/f0
avec f contien le message " il est temps de
déjouner"
Page 10
www.TelechargerCours.com
Boot et lancement du noyau
• Au boot le BIOS exécute le MBR (Master Boot Reccord)
situé sur le premier secteur (512 octets) du support
bootable choisi (disque, CD, clef USB, ...)
• Le MBR :
- scanne le disque pour trouver LA partition bootable
(flag)
- lance le boot loader (chargeur de démarrage) du secteur
de boot (premier secteur) de la partition bootablede boot (premier secteur) de la partition bootable
• Le bootloader :
- charge le noyau en mémoire et l'exécute
- charge le ramdisk initrd.img en mémoire
• 2 bootloader possibles:
Lilo (Linux Loader) Grub (Grand Unified Bootloader)
Page 11
www.TelechargerCours.com
Lancement du système : boot -> init
• Une fois le noyau chargé en mémoire, il lance le
premier processus : /bin/init
• init est le père de tous les autres processus qui seront
créés par l'appel system fork()
• init lit le fichier /etc/inittab pour savoir :
- quel est le fichier à exécuter pour continuer le- quel est le fichier à exécuter pour continuer le
hargement du système
- quel est le runlevel (niveau d'exécution) par défault
- comment lancer les services pour un runlevel donné
-...
Page 12
www.TelechargerCours.com
Exple de fichier /etc/inittab
format des lignes: id:runlevels:action:process
# inittab This file describes how the INIT process should set up
# the system in a certain runlevel.
# Default runlevel. The runlevels used by Mandrakelinux are:
# 0 halt (Do NOT set initdefault to this)
# 1 Single user mode
# 2 Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 Full multiuser mode
# 4 unused
# 5 X11
# 6 reboot (Do NOT set initdefault to this)
id:5:initdefault:
# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit
l0:0:wait:/etc/rc.d/rc 0
Le niveau d'exécution par défaut
Les niveaux d'exécution possibles
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
# Trap CTRLALTDELETE
ca::ctrlaltdel:/sbin/shutdown -t3 r now
... ...
# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
Action à faire sur l'évènement CTRL-ALT-DEL
Pour les niveaux 2 à 5, activer plusieurs
consoles en mode caractère
Page 13
www.TelechargerCours.com
Exple de fichier /etc/inittab
format des lignes: id:runlevels:action:process
# The default runlevel.
id:2:initdefault:
# Boottime system configuration/initialization script.
# This is run first except when booting in emergency (b) mode.
si::sysinit:/etc/init.d/rcS
# What to do in singleuser mode.
~~:S:wait:/sbin/sulogin
# /etc/init.d executes the S and K scripts upon change
# of runlevel.
# Runlevel 0 is halt, 1 is singleuser, 2 - 5 are multiuser, 6 is reboot.
l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
... ...
l5:5:wait:/etc/init.d/rc 5
Le niveau d'exécution par défaut
Les niveaux d'exécution possibles
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6
# What to do when CTRLALTDEL
is pressed.
ca:12345:ctrlaltdel:/sbin/shutdown t1 -a -r now
1:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
4:23:respawn:/sbin/getty 38400 tty4
5:23:respawn:/sbin/getty 38400 tty5
6:23:respawn:/sbin/getty 38400 tty6
Action à faire sur l'évènement CTRL-ALT-DEL
Pour les niveaux 2 à 5, activer plusieurs
consoles en mode caractère
Page 14
www.TelechargerCours.com
Exemples d'actions courantes pour le
fichier inittab :
• respawn Le processus est redémarré à chaque fois qu'il se
termine
• wait Le processus n'est démarré qu'une seul fois
• boot Le processus est exécuté pendant le démarrage du
système
• initdefault indique le mode de démarrage une fois le• initdefault indique le mode de démarrage une fois le
système opérationnel. Si aucun n'existe, init demandera un
runlevel sur la console
• sysinit Le processus est exécuté pendant le démarrage du
système. Il est exécuté avant les entrées boot ou bootwait
• ctrlaltdel Le processus est exécuté lorsque init reçoit le
signal SIGINT. (appui simultané des touches CTRL+ALT+DEL)
Page 15
www.TelechargerCours.com
Nouveau mécanisme
init upstart
Ce nouveau mécanisme utilise la notion de job
et d'événement. Les actions à réaliser sont
définies au sein d'un job, par un script shell. Le
job contient une liste d'actions sur ce qu'il doit
faire lorsqu'un événement donné se produit.faire lorsqu'un événement donné se produit.
Les jobs sont placés dans /etc/events.d, dont
voici une liste typique
logd rc0 rc0-poweroff rc2 rc4 rc6 rcS-sulogin tty1
tty3 tty5 control-alt-delete rc-default rc0-halt
rc1 rc3 rc5 rcS sulogin tty2 tty4 …
Page 16
www.TelechargerCours.com
services et démons
Lancement du système : boot -> init -> modules/services
Après le chargement du noyau, le script correspondant à
sysinit dans fichier inittab est chargé :
- Mandrake : /etc/rc.d/rc.sysinit
- Debian : /etc/rc.d/rcS lance les scripts /etc/rcS.d/S??*
Ce script d'initialisation est chargé de 2 tâches
fondamentales :fondamentales :
- charger les modules dans le noyau (gestion des
périphériques)
- démarrer les services en exécutant les processus
«Deferred Auxiliary Executive Monitor» (daemons)
correspondant, en français : démons
Page 17
www.TelechargerCours.com
Exemple de démons :
kswapd swap mémoire <-> disque
kflusd écriture physique des données
nfsd serveur fichiers réseaux (NFS)
portmap mise en correspondance numéro de ports
TCP/IP <-> numéro de processus RPC
xinetd super-serveur de gestion des services réseau
ftpd serveur de transfert de fichiers (FTP)ftpd serveur de transfert de fichiers (FTP)
httpd serveur HTTP
Les démons peuvent implémenter :
- un service noyau (kswapd, ...)
- un service réseau (httpd, ...)
Page 18
www.TelechargerCours.com
les runlevels
• le répertoire /etc/init.d contient tous les scripts
de gestion des services installés
• les lignes «/etc/rc.d/rc x» du fichier /etc/inittab
déterminent le lancement des scripts pour le
runlevel x
• Le runlevel de l'action initdefault est lancé par le
ligne correspondanteligne correspondante
l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
... ...
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6
Page 19
www.TelechargerCours.com
les runlevels
• Le runlevel (numéro de 0 à 6) fixe le répertoire
de démarrage des services :
- Mandrake -> répertoires /etc/rc.d/rc[06].d
- Debian -> répertoires /etc/rc[06].d
• rcX.d : contient des liens symboliques vers les
scripts de gestions des services qui sont dansscripts de gestions des services qui sont dans
le répertoire :
- /etc/rc.d/init.d (Mandrake, + lien symbolique
vers /etc/init.d)
- /etc/init.d (Debian/Ubuntu)
Page 20
www.TelechargerCours.com
les runlevels
• Les liens sont formés selon la syntaxe :
[S|K]XX<nom_du_script>
- S lance le script avec l'argument start
(démarrage du service)
- K lance le script avec l'argument stop (arrêt du
service)service)
- XX est un rang qui fixe l'ordre dans lequel les
scripts sont lancés
Page 21
www.TelechargerCours.com
Scripts de lancement
• Extrait du fichier /etc/init.d/rc
for i in /etc/rc$runlevel.d/K[09][ 09*[ ; do
[ ! F $i ] && continue
# Stop the service.
startup $i stop
done
fi
# Now run the START scripts for this runlevel.
for i in /etc/rc$runlevel.d/S* ; do
[ ! F $i ] && continue
... ...
suffix=${i#/etc/rc$runlevel.d/S[09][ 09[{
stop=/etc/rc$runlevel.d/K[09][
09[$ suffix09[$ suffix
previous_start=/etc/rc$previous.d/S[09][
09[$
suffix
#
case "$runlevel" in
0|6)
startup $i stop
;;
*)
startup $i start
;;
esac
done
•fi
Page 22
www.TelechargerCours.com
Exemple de contenu du répertoire
/etc/rc5.d
lrwxrwxrwx 1 root root 14 20050919 09:42 S20apmd ->
../init.d/apmd
lrwxrwxrwx 1 root root 16 20050918 19:11 S20dbus1 ->
../init.d/dbus1
lrwxrwxrwx 1 root root 17 20050918 19:11 S20dirmngr ->
../init.d/dirmngr
lrwxrwxrwx 1 root root 17 20050918 19:11 S20dirmngr ->
../init.d/dirmngr
lrwxrwxrwx 1 root root 15 20050918 20:03 S20exim4 ->
../init.d/exim4
lrwxrwxrwx 1 root root 15 20050918 20:03 S20inetd ->
../init.d/inetd
lrwxrwxrwx 1 root root 13 20050918 19:10 S20lpd ->
../init.d/lpd
Page 23
www.TelechargerCours.com
Lancement du système : boot -> init ->
services
• Utilitaires en mode console :
- Debian : updaterc.d
- Mandrake : chkconfig, service
• le script /etc/rc.local peut contenir des personnalisations
locales qui seront lancées à la fin du processus init
• Pour démarrer un service sous mandrake, on peut taper :• Pour démarrer un service sous mandrake, on peut taper :
service <nom_du_service> start
ou encore :
/etc/rc.d/init.d/<script_correspondant_au_service> action
action :
starp | stop | restart | status | ...
Page 24
www.TelechargerCours.com

Contenu connexe

Tendances

Tendances (20)

Installation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey SpiderInstallation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey Spider
 
Formation Linux lpi 101
Formation Linux lpi 101 Formation Linux lpi 101
Formation Linux lpi 101
 
SdE 4 - Processus
SdE 4 - ProcessusSdE 4 - Processus
SdE 4 - Processus
 
SdE 5 - Planification
SdE 5 - PlanificationSdE 5 - Planification
SdE 5 - Planification
 
Analyse d'un kernel (crash, core) dump
Analyse d'un kernel (crash, core) dumpAnalyse d'un kernel (crash, core) dump
Analyse d'un kernel (crash, core) dump
 
Gestion et surveillance du reseau syslogng
Gestion et surveillance du reseau  syslogngGestion et surveillance du reseau  syslogng
Gestion et surveillance du reseau syslogng
 
SdE 3 - System de fichiers
SdE 3 - System de fichiersSdE 3 - System de fichiers
SdE 3 - System de fichiers
 
Solutions temps réel sous linux
Solutions temps réel sous linuxSolutions temps réel sous linux
Solutions temps réel sous linux
 
Install arch ultrabook full luks ssd
Install arch ultrabook full luks ssdInstall arch ultrabook full luks ssd
Install arch ultrabook full luks ssd
 
SdE 5 - Communication entre processus et Planification
SdE 5 - Communication entre processus et PlanificationSdE 5 - Communication entre processus et Planification
SdE 5 - Communication entre processus et Planification
 
Formation linux temps réel - Rennes 14 octobre 2014
Formation linux temps réel  - Rennes 14 octobre 2014Formation linux temps réel  - Rennes 14 octobre 2014
Formation linux temps réel - Rennes 14 octobre 2014
 
SdE 10 - Threads
SdE 10 - ThreadsSdE 10 - Threads
SdE 10 - Threads
 
Sysadmin Day #5
Sysadmin Day #5Sysadmin Day #5
Sysadmin Day #5
 
Rapport administration systèmes et supervision réseaux tp2 diabang master1 tr
Rapport administration systèmes et supervision réseaux tp2 diabang master1 trRapport administration systèmes et supervision réseaux tp2 diabang master1 tr
Rapport administration systèmes et supervision réseaux tp2 diabang master1 tr
 
utilisation des core dump sous linux
utilisation des core dump sous linuxutilisation des core dump sous linux
utilisation des core dump sous linux
 
Rapport administration systèmes et supervision réseaux tp4 diabang master1 tr
Rapport administration systèmes et supervision réseaux tp4 diabang master1 trRapport administration systèmes et supervision réseaux tp4 diabang master1 tr
Rapport administration systèmes et supervision réseaux tp4 diabang master1 tr
 
SdE 2 - Langage C, Allocation de memoire
SdE 2 - Langage C, Allocation de memoireSdE 2 - Langage C, Allocation de memoire
SdE 2 - Langage C, Allocation de memoire
 
Nagios twil
Nagios twilNagios twil
Nagios twil
 
Nagios
NagiosNagios
Nagios
 
Mises à jour logicielles en environnement Linux Embarqué, petit guide et tour...
Mises à jour logicielles en environnement Linux Embarqué, petit guide et tour...Mises à jour logicielles en environnement Linux Embarqué, petit guide et tour...
Mises à jour logicielles en environnement Linux Embarqué, petit guide et tour...
 

En vedette

En vedette (13)

Examne sybase corrige
Examne sybase corrigeExamne sybase corrige
Examne sybase corrige
 
Paie Marocaine [Suite RH] [Odoo]
Paie Marocaine [Suite RH] [Odoo]Paie Marocaine [Suite RH] [Odoo]
Paie Marocaine [Suite RH] [Odoo]
 
Écriture de Sous-Interrogations Synchronisées | SQL Oracle
Écriture de Sous-Interrogations Synchronisées | SQL OracleÉcriture de Sous-Interrogations Synchronisées | SQL Oracle
Écriture de Sous-Interrogations Synchronisées | SQL Oracle
 
Point de vente ( Odoo )
Point de vente ( Odoo ) Point de vente ( Odoo )
Point de vente ( Odoo )
 
Paie Marocaine Sous Odoo
Paie Marocaine Sous OdooPaie Marocaine Sous Odoo
Paie Marocaine Sous Odoo
 
Comptabilité général
Comptabilité généralComptabilité général
Comptabilité général
 
Telecharger Exercices corrigés sqlplus
Telecharger Exercices corrigés sqlplusTelecharger Exercices corrigés sqlplus
Telecharger Exercices corrigés sqlplus
 
Presentation module HR et la gestion de la paie marocaine
Presentation module HR et la gestion de la paie marocainePresentation module HR et la gestion de la paie marocaine
Presentation module HR et la gestion de la paie marocaine
 
Telecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQL
 
[MÉMOIRE] Améliorer l'image de marque d'une entreprise sur les médias sociaux...
[MÉMOIRE] Améliorer l'image de marque d'une entreprise sur les médias sociaux...[MÉMOIRE] Améliorer l'image de marque d'une entreprise sur les médias sociaux...
[MÉMOIRE] Améliorer l'image de marque d'une entreprise sur les médias sociaux...
 
Crm odoo (OpenDev)
Crm odoo (OpenDev)Crm odoo (OpenDev)
Crm odoo (OpenDev)
 
Formation python
Formation pythonFormation python
Formation python
 
Conférence Groupe Dia-Mart 2016 • Et si la prochaine révolution retail était ...
Conférence Groupe Dia-Mart 2016 • Et si la prochaine révolution retail était ...Conférence Groupe Dia-Mart 2016 • Et si la prochaine révolution retail était ...
Conférence Groupe Dia-Mart 2016 • Et si la prochaine révolution retail était ...
 

Similaire à Principes de fonctionnement unix

I le langage java d'una manière avancée introduction
I  le langage java d'una manière avancée introductionI  le langage java d'una manière avancée introduction
I le langage java d'una manière avancée introduction
sabrine_hamdi
 
LPIC1 11 01 sécurité réseaux
LPIC1 11 01 sécurité réseauxLPIC1 11 01 sécurité réseaux
LPIC1 11 01 sécurité réseaux
Noël
 

Similaire à Principes de fonctionnement unix (20)

Chapitre2-startup.pdf
Chapitre2-startup.pdfChapitre2-startup.pdf
Chapitre2-startup.pdf
 
systemd red hat linux examen Ex200 rh124
systemd red hat linux examen Ex200 rh124systemd red hat linux examen Ex200 rh124
systemd red hat linux examen Ex200 rh124
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSET
 
Meetup Systemd vs sysvinit
Meetup Systemd vs sysvinitMeetup Systemd vs sysvinit
Meetup Systemd vs sysvinit
 
Chapitre 4 Linux
Chapitre 4 LinuxChapitre 4 Linux
Chapitre 4 Linux
 
Configuration routeurs.pptx
Configuration routeurs.pptxConfiguration routeurs.pptx
Configuration routeurs.pptx
 
threads.pdf
threads.pdfthreads.pdf
threads.pdf
 
Jenkins
JenkinsJenkins
Jenkins
 
Snort_Instal.pptx
Snort_Instal.pptxSnort_Instal.pptx
Snort_Instal.pptx
 
Installation d'openerp 6.1 rc1
Installation d'openerp 6.1 rc1Installation d'openerp 6.1 rc1
Installation d'openerp 6.1 rc1
 
Solution d'OTA
Solution d'OTASolution d'OTA
Solution d'OTA
 
I le langage java d'una manière avancée introduction
I  le langage java d'una manière avancée introductionI  le langage java d'una manière avancée introduction
I le langage java d'una manière avancée introduction
 
Comment analyser une machine linux compromise
Comment analyser une machine linux compromiseComment analyser une machine linux compromise
Comment analyser une machine linux compromise
 
QCM de question sur examen red hat 7.pptx
QCM de question sur examen red hat 7.pptxQCM de question sur examen red hat 7.pptx
QCM de question sur examen red hat 7.pptx
 
Install oracle 11g sous RedHat
Install oracle 11g sous RedHatInstall oracle 11g sous RedHat
Install oracle 11g sous RedHat
 
LPIC1 11 01 sécurité réseaux
LPIC1 11 01 sécurité réseauxLPIC1 11 01 sécurité réseaux
LPIC1 11 01 sécurité réseaux
 
Tp java ee.pptx
Tp java ee.pptxTp java ee.pptx
Tp java ee.pptx
 
SYSTèmes d'exploitation
SYSTèmes d'exploitationSYSTèmes d'exploitation
SYSTèmes d'exploitation
 
Snort implementation
Snort implementationSnort implementation
Snort implementation
 
Rapport systéme embarqué busybox
Rapport systéme embarqué busyboxRapport systéme embarqué busybox
Rapport systéme embarqué busybox
 

Plus de webreaker

Plus de webreaker (20)

Examen sybase - Administration base de donnees
Examen sybase - Administration base de donneesExamen sybase - Administration base de donnees
Examen sybase - Administration base de donnees
 
Introduction aux techniques de déduplication
Introduction aux techniques de déduplicationIntroduction aux techniques de déduplication
Introduction aux techniques de déduplication
 
Telecharger Cours java pour debutant pdf
Telecharger Cours java pour debutant pdfTelecharger Cours java pour debutant pdf
Telecharger Cours java pour debutant pdf
 
Principes Relationnels et Concepts Oracle
Principes Relationnelset Concepts OraclePrincipes Relationnelset Concepts Oracle
Principes Relationnels et Concepts Oracle
 
Création de Vues | SQL Oracle
Création de Vues | SQL OracleCréation de Vues | SQL Oracle
Création de Vues | SQL Oracle
 
Les Contraintes | SQL Oracle
Les Contraintes | SQL OracleLes Contraintes | SQL Oracle
Les Contraintes | SQL Oracle
 
Création et Gestion de Tables | SQL Oracle
Création et Gestion de Tables | SQL OracleCréation et Gestion de Tables | SQL Oracle
Création et Gestion de Tables | SQL Oracle
 
Manipulation des Données , cours sql oracle
Manipulation des Données , cours sql oracleManipulation des Données , cours sql oracle
Manipulation des Données , cours sql oracle
 
Extraction Hiérarchique | Cours sql oracle
Extraction Hiérarchique | Cours sql oracleExtraction Hiérarchique | Cours sql oracle
Extraction Hiérarchique | Cours sql oracle
 
Mise en Forme des Résultats avec SQL*Plus
Mise en Forme des Résultats avec SQL*PlusMise en Forme des Résultats avec SQL*Plus
Mise en Forme des Résultats avec SQL*Plus
 
Sous-Interrogations Multi-colonne | SQL Oracle
Sous-Interrogations Multi-colonne | SQL OracleSous-Interrogations Multi-colonne | SQL Oracle
Sous-Interrogations Multi-colonne | SQL Oracle
 
Sous-Interrogations - sql oracle
Sous-Interrogations - sql oracleSous-Interrogations - sql oracle
Sous-Interrogations - sql oracle
 
Opérateurs Ensemblistes | SQL Oracle
Opérateurs Ensemblistes | SQL OracleOpérateurs Ensemblistes | SQL Oracle
Opérateurs Ensemblistes | SQL Oracle
 
SQL Oracle | Regrouper les Données avec les Fonctions de Groupe
SQL Oracle | Regrouper les Données avec les Fonctions de GroupeSQL Oracle | Regrouper les Données avec les Fonctions de Groupe
SQL Oracle | Regrouper les Données avec les Fonctions de Groupe
 
Afficher des Données Issues de Plusieurs Tables : SQL Oracle
Afficher des Données Issues de Plusieurs Tables : SQL OracleAfficher des Données Issues de Plusieurs Tables : SQL Oracle
Afficher des Données Issues de Plusieurs Tables : SQL Oracle
 
Fonctions Mono-Ligne
Fonctions Mono-LigneFonctions Mono-Ligne
Fonctions Mono-Ligne
 
SQL Oracle : Sélection et Tri des Lignes Retournées par un SELECT
SQL Oracle : Sélection et Tri des Lignes Retournées par un SELECTSQL Oracle : Sélection et Tri des Lignes Retournées par un SELECT
SQL Oracle : Sélection et Tri des Lignes Retournées par un SELECT
 
L'Ordre SELECT Élémentaire | SQL Oracle
L'Ordre SELECT Élémentaire | SQL OracleL'Ordre SELECT Élémentaire | SQL Oracle
L'Ordre SELECT Élémentaire | SQL Oracle
 
Administration systeme UNIX
Administration systeme UNIXAdministration systeme UNIX
Administration systeme UNIX
 
Telecharger Cours Systèmes d’exploitation windows: Administration Windows
Telecharger Cours Systèmes d’exploitation windows: Administration  WindowsTelecharger Cours Systèmes d’exploitation windows: Administration  Windows
Telecharger Cours Systèmes d’exploitation windows: Administration Windows
 

Principes de fonctionnement unix

  • 1. Principes de fonctionnement d'UNIXd'UNIX A. EL FERGOUGUI Page 1 www.TelechargerCours.com
  • 2. plan • Tâches différées • Boot et lancement du noyau • Processus init • Services et démons• Services et démons • Les runlevels • Scripts de lancement des services Page 2 www.TelechargerCours.com
  • 3. Exécution d’une tâche en différé • Rapporter l’exécution d’une tâche à une date précise • Commande at et batch • Syntaxe at <heure> cmdsat <heure> cmds <heure> heure de lancement cmds fichier qui contient les commandes à exécuter • Exemple at 4 am < fichier-comds • batch <nom-fichier> Page 3 www.TelechargerCours.com
  • 5. Supprimer des tâches en différées • at -r <tache> supprime les tâches par leur n° attention: c’est une tâche administrative • at –l <taches>• at –l <taches> donne la liste des n° de tache Page 5 www.TelechargerCours.com
  • 6. Commande crontab • /etc/cron • Fonction exécuter des commandes à date et heure fixe • Syntaxe crontab option fichier_crontabcrontab option fichier_crontab • Options -r détruit un fichier crontab utilisateur du répertoire courant -l liste les fichiers crontab de l'utilisateur en question Page 6 www.TelechargerCours.com
  • 7. suite • Remarques * le fichier /user/lib/cron/cron.allow contient les utilisateurs autorisés à utilisés crontabcrontab * le fichier /user/lib/cron/cron.deny contient les utilisateurs non autorisés à utilisés crontab Page 7 www.TelechargerCours.com
  • 8. suite • Fichier crontab chaque ligne de ce fichier à le format suivant: mm hh dd mm jj commande mm minute d'activation de la commande : 00 àmm minute d'activation de la commande : 00 à 59 * veut dire n'importe quelle minute hh heure d'activation de la commande :0-23 dd jour d'activation de la commande :1-31 mm mois d'activation de la commande :1-12 jj jour de la semaine : 0 dim, 1 lun,…, 6 sam Page 8 www.TelechargerCours.com
  • 9. exemples • Exemple de fichier crontab 0 0 * * 1 commande exécuter la commande chaque lundi à minuit 0,15,30,45 * * * * commande0,15,30,45 * * * * commande exécuter la commande tout les ¼ d'heure 0 18 * * 1-6 commande tout les jours de la semaine à 18 h sauf dimanche Page 9 www.TelechargerCours.com
  • 10. Exemple 2 • 0 23 * * 1-5 /bin/tar –cvf archive /usr/users/brahim/data 0 12 * * * /bin/wall < /usr/users/brahim/f00 12 * * * /bin/wall < /usr/users/brahim/f0 avec f contien le message " il est temps de déjouner" Page 10 www.TelechargerCours.com
  • 11. Boot et lancement du noyau • Au boot le BIOS exécute le MBR (Master Boot Reccord) situé sur le premier secteur (512 octets) du support bootable choisi (disque, CD, clef USB, ...) • Le MBR : - scanne le disque pour trouver LA partition bootable (flag) - lance le boot loader (chargeur de démarrage) du secteur de boot (premier secteur) de la partition bootablede boot (premier secteur) de la partition bootable • Le bootloader : - charge le noyau en mémoire et l'exécute - charge le ramdisk initrd.img en mémoire • 2 bootloader possibles: Lilo (Linux Loader) Grub (Grand Unified Bootloader) Page 11 www.TelechargerCours.com
  • 12. Lancement du système : boot -> init • Une fois le noyau chargé en mémoire, il lance le premier processus : /bin/init • init est le père de tous les autres processus qui seront créés par l'appel system fork() • init lit le fichier /etc/inittab pour savoir : - quel est le fichier à exécuter pour continuer le- quel est le fichier à exécuter pour continuer le hargement du système - quel est le runlevel (niveau d'exécution) par défault - comment lancer les services pour un runlevel donné -... Page 12 www.TelechargerCours.com
  • 13. Exple de fichier /etc/inittab format des lignes: id:runlevels:action:process # inittab This file describes how the INIT process should set up # the system in a certain runlevel. # Default runlevel. The runlevels used by Mandrakelinux are: # 0 halt (Do NOT set initdefault to this) # 1 Single user mode # 2 Multiuser, without NFS (The same as 3, if you do not have networking) # 3 Full multiuser mode # 4 unused # 5 X11 # 6 reboot (Do NOT set initdefault to this) id:5:initdefault: # System initialization. si::sysinit:/etc/rc.d/rc.sysinit l0:0:wait:/etc/rc.d/rc 0 Le niveau d'exécution par défaut Les niveaux d'exécution possibles 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 # Trap CTRLALTDELETE ca::ctrlaltdel:/sbin/shutdown -t3 r now ... ... # Run gettys in standard runlevels 1:2345:respawn:/sbin/mingetty tty1 2:2345:respawn:/sbin/mingetty tty2 3:2345:respawn:/sbin/mingetty tty3 Action à faire sur l'évènement CTRL-ALT-DEL Pour les niveaux 2 à 5, activer plusieurs consoles en mode caractère Page 13 www.TelechargerCours.com
  • 14. Exple de fichier /etc/inittab format des lignes: id:runlevels:action:process # The default runlevel. id:2:initdefault: # Boottime system configuration/initialization script. # This is run first except when booting in emergency (b) mode. si::sysinit:/etc/init.d/rcS # What to do in singleuser mode. ~~:S:wait:/sbin/sulogin # /etc/init.d executes the S and K scripts upon change # of runlevel. # Runlevel 0 is halt, 1 is singleuser, 2 - 5 are multiuser, 6 is reboot. l0:0:wait:/etc/init.d/rc 0 l1:1:wait:/etc/init.d/rc 1 ... ... l5:5:wait:/etc/init.d/rc 5 Le niveau d'exécution par défaut Les niveaux d'exécution possibles l5:5:wait:/etc/init.d/rc 5 l6:6:wait:/etc/init.d/rc 6 # What to do when CTRLALTDEL is pressed. ca:12345:ctrlaltdel:/sbin/shutdown t1 -a -r now 1:2345:respawn:/sbin/getty 38400 tty1 2:23:respawn:/sbin/getty 38400 tty2 3:23:respawn:/sbin/getty 38400 tty3 4:23:respawn:/sbin/getty 38400 tty4 5:23:respawn:/sbin/getty 38400 tty5 6:23:respawn:/sbin/getty 38400 tty6 Action à faire sur l'évènement CTRL-ALT-DEL Pour les niveaux 2 à 5, activer plusieurs consoles en mode caractère Page 14 www.TelechargerCours.com
  • 15. Exemples d'actions courantes pour le fichier inittab : • respawn Le processus est redémarré à chaque fois qu'il se termine • wait Le processus n'est démarré qu'une seul fois • boot Le processus est exécuté pendant le démarrage du système • initdefault indique le mode de démarrage une fois le• initdefault indique le mode de démarrage une fois le système opérationnel. Si aucun n'existe, init demandera un runlevel sur la console • sysinit Le processus est exécuté pendant le démarrage du système. Il est exécuté avant les entrées boot ou bootwait • ctrlaltdel Le processus est exécuté lorsque init reçoit le signal SIGINT. (appui simultané des touches CTRL+ALT+DEL) Page 15 www.TelechargerCours.com
  • 16. Nouveau mécanisme init upstart Ce nouveau mécanisme utilise la notion de job et d'événement. Les actions à réaliser sont définies au sein d'un job, par un script shell. Le job contient une liste d'actions sur ce qu'il doit faire lorsqu'un événement donné se produit.faire lorsqu'un événement donné se produit. Les jobs sont placés dans /etc/events.d, dont voici une liste typique logd rc0 rc0-poweroff rc2 rc4 rc6 rcS-sulogin tty1 tty3 tty5 control-alt-delete rc-default rc0-halt rc1 rc3 rc5 rcS sulogin tty2 tty4 … Page 16 www.TelechargerCours.com
  • 17. services et démons Lancement du système : boot -> init -> modules/services Après le chargement du noyau, le script correspondant à sysinit dans fichier inittab est chargé : - Mandrake : /etc/rc.d/rc.sysinit - Debian : /etc/rc.d/rcS lance les scripts /etc/rcS.d/S??* Ce script d'initialisation est chargé de 2 tâches fondamentales :fondamentales : - charger les modules dans le noyau (gestion des périphériques) - démarrer les services en exécutant les processus «Deferred Auxiliary Executive Monitor» (daemons) correspondant, en français : démons Page 17 www.TelechargerCours.com
  • 18. Exemple de démons : kswapd swap mémoire <-> disque kflusd écriture physique des données nfsd serveur fichiers réseaux (NFS) portmap mise en correspondance numéro de ports TCP/IP <-> numéro de processus RPC xinetd super-serveur de gestion des services réseau ftpd serveur de transfert de fichiers (FTP)ftpd serveur de transfert de fichiers (FTP) httpd serveur HTTP Les démons peuvent implémenter : - un service noyau (kswapd, ...) - un service réseau (httpd, ...) Page 18 www.TelechargerCours.com
  • 19. les runlevels • le répertoire /etc/init.d contient tous les scripts de gestion des services installés • les lignes «/etc/rc.d/rc x» du fichier /etc/inittab déterminent le lancement des scripts pour le runlevel x • Le runlevel de l'action initdefault est lancé par le ligne correspondanteligne correspondante l0:0:wait:/etc/init.d/rc 0 l1:1:wait:/etc/init.d/rc 1 ... ... l5:5:wait:/etc/init.d/rc 5 l6:6:wait:/etc/init.d/rc 6 Page 19 www.TelechargerCours.com
  • 20. les runlevels • Le runlevel (numéro de 0 à 6) fixe le répertoire de démarrage des services : - Mandrake -> répertoires /etc/rc.d/rc[06].d - Debian -> répertoires /etc/rc[06].d • rcX.d : contient des liens symboliques vers les scripts de gestions des services qui sont dansscripts de gestions des services qui sont dans le répertoire : - /etc/rc.d/init.d (Mandrake, + lien symbolique vers /etc/init.d) - /etc/init.d (Debian/Ubuntu) Page 20 www.TelechargerCours.com
  • 21. les runlevels • Les liens sont formés selon la syntaxe : [S|K]XX<nom_du_script> - S lance le script avec l'argument start (démarrage du service) - K lance le script avec l'argument stop (arrêt du service)service) - XX est un rang qui fixe l'ordre dans lequel les scripts sont lancés Page 21 www.TelechargerCours.com
  • 22. Scripts de lancement • Extrait du fichier /etc/init.d/rc for i in /etc/rc$runlevel.d/K[09][ 09*[ ; do [ ! F $i ] && continue # Stop the service. startup $i stop done fi # Now run the START scripts for this runlevel. for i in /etc/rc$runlevel.d/S* ; do [ ! F $i ] && continue ... ... suffix=${i#/etc/rc$runlevel.d/S[09][ 09[{ stop=/etc/rc$runlevel.d/K[09][ 09[$ suffix09[$ suffix previous_start=/etc/rc$previous.d/S[09][ 09[$ suffix # case "$runlevel" in 0|6) startup $i stop ;; *) startup $i start ;; esac done •fi Page 22 www.TelechargerCours.com
  • 23. Exemple de contenu du répertoire /etc/rc5.d lrwxrwxrwx 1 root root 14 20050919 09:42 S20apmd -> ../init.d/apmd lrwxrwxrwx 1 root root 16 20050918 19:11 S20dbus1 -> ../init.d/dbus1 lrwxrwxrwx 1 root root 17 20050918 19:11 S20dirmngr -> ../init.d/dirmngr lrwxrwxrwx 1 root root 17 20050918 19:11 S20dirmngr -> ../init.d/dirmngr lrwxrwxrwx 1 root root 15 20050918 20:03 S20exim4 -> ../init.d/exim4 lrwxrwxrwx 1 root root 15 20050918 20:03 S20inetd -> ../init.d/inetd lrwxrwxrwx 1 root root 13 20050918 19:10 S20lpd -> ../init.d/lpd Page 23 www.TelechargerCours.com
  • 24. Lancement du système : boot -> init -> services • Utilitaires en mode console : - Debian : updaterc.d - Mandrake : chkconfig, service • le script /etc/rc.local peut contenir des personnalisations locales qui seront lancées à la fin du processus init • Pour démarrer un service sous mandrake, on peut taper :• Pour démarrer un service sous mandrake, on peut taper : service <nom_du_service> start ou encore : /etc/rc.d/init.d/<script_correspondant_au_service> action action : starp | stop | restart | status | ... Page 24 www.TelechargerCours.com