Вы находитесь на странице: 1из 38

Virtualiastion des systmes d'exploitations :

Installation et administration

Journe des logiciels libres


Mercredi 23 dcembre 2009
jamal.khamlichi@uni

Systme d'exploitation

C'est un logiciel assurant le bon fonctionnement d'un ordinateur.


Il offre l'utilisateur une vue plus abstraite et plus simple que la vue matriel.

S. Krakoviak

Place d'un systme d'exploitation dans un Systme Informatique

logiciel

services

applications

Web
mail
Tl achat news
Tlphone ftp
...

inter-logiciel

J2EE, Net, ...

Systme de communication

matriel

Systme
d'exploitation
ordinateur

Systme
d'exploitation

Systme
d'exploitation

ordinateur

ordinateur

rseau

Transport des messages


Processus, mmoire, fichiers
Instructions machine
Transfert des bits

Les composants d'un ordinateur


Appareil photo

Clavier

Souris

Imprimante
PDA

Modem

Carte Wif Carte rseau

Processeur
Carte son

Haut parleurs
Mmoire

Alimentation

Disque dur

Lecteur DVD

Carte graphique

cran

LINUX
Le pourquoi

Prix
Accs facile aux programmes sources
Systme ouvert
Plusieurs logiciels libres
Avoir la conscience tranquille parce qu'on est dans la lgalit
Succs

Tout le systme est crit dans un langage haut niveau C/C++


Interface simple d'utilisation
Multi-utilisateurs et multi-tches
L'architecture de la machine est invisible pour l'utilisateur

Points faibles

Fragilit du SGF (Systme de Gestion des Fichiers)


La gestion de la cration des processus est parfois lourde
Les libraires statiques sont consommatrices de place mmoire
Au dpart inadapt pour le temps rel mais des solutions sont proposs :
RtLinux,
...
Points forts

Systme ouvert
Enrichissement constant
Des souplesses dans les Entres/Sorties
Communication facile entre systmes
Communication facile entre utilisateurs
Utilisation d'un langage haut niveau pour communiquer avec le noyau
Paralllisme

Architecture du systme

L'architecture globale du systme est en couche


Chaque couche est construite pour tre utilise sans connatre les couches infrieures
Applications
SHELL
ls

web
Utilisateur

Matriel

mail
cp

Utilisateur

Noyau

make

mkdir

g++
VCL

Utilisateur

openOffice

Utilisateur

Architecture du noyau
C'est une architecture logicielle, son but est de simplifier la comprhension du systme.
Applications/utilisateurs
bibliothques
Niveau utilisateur
Niveau noyau
Interface appels-systme
Systme de

Systme de

Gestion des Fichiers

gestion des processus


Communication
interprocessus

Cache

Ordonnanceur
Gestion mmoire

Caractres | Bloc
Contrleurs

Contrle Matriel
Niveau noyau
Niveau matriel

Matriel

Systme de Gestion des Fichiers


Le SGF est un outil de manipulation des fichiers et de sa structure d'arborescence sur le
disque, il gre :
Le partage : utilisation des fichiers par plusieurs utilisateurs
Les droits : protection
L'alignement et l'efficacit : transtypage entre la mmoire, cache et le disque
Concept de fichier
Un fichier est une suite finie de bytes (octets), matrialise par des blocs disques et un inode
qui contient les proprits du fichier comme :
localisation sur le disque,
propritaire et groupe propritaire,
droits d'accs,
taille,
date de cration,
...
Quelques commandes de manipulations des fichiers :
touch, mkdir, ls, cp, mv, rm, rmdir, chmod, ln, find, grep, cat, ..

Processus
Lorsquon excute une commande, le shell lance un processus et attend sa fin avant de lancer
une autre.

Chaque processus a un pre, celui qui la lanc.


Le premier processus init est cr avec un PID de 1 anctre de tous les processus.
Lors de son excution, un processus est caractris par un tat :
En attente du
processeur
Rveil

Prt

En excution

lection

ca
ge

Fin

Blocage

D
b
lo

lu

bloqu
En attente de
ressource

Quelques commandes de manipulations des processus :


ps, jobs, kill, signal, ...

Langage de commande et script


bash est un interprteur de commande ; mais on peut l'utiliser comme langage de
programmation.

Il est indispensable dans l'administration et l'utilisation de Linux.


Autres versions de langage de commande(shell) : sh, csh, ksh, zsh,...
Le bash manipule deux types de commandes :

ommCommandes externes dont le code excutable est situ sur le disque.


