Vous êtes sur la page 1sur 138

Systèmes d'exploitation

Prof. SEDKI A.
sedki.akram@gmail.com 1
SEDKI A.
Chap.1 Introduction
Chap.1-
Systèmes d‘exploitation

2
SEDKI A.
Plan du chapitre
● En quoi consiste un ordinateur?

● Qu'est-ce qu'un système d'exploitation?

● Evolution des systèmes d'exploitation

3
SEDKI A.
Rappel
 Informatique = Information + Automatique
 « Science du traitement automatique de l’information»

 Ordinateur = machine de traitement automatique de


l’information à l'aide de programmes

Ordinateur

Materiels Programmes
(Hardware) (Software)
4
SEDKI A.
Rappel: Dialogue Processeur–Mémoire
 Le fonctionnement de l’ordinateur repose en grande partie sur le
dialogue processeur – mémoire
 La mémoire vive assure le stockage des instructions à
exécuter, ainsi que des données.
 Le processeur exécute un programme chargé en mémoire.
 Le processeur est connecté à la mémoire par des bus «fils
électriques» assurant le transfert de l'information.
 La RAM s’efface lorsqu’on coupe le courant (volatile).
mémoire vive
processeur (RAM)

bus
5
SEDKI A.
Rappel: Mémoire de masse
 Disque dur, cdrom/dvd/, clé USB, ...
 Utile pour garder de l’information à long terme (vos fichiers,
mais aussi le système d’exploitation)

processeur
mémoire vive
(RAM)

bus

disque-dur
6
SEDKI A.
Rappel: Carte mère
Tous les composants de l’ordinateurs, processeur, la mémoire et
les diverses connexions (« bus ») vers les périphériques sont fixés
sur une carte électronique (support) appelée « carte-mère ».

7
SEDKI A.
 Comment les programmes se partagent l'accès aux
ressources de la machine (processeur, mémoires…)?

un seul processeur!!
traitement de texte
navigateur web
?
musique mp3
chacun son tour!

mémoire conflit

traitement navigateur logiciel


de texte web Musique mp3
8
SEDKI A.
A quoi sert un système d'exploitation
 Un système d’exploitation, c’est un ensemble de
programmes qui vont faires la liaison entre les applications
informatiques de l’utilisateur (traitement de texte, jeux video, etc…)
et les ressources matérielles d’un ordinateur
Applications/Logiciels
traitement de texte jeu vidéo navigateur web

Système d'exploitation

Linux
Simplifier
l'accès au
matériel ? Gérer les
ressources

matériel

9
SEDKI A.
Rôle1: Simplifier l'accès au matériel
Exemple : Un programme désirant afficher un
rectangle ne va pas envoyer des instructions à
la carte graphique de l’ordinateur, mais plutôt
demander au système d’exploitation de le faire.

«affiche une ligne» C’est le système d’exploitation qui doit


connaître les détails du matériel (dans ce cas
système le type de carte graphique et les instructions
d'exploitation
qu’elle comprend).
pilote

carte graphique

10
SEDKI A.
Structure en couches d’un SE moderne
 La partie principale d’un SE, c’est son Noyau (ou Kernel en
Anglais)
 il propose les 4 grandes fonctions suivantes :

 gérer les processus;

 gérer la mémoire ;

 gérer le système de fichiers ;

 gérer les entrées/sorties.

11
SEDKI A.
Gestion des processus
 Un processus désigne un programme, un logiciel, en cours
d’exécution (aspect dynamique d'un programme).
 Le processus démarre par son chargement en mémoire
centrale depuis la mémoire de masse (disque dur, clé USB, …).
 Le SE réserve une zone mémoire puis copie tout ou une partie
des instruction du processus de la mémoire de masse vers la
mémoire centrale : le processus est alors prêt à être exécuté.

12
SEDKI A.
Gestion des processus

 Dans un système multitâches, plusieurs processus s'exécutent


"simultanément". Ils doivent se partager l'accès au processeur.
 Si un programme est lancé plusieurs fois sur la même
machine, le système d’exploitation considère qu’il s’agit de
plusieurs processus différents.

 Le CPU ne traite qu'un seul processus a la fois,

traitement de texte un seul processeur!!


navigateur web
musique mp3
?

13
SEDKI A.
Gestion des processus
 Quand on fait exécuter plusieurs programmes en même temps,
en réalité, chaque programme exécute seul pendant un cours laps
de temps (quantum).
 le processeur bascule constamment d’un processus à l’autre

Le processeur exécute quelques


millisecondes Gimp
Gimp, puis quelques
millisecondes Excel
Excel, puis quelques
millisecondes Firefox
Firefox,
puis quelques millisecondes Gimp

14
SEDKI A.
Exemple : Exécution de 2 processus
 Deux processus, P1 et P2, doivent être exécutés. Chacun dure
3 unités de temps.
 Comme le processeur ne peut faire qu’une chose à la fois, on
les exécute en alternance :
 Exemple : si l’intervalle est de 5 ms (1/200s), alors en 1sec on
a exécuté P1 et P2 100 fois chacun.
 on a l’impression que l’ordinateur fait deux choses en même
temps!

15
SEDKI A.
Un processus… dans tous ses états
 Une fois chargé dans la mémoire, un processus peut prendre 3 états :
 Etat prêt: Le processus attend que le SE lui attribuer un processeur
(attend de passer à l’état élu).
Etat élu (actif): le processus utilise le processeur (en cours de
d’exécution)
 Etat bloqué: le processus attend une ressource externe (exp : fin
d'une entrée-sortie (frappe d’un caractère au clavier)
processus chargé Obtention de la
en mémoire ressource demandée
Prêt

processus
sélectionné quantum de Bloqué
par SE temps
écoulé

Elu
processus fini processus en attente
d’une E/S 16
SEDKI A.
Ordonnancement
 L’ordonnancement des processus consiste simplement à
décider quel processus sera exécuté dans le quantum de temps
suivant.
 Pour assurer cette gestion, le système d’exploitation utilise deux
éléments stockés en mémoire :
 un ordonnanceur (Programme du système d’exploitation)
activé de façon périodique pour déterminer quel
processus doit avoir la main ;
 un tableau des processus contenant des informations
comme le quantum de temps, l’identifiant du processus
(PID), la zone de mémoire utilisée …
17
SEDKI A.
Exemple : Exécution de 2 processus
 Deux processus, P1 et P2, doivent être exécutés. Chacun
nécessite 3 quanta de temps au total.
 C’est l’ordonnanceur qui décide quel processus
exécuter à chaque quantum.
 Comme le processeur ne peut faire qu’une chose à la
fois, ils sont exécutés en alternance.

18
SEDKI A.
Gestion des processus
 Multi-utilisateurs: plusieurs personnes peuvent travailler en
même temps sur la même machine au travers un terminal
 Le terminal se charge essentiellement de l'affichage.
 Les programmes tournent sur les serveurs
 Les fichiers sont également stockés sur un serveur, pas sur le
terminal.

19
SEDKI A.
la mémoire, c'est quoi?
 La mémoire vive d'un ordinateur (RAM) peut être vu comme
une succession des cellules binaires
 Une cellule mémoire stock 1 seul bit (0 ou 1) .

 un MOT (case mémoire) contient plusieurs cellules


 Un MOT mémoire stocke une information sur n bits.
 on appelle octet un groupe de 8 bits .
 exemples: char et bool-> 1 octet

int et float-> 4 octets double-> 8 octets

 Un mot est l’unité


de base manipulé
par le processeur

20
SEDKI A.
RAM
la mémoire, c'est quoi?
 La mémoire d'un ordinateur (RAM) est composée d'un grand
nombre d'octets

 Chaque octet est repéré par une adresse, qui est un


nombre entier.
adresse octets
0
1
2
3
….

21
SEDKI A.
Gestion de la mémoire
 L’objectif principal de la gestion mémoire est de partager la
mémoire RAM entre les divers processus.
 Lorsqu'il a besoin de mémoire, un processus demande à l'OS
quelle zone il peut utiliser,
 L'OS lui attribue, en fonction de l'espace libre, un certain nombre
de blocs mémoire.
 Les blocs mémoire attribues sont alors réservés.

22
SEDKI A.
Gestion de la mémoire
 Les processus démarrent par son chargement en mémoire.

 A chaque fois qu’un programme est lancé (processus), le SE est


appelé pour « trouver » un espace mémoire pour lui.

 réserve zone mémoire à chaque processus.

 Système de gestion de la mémoire (Memory manager ): partie


du SE qui gère la hiérarchie de stockage

 Suivre les parties de la mémoire qui sont utilisées ou non


utilisées.

 Allouer/libérer espace mémoire aux processus.

 Contrôler le swapping entre la mémoire principale et le


disque. 23
SEDKI A.
Gestion de la mémoire : swapping
 Un autre aspect c’est que le SE est capable de gérer le cas
d’un ordinateur qui dispose de peu de RAM
 Parfois la mémoire RAM est insuffisante pour maintenir
tous les processus courant actifs
 Si le système d’exploitation n’a pas assez de place en
mémoire RAM pour charger tous les instructions d’un gros
logiciel (comme Photoshop par exemple)
 le système d’exploitation utilise une partie du disque dur
comme « mémoire de secours »
 SE ne charge que les parties en cours d’utilisation.
 Le reste (des modules) est chargé « à la demande »
depuis le disque dur
 Il faudra donc ramener régulièrement des processus sur le
disque en mémoire centrale et inversement. C’est ce qu’on
appelle le swapping ou le va-et-vient
24
SEDKI A.
Gestion de la mémoire : swapping
 Pour manipuler des gros programmes et données dépassant
la capacité de la RAM, SE utilise la swap
 consistant à utiliser le disque dur comme mémoire de secours,
et à stocker uniquement dans la RAM les instructions et les
données utilisées par le processeur.
 Le reste est chargé « à la demande » depuis le disque dur
en mémoire centrale et inversement.

25
SEDKI A.
Gestion de la mémoire
 Un ordinateur qui dispose de peu de RAM doit utiliser la
mémoire virtuelle (swap)

 La plupart du temps du swapping est constitué de temps de


transfert.

 Comme la mémoire de masse est plus lente, les


performances de l’ordinateur chutent;

 L’ajout d’une barrette de RAM peut améliorer la situation.

26
SEDKI A.
Gestion de la mémoire (resumé)
 Les processus occupent et utilisent de la place en mémoire. Le SE
a aussi pour rôle de gérer en permanence un plan d’occupation de la
mémoire, c’est-à-dire qu’il gère l’organisation et l’optimisation de la
mémoire. Le SE gère également le chargement des programmes en
mémoire centrale. En cas de besoin, Le SE. répartit ses besoins entre la
mémoire vive et la mémoire virtuelle (place allouée sur le disque dur
jouant le rôle d’une mémoire vive) : c’est le swapping. Pour répartir la
mémoire entre différentes processus, plusieurs techniques sont
employées :
 La pagination : les programmes sont découpés en blocs de
longueur fixe correspondant aux segments de mémoire alloués.
 La segmentation permet un découpage plus fin et adapté aux
besoins. Les programmes ne sont pas découpés en blocs de taille
fixe mais en segments dont la taille dépend du programme.
27
SEDKI A.
Gestion des fichiers
 Le système d’exploitation va donner corps au concept de
fichiers, c’est-à-dire les gérer : les créer, détruire, modifier, lire, et
offrir la possibilité de les désigner par des noms.
 Le concept de fichier est une structure adaptée aux mémoires de
masse permettant de regrouper des données.
 Un fichier est un ensemble d’octets qui peuvent être interprétés
de différentes façons (texte, programme exécutable, image,
musique) et manipulé à travers un nom.
 Pour assurer la gestion des fichiers, un système d’exploitation
utilise un (voire plusieurs) système(s) de fichiers (« file system »).
 Le système de fichiers permet de :
 gérer des fichiers (les créer, renommer, copier, modifier,
supprimer, etc …),
 organiser le stockage des fichiers sur un support physique (un
disque dur, une clé USB, un DVD,…)
28
SEDKI A.
Gestion des entrées-sorties
 Le SE est également responsable de la gestion et le contrôle
d'accès des programmes aux périphériques d’entrées-sorties
par l'intermédiaire des cartes électroniques appelées
contrôleurs de périphérique (puce placée sur une carte)
 Chaque type de contrôleur est spécifique, Le SE donc a
besoin d’un logiciel spécial pour communiquer avec le
contrôleur, il est appelé pilote de périphérique (driver) et doit
être adapté au système d'exploitation (par exemple pilote HP
laser jet pour Windows7, pilote HP laser jet pour UNIX, ...).
 Ces pilotes doivent
être INSTALLES
pour exploiter
un périphérique
 En général les pilotes
sont placés dans le SE
pour fonctionner en
mode noyau (protection).
29
SEDKI A.
Structure en couches d’un SE moderne
 Le noyau (kernel) représentant les fonctions fondamentales
du SE

 L'interpréteur de commande (shell) permettant la


communication avec le SE par l'intermédiaire d'un langage
de commandes
 ex: copier un fichier Interpréteur de
 possibilité de scripts commande
(shell
shell))
 Utilitaires:
 Environnement graphique
 Compilateur noyau
 Outils web
 …
utilitaires
30
SEDKI A.
Origine des principaux systèmes d'exploitation

Proprietaire : Payant Non proprietaire : Gratuit le plus souvent


Sources non disponibles Ouvert : sources disponibles
Sources non modiables Flexible : sources modiables

31
SEDKI A.
Présentation du système Linux
 Le système d’exploitation UNIX
 Première version écrite en assembleur en 1970

 Deuxième version écrite en C en 1973

 Le système d’exploitation Lunix


 Crée à l’origine par le finlandais Linus Torvalds,

 C’est un système sous licence GPL

 un OS gratuit et libre.
 libre : le code source est ouvert "Open Source",
32
SEDKI A.
Linux sous licence GPL
 le code source est ouvert "Open Source"
 le code source modifié doit rester sous licence GPL
 chacun peut le modifier et l’améliorer
 Le système devient de plus en plus complet et