Candes internes dont le code fait partie du processus shell.
Exemple : Afficher la liste des fichiers excutables qui se trouvent dans le rpertoire courant.
cat > script
#!/bin/bash
for var in `ls`
do
if [ -x $var ]
then echo $var
fi
done

chmod 700 script

./script

Installation et administration d'un SE


Les diffrentes tapes :

Inventaire sur la machine : disque, cran, carte graphique, cartes rseaux,...


Choix du nombre de SE installer
DVD, CD ou image .iso du SE avec leur numro de srie si ncessaire
Partitionnement du disque dur si besoin
Un ordre respecter dans le cas ou il y a plusieurs SE installer
Windows 95 ou 98
Windows NT, 2000, XP, Vista, Seven
Mac OS
Linux : Suse, Ubuntu, Fedora, Debian, Mandriva, Gentoo, ...
Installation des logiciels et paquetages
Gestion des utilisateurs
Configuration

Partitionnement d'un disque


Opration qui consiste partager le disque en plusieurs parties nommes partitions.
Sur chacune d'elle on peut installer un SE avec son propre systme de gestion de
fichiers (SGF).
Pourquoi ?
Comme les SE n'ont pas toujours le mme SGF, on est oblig d'avoir un format.

Windows 98

FAT32 (File Allocation Table)

NT, XP, Vista, Seven

NTFS (New Technology File System)

Linux

EXT2fs, EXT3fs ou EXT4fs (... EXTended file system)

Mac OS

HFSX (Hierarchical File System)

Avantages :

Avoir plusieurs SE sur le mme disque


change des donnes d'application entre diffrentes SE
Quand un systme est en panne, l'autre n'est pas affect

Contraintes :

Pour tenir compte du nombre de partition et de leur taille, le disque contient une table de
partition MBR(Master Boot Record), situe au dbut du disque.

Chaque partition contient un secteur de dmarrage Boot Sector (BS) dont le rle est
d'accder au SE.

Le nombre maximum de partition primaire est limit 4


Une partition primaire peut contenir 64 partitions logiques
Structure de MBR
Programme de chargement
Signature
Description de la partition 1
Description de la partition 2
Description de la partition 3
Description de la partition 4
Code d'identification

Taille en
octets
442
4
16
16
16
16
2

Description d'une partition


tat de la partition :

Exemple de partitionnement d'un disque


BS

BS
C:

MBR

Partition 1
primaire
NTFS

N de la tte : dbut
N du secteur et du cylindre : dbut
Type : FAT32, NTFS, EXT2,...
N de la tte : Fin
N du secteur et du cylindre : Fin
Distance
Taille de la partition

BS
D:

Partition 2
primaire
FAT32

BS
Logique Logique Logique
NTFS
Linux
swap
Partition 3
tendue

active
80
non active 00

Partition 4
primaire

Taille en
octets
1
1
1
2
1
2
4
4

Outil de partitionnement d'un disque


Gratuits :

fdisk, sous Windows ou Linux, reconnait tous les SE : FAT32, Ext2, Ext3, Swap Linux.
QTParted ou Gparted un clone de PartitionMagic.
...
Outils payants :

PartitionMagic (Powerquest Symantec), efficace

avec une IHM.

Hard Disk Manager permet de partitionner et de cloner les partitions avec une IHM
Partition Expert permet le partitionnement en prservant les donnes existantes.
...

Virtualisation
La virtualisation permet d'avoir plusieurs SE en mme temps sur la mme machine :

VMWARE pour Windows : http://www.vmware.com


Parallels Desktop pour Mac OS: http://www.parallels.com
Microsf Virtual PC pour Windows : http://www.microsoft.com/
VirtualBox pour Windows, Mac OS et Linux: http://www.virtualbox.org/
Xen pour Linux : http://xenfr.org/tiki-index.php
...

Machine virtuelle
Se comporte comme un ordinateur physique et contient ses propres CPU, mmoire,
disque dur, carte rseau, ...
Un SE est incapable de faire la diffrence entre une machine virtuelle et une machine
physique.
Avantages des machines virtuelles

Les machines virtuelles sont compatibles avec tous les ordinateurs x86.
Les machines sont indpendantes les unes des autres.
Les machines virtuelles ont leur propre environnement informatique.
Les machines virtuelles sexcutent indpendamment du matriel.

Il existe deux types de machine dans le monde de la virtualisation :

La machine hte est la machine physique qui va lancer le logiciel de virtualisation.


La machine virtuelle est celle qui est lance par le logiciel de virtualisation.
Application1

Application2

Application3

Systme d'exploitation
Architecture x86/x64
machine hte

Ap
pl
ic

Machine sans virtualisation

at
io
ns

Appl.