différentes distributions sont disponibles gratuitement

Lunix

Red Hat Debian Slackware

33
SEDKI A.
Noyau et distribution
 le Linux est architecturé autour d’un noyau (contient
toutes les fonctions de base d’un OS)
 Noyau Linux = 11 000 000 lignes de code
 chargé au démarrage (boot) de l’ordinateur
 Une distribution est une noyau auquel des logiciels ont
été ajoutés
Lunix

Red Hat Debian Skolelinux

Ubuntu 34
SEDKI A.
Interface graphique vs ligne de commande
 Quelle que soit la distribution, il y a 2 façons d'utiliser Linux:
En mode graphique En mode console

- simple - compliqué
-non informaticiens - informaticiens,
professionnels

La console:
- programmation (Expemple: Combien d'images JPEG
dans un dossier? (ls -l | grep jpg | wc -l))
- des serveurs tournant sous Linux
- accessible à distance par internet 35
SEDKI A.
Les interfaces graphiques
 Il y a plusieurs modes graphiques, basés sur
 un programme appelé X-window
 Gestionnaire de bureau.
 gérer les fenêtres, leur apparence, leurs options, etc
 les plus célèbres :
 KDE
 Gnome

menu principal

36
SEDKI A.
Le terminal (la console)
 Sous Gnome, dans le tableau de bord, tapez "Terminal":

terminal
L’invite de commandes

 On tape au clavier une commande, suivi d'entrée :

37
SEDKI A.
L’invite de commandes
 Elle invite l’utilisateur à taper une ligne de commande

L’invite de commandes
(Prompt)

38
SEDKI A.
Le shell : interpréteur de commandes
 Le shell se présente sous la forme d’une interface en ligne
de commande accessible depuis une console (terminal).
 Shell interprète une ligne de commande
 Chaque commande a une syntaxe particulière
 Une commande lance l’exécution d’un programme
 Le résultat s’affiche à l’écran
 Une fois l’exécution terminé, l’invite de commande
s’affiche automatiquement au nouveau

39
SEDKI A.
Le shell
 C’est l’« interpréteur de commandes ».
 Le shell se présente sous la forme d’une interface en ligne
de commande accessible depuis une console (terminal).
 Shell interprète une ligne de commande
 Chaque commande a une syntaxe particulière
 Une commande lance l’exécution d’un programme
 Le résultat s’affiche à l’écran
 Une fois l’exécution terminé, l’invite de commande
s’affiche automatiquement au nouveau

40
SEDKI A.
Structure d'une commande
 Les commandes ont généralement la structure suivante :

commande - option(s) paramètre(s)

 Les paramètres peuvent être des valeurs numériques ou


textuelles
 Exemple: noms de fichiers ou noms de répertoires.

 Les options permettent d’offrir des fonctionnalités


supplémentaires
 Les options sont souvent précédées de signe « - »

41
SEDKI A.
Chap. 2
Le système de fichiers

42
SEDKI A.
Qu’est--ce qu’un système de fichier ?
Qu’est
 Le système de fichiers (une partie de SE), permet
d’organiser des fichiers sur un support de stockage
 Sur un disque dur, une clé USB, un DVD, …

 Quelques systèmes de fichiers :


 Chaque système d’exploitation est usuellement associé à

un ou plusieurs système de fichiers


 La plupart des systèmes de fichiers sont « interopérables »

 Ex: Linux peut accéder aux systèmes de fichiers Windows

Windows Linux
FAT32 EXT3
NTFS EXT4 43
SEDKI A.
Rôle du système de fichier
 Organiser le stockage des fichiers sur un support
physique (un disque dur, une clé USB, un DVD,…)
 Gérer l’espace disponible en fonction de la taille des
fichiers
 Localiser l’emplacement physique des fichiers

 Assurer la conservation des données


 Coupure d’alimentation
 Panne matérielle

 Permettre aux applications informatiques


 De créer, modifier, supprimer des fichiers
 D’accéder aux fichiers selon une arborescence
44
SEDKI A.
structure d’une arborescence
 Sous Linux les fichiers sont organisés en arborescence
 une structure de données hiérarchique de type arbre
constitué de répertoires, de sous-répertoires et de fichiers
 Sous Windows: "C:\Program Files", "D:\ " …
 Sous Linux l’arborescence démarre d’un répertoire
particulier nommé racine (Root directory) noté /
 De la racine il existe un chemin unique vers tous les
éléments de l’arborescence

 Exemple :
 /bin
 /usr

45
SEDKI A.
Organisation des dossiers sous Linux
 Le répertoire racine / contient d'autres répertoires:
 bin: contient des programmes (exécutables)

 etc: contient des fichiers de configurations;

 home: contient les répertoires des utilisateurs;

 ……..

 Chaque utilisateur dispose d'un répertoire personnel


(home directory) qui a pour nom le nom de l'utilisateur
 /home/username /
 Lorsque vous ouvrez la
console pour la première bin dev home etc root …
fois, Linux vous place
dans "votre home". fd0 lp estg profs
csh ls
46
SEDKI A.
Comment naviguer dans l’arborescence
 On appelle « chemin » la succession des répertoires conduisant à un
fichier, à partir d’un endroit donné dans l’arborescence.
 Pour désigner un fichier, il est possible de procéder de deux manières:
 à l’aide d’un chemin absolu : on prend comme convention un
parcours de l’arbre partant de la racine: /home/julie/cours/a

 un chemin relatif : comporte la liste des répertoires à parcourir depuis


le répertoire courant jusqu’au fichier ou répertoire choisi :

répertoire
courant

47
SEDKI A.
Chemin relatif ou absolu: exemples
 On appelle « chemin » la succession des répertoires
conduisant à un fichier , à partir d’un endroit donné dans
l’arborescence.
 Deux façons pour désigner un chemin
 Relatif : Chemin relatif au répertoire courant
 Exemple: Documents/TP Séparateur: " / "
 Absolu : Chemin complet depuis la racine
 il commence toujours par la racine « / ».

 Exemple: /home/estg/Documents/TP

/ home estg Documents TP

répertoire Chemin relatif = « Documents/TP »


courant Chemin absolu = « /home/estg/Documents/TP »
48
SEDKI A.
Exemple de chemin absolu (1/2)

/
répertoire
courant

49
SEDKI A.
Exemple de chemin relatif (2/2)
 Le répertoire courant (cwd) nommé . (point)

50
SEDKI A.
Chemin relatif ou absolu: exercice
 Vous vous place dans votre home "estg".
 En utilisant un chemin absolu, rentrez dans le
répertoire TPs.
 Par quel chemin relatif équivalent on peut
remplacer celui-ci

Racine de
l’arborescence estg TPs
home
profs notes
/
bin ls

51
SEDKI A.
Comment se repérer dans l'arborescence
 L’invite de commandes de la console contient les infos suivantes:
estg@ubuntu:~
~$

 Le répertoire "~" c'est votre répertoire personnel;


 synonyme du: /home/ estg
 l'invite de commandes indique le nom du répertoire
dans lequel on se trouve (entre le ":" et le "$")
 Donc ici, on se trouve dans le dossier "~"

 La commande «pwd» ("Print Working Directory")


permet aussi de savoir quel est le répertoire courant
estg@ubuntu:~
~ $ pwd
/ home/estg
52
SEDKI A.
Résumé

53
SEDKI A.
Structure d'une commande
 Les commandes ont généralement la structure suivante :

commande - option(s) paramètre(s)

 Les paramètres peuvent être des valeurs numériques ou


textuelles
 Exemple: noms de fichiers ou noms de répertoires.

 Les options permettent d’offrir des fonctionnalités


supplémentaires
 Les options sont souvent précédées de signe « - »

54
SEDKI A.
la commande ls
 ls « list » : permet de lister (afficher) le contenu du
répertoire courant.
estg@ubuntu:~
~ $ ls
Bureau examples.desktop Documents Images

répertoire courant

 Si un répertoire est spécifié comme paramètre,


affiche la liste des fichiers correspondants.

estg@ubuntu:~
~ $ ls Documents

55
SEDKI A.
Résumé

56
SEDKI A.
la commande ls -l
 ls a une option notée -l qui permet d'obtenir
plus d'information sur les fichiers et les répertoires

estg@ubuntu:~
~ $ ls – l
total 44
drwxr-xr-x 2 sedki sedki 4096 mars 29 20:00 Bureau
drwxr-xr-x 2 sedki sedki 4096 mars 29 20:00 Documents
-rw-r--r-- 1 sedki sedki 8445 mars 29 19:53 examples.desktop
drwxr-xr-x 2 sedki sedki 4096 mars 29 20:00 Images
drwxr-xr-x 2 sedki sedki 4096 mars 29 20:00 Modèles
drwxr-xr-x 2 sedki sedki 4096 mars 29 20:00 Musique

ttaille
aille du
du nnoom m ddee
fichier
fichier en
en ffiicchhiieerr
octets
octets
propriétaire
propriétaire ddaattee ddee
m
mooddific
if icaattio
ionn
droit
droitss d'accès
d'accès date de
groupe 57
SEDKI A.
la commande cd
 cd «change directory» : permet de changer le
répertoire courant
 cd prend un paramètre : le nom du répertoire dans
lequel on veut aller.
 Si on veut aller à la racine:
estg@ubuntu:~ ~ $ cd /

 Après avoir tapé cd /, on se retrouve à la racine:


estg@ubuntu: /$

 pwd devrait confirmer qu’on est bien dans « / »


estg@ubuntu: /$ pwd
/
58
SEDKI A.
Exemples
 Listez les fichiers et répertoires contenus dans /
estg@ubuntu: /$ ls
 Allez dans le sous- répertoire usr et regardez ce qu'il
contient estg@ubuntu: /$ cd usr

estg@ubuntu:/usr$ ls
 Déplacez-vous dans le sous_répertoire games de usr
estg@ubuntu:/usr$ cd games
 Pour revenir au répertoire précédent (/usr), appelé
répertoire parent, tapez « cd .. »
estg@ubuntu:/usr/games$ cd ..
estg@ubuntu:/usr$
59
SEDKI A.
Exemples
 Si on veut aller dans un de sous dossier de /usr,
on tape juste son nom, exemple:
estg@ubuntu:/usr$ cd games

 Si on fait cd games depuis la racine:


estg@ubuntu:/usr$ cd ..
estg@ubuntu:/$ cd games
b ash:cd:games:Aucun f ichier o u r épertoire d e c e t ype

 Pour se rendre dans games, il faut utiliser le


chemin absolu:
estg@ubuntu:/$ cd /usr
/ usr/
usr / games
60
SEDKI A.
Retour au répertoire home
 3 solutions pour aller dans le répertoire home
 Chemin absolu:
estg@ubuntu:/usr/games$ cd / home/estg

 l'alias ~ : estg@ubuntu:/usr/games$ cd ~
 cd sans paramètre:
/
estg@ubuntu:/usr/games$ cd
usr tmp home

games bin lib


estg

Bureau Documents
61
SEDKI A.
Exemples

62
SEDKI A.
Exercices /
Quel est le répertoire courant ?
estg@ubuntu:~/ ~/Documents$
~/ usr tmp home

games bin lib


estg
 Par quel chemin relatif équivalent
on peut remplacer celui-ci : Bureau Documents

estg@ubuntu:/usr$ cd /usr/games
Autocomplétion du chemin
 Placez dans /usr, ensuite tapez juste "cd ga", puis
appuyez sur la touche "Tabulation".
 Revenez dans /usr, (cd .. ) ensuite tapez "cd l", puis
tapez 2 fois sur la touche "Tabulation"
63
SEDKI A.
Résumé

64
SEDKI A.
Chap. 3
Manipulation de fichiers

65
SEDKI A.
Création d'un répertoire: mkdir
 La commande mkdir (make directory) permet de créer un
répertoire (Elle prend en paramètre : le nom du répertoire
à créer):
estg@ubuntu:~$ mkdir doss1
estg@ubuntu:~
~ $ ls

Un dossier appelé doss1 sera créé dans ~

 On peut créer deux dossiers (ou plus) en même temps:


estg@ubuntu:~$ mkdir doss2 doss3
estg@ubuntu:~
~ $ ls
66
SEDKI A.
Création d'un fichier: touch
 La commande touch permet de créer fichier vide +
mise à jour heures modif.
estg@ubuntu:~$ touch chem
estg@ubuntu:~
~ $ ls

 On peut créer plusieurs fichiers à la fois :


estg@ubuntu:~$ touch fic1 fic2.txt
fic2 txt
estg@ubuntu:~
~ $ ls

67
SEDKI A.
mkdir, touch : exercice

 Vous vous place dans votre home "alice "


 Créer un répertoire nommé notes dans votre home.
 Dans le répertoire notes créer un fichier vide nommé memo.txt
68
SEDKI A.
mkdir, touch : réponse

69
SEDKI A.
Résumé

70
SEDKI A.
Supprimer des fichiers et des répertoires: rm et rm -r
 La commande rm (pour remove) permet de
supprimer un fichier voire plusieures
rm fich1 fich2

 L'option –i de rm permet de vous demander une


confirmation pour chacun des fichiers
rm - i fichier1

 L'option –r de rm permet de supprimer un répertoire


et tout ce qu'il contient
rm - r doss2
71
SEDKI A.
Résumé

72
SEDKI A.
Résumé

73
SEDKI A.
Copier un fichier: cp
 La commande cp (pour copy) permet de copier
un fichier
cp fic_source fic_copie
Le premier paramètre est le nom du fichier à copier,
le second le nom de la copie du fichier à créer.

 Copier le fichier fic1 dans le même répertoire () ~


estg@ubuntu:~$ cp fic1 fic1_copie
estg@ubuntu:~
~ $ ls
on aura donc deux fichiers identiques dans
le même répertoire : fic1 et fic1_copie
74
SEDKI A.
Copier un fichier dans un autre dossier: cp