machine virtuelle

Appl. Appl.

Windows XP

Appl.

Appl. Appl.

Appl.

Linux

Logiciel de virtualisation
Systme d'exploitation
Architecture x86/x64

Machine avec virtualisation

Appl. Appl.

Mac OS

Exemple d'installation d'une machine virtuelle avec VirtualBox


1- Tlcharger la version VirtualBox pour votre SE :
http://www.virtualbox.org/wiki/Downloads
2- Se connecter en administrateur et installer le logiciel
3- Lancer VirtualBox, la fentre suivante s'affiche :

Les grandes tapes d'installation d'une distribution Linux

Test de la source d'installation : {DVD, CDROM, fichier.iso, rseau, ..}


Test du matriel
Choix de la langue
Choix du clavier et souris
Choix de type d'installation : {nouvelle installation, mise jour, rparation, ...}
Cration des partitions
Choix des paquetages installer
Configuration du chargeur {GRUB, LILO, ...}
Configuration du rseau
Cration du compte administrateur (root)
Choix de l'interface graphique : {KDE, Gnome, X Window, ...}
Cration des utilisateurs
Mise jour du systme par Internet
Installation des autres priphriques { imprimantes, scanner, manette de jeux,...}
Si problme d'affichage il faut installer le driver de la carte graphique
Attention : l'ordre des tapes peut changer d'une distribution une autre

Gestion des utilisateurs


Caractristiques d'un compte utilisateur :
login : nom avec lequel un utilisateur peut se connecter sur le systme (invite)
mot de passe : un mot de passe crypt (x)
IUD : identifiant de l'utilisateur (1001)
GID : identifiant du groupe qui appartient l'utilisateur (100)
Commentaire : un commentaire sur l'utilisateur (Un invit)
Rpertoire : rpertoire de connexion (/home/invite)
Shell : shell de dmarrage (/bin/bash)
cat /etc/passwd
invite:x:1001:100:Un invit:/home/invite:/bin/bash

Caractristiques d'un compte groupe :


nom : nom avec lequel un groupe est connu sur le systme (user)
mot de passe : un mot de passe crypt (x)
GID : identifiant du groupe (100)
liste : liste des membres du groupe (jkhamlic)
cat /etc/group
...
video:x:33:invite,jkhamlic
users:x:100:

Fichiers

/etc/passwd : contient la base locale des comptes utilisateurs


/etc/group : contient la base locale des comptes groupes
/etc/shadow : contient les mots de passe locaux et leurs dure de vie
/etc/nsswitch.conf : annuaires de recherche des comptes

jkhamlic@AINF39:~> su - root
Mot de passe :
AINF39:root~ # more /etc/shadow
...
wwwrun:*:13843::::::
invite:$2a$05$lXd4QA.fo2BG5/dn8vG0ZuDG9/Keb6uUVoqyzwDhCuJrNeOeQB8ny:13843:0:99999:7:::

Commandes

useradd, usermod, userdel : ajout, modification et suppression d'un utilisateur


groupadd, groupmod, groupdel : ajout, modification et suppression d'un groupe
passwd, chpassd : donner et modifier le mot de passe d'un utilisateur
useradd -u 1001 -g users -G video, mail -d /home/jkhamlic -s /bin/bash jkhamlic

Utilitaires

yast : distribution SUSE


system-config-users : distribution Redhat
...

Gestion des partitions


Commandes

mount : monter un systme de fichier


umount : dmonter un systme de fichier
du : information sur l'utilisation du disque
df : information sur la quantit d'espace occup des systmes de fichiers
fdisk : manipulateur de tables de partitions pour Linux

jkhamlic@AINF39:~> su - root
Mot de passe :
AINF39:~ # mount /dev/sdb1 /media/
AINF39:~ # umount /dev/sdb1
AINF39:~ # du -h
...
24K
./.VirtualBox/VDI
56K
./.VirtualBox
7,1G
AINF39:~ # df -Th
Sys. de fich.
Type
/dev/sda4
ext3
udev
tmpfs
/dev/sda2
ext3
/dev/sda1
fuseblk
/dev/sda6
vfat

Tail.
16G
506M
30G
80G
20G

Occ.
5,0G
88K
7,3G
17G
3,0G

Disp.
11G
506M
21G
64G
18G

%Occ. Mont sur


33%
/
1%
/dev
26%
/home
21%
/windows/C
15%
/windows/D

Fichier

/etc/fstab : contient la table des systmes de fichiers monts la connexion