estg@ubuntu:~$ cp fic1 doss1


Le fichier fic sera copié dans doss1 sous
le même nom

 copier fic1 dans doss1 sous un autre nom (fic_copie) :

estg@ubuntu:~$ cp fic1 doss1/


doss1 / fic_copie

on a créé une copie de fic1 dans doss1


sous le nom fic_copie

75
SEDKI A.
Copier un dossier : cp -r
 Avec l'option -r, cp permet de copier un dossier, ainsi
que tous les sous-dossiers et fichiers qu'il contient

:~$ cp - r doss1 doss1_copie


estg@ubuntu:~
~$ ls
estg@ubuntu:~
~$ ls doss1_copie

copier doss1 dans ~ sous le nom doss1_copie

76
SEDKI A.
cp : exercice

 Vous vous place dans votre home "alice"


 copiez le fichier tom en un fichier nommé jerry.
77
SEDKI A.
cp: réponse

78
SEDKI A.
Résumé

79
SEDKI A.
Résumé

80
SEDKI A.
Résumé

81
SEDKI A.
Le caractère jokers : *
 Exercice :
 On suppose que votre répertoire home contient un unique
répertoire nommé téléchargement, dans lequel sont
stockées une série d’images (fichiers dont le nom se
termine par .jpg) et de vidéos (fichiers dont le nom se
termine par .avi).
1. Depuis votre répertoire home, ecrivez la commande
permettant d’afficher le nom des vidéos contenues
dans téléchargement, dont le nom commence par a ou
par b.

82
SEDKI A.
Le caractère jokers : *
 * signifie que l'on peut mettre n'importe quelle
séquence de caractères à sa place.
 Exp
Exp:: copier tous les fichiers dont le nom commence
par « fi » dans doss1
estg@ubuntu:~$ cp fi* fi * doss1

 Copier tous les fichiers image .jpg dans doss


estg@ubuntu:~$ cp * .jpg doss

 ls *.txt liste tous les fichiers du répertoire courant


se terminant par .txt
83
SEDKI A.
Déplacer un fichier (ou répertoire) : mv
 La commande mv (pour move) permet de déplacer
un fichier (elle s'utilise pratiquement comme cp).
estg@ubuntu:~$ mv fic2 doss2
on a déplacé fic2 dans doss2. fic2 n'existe plus
dans son dossier d'origine
 On peut aussi déplacer des dossiers
estg@ubuntu:~$ mv doss1 doss2
déplacera le dossier doss1 (et tous ses
sous-dossiers) dans doss2.
 On peut aussi utiliser les jokers
estg@ubuntu:~$ mv fi * doss3
84
SEDKI A.
Renommer un fichier (ou répertoire) : mv
 La commande mv permet aussi de renommer un
fichier:
mv ancien_nom nouveau_nom

estg@ubuntu:~$ mv fichier1 fichier2


renommer fichier1 en fichier2. Après cette commande,
fichier1 n'existe plus, il a été renommé.
 On peut aussi déplacer et renommer un fichier à la fois
estg@ubuntu:~$ mv fichier2 doss2/fic3
déplacer fichier2 dans doss2 tout en lui affectant
un nouveau nom (fic3)

85
SEDKI A.
Résumé

86
SEDKI A.
Résumé

87
SEDKI A.
Résumé

88
SEDKI A.
cat & less : afficher le contenu d'un fichier
 La commande cat permet d'afficher le contenu d'un
fichier dans le terminal
cat fichier
 exp: afficher le fichier syslog qui se trouve dans le
exp:
dossier: /var/log
: /var/log$
$ cat syslog

 La commande less permet d'afficher le contenu


d'un fichier page par page
less fichier
 q : arrête la lecture du fichier.
89
SEDKI A.
head : Affiche le début d'un fichier
 La commande head affiche seulement les premières lignes
d’un fichier.
 Affiche par défaut les 10 premières lignes d'un fichier.
 head -n fichier. Il permet d'afficher les n premières lignes
du fichier
 Exemple : Soit le fichier planetes.txt contenant les lignes
suivantes :
La commande suivante affiche les 5
premières lignes du fichier :

90
SEDKI A.
tail : Affiche la fin d'un fichier
 Affiche par défaut les 10 dernières lignes d'un fichier.
 Si un entier n précède le nom du fichier, la commande affiche
les n dernières lignes du fichier.
 Ctrl + C pour arrêter la commande tail.

 Exemple : Soit le fichier planetes.txt contenant les lignes


suivantes :

La commande suivante affiche les 4


dernières lignes du fichier

91
SEDKI A.
grep:: recherche un texte dans un fichier
grep
 Syntaxe : grep "texte" fichier
 Affiche les lignes du fichier qui comportent le "texte".
 Les lignes sont affichées dans leur ordre d'apparition dans le
fichier.
 L'option -i pour ne pas tenir compte de la casse
(majuscules / minuscules)
 Exemple : Soit le fichier planetes.txt contenant les lignes
suivantes :

92
SEDKI A.
Manuel des commandes
 La liste des commandes n’est pas exhaustive, seules les plus
courantes et les plus adaptées à votre enseignement sont
présentées. De la même façon, seules les options les plus
courantes seront indiquées pour chaque commande.

 Pour plus d’information et de précision sur les commandes

n’hésitez surtout pas à lire les pages de manuel associées en


tapant la commande :

man commande

93
SEDKI A.
Prise en main de l'éditeur de texte vim
 Lancement de l’éditeur de texte:
estg@ubuntu:~$ vim nomdufichier

vim est le nom de l’éditeur de texte

nomdufichier est le nom du fichier à éditer.


Si le fichier n'existe pas, il sera créé.

94
SEDKI A.
 vim possède 3 modes de travail différents:
Lancement du vim

Mode édition
(supprimer, copier-
coller du texte…)

:commande
Echap
i Entrée

Mode insertion Mode commande


(écriture du texte) (lancer des commandes
(quitter, enregistrer..) 95
SEDKI A.
Commandes de base Description
:q! quitter sans sauvegarder
:wq (ou :x) sauvegarde le fichier et quitte l'éditeur
:w nom_fichier sauve le fichier sous le nom spécifié

Commandes d'édition Description


X Efface le caractère actuelle
dd Efface (couper) la ligne actuelle
ndd Efface n lignes à partir de celle actuelle
Efface n caractères à partir de celui
nx
actuelle
yy (nyy) Copier la ligne actuelle (n ligne )
p (np) Coller (coller n fois)
96
SEDKI A.
Chap. 4
les utilisateurs et les droits

97
SEDKI A.
L'organisation des utilisateurs sous Linux
 Linux est un système multi-utilisateurs.
 multi-utilisateurs = plusieurs utilisateurs peuvent travailler
simultanément sur le même OS (en s'y connectant à distance)
 chaque utilisateur a son propre compte (login, mot de pass,
répertoire personnel)
 Les utilisateurs sont répartis dans des groupes.
 Deux sortes d’utilisateurs :
 L’administrateur (son nom de compte est root):
root utilisateur
particulier qui a tous les droits d’ accès.
 Les autres: ils sont rassemblés par groupes définies par root
root Sedki
Etudiants Groupe

root
Sedki
Ahmed Driss Fatima
Utilisateur 98
SEDKI A.
Identification des utilisateurs
 Seul l’administrateur «root» peut créer et gérer les comptes d’utilisateurs.
 chaque utilisateur a son propre compte (login qui l'identifie d'une façon
unique dans le système et un mot de passe associé, répertoire personnel,
groupe(s))

99
SEDKI A.
Afficher les informations des utilisateurs
 Le fichier /etc/passwd contient toutes les informations relatives
aux utilisateurs . C'est ce fichier que le système consulte lorsque
vous vous connectez à votre compte en tapant votre identifiant et
mot de passe. Ce fichier respecte le format suivant :
nom_du_compte : mot_de_passe : numero_utilisateur :
numero_de_groupe : commentaire : répertoire :
programme_de_demarrage

 Les commandes : id, who, w :


 id : affiche les informations utilisateur et de groupe pour un
utilisateur spécifié
 who : affiche les informations sur les utilisateurs qui sont
connectés à la machine
 w : affiche des informations sur les utilisateurs actuellement
sur la machine, et de leurs processus.
100
SEDKI A.
sudo : devenir root temporairement
 Le compte « root» possède tous les droits
 Dans la plupart des distributions Linux (y compris Ubuntu) on vous
proposera de créer un compte utilisateur avec des droits limités
 Pour des raisons de sécurité, il est impossible sous Ubuntu de se
connecter directement en root au démarrage de l'ordinateur.
 On peut devenir root temporairement à l'aide de la commande sudo.
 La commande qui suit « sudo » sera exécutée en tant que root.
(par sécurité, votre mot de passe est demandé )

$ sudo commande
 Si vous tapez « sudo su » , vous passerez root indéfiniment.
$ sudo su indique que vous êtes devenu root
#
 Pour quitter le « mode root », tapez exit (ou Ctrl + D). 101
SEDKI A.
sudo Vs su
 La commande sudo : Cette commande permet à un
administrateur système de donner à certains utilisateurs la
capacité d'exécuter certaines commandes en tant que root.
 Autorisé uniquement pour les membres du groupe sudo (voir
le fichier /etc/group). Enfin, le fichier de configuration
/etc/sudoers définit les autorisations et la configuration à
laquelle on a accès quand on utilise la commande sudo.
 Demande le mot de passe de l'utilisateur courant

 La commande su : (pour Substitute User) permet à un utilisateur


de se substituer temporairement à un autre utilisateur, et donc de
se connecter sous cet utilisateur (en utilisant son mot de passe).
 su utilisateur : se connecter en tant que cet utilisateur, mais
rester dans le dossier courant
 su - utilisateur : se connecter et aller dans le compte de
cet utilisateur
102
SEDKI A.
adduser : ajouter un utilisateur
 Seul root peut gérer les utilisateurs.
 La commande adduser permet d'ajouter un utilisateur, en
indiquant en paramètre le nom de l'utilisateur à créer
# adduser user1
 Le répertoire personnel de user1 est automatiquement créé
(/home/user1) et son compte est préconfiguré.
 On vous demande ensuite de taper son mot de passe
 À la fin, on vous demande de confirmer par un « o » (oui) !

passwd : changer le mot de passe d’un compte


# passwd user1
Attention ! Si vous tapez passwd sans préciser de compte en
paramètre, c'est le mot de passe de l'utilisateur sous lequel vous
êtes connecté que vous changerez !
103
SEDKI A.
deluser : supprimer un compte
 La commande deluser permet de supprimer un compte:

# deluser user1
 Pour supprime le répertoire personnel de user1 et tous ses
fichiers personnels, on utilise le paramètre --remove-home
# deluser --remove
remove - home user1
-- remove-

addgroup : créer un groupe


 La commande addgroup crée un nouveau groupe

# addgroup group1
 mais aucun utilisateur n’appartient encore à ce groupe
104
SEDKI A.
usermod : modifier un utilisateur
 La commande usermod avec l’option -g permet de change de
groupe à un utilisateur:

# usermod – g group1 user1


mettre user1 dans le groupe group1

 Il est aussi possible qu'un utilisateur appartienne à plusieurs


groupes. Pour ce faire, utilisez l’option -G (majuscule).

#usermod -G group1,group2,group3 user1

delgroup : supprimer un groupe


 La commande delgroup permet de supprimer un groupe:
# delgroup group1
105
SEDKI A.
Les droits d'accès aux fichiers (ou répertoire)
 Chaque fichier et chaque répertoire possède une liste de droits
 indique qui a le droit de voir le fichier (répertoire), de le
modifier et de l'exécuter.

 Il existe 3 types de droits d’accès :


 r : droit de lecture
 Si répertoire,
répertoire consultation de ses éléments (c.à.d, ls autorisé)
 Si fichier , consultation du contenu du fichier
 w : droit d’écriture
 Si répertoire, droit de création, de renommage et de
suppression d’un élément dans le répertoire
 Si fichier, droit de modification du contenu et de suppression
 x : droit d’exécution
 Si répertoire, droit de le traverser (c.-à-.d., cd autorisé)
 Si fichier droit d’exécution
fichier, 106
SEDKI A.
Les droits d'accès aux fichiers (ou répertoire)
 3 catégories d’utilisateurs :
 u (U)ser Propriétaire du fichier/repertoire
 g (G)roup Membre du meme groupe que le propriétaire
 o (O)ther Tous les autres
 Chaque catégorie possède ses types d’accès r w x
ls -l ⇒ donne les droits des fichiers

107
SEDKI A.
Les droits d'accès aux fichiers (ou répertoire)
:~
~ $ ls – l documents
drwxrwxrwx 2 sedki profs 4096 mars 29 20:00 documents

 ces droits sont découpés en fonction des utilisateurs :

d rwx rwx rwx


Dossier propriétaire groupe autre
 Chaque fichier a un propriétaire (ici: sedki) et un groupe (ici: profs).
 Pour un fichier, on raisonne sur 3 catégories : User, Group, et
Others. Dans cet exemple: User=sedki, Group=profs
 Pour chacune de ces 3 catégories on défini 3 droits: r,w,x
 La commande ls -l affiche en début de ligne les 3 droits des 3
catégories d’un fichier: rwxrwxrwx 108
SEDKI A.
Les droits d'accès : Exemple

-rw-r--r--
- : le premier tiret indique qu'il ne s'agit pas d'un dossier. S'il y avait
eu un d à la place, cela aurait indiqué qu'il s'agissait d'un
dossier.

rw- : indique que le propriétaire du fichier, peut lire et modifier (et


donc supprimer) le fichier. En revanche, il ne peut pas l'exécuter
car il n'a pas de x à la fin.

r-- : tous les utilisateurs du groupe peuvent seulement lire le


fichier. Ils ne peuvent ni le modifier, ni l'exécuter.

r-- : tous les autres (ceux qui ne font pas partie du groupe)
peuvent seulement lire le fichier.
109
SEDKI A.
Les droits d'accès aux répertoires : exemple
 Les informations concernant un répertoire sont obtenues
par la commande ls dl nom_repertoire

$ ls dl bin
drwx r x r x 3 driss staff 1024 Jul 28 18:04 bin
$

 r autorise la lecture du contenu du répertoire comme dans le


cas des fichiers; permet donc de voir la liste des fichiers qui
sont dans le répertoire.

 x autorise l’accès au répertoire (à l’aide de la commande cd).

 w autorise la création, la suppression et le changement du


nom d’un élément du répertoire. Cette permission est
indépendante de l’accès aux fichiers dans le répertoire.
110
SEDKI A.
Les droits d'accès aux fichiers
Exercice:
 On suppose que votre nom d’utilisateur
utilisateur est t100 et que vous
appartenez au groupe estg. Vous aimeriez modifier le fichier
exercice.c, à l’aide de vi par exemple.

 La commande ls -l, invoquée sur le fichier donne le résultat


suivant :

-rwxrw-r-- 1 driss estg 936 Dec 3 2007 exercice.c


 Est-ce que vous possédez les droits nécessaires pour
modifier exercice.c?

111
SEDKI A.
chmod : changer les droits
 Les droits d’accés d’un fichier peuvent être modifiées selon les
besoin, (par le propriétaire du fichier ou le root ), à l'aide de la
commande chmod :

chmod

Exemples :
Ajouter le droit d'écriture au groupe : chmod g+w rapport.txt
retirer le droit de lecture aux autres : chmod o-r rapport.txt
Ajouter les droits de lecture et d'exécution au propriétaire :
chmod u+rx rapport.txt
112
SEDKI A.
chmod : changer les droits

chmod

Exemples :

Ajouter le droit d'écriture au groupe et le retirer aux autres :


chmod g+w,o-w rapport.txt
Retirer le droit de lecture au groupe et aux autres :
chmod go-r rapport.txt
Ajouter le droit d'exécution à tout le monde :
chmod +x rapport.txt
113
SEDKI A.
chmod : exemples

$ ls –l fichier
- rwx r-- --- fichier
$ chmod u-x fichier
$ ls –l fichier
-rw- r-- --- fichier
$ chmod u+x fichier
$ ls –l fichier
-rwx r-- --- fichier

114
SEDKI A.
chmod : exemples
$ cp /etc/passwd .
$ ls -l
total 4
-rw-r--r-- 1 gthomas users 1120 19 juil. 2016 passwd
$ chmod u-r passwd
$ cat passwd
cat: passwd: Permission non accordée
$ mkdir rep
$ ls -l
total 8
--w-r--r-- 1 gthomas users 1120 19 juil. 2016 passwd
drwxr-xr-x 2 gthomas users 68 19 juil. 2016 rep
$ cd rep
$ cd ..
$ chmod u-x rep
$ cd rep
-bash: cd: rep: Permission non accordée
115
SEDKI A.
chmod : changer les droits avec des chiffres
 On attribue un chiffre à chaque droit :
Droit Chiffre
r 4
w 2
x 1

 Pour combiner les droits, il faut additionner les chiffres


correspondants pour chaque utilisateur:

-rwxr-xr—
4+2+1 4+1 4

7 5 4 chmod 754
777 droit de lecture, d'écriture et d'exécution : pour
SEDKI A.
le propriétaire, pour son groupe et pour tous les autres 116
chmod : changer les droits
Droit Calcul Chiffre
r-- 4 4
-w- 2 2
--x 1 1
rwx 4+2+1 7
rw- 4+2 6
r-x 4+1 5
-wx 2+1 3
--- 0+0+0 0
~ $ chmod 600 fichier.txt
:~
:~
~ $ ls – l fichier.txt
- rw-
rw - ------
--- --- 1 sedki sedki …..
117
SEDKI A.
chown : changer le propriétaire d'un fichier
 On peut changer le propriétaire d'un fichier, à l'aide de la
commande chown
 La commande chown, qui doit être utilisée en tant que root,
attend deux paramètres au moins :
 le nom du nouveau propriétaire ;
 le nom du fichier à modifier.
 Exemple : Supposons que user1 possède dans son répertoire
personnel un fichier appelé rapport.txt :
~$ ls -l rapport.txt
-rw-r--r-- 1 user1 user1 0 2007-1115 23:14 rapport.txt
 le root souhaite le «donner » à user15 :
#chown user15 rapport.txt
# ls -l rapport.txt
-rw-r--r-- 1 user15 user15 0 2007-11 15 23:14 rapport.txt
118
SEDKI A.
Exercice:
 Quelle commande taper pour changer ceci :
-rw-r--r-- 1 abcd efgh 1234 août 14 2018 ijkl

en ceci:

-rw-rw-r-- 1 abcd efgh 1234 août 14 2018 ijkl

Quelle commande taper pour changer ceci :


-rw-r--r-- 1 abcd efgh 1234 août 14 2018 ijkl

en ceci:

-rw-r--r-- 1 wxyz efgh 1234 août 14 2018 ijkl

119
SEDKI A.
le fichier /etc/passwd
 $ cat /etc/passwd

Uid = user id (numéro de l'utilisateur)


Gid = numéro du groupe principal

 Dans un système UNIX les utilisateurs sont définis dans le


fichier /etc/passwd. Contrairement à ce que son nom n'indique,
ce fichier ne contient PAS de mot de passe.
 Il est décomposé en lignes. Chaque ligne correspond à un
utilisateur. Chaque ligne est elle-même décomposée en
plusieurs champs séparés par des ":". 120
SEDKI A.
le fichier /etc/passwd
 Les mots de passe des utilisateurs sont hachés ("brouillés" avec
SHA). Ils sont stockés dans le fichier /etc/shadow. Ce hachage
est irréversible, on ne peut pas retrouver la version en clair à
partir de la version haché.
 Si un pirate accède à /etc/shadow, il ne pourra pas simplement
retrouver les mots de passe.
 Quand un utilisateur veut se connecter au système, le mot de
passe qu'il a rentré est haché et la version haché est comparée à
la valeur dans /etc/shadow. Si les deux sont identiques, le
système autorise la connexion.

121
SEDKI A.
le fichier /etc/group

 Les utilisateurs peuvent faire partie de différents groupes. Les


groupes sont définis dans /etc/group
 Chaque ligne définit un groupe. Elle commence par le nom du
groupe et finit par la liste des utilisateurs faisant partie du groupe.
 exemple: durand et dupond font partie du groupe "cdrom".
 Attention, sur la dernière ligne le mot "dupond" correspond au
groupe "dupond" et pas l'utilisateur "dupond".
122
SEDKI A.
Chap.5
Processus en ligne de
commande

123
SEDKI A.
Processus
 Dans le système Unix, de nombreuses commandes sont en
réalité des programmes compilés (issus de sources C)
 Les commandes de base sont dans /bin
 Les commandes supplémentaires dans /usr/bin
 Les commandes admin. dans /sbin et /usr/sbin
 Les commandes perso dans ~/bin
 Un processus est une commande en cours d’exécution

$ ls
README.html
HEADER.html
$
124
SEDKI A.
Processus
 Un processus est une commande en cours d’exécution
 chaque fois que vous lancez un programme
 chaque fois que vous tapez une commande

 Un système multitâche gère de nombreux processus


simultanément (exécution parallèle)

 La commande ps donne la liste des processus


 ps : liste simple de mes processus
 ps -fu utilisateur : liste détaillée de cet utilisateur
 ps -edf : liste très détaillée de tous les processus

125
SEDKI A.
Informations fournies par ps -f
 ps -f : affiche les processus s’exécutant à un instant donné
 UID : nom de l'utilisateur qui l’a lancé (propriétaire)
 PID : numéro unique appelé (identifie le processus)
 PPID : le n°du processus shell qui l’a créé
 CMD : la ligne de commande qui l’a généré
 de nombreuses autres informations sur son état interne

126
SEDKI A.
top : liste dynamique des processus
 top : permet de suivre dynamiquement (temps reel) les
ressources matériels utilisées par chaque processus.
 elle donne pour chaque processus en autres choses, le
PID, le nom du propriétaire, la date de lancement du
processus, les %CPU et %MEM utilises.
peut être quittée en pressant la touche q

127
SEDKI A.
Processus en ligne de commande
 Avec une interface à fenêtres, on peut lancer plusieurs
programmes sans attendre.
 en mode graphique, chaque commande a sa fenêtre

 Mais avec un shell, on n'a pas la main tant que la commande en


cours n’est pas finie.
 Lorsque l'on tape une commande, la ligne de commande est
bloquée (plus de prompt) jusqu'a la fin de l'exécution.
La ligne de commande est a nouveau disponible ensuite.

128
SEDKI A.
Libération de la ligne de commande
 Les commandes qui prennent beaucoup de temps peuvent être
lancées en en tâches de fond «arrière plan» pour libérer la ligne de
commande du shell.
 Pour lancer directement la commande en «arrière plan» il suffit
de faire suivre la commande du caractère &. On retrouve
immédiatement un nouveau prompt.
 Cela lance des commandes en «arrière plan» : elles se
déroulent simultanément
De tels processus sont appelés des JOBS

129
SEDKI A.
Contrôle des jobs
 pour lister les taches en «arrière plan» on utilise la commande
jobs.
 jobs affiche une liste avec un [n° de job ] devant chaque job.
Le + indique le dernier qui a été manipulé
 Attention le n° de job n'est pas le PID
Si une tâche déjà lancée occupe la ligne de commande, il est
possible de suspendre son exécution en pressant la combinaison
de touches Ctrl + z . La tâche est alors suspendue et on retrouve
un nouveau prompt.

 Pour la ramener au
premier plan : fg %num de job

 Pour la relancer en
arrière-plan : bg %num de job

130
SEDKI A.
Suppression d'un job
 Supprimer un ou plusieurs jobs :
 kill -15 PID de job
 kill -15 % numéro de job

 Attention le signe % s'il est


présent : indique un n°de
job, absent : c'est un PID
131
SEDKI A.
Chap.6
Installation de logiciels

132
SEDKI A.
installer un logiciel
 Un logiciel est constitué de nombreux fichiers. On y retrouve
des fichiers exécutables, des librairies, des données, des
images, de la documentation,...
 L’installation d'un logiciel se fait généralement avec une
commande qui gère tout automatiquement.
 L'opération d'installation est, pour l'essentiel, une copie
de fichiers à partir d'une archive vers les répertoires
appropriés du système.
share etc usr

include bin lib

c o p i e d e fichiers
paquet / archive
programmes exécutables
librairies
fichiers de configuration
documentation 133
SEDKI A.
installer un logiciel
 Il existe plusieurs manières d'installer un logiciel.
 On peut, par exemple, l'installer à partir du code source. Dans
ce cas, il faut configurer la compilation, compiler, et installer.
C'est compliqué, et pose des problèmes importants de
maintenance.

 En général on installe des logiciels à l'aide du système de


gestion de paquets de l'OS.

 Un logiciel Debian est appelé paquet


 Les paquets sont des fichiers archives contenant tous
les fichiers d'un logiciel (comme une archive .tar +
quelques informations)

 Le gestionnaire de paquets permet d'installer et de désinstaller


des paquets. Il gère aussi les informations sur les paquets.
134
SEDKI A.
dépendances entre paquets
 Certains paquets on besoin d'autres paquets pour pouvoir
fonctionner. C'est qu'on appelle une «dépendance ».
 Exemple : c'est le cas pour «mon-programme» qui a besoin de
bibliothèques « libdessin ».
 Il est fréquent d'avoir de nombreuse dépendances à la chaîne.
dépend de
mon-programme libdessin
Quand on installe
pour installer m o n - p r o g ram m e , il faut
un logiciel, d'abord installer libdessin
le gestionnaire
de paquets va
trouver toutes libjpeg

mon-programme libdessin libgtk2


les dépendances
libx11-6
et va toutes
les installer. dépendances en chaîne!
135
SEDKI A.
Ou trouver des paquets?
 Debian est une distribution libre, presque tous les logiciels sont
disponibles, gratuitement, sur un serveur (dépôt).
 Ils sont trop nombreux et trop volumineux pour être stockés sur
votre machine.
 Votre machine connaît la liste (cache) de tous les
paquets disponibles.
 Vous pouvez mettre à jour votre liste à partir du serveur avec
la commande «apt-get
apt-get update ». Ceci ne met à jour que la
liste, pas les logiciels eux mêmes.
 L'adresse du serveur où se trouvent les paquets est configuré
interne http://ftp.fr.debian.or
dans /etc/apt/sources.list g/debian

liste locale
(cache)
apt-get update 136
SEDKI A. apt-get install paquet
gestion de paquets
 pour mettre votre cache des paquets à jour
apt-get update
 Ceci correspond à télécharger la nouvelle liste des
paquets proposés par le dépôt.
 pour télécharger et installer un paquet :
apt-get install monpaquet
 Ceci va chercher aussi toutes les dépendances.
 De nouvelles versions de logiciels apparaissent en
permanence (corrections de bugs, failles de sécurité). Pour
mettre à jour tous les paquets installés sur votre système
votre système:
apt-get upgrade
 Si vous voulez désinstaller un paquet,
apt-get remove monpaquet
137
SEDKI A.
gestion de paquets
 Récapitulons l'installation d'un paquet:
1) vous tapez : apt-get install unprogramme

2) Le gestionnaire de paquets regarde dans la liste locale de tous


les paquets pour voir quelles sont les dépendances.

3) Le gestionnaire de paquets télécharge tous les paquets (c'est


un format appelé .deb) à partir du serveur.

4) Les paquets .deb sont des archives. Ils contiennent tous les
fichiers constituant le logiciel. Le gestionnaire de paquets
désarchive les paquets et copie les fichiers vers les répertoires
du système.

5) Parfois, un posttraitement est fait (ex: lancer ou redémarrer un


service)
138
SEDKI A.

Vous aimerez peut-être aussi