jkhamlic@AINF39:~> cat /etc/fstab
/dev/sda4
/
ext3 acl,user_xattr
1 1
/dev/sda2
/home
ext3 acl,user_xattr
1 2
/dev/sda6
/windows/D
vfat users,gid=users,umask=0002,utf8=true 0 0
/dev/sda5
swap
swap
defaults
0 0
proc
/proc
proc
defaults
0 0
sysfs
/sys
sysfs
noauto
0 0
usbfs
/proc/bus/usb
usbfs
noauto
0 0
devpts
/dev/pts
devpts
mode=0620,gid=5
0 0
none
/proc/bus/usb
usbfs
devgid=109,devmode=664
0 0

Outils

qparted : toutes les distributions


KDiskFree : quivalent df avec interface graphique
...

Gestion des applications


Une partie des applications s'installe au moment d'installation du SE, mais il est possible
d'ajouter d'autres.
Avant de lancer l'installation d'une nouvelle application (paquetage) il faut connaitre:

Le nom de votre distribution


La version de votre noyau
Mthodes utiliser :
Compiler les fichiers sources sur votre systme
Installer les fichiers binaires
Utiliser le gestionnaire des applications de votre distribution
Installer partir d'une ligne de commande

Tlcharger la bonne version ou avoir le CD/DVD d'installation


Mot de passe du root
...

Installation partir des fichiers sources :


1. Tlcharger la bonne version de l'application installer pour votre distribution
2. Dcompresser l'application
home > tar xvzf nomLogiciel_2.2.8.tar.gz
3. Se placer dans le nouveau rpertoire cre
home > cd nomLogiciel_2.2.8
4. Excuter le script : (ceci sert crer le fichier des dpendances Makefile)
home/nomLogiciel_2.2.8 > ./configure
5. Compilation des sources
home/nomLogiciel_2.2.8 > make
6. Installer l'application
home/nomLogiciel_2.2.8 > make install
7. Configuration l'application et utilisation
Remarque
Parfois, il faut tre root, donc avant de commencer l'tape 3 ou 6.

Installation partir des paquetages binaires :


1. Tlcharger la bonne version de l'application installer pour votre distribution
home > rpm -ivh nomLogiciel_2.2.8.rpm
2. Configuration l'application et utilisation
Remarques

Parfois, il faut tre root pour pouvoir installer une application


Quelques options de la commande rpm :
rpm -i installe un paquetage
rpm -e dinstalle un paquetage
rpm -qa liste tous les paquetages installs
rpm -v vrifie un paquetage
rpm -qf indique quel paquetage appartient un fichier
rpm -ql liste les fichiers d'un paquetage

Processus de dmarrage
Processus d'une session
Bios

init
lecture du
/etc/inittab

Chargeur(MBR)
Grub
Lilo

(BS)Noyau
Windows

(BS)Noyau
Linux

/etc/profile
PID=1 if [ -f ~/.bash_profile ]
then ~/.bash_profile
else if [ -f ~/.bash_login ]
then ~/.bash_login

Scripts de
dmarrage
/etc/rc.sysinit

else ~/.profile
~/.bashrc
/etc/bashrc #activ par ~/.bashrc

Processus de dconnexion
~/.bash_login
Commandes :
shutdown
: arrt et redmarrage du systme et passage en mode maintenance
reboot
: redmarrage du systme
halt
: arrt du systme
Remarque
/etc/shutdown.allow contient la liste des utilisateurs ayant le droit d'excuter shutdown

Quelques fichiers d'administration :

/boot/grub/grub.conf : fichier de configuration du chargeur


/etc/bashrc : script excut chaque ouverture d'une session
/etc/fstab : liste des tables des fichiers monts au dmarrage
/etc/group : information sur les groupes d'utilisateurs
/etc/inittab : liste des applications lances au dmarrage
/etc/hosts : table de correspondance entre un nom et une adresse IP
/etc/manpath.config : fichier de configuration de l'aide en ligne
/etc/passwd : description des comptes utilisateurs
/etc/init.d/* : les scripts de dmarrage
/etc/printcap : description des file d'attente d'impression
/etc/profile : script lanc chaque session
/etc/shadow : les mots de passe et leurs paramtres
/etc/termcap : les squences de contrle des terminaux
/etc/X11/xorg.conf : fichier de configuration du serveur X
/usr/lib/X11/xinitrc : fichier de configuration de la commande startx
~/.bash_logout : script lanc la dconnexion
~/.bash_profile : script lanc l'ouverture d'une session utilisateur
~/.bashrc : script lanc chaque lancement de bash
~/.kde : rpertoire de configuration utilisateur de l'environnement KDE
~/.gnome : rpertoire de configuration utilisateur de l'environnement GNOME
